Диагностика проблемы: зачем удалять метаданные из темы WordPress
По умолчанию WordPress добавляет в <head> страницы множество метаданных: версии WordPress, ссылки на RSS, генераторы, REST API, WLW Manifest и другие. Многие из них не нужны большинству сайтов и могут раскрывать информацию, которая облегчает поиск уязвимостей для злоумышленников. Кроме того, лишние метаданные увеличивают размер HTML и влияют на производительность.
Чтобы проверить, какие метаданные выводит ваша тема и WordPress, откройте исходный код страницы (Ctrl+U) и найдите в <head> все <meta> и <link> теги. Обратите внимание на строки, содержащие:
- <meta name="generator">
- RSD link (Really Simple Discovery)
- Windows Live Writer manifest link
- REST API link (wp-json)
- Shortlink
- Feed ссылки
Если вы видите эти метаданные и они вам не нужны, их стоит отключить для повышения безопасности и ускорения загрузки.
Пошаговое удаление ненужных метаданных из темы WordPress
1. Удаляем мета-тег генератора WordPress
Метатег, показывающий версию WordPress, выглядит так:
<meta name="generator" content="WordPress 6.2" />Чтобы удалить его, добавьте следующий код в functions.php вашей темы или дочерней темы:
remove_action('wp_head', 'wp_generator');2. Отключаем RSD, WLW Manifest и REST API ссылки
По умолчанию WordPress выводит ссылки для удалённого редактирования и REST API. Если вы ими не пользуетесь, их можно убрать:
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_oembed_add_discovery_links');3. Убираем короткие ссылки (shortlink)
Короткие ссылки нужны для некоторых сервисов, но чаще не применяются. Чтобы их убрать:
remove_action('wp_head', 'wp_shortlink_wp_head');4. Отключаем ссылки на RSS фиды, если они не нужны
Если ваш сайт не использует RSS, ссылки можно удалить:
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);Проверка результата после внедрения
После внесения изменений обновите страницу сайта и снова откройте исходный код (Ctrl+U). Убедитесь, что метаданные, перечисленные выше, отсутствуют из <head>. Можно также использовать онлайн-инструменты проверки безопасности, например SecurityHeaders, чтобы проверить, что лишние данные не передаются.
Частые ошибки и как их исправить
- Код добавлен не в functions.php темы или дочерней темы: изменения могут быть перезаписаны при обновлении. Используйте дочернюю тему или плагин для пользовательских функций.
- Кэширование: если вы используете кеширующие плагины или CDN, очистите кеш, иначе изменения не отобразятся.
- Некорректное использование хуков: убедитесь, что
remove_actionвызывается не раньше, чем добавляются действия. Лучше помещать код в хукafter_setup_themeили напрямую в functions.php.
Практические советы по безопасности и производительности
- Удаление метаданных снижает поверхность атаки, не позволяя злоумышленникам определить версию WordPress.
- Отключение REST API, если он не нужен, уменьшает риски утечек данных и нагрузку на сервер.
- Удаление ненужных ссылок сокращает размер HTML страницы и ускоряет загрузку.
- Для максимальной безопасности используйте дополнительные плагины, например Clearfy Pro от WPShop, который может помочь в удалении стандартных метаданных и оптимизации сайта: Clearfy Pro.
Сравнение способов удаления метаданных: код vs плагины
| Метод | Плюсы | Минусы |
|---|---|---|
| Ручной код в functions.php | Точный контроль, нет лишних функций, нет нагрузки на сайт | Требует знаний PHP, можно ошибиться в синтаксисе |
| Плагины (например, Clearfy Pro) | Простота настройки, дополнительные функции безопасности и оптимизации | Может увеличить нагрузку, некоторые функции платные |