Очистите раздел HEAD темы WordPress и ненужные файлы JS и CSS
Опубликовано: 2018-09-04Ядро WordPress размещает довольно много кода в разделе head
HTML сайта, хотите вы этого или нет. Этот код далеко не бесполезен и служит цели на большинстве сайтов. Однако, если вы помешаны на чистом коде или используете WordPress для запуска SaaS, вам нужно очистить HTML. Как и в большинстве случаев в WP, нужно просто удалить несколько действий и фильтров.
#WordPress — отличная платформа для создания сайтов #SaaS. Но прежде чем это сделать, требуется небольшая очистка.
НАЖМИТЕ, ЧТОБЫ НАПИСАТЬЗачем мне удалять эти теги в файлах HEAD, CSS или JS?
Есть несколько причин. Некоторым людям нравится содержать свой код и сайты в максимально аккуратном виде. Зачем иметь строку кода в HTML, если вы знаете, что она вам не нужна, и знаете, как ее удалить. Нет причин, по которым так когда-либо. То же самое касается дополнительных файлов CSS и JS. Если вы не используете смайлики на своем сайте, зачем вам включать этот JS на каждую страницу?
Тогда есть безопасность. Есть несколько фрагментов HTML, которые WordPress автоматически добавляет для отображения URL-адресов, которые использовались в прошлом. Я должен подчеркнуть, что эти URL-адреса (в частности, конечная точка XML RPC) не являются секретом. Они должны быть публичными. Но изменить их на что-то нестандартное и скрыть их — известная практика. В этом случае очевидно, что вам не нужны эти URL-адреса в вашем HTML.
Скорость также является веской причиной для очистки HTML. Хотя я должен сказать, что не уверен, сколько вы выиграете, удалив несколько сотен символов из HTML, это шаг в правильном направлении. Удаление ненужных файлов JS и CSS сэкономит вам несколько HTTP-запросов, и это то, на чем вы должны сосредоточиться при оптимизации. Tidy Repo недавно протестировал более 100 тем WordPress на скорость, и количество запросов оказывает значительное влияние на общую скорость сайта.
Наличие чистого HTML-кода гарантирует, что вы знаете, что происходит на вашем сайте, и является отличным началом для оптимизации скорости сайта.
И последнее, но не менее важное, причина и причина, по которой у нас есть этот код под рукой, — это SaaS на базе WordPress. Когда вы создаете SaaS, вам нужен полный контроль над тем, что находится в вашем HTML, и большинство вещей, которые WP добавляет в HTML, сами по себе не являются чем-то, что вы будете использовать. Итак, ради всех отмеченных выше причин — максимально убираем вещи. Это дает нам отличную, компактную платформу для создания пользовательских решений, сохраняя при этом 99% основных функций WP, которые используются для обеспечения работы SaaS.
Могу ли я безопасно удалить эти вещи? Разве они не служат цели?
Да, они служат цели, но только в определенных ситуациях. На «среднем» сайте несколько дополнительных тегов link
в шапке не проблема, и все они облегчают определенные операции и интеграции. Но они не имеют решающего значения для функционирования любого сайта и уж точно не для SaaS.
Давайте очистим код
Вы можете протестировать приведенный ниже код с любой темой. По умолчанию 2017 подойдет. Однако, если вы используете «обычные» темы WordPress (и некоторые плагины вдобавок к ним), вы никогда не узнаете, кто добавил код — ядро WP, тема или плагин. Я предлагаю вам перезагрузить свой сайт, чтобы удалить все плагины, а затем использовать тему, в которой есть только wp_head()
и wp_footer()
. Вот как выглядит этот index.php и вот вся тестовая тема, которую вы можете использовать для тестирования.
<!DOCTYPE html> <html> <head> <?php wp_head(); ?> </head> <body> <h1>The Most Basic WP Theme</h1> <?php wp_footer(); ?> </body> </html>
Если вы активируете нашу тестовую тему и откроете исходный код на главной странице, вы заметите гораздо больше кода, чем видно в index.php выше. Это то, что мы будем убирать. Поместите приведенный ниже код в файл functions.php темы. Если вы не хотите удалять/отключать функцию, закомментируйте строку, в которой она упоминается.
add_action('after_setup_theme', 'cleanup'); function cleanup() { remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'feed_links_extra', 3); remove_action('wp_head', 'index_rel_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'start_post_rel_link', 10, 0); remove_action('wp_head', 'parent_post_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0); remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'rel_alternate'); remove_action('wp_head', 'wp_oembed_add_discovery_links'); remove_action('wp_head', 'wp_oembed_add_host_js'); remove_action('wp_head', 'rest_output_link_wp_head'); remove_action('rest_api_init', 'wp_oembed_register_route'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10); remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10); add_filter('embed_oembed_discover', '__return_false'); add_filter('show_admin_bar', '__return_false'); }
Что делает что
Действие rsd_link
отвечает за отображение действительно простой ссылки для обнаружения, в то время как wp_generator
показывает версию WP и удаляется практически каждым подключаемым модулем безопасности, когда-либо написанным для WP. Два действия feed_links
добавляют различные ссылки к нескольким RSS-каналам. Различные действия _rel_link
добавляют ссылки к сообщениям, чтобы они были более доступными и их было легче найти различными службами. Если вы не используете Windows Live Writer, вам действительно не нужно действие wlwmanifest_link
. Нам не нужны смайлики, поэтому print_emoji_detection_script
может работать, и то же самое касается различных ссылок oembed
, включая поддержку oembed в REST API. Удаление действия oembed_dataparse
гарантирует, что WP не испортит никакие ссылки в ваших сообщениях и не превратит их в какие-либо мультимедийные файлы через oembed. Последний фильтр show_admin_bar
предотвратит отображение панели администратора WP на вашем внешнем интерфейсе независимо от настроек для каждой учетной записи.
В #WordPress есть всего несколько вещей, которые нельзя изменить с помощью действий и фильтров. К счастью, управление контентом HEAD не входит в их число.
НАЖМИТЕ, ЧТОБЫ НАПИСАТЬГибкость WordPress великолепна
Многие статьи распространяются с такими заголовками, как «Как удалить мусор из заголовка WP». Это не мусор. Это то, что дает огромную мощь WordPress прямо из коробки. Многие люди ценят это, и им не нужно тратить часы на настройку. С другой стороны, очистка — это просто удаление нескольких действий. У вас есть полный контроль над тем, что помещается в ваш HTML, и вы можете легко использовать WordPress для поддержки неконтентных сайтов, таких как SaaS.