Как в wordpress редактировать header?
Не так давным-давно, в статье «Оптимизация WordPress. Нагрузка на сервер и как ее снизить» мы рылись в файле header. php, сокращая число запросов к БД. Сейчас же выговор пойдет немножко о товарищем, но тема также прикасается нагрузки, какую несет сервер.
Сообщать мы будем о излишних ссылках, какие генерируются WordPress или сторонними плагинами и выводятся в header с поддержкой функции wp_head() между тегами . По этим ссылкам ходят различные боты, здоровые и не весьма, что создает добавочную нагрузку на сервер.
То, чем мы будем заниматься можно храбро отнести к SEO-оптимизации, так как избавляться мы будем от излишних ссылок, какие уж достоверно не тащат никакой проки для сайта, а скорее навыворот.
Итак, что это за функция такая wp_head() и как она трудится? Подлинно не помешивало бы разобраться. Поехали!
Содержание статьи
Функция wp_head()
Если заглянуть в файл header. php, то там, обыкновенно перед закрывающим тегом , мы найдем такую строчку:
Когда я лишь набирался знаний, мне эта функция показалось вообще какой-то ненужной. Я даже отведал ее снести, после чего разумеется блог не хило пошатнуло и мне пришлось в спешном распорядке все возрождать.
После я взялся выяснять, что это за функция такая и с чем ее «кушают». Очутилось wp_head() — это не попросту функция, а так именуемый — хук.
На заметку! Хук (hook с англ. зацепка, крючок) — это своего рода функция-перехватчик, с поддержкой какой можно повлиять на роботу той или другой функции.
Надо произнести, что хуки случаются двух обликов: хуки-фильтры и хуки-действия.
Хук-фильтр способен перехватывать труд функций и вносить в их некие корректировки, какие не изменят функцию целиком, но повлияют на решительный итог. Не так давным-давно, для добавления картинок в RSS-ленту, мы как раз использовали хук-фильтр.
Хук-действие также может перехватывать труд функций, но в отличии от хук-фильтра, он не вносит корректировки, а целиком подменяет перехваченную функцию иным, подготовленным поступком. Список всех хуков WordPress вы можете посмотреть тут .
Функция wp_head() как раз относится к тем самым хукам-действий, но имеет свою особенность. Трудится этот хук на основе иной функции, какая именуется — do_action() .
Я сейчас не сделаюсь детально описывать принцип поступки функции do_action() , так как в грядущем собираюсь посветить ей отдельную статью, так что не примените подписаться на обновления блога.
Итак, что же такого особенного в хуке wp_head() ? Если включить воображение и попытаться разъяснить все человекопонятным стилем, то функцию wp_head() можно сопоставить веревкой, какая натянута между тегами . Пространство между этими тегами именуется header.
WordPress использует эту веревку для «вывешивания» на ней определенной информации, какая не видана пользователю, но ее отлично видают поисковые роботы. Что это за информация, я произнесу чуть запоздалее.
Также, «колдовской» веревкой пользуются плагины, так такие, как All in One SEO Pack, какой с поддержкой wp_head() выводит в header мета теги: title, description, keywords и др.
Для образца я повергну выдержанность из отправного кода SEO Маяк, на какой наглядно продемонстрировано, сколько информации плагин All in One SEO Pack выводит в header, сквозь функцию wp_head() :
НО! Как здорова выводимая в отправной код информация? То, что «вывешивает» All in One SEO Pack, мы заполняем сами в настройках плагина, но кушать такие эти, к каким мы не имеем никакого взаимоотношения.
Излишние ссылки в Header
Как отличить здоровую информацию от ненужной или даже нездоровой? На самом деле не стоит пугаться, нездоровой информации не так уж немало и в основном она выводится сквозь wp_head() самим WordPress.
На Денвере у меня сохранилась не «излеченная» снимок блога, из отправного кода какого, я желаю показать Вам несколько строк:
1. Вы используете для написания или редактирования статей блог-клиенты? Я нет. Уверен, что многие веб-мастера даже не ведают, что это такое. Намекну. Блог-клиент — это программа, образа Microsoft Word. Целый список блог-клиентов вы можете посмотреть тут .
Если для написания постов Вы используете редактор WordPress, то можно храбро убирать еще одну строчку из отправного кода:
Но как эта ссылка показалась в header? В этом случаи к хуку wp_head() цепляется функция rsd_link() , какая и генерирует эту строчку.
Как выслать излишние ссылки с header я расскажу чуть запоздалее, декламируйте статью до крышки. Продолжим.
2. Несколько лет назад, после переноса базы этих с Денвера на хостинг, из-за недостачи знаний, на моем кулинарном блоге перестала трудиться функция вставки изображений сквозь редактор WordPress.
Пока я разбирался в чем дело, а на это удалилось несколько месяцев, пришлось разыскивать выход из позы и им очутился сторонний редактор Windows Live Writer. Вероятно как-нибудь я обрисую этот редактор, но пока не будем на этом останавливаться.
Так вот, меня тогда немного интересовало, как Windows Live Writer подключается к блогу, но с пришествием поре я постиг, что для подключения он разыскивает такую строчку:
Генерируется функцией wlwmanifest_link() .
Сейчас я не использую Windows Live Writer, потому и ссылка мне эта вяще не необходима. Добавим в очередность на удаление.
3. Вытекающая строчка, кандидат на удаление, возбуждает мое негромкое изумление:
Генерируется функцией wp_shortlink_wp_head() .
Для каких мишеней WordPress генерирует куцую ссылку, какая по сути создает целый дубль, мне не удобопонятно. Также я не нашел внятных объяснений у «бывалых». Все попросту советуют освободиться о излишней ссылки и все.
4. Вот еще 2 строчки, какие по моему суждению не тащат никакой проки:
Генерируется функцией adjacent_posts_rel_link_wp_head() .
Это ни что другое как ссылки на предыдущую и вытекающую статьи. Для чего они бывальщины пристроены в header малопонятно. WordPress четой изумляет. То куцую ссылку зацепил на «веревку» wp_head(), еще и постраничную навигацию вывесил.
Не видаю никакой проки от этих ссылок. Ведь кушать карта сайта XML, а также карта сайта для посетителей, в каких все верно изложено и робот не должен рассеивать ссылки.
Прок от этих строчек будет в том случаи, если на блоге кушать весьма вящие статьи, какие делятся на несколько страниц. Тогда удобопонятно, что роботу будет несложнее определиться: где начин, а где крышка. Но при отсутствии таких постов, логика атрибутов prev и next не прослеживается. Будем от них избавляться.
5. Эта строчка не кормит ссылки, но от нее также желательно освободится:
Генерируется функцией wp_generator() .
Такую информацию можно наименовать находкой для хакера, так как ведая движок сайта, а тем немало его версию, будет гораздо несложнее отыскать уязвимости и ими воспользоваться. Так что ради защиты от взлома надо непременно выслать вышеупомянутую строчку.
6. Также, с поддержкой функции wp_head(), в header выводится ссылка на фид комментариев:
Генерируется функцией feed_links_extra() .
Собственно я, в качестве RSS-потока, использую feedburner, впрочем как и большинство блогеров и мне, в отправном коде, совсем не необходима ссылка на встроенный в WordPress фид с комментариями. Потому будем расставаться и с этой строчкой.
Итого у меня вышло 6 пунктов с излишней информацией, от какой можно и необходимо освободится. Уместно тем самым мы немножко сожмём HTML, если Вы помните кушать такая рекомендация в PageSpeed.
Лечение wp_head(). Функция remove_action()
Пришагало пора познакомить Вас с еще одной здоровой функцией — remove_action() , какая трудится на основе иной функции — remove_filter() и выступает в роли чистильщика хуков, удаляя функции, прикрепленные к какому-либо хуку-действия.
Обнаруживаем файл functions. php и в самый крышка, перед известен ?>, вставляем вытекающий код:
Как трудится функция remove_action()?
Первым параметром функция принимает хук-действие, в нашем случаи wp_head .
Во-втором параметре указывается наименование функции, поступок какой надо упразднить.
Третьим параметром идет приоритет хука, какой был введён при добавлении (по умолчанию 10).
Четвертым параметром указывается число аргументов хука (по умолчанию 1).
Храним изменения в functions. php и глядим отправной код, излишних ссылок в header вяще нет. По-моему мы не нехорошо поработали.
С почтением, Виталий Кириллов
Если для написания постов Вы используете редактор WordPress, то можно храбро убирать еще одну строчку из отправного кода.
Не видаю никакой проки от этих ссылок. Ведь кушать карта сайта XML, а также карта сайта для посетителей, в каких все верно изложено и робот не должен рассеивать ссылки.
Если заглянуть в файл header.