Удаляем ненужные элементы wp_head

Заметил у себя в исходном коде страницы блога несколько мета-тегов, которых раньше не было. Например, <meta name="generator" content="WordPress 2.8.4" />, показ которого я давным-давно удалил, а также еще несколько строчек с непонятным мне содержимым, что-то вроде:

<link title="RSD" rel="EditURI" type="application/rsd+xml" href="" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="" /> 
<link title="" rel="index" href="" />
<link title="" rel="start" href="" />
<link title="" rel="prev" href="" />
<link title="" rel="next" href="" />
<meta name="generator" content="WordPress 2.8.4" />

Заголовки и ссылки я вырезал, но думаю и так понятно о чем я. Удивило меня то, что раньше почти все мета-теги образовывались напрямую в файле header.php шаблона и для удаления версии WordPress достаточно было удалить строчку:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Однако в последних версиях 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 вашего шаблона кодом:

<link title="RSS Main Feed" rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url'); ?>" />
<link title="RSS Comment Feed" rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url'); ?>" />

Вот интересно, как можно запретить в функции то, что она не делает. Или я что-то не так понимаю?

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 на ваших блогах в день выхода новой версии.

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Пакеты оптом от производителя

Заказать пакеты оптом от производителя "Фабрика пакетов".

fpnsk.ru

Очистке промышленной канализации

Заказать услугу по очистке промышленной канализации в Альянс Сервис.

piperenova.ru

Комментарии (всего 177 комментариев)
Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


Подписаться на уведомления без комментирования.