Удалить ненужный код из wp_head

Опубликовано: 4 Октябрь 2010Автор ratemir

Удалить ненужный кодWordPress с помощью функции wp_head () подключает различные мета-теги, которые можно увидеть в исходном коде страницы блога. Большая их часть может оказаться попросту ненужной. Несколько дополнительных строк кода в <head>, вероятно, ничего не изменят в плане скорости сайта, но если кому нравится держать код в чистоте, не захламляя его бесполезными вставками, то данная статья для Вас.

Вот примеры вставок функции wp_head (), в надобности которых я сомневаюсь.

<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.9.1" />

Хочу заметить, что просто удалив <?php wp_head (); ?> некоторые плагины возможно станут работать не правильно, так как с помощью этой функции они выводили определенные параметры(стили, скрипты, мета-теги и т.д.). Далее, я объясню для чего нужны эти строки и Вы сами решите нуждаетесь ли Вы в них или нет и как их удалить.

<link title="RSD" rel="EditURI" type="application/rsd+xml" href="" />

Если Вы не пользуетесь различными блог-клиентами или веб-сервисами для публикации\изменения записей в блоге, то смело удаляйте эту строку. Просто положите в файл functions.php Вашего шаблона, следующий код:

remove_action('wp_head', 'rsd_link');

Если вы не используете Windows Live Writer, то этот код совершенно бесполезен для вас и его можно удалить.

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="" />

Удаляется он с помощью строки:

remove_action('wp_head', 'wlwmanifest_link');

Я пока не могу найти причин, чтобы оставить следующие строки:

<link title="Главная страница" rel="index" href="" />
<link title="Первый пост" rel="start" href="" />
<link title="Предыдущий пост" rel="prev" href="" />
<link title="Следующий пост" rel="next" href="" />

Говорят, что они помогают поисковикам легче разобраться в материалах Вашего сайта и используют этот код для навигации по сайту, хотя тот же эффект можно получить от файла sitemap.xml Также эти коды используют браузеры при загрузке страницы, автоматически кешируются предыдущий и следующий пост. Естественно, если у Вас стоит плагин кеширования, то и эти строки не нужны. Чтобы удалить всё это используйте:

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 );

Чтобы удалить лишние ссылки на RSS ленты, такие как RSS ленту рубрик, тегов и т.д. используйте следующий код:

remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

Если же Вы захотите создать RSS канал рубрики или тега, добавьте к его урлу /feed

За отображение номера версии WordPress в хедере отвечает мета тег:

<meta name="generator" content="WordPress 2.9.1" />

Никто не должен знать точную версию WordPress, используемую Вами, так что без раздумий можно удалить эту строку кода.

remove_action( 'wp_head', 'wp_generator' );

Для удобства, я вот собрал все функции вместе. Как уже было сказано, их нужно вставить в файл 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' );


Опубликовать в twitter.comПоделиться ВКонтактеПоделиться в FacebookПоделиться В Моем МиреОпубликовать в своем блоге livejournal.com
Если Вам понравилась статья, Вы можете получать новые материалы Ratemir.ru по: RSS или можете просто получать обновления блога на e-mail:

6 комментариев к “Удалить ненужный код из wp_head”

  • Леха
    4 Январь, 2011, 13:15

    Вот если честно я новичок в этом деле и мне было не очень понятно о чем говорится в этой статье!!!

  • 4 Январь, 2011, 16:28

    По идее, внутри любого шаблона сайта, для движка WordPress, должен находиться файл functions.php. Если его там нет, то создайте его. Далее, просто положите туда строчки указанные в статье, для сокрытия не нужных Вам тегов. Например, remove_action ( 'wp_head', 'wp_generator' ); таким образом мы скрываем от поисковиков и пользователей(которые любят просматривать исходный код сайта в браузерах) версию WordPress.

  • vawsan
    14 Декабрь, 2011, 23:22

    Это конечно хорошо,но хотелось бы найти еще и сам файл, где находится функция wp_head и удалить ненужный код из непосредственно тела функции. Просто таким образом получается, что wp сначала вам код внедряет, а вы его потом удаляете — зачем, когда можно просто не инициализировать его))

  • 15 Декабрь, 2011, 12:15

    Чтобы сделать тоже самое, но напрямую, необходимо в файле \wp-includes\default-filters.php (где-то 182 строка) закомментировать соответствующие строчки. Например, //add_action ('wp_head','wp_generator'); Но не забывайте об этом при обновлении WordPress.

  • Сергей
    9 Февраль, 2012, 14:08

    Спасибо, люблю порядок в коде. А править файлы ядра (содержимое «wp_includes/») крайне не рекомендую, это не поощряется идеологией движка и даст мизерную экономию.

  • Артем
    18 Январь, 2013, 15:26

    Спасибо за статью! Делал сайты на WP и ни разу не обращал на это внимание, а теперь понадобилось.

Оставить комментарий

Наверх