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

5 комментариев к “Удалить ненужный код из wp_head”
Вот если честно я новичок в этом деле и мне было не очень понятно о чем говорится в этой статье!!!
По идее, внутри любого шаблона сайта, для движка WordPress, должен находиться файл functions.php. Если его там нет, то создайте его. Далее, просто положите туда строчки указанные в статье, для сокрытия не нужных Вам тегов. Например, remove_action ( 'wp_head', 'wp_generator' ); таким образом мы скрываем от поисковиков и пользователей(которые любят просматривать исходный код сайта в браузерах) версию WordPress.
Это конечно хорошо,но хотелось бы найти еще и сам файл, где находится функция wp_head и удалить ненужный код из непосредственно тела функции. Просто таким образом получается, что wp сначала вам код внедряет, а вы его потом удаляете — зачем, когда можно просто не инициализировать его))
Чтобы сделать тоже самое, но напрямую, необходимо в файле \wp-includes\default-filters.php (где-то 182 строка) закомментировать соответствующие строчки. Например, //add_action ('wp_head','wp_generator'); Но не забывайте об этом при обновлении WordPress.
Спасибо, люблю порядок в коде. А править файлы ядра (содержимое «wp_includes/») крайне не рекомендую, это не поощряется идеологией движка и даст мизерную экономию.