В последних версия обнаружил, что если раньше всякого рода не очень хорошие meta-теги в WordPress появлялись из-за соответствующих строк в header.php, то сейчас создатели WP пошли дальше — они их вписали в сам движок 🙂
К примеру: в файлике /wp-includes/general-template.php, со стороки 2022 есть прекрасная функция, — которая добавляет meta-тег generator (для взломщиков то что надо! а если и что то серьезное делаем — то этим намекаем на несерьезность 😉 )
Внедрил пару хаков в код, но такой вариант борьбы с «багами» — не наш метод! Гуглим! и вот публикация (старая уже, но в целом актуальная) c сайта WordPressPlugins.ru
По сути надо добавить в файл functions.php вашего шаблона код:
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’, ‘index_rel_link’ );
remove_action( ‘wp_head’, ‘parent_post_rel_link’, 10, 0 );
remove_action( ‘wp_head’, ‘start_post_rel_link’, 10, 0 );
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link’, 10, 0 );
remove_action( ‘wp_head’, ‘wp_generator’ );
И вот пояснения от автора публикации:
CMSfeed_links_extra — это вывод ссылок на дополнительные RSS ленты вашего блога. То есть на RSS ленту рубрик, записей, тегов и т.д. Если вы не хотите, чтобы посетители подписывались на такие ленты, минуя подписку на главную ленту блога запретите создание ссылок на такие ленты в заголовке блога. Хочу заметить, что данный код запретит блогу создавать ссылки на такие ленты, но сами ленты будут доступны простым добавлением /feed к урлу рубрики или тега.
feed_links — формально если вы запретите данное действие у вас в блоге не должны выводиться ссылки на основную ленту RSS и на RSS ленту комментариев. А на практике это работать не будет, так как функция wp_head не выводит эти самые ссылки на RSS ленты записей и комментариев, их вывод вы должны осуществлять вручную в файле header.php вашего шаблона кодом:
Вот интересно, как можно запретить в функции то, что она не делает. Или я что-то не так понимаю?
rsd_link – используется различными блог-клиентами или веб-сервисами для публикации\изменения записей в блоге. Не пользуетесь блог-клиентами? Удаляйте и не думайте.
wlwmanifest_link – тоже используется блог-клиентами, а вернее лишь одним из них — Windows Live Writer. Не используете WLW — удаляйте.
index_rel_link, start_post_rel_link, adjacent_posts_rel_link — это ссылки на главную страницу, на первый пост, и на предыдущий и следующий пост. Что делает parent_post_rel_link я не знаю, да и не особо хочу знать. Я попытался поискать зачем нужны эти ссылки в заголовке страницы, но так ничего не смог найти. Только какие-то непонятные объяснения насчет того, что эти ссылки сообщают поисковику о взаимосвязи документов между собой. Зачем поисковику на каждой странице блога считывать информацию о том какая у блога главная страница или какой в блоге первый пост? При всем уважении — даже самый убогий поисковик, написанный студентами без всяких подсказок найдет и первый пост в блоге и его главную страницу. Не говоря уже о такой вещи, как sitemap.xml, который есть практически у любого блогера и который содержит всю нужную для поисковика информацию. В общем, удаляйте вывод всей этой ерунды.
wp_generator – ну и последнее, вывод используемого движка и его версии. Тут даже разговоров быть не может, удаляйте немедленно. В WordPress постоянно находят какие-то баги и сообщать потенциальному взломщику, какую версию WordPress вы используете было бы глупо. Особенно, если у вас нет возможности обновлять WordPress на ваших блогах в день выхода новой версии.