Заметил у себя в исходном коде страницы блога несколько мета-тегов, которых раньше не было. Например, , показ которого я давным-давно удалил, а также еще несколько строчек с непонятным мне содержимым, что-то вроде:
Заголовки и ссылки я вырезал, но думаю и так понятно о чем я. Удивило меня то, что раньше почти все мета-теги образовывались напрямую в файле header.php шаблона и для удаления версии WordPress достаточно было удалить строчку:
Однако в последних версиях WordPress почти все мета-теги выводятся не через файл шаблона, а через функцию wp_head и поэтому прямо удалить лишний тег нельзя. Удалять вызов самой функции wp_head не рекомендую, некоторые популярные плагины из-за этого перестанут у вас работать.
Чтобы удалить почти все теги функции wp_head надо добавить в файл 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’ );
А теперь немного подробнее о том, что мы удаляем.
feed_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 на ваших блогах в день выхода новой версии.
В содержимом HTML-документа, генерируемого WordPress, можно заметить множество служебных тегов, которые отображаются в заголовке head страницы. Эти теги достаточно редко используются и, как правило, абсолютно бесполезны для посетителей сайта или поисковых систем. Кроме того, некоторые мета-теги противоречат правилам безопасности и могут нанести вред для сайта WordPress.
Возьмем для примера мета-тег generator , который содержит информацию о используемой версии WordPress. На используемую в блоге версию WordPress хакеры смотрят в первую очередь. Зная точную версию движка, злоумышленник может использовать эту информацию для поиска потенциальных уязвимостей, с целью последующего взлома WordPress.
Давайте посмотрим, что это за теги и как их удалить из заголовка WordPress. Для примера, приведу список генерируемых служебных тегов для моего сайта:
Можно автоматически удалить неиспользуемые теги из заголовка WordPress с помощью специального плагина WP Head Cleanup . Для этого после установки необходимо выбрать соответствующие опции в настройках плагина. Я же предпочитаю, по возможности, не использовать плагины вообще.
Вместо установки дополнительных плагинов, мы можем вручную удалить неиспользуемые теги в заголовке WordPress c помощью специальных хаков. Для этого необходимо скопировать код ниже в содержимое файла functions.php вашей темы.
— meta name=’generator’
Убрать версию WordPress из заголовка страницы:
— link rel=’wlwmanifest’
Убрать ссылку для редактирования клиентом Windows Live Writer:
— link rel=’EditURI’
Убрать ссылку для редактирования внешними сервисами:
— link rel=’shortlink’
Убрать вывод коротких ссылок:
— link rel=’canonical’
Убрать вывод канонических ссылок:
— link rel=’prev’ и link rel=’next’
Убрать вывод ссылок на предыдущую / следующую запись:
— RSS
Убрать вывод ссылок на основную и дополнительную ленту:
— REST API
Убрать вывод ссылки REST API:
— link rel=’profile’
Убрать в файле header.php ссылку на адрес профиля метаданных:
— link rel=’pingback’
Убрать в файле header.php ссылку на пингбэк-сервер:
Следует отметит, что код из примеров удаляет неиспользуемые теги в заголовке head , при этом, никак не затрагивает функционал самого WordPress.
У wordpress (а в особенности у некоторых его тем) код страниц прямо-таки пестрит кучей лишних, ненужных, а иногда даже и вредных асоциальных элементов.
В данном посте мы разберем на живом, только что созданном сайте все эти нюансы.
Это могут быть всевозможные лишние div-ы, table-ы, теги
и др. там, где не надо, лишние стили и все такое прочее. Что же делать со всеми этими штуками? А вот что:
— Резать к чертовой матери! Не дожидаясь перитонитов. Единственно прогрессивный взгляд.
— Ты права, моя дорогая. С этим отростком пора кончать!
И так, начинаем. Открываем код (либо исходный код страницы, либо firebag, либо «просмотр кода элемента» в Chrome). И идем с самого начала.
Чистка
В вордпрессе в теге часто можно найти много мусорных строк кода, типа таких: