Диагностика проблемы: зачем удалять метаданные из темы WordPress
Многие темы WordPress выводят в <head> и в метаинформации постов избыточные теги и данные: ссылки на файлы RSD, WLW, версии WordPress, генераторы, лишние meta description, meta keywords, а также мета-данные в постах и страницах, которые не нужны и могут замедлять загрузку или создавать риски безопасности.
Чтобы проверить, какие метаданные выводит ваша тема, откройте исходный код страницы (Ctrl+U) и найдите теги <meta>, <link>, а также комментарии вида <!-- generator -->. Обратите внимание на теги:
- RSD link (<link rel="EditURI" ...>)
- WLW manifest (<link rel="wlwmanifest" ...>)
- Версия WordPress (<meta name="generator" ...>)
- Meta keywords (устаревший тег)
- Дополнительные метаданные, которые не используются сайтом
Пошаговое решение удаления ненужных метаданных
1. Удаление ссылок RSD и WLW manifest
В functions.php вашей темы добавьте следующий код, чтобы убрать ссылки на RSD и WLW manifest:
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');2. Удаление мета-тега с версией WordPress
Чтобы скрыть версию WordPress, которая выводится в <meta name="generator">, используйте:
remove_action('wp_head', 'wp_generator');3. Удаление meta keywords и других кастомных метаданных
Если тема выводит meta keywords через хук или прямо в header.php, то удалите или закомментируйте этот код. Если вы не знаете, где это происходит, можно перехватить вывод с помощью буфера:
add_action('template_redirect', function() {
ob_start(function($buffer) {
// Удаляем meta keywords
$buffer = preg_replace('/<meta name="keywords" content="[^"]*" ?\/>/i', '', $buffer);
return $buffer;
});
});4. Удаление лишних метаданных из постов
Если в шаблонах single.php или content.php выводятся лишние метаданные (автор, дата, категории), и вы хотите убрать часть из них, удалите или закомментируйте соответствующие вызовы:
the_author()the_date()the_category()
Или замените на собственный минимальный вывод.
Проверка результата после внедрения
После внесения изменений очистите кэш сайта и браузера. Затем:
- Откройте исходный код страницы (Ctrl+U)
- Проверьте отсутствие ссылок на RSD и WLW manifest
- Убедитесь, что нет meta generator с версией WordPress
- Поищите meta keywords — их не должно быть
- Проверьте вывод метаданных в постах и убедитесь, что лишние данные не выводятся
Также можно использовать онлайн-инструменты для анализа скорости и безопасности, например, Security Headers или PageSpeed Insights.
Частые ошибки и как исправить
- Код добавлен в неправильное место. Проверьте, что код для удаления метаданных добавлен в functions.php активной темы или дочерней темы, а не в плагины или другие файлы.
- Кэширование мешает видеть изменения. Очистите кэш плагинов (например, WP Super Cache, W3 Total Cache) и браузера.
- Метаданные выводятся через плагины. Некоторые плагины добавляют свои метаданные. Отключите подозрительные плагины для проверки.
- Удаление meta keywords через регулярное выражение не сработало. Возможно, тема выводит их нестандартно — нужно искать конкретный вызов в коде темы.
Практические советы по безопасности и производительности
- Удаление версии WordPress из meta уменьшает риск автоматического сканирования на уязвимости.
- Убирая лишние ссылки и метаданные в <head>, уменьшается вес страницы и число запросов — это ускоряет загрузку.
- Используйте дочернюю тему для правок, чтобы не потерять изменения при обновлении.
- Проверяйте совместимость с плагинами SEO, которые могут добавлять свои метатеги.
- Для более глубокой оптимизации используйте плагин Clearfy Pro — он умеет автоматически чистить вывод и отключать ненужные функции WordPress.
Сравнение способов удаления метаданных
| Метод | Преимущества | Недостатки |
|---|---|---|
| Удаление через хуки (remove_action) | Чистый и надежный способ, легко поддерживать | Не удалит метаданные, генерируемые напрямую в шаблонах |
| Удаление через буфер вывода (ob_start с preg_replace) | Можно удалить все подряд, если не знаете, где выводятся | Немного снижает производительность, сложнее отлаживать |
| Удаление прямым редактированием шаблонов | Точный контроль, можно полностью убрать нужный вывод | Риск ошибки, потеря изменений при обновлении темы |