Если открыть исходный код обычного сайта на WordPress, в разделе <head> часто оказываются лишние на первый взгляд элементы: мета-теги ядра, ссылки на RSS, shortlink, RSD, WLW Manifest, emoji-скрипты, REST API discovery и другие служебные вставки. Часть из них действительно нужна, но многое можно убрать без вреда для работы сайта, если понимать, что именно вы отключаете.
Задача здесь не в том, чтобы «вычистить head до нуля». Полностью пустой <head> не нужен и обычно вреден. Нормальная цель — убрать шум, который не используется на сайте, не нужен посетителям и не помогает поисковым системам. Ниже разберём, что можно удалить безопасно, а что лучше оставить.
Что обычно добавляет WordPress в head
Ядро WordPress и тема могут вставлять в <head> несколько типов элементов:
- служебные мета-теги WordPress;
- ссылки на RSS и комментарии;
- shortlink;
- RSD и WLW Manifest;
- emoji-скрипты и стили;
- ссылки на REST API и oEmbed;
- canonical и другие SEO-элементы, если их добавляет плагин или тема;
- лишние теги, которые ставит сама тема или конструктор.
Часть из этого можно убрать штатными хуками WordPress. Но сначала важно понять, что именно у вас выводится. На разных сайтах набор отличается: одна тема добавляет минимум, другая — ещё и свои мета-теги, preload-ссылки, шрифты, иконки, Open Graph-разметку и прочие вставки.
Что можно удалить безболезненно, а что лучше не трогать
Самый практичный подход — разделить элементы на три группы: почти всегда лишние, условно лишние и те, которые удалять не стоит без понимания последствий.
| Элемент | Можно убрать? | Комментарий |
|---|---|---|
rsd_link | Да | Нужен только для старых внешних редакторов и сервисов публикации. На обычном сайте не используется. |
wlwmanifest_link | Да | Наследие Windows Live Writer. Для большинства сайтов бесполезен. |
wp_generator | Да | Убирает версию WordPress из head. Это не защита, но уменьшает лишнюю информацию. |
shortlink_wp_head | Да | Короткая ссылка в head обычно не нужна посетителям и не влияет на работу сайта. |
feed_links и feed_links_extra | Иногда | Если RSS не используете, можно убрать. Если у вас есть подписка на ленту или интеграции через RSS, лучше оставить. |
print_emoji_detection_script и print_emoji_styles | Да | Можно отключить, если не нужны встроенные emoji-скрипты WordPress. |
rest_output_link_wp_head | Обычно да | Если не используете внешние клиенты и не завязаны на discovery REST API, можно убрать ссылку из head. |
wp_oembed_add_discovery_links | Обычно да | Нужно для обнаружения oEmbed. Если встраивание контента снаружи не используете, можно отключить. |
rel_canonical | Нет | Канонический URL обычно нужен для SEO. Убирать не стоит. |
| title, charset, viewport | Нет | Это базовые элементы страницы. Их не удаляют ради «чистоты». |
Если коротко: безопаснее всего начинать с устаревших служебных ссылок и emoji. А вот canonical, charset, viewport и другие базовые вещи трогать не нужно.
Как убрать лишние элементы через functions.php
Самый прямой способ — добавить отключение нужных функций в файл functions.php дочерней темы. Если у вас нет дочерней темы, сначала создайте её или используйте плагин для сниппетов. Не редактируйте functions.php родительской темы, если тема обновляется: изменения затрутся.
Перед правкой сделайте резервную копию файла или хотя бы сохраните исходную версию. Ошибка в PHP может уронить сайт, особенно если вставить код не туда или случайно удалить скобку.
Для очистки head от самых частых лишних вставок подойдёт такой набор:
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wp_shortlink_wp_head', 10);
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_oembed_add_discovery_links');Этот код убирает только стандартные вставки WordPress. Он не трогает то, что добавляет тема или SEO-плагин. Если после вставки вы видите ошибку, проверьте, что код добавлен в PHP-файл темы, а не в текстовый блок, и что у вас не осталось лишних символов до открывающего <?php или после закрывающего PHP-блока.
Если нужен более аккуратный набор отключений
Не обязательно отключать всё сразу. На практике я советую идти от простого к сложному: сначала убрать очевидный шум, потом проверить исходный код и только после этого решать, нужно ли отключать дополнительные элементы. Например, если сайт активно использует RSS-ленту, не трогайте feed_links и feed_links_extra. Если встраивание внешнего контента через oEmbed не используется, эти строки можно убрать без заметных побочных эффектов.
Как убрать лишние мета-теги и ссылки без правки темы
Если не хочется лезть в код темы, есть два нормальных варианта: плагин для сниппетов или плагин, который умеет отключать служебные элементы WordPress. Это удобнее для владельца сайта, который не хочет каждый раз править файлы вручную.
Подход с плагином хорош тем, что:
- изменения не пропадут после обновления темы;
- легче отключить отдельный фрагмент, если он мешает;
- меньше риск сломать сайт из-за синтаксической ошибки.
Но есть и минус: если плагинов слишком много, вы просто переносите хаос из темы в админку. Поэтому для одной-двух правок лучше использовать либо минимальный плагин для сниппетов, либо функциональный плагин, который уже закрывает задачу по чистке head. Если у вас на сайте уже стоит решение для удаления дублей и служебных вставок, проверьте, не делает ли оно это штатно, прежде чем писать свой код вручную.
Что ещё может добавлять лишний шум в head не из ядра
Иногда проблема не в WordPress, а в теме или плагинах. Тогда стандартные удаления из wp_head не помогут, потому что элемент вставляется другим способом.
Частые источники лишнего кода:
- тема выводит свои мета-теги через
header.phpнапрямую; - SEO-плагин добавляет Open Graph, Twitter Cards, canonical и schema.org-разметку;
- плагин шрифтов вставляет preload, preconnect или внешние стили;
- конструктор страниц добавляет собственные стили и скрипты в head;
- виджеты аналитики и пиксели вставляют дополнительные теги.
Здесь уже нельзя слепо удалять всё подряд. Например, Open Graph и Twitter Cards могут быть полезны для соцсетей, а canonical — для SEO. Если вы отключите их без замены, сайт может потерять часть разметки или начать дублировать URL.
Поэтому сначала смотрите исходный код страницы и определяйте источник. Если тег добавляет SEO-плагин, его нужно отключать в настройках самого плагина, а не через remove_action для ядра WordPress. Если тег прописан прямо в header.php, его убирают в теме или дочерней теме.
Как проверить, что head действительно стал чище
После изменений откройте главную страницу сайта и посмотрите исходный код браузера. В Chrome и Firefox это делается через просмотр исходника страницы, а не через инспектор DOM: вам нужен именно HTML, который отдал сервер.
Проверьте, исчезли ли строки, которые вы отключали:
rsd_link;wlwmanifest;generatorс версией WordPress;shortlink;- emoji-скрипты и emoji-стили;
- ссылки на oEmbed discovery;
- REST API discovery link.
Если что-то осталось, значит элемент добавляется не тем хуком, который вы отключили, или его выводит не ядро WordPress. Тогда ищите источник в теме и активных плагинах. Удобно искать по фрагменту строки в файлах темы или временно отключать плагины по одному, чтобы понять, кто именно вставляет код.
Ещё один практический момент: если у вас кэш на сайте, после изменений очистите кэш страницы и, если нужно, кэш CDN. Иначе вы можете смотреть на старую версию HTML и думать, что код не сработал.
Что не стоит удалять ради «идеально чистого» head
Желание убрать всё лишнее понятно, но в WordPress есть элементы, которые лучше оставить. Самая частая ошибка — удалять то, что кажется ненужным, не проверив зависимость.
Не спешите отключать:
rel_canonical— нужен для канонического адреса страницы;wp_titleили современные механизмы формирования title, если тема на них завязана;viewportна адаптивных сайтах;- charset;
- стили и скрипты, если они относятся к критически важной части интерфейса.
Если убрать canonical, можно получить путаницу с дублями страниц. Если удалить viewport, мобильная версия может отображаться неправильно. Если вмешаться в вывод title без понимания логики темы, можно сломать заголовки страниц и SEO-разметку.
Поэтому чистка head — это не тот случай, где нужно «вырезать всё, что не нравится». Рабочий принцип проще: удаляем только то, что точно не используется на сайте и не влияет на отображение, индексацию и интеграции.
Если нужна именно системная чистка WordPress от лишних дублей и служебных вставок без ручного перебора хуков, можно посмотреть в сторону Clearfy Pro. Но даже в этом случае полезно понимать, что именно отключается, чтобы не убрать важные элементы вместе с мусором.
Когда вы подходите к head как к набору конкретных хуков и источников, а не как к абстрактному «мусору», чистка становится предсказуемой: лишнее уходит, а сайт продолжает работать без сюрпризов.