Удаляем из хеда служебную информацию о версии движка WordPress, ссылки на ленты новостей, следующие-предыдущие статьи и прочее. Меньше кода – лучше. Так же убирается ненужная служебная информация, и информация, которая может угрожать безопасности сайта – например, версия движка. Если вы не обновляете CMS WordPress до последней актуальной версии, злоумышленники могут зная вашу версию, использовать уязвимости, которые были исправлены в последних версиях, но остались у вас, получить доступ к вашему сайту и использовать полученный доступ в своих корыстных целях.
Например, на одном из сайтов удалились эти строки из <head>…</head> (это старый пример из версии WordPress 3.5):
<link rel="alternate" type="application/rss+xml" title="Сайт » Лента комментариев к «Главная»" href="http://site.ru/?feed=rss2&page_id=4" /> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://site.ru/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://site.ru/wp-includes/wlwmanifest.xml" /> <link rel='prev' title='О компании' href='http://site.ru/?page_id=7' /> <link rel='next' title='Прайс' href='http://site.ru/?page_id=13' /> <meta name="generator" content="WordPress 3.5" />
Более свежий пример из версии WordPress 4.9 – Было так:
Чтобы убрать весь мусор в файл functions.php добавляем строчки:
/* ################################## Clean Head by Denis Creative ################################## */ remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'feed_links_extra', 3); remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'wp_shortlink_wp_head'); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head'); remove_action('wp_head', 'start_post_rel_link', 10, 0); remove_action('wp_head', 'adjacent_post_rel_link_wp_head', 10, 0); // REMOVE EMOJI ICONS remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); // removes oembed discorvery link remove_action('wp_head','rest_output_link_wp_head'); remove_action('wp_head','wp_oembed_add_discovery_links', 10 ); remove_action('wp_head','wp_oembed_add_host_js'); // remove meta rel=dns-prefetch href=//s.w.org remove_action( 'wp_head', 'wp_resource_hints', 2 );
Стало так:
В хедере не осталось ничего лишнего, только стили и скрипты шаблона и плагинов (в данном примере все плагины были отключены для уменьшения кода).
Этот код удаляет инлайновые стили и скрипты для встроенных смайлов emoji, если они вам нужны, тогда эти строки не добавляйте в свой functions.php
// REMOVE EMOJI ICONS remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles');
Так же, если в статьях вы используете встраеваемый контент с различных сайтов типа видео с ютуб или твиты из твиттера по прямой ссылке, тогда этот код тоже не используйте:
// removes oembed discorvery link remove_action('wp_head','rest_output_link_wp_head'); remove_action('wp_head','wp_oembed_add_discovery_links', 10 ); remove_action('wp_head','wp_oembed_add_host_js');
После добавления данных функций необходимо просмотреть файл header.php
, так как в нем могут выводиться некоторые данные напрямую, и их нужно будет удалить вручную из header.php.
Комментарии (3) к “Убираем лишний мусор из <head>…</head>”
Кино любитель
Интересно узнать, а какие строки ещё актуальны?
Denis Creative
Все строки по прежнему актуальны)
Использую данные функции во всех шаблонах.
антон
для <link rel="alternate" не актуально