Исключение из индексирования отдельных страниц, постов блога

23 Янв 2013 в 14:56

Исключение из индексации отдельных страниц блогаСтолкнулась с проблемой. Как исключить отдельные страницы, посты из индексирования поисковиками, чтобы остальные страницы, посты не выпали тоже.

Для чего это нужно? Хотя бы для того, чтобы закрыть страницу с рекламой на блоге от поисковиков 🙂 А то поисковики плохо относятся к такой информации на блоге.

Начала изучать суть вопроса.

Исключение из индексирования отдельных страниц, постов с помощью файла robots.txt

Как оказалось, исключить из индексирования отдельную страницу, пост можно через файл robots.txt. Что это за файл, для чего он и как его сформировать описано в статье блога "Ускорение индексации сайта с помощью файла robots.txt", поэтому повторяться не буду. Для этой статьи подразумевается, что файл robots.txt у Вас лежит на хостинге и Вы к нему имеете доступ.

А для исключения из индексирования отдельных страниц, постов, в файле robots.txt необходимо прописать адрес конкретной станицы, поста, к которым необходимо закрыть доступ роботам поисковых систем, директивой:

Disallow: /[адрес страницы, без доменного имени]

Например: Disallow: /wp-wall-guestbook

где wp-wall-guestbook - адрес страницы "Контакты" на моем блоге

Но, как всегда в жизни, есть свои нюансы.

При такой блокировке страниц, постов робот не будет индексировать исключенные страницы, НО ЕСЛИ на каких-то других ресурсах в Интернете будут обнаружены ссылки на исключенные страницы, то они по-прежнему будут индексироваться и появляться в выдаче поисковых систем.

Поэтому вариант исключения отдельных страниц, постов через файл robots.txt подходит в том случае, если на них нет в Интернете ссылающихся ссылок.

Для меня этот вариант не подходит. Ссылки уже есть.

Решение проблемы нашла через метатеги.

Исключение из индексирования отдельных страниц, постов с помощью метатегов

По мнению Google, для полного исключения необходимых страниц, постов из индексирования, надо использовать метатеги.

В документации Google (страница http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=79812) по метатегам сказано:

С помощью метатегов веб-мастера могут предоставлять поисковым системам информацию о своих сайтах. Метатеги можно использовать для предоставления сведений самым разным клиентам, и каждая система обрабатывает метатеги только заданного формата, игнорируя остальные. Метатеги добавляются к разделу <head> вашей страницы HTML и обычно выглядят следующим образом:

и приводится весь перечень метатегов. Хотите познакомится поближе со всеми метатегами, я дала специально ссылку на страницу с описанием метатегов.

Но из всего перечня метатегов меня интересует метатег для запрета индексирования контента:

<META NAME="robots" CONTENT="noindex,nofollow">

Все бы хорошо, вставили этот метатег в header конкретной страницы и у нас доступ роботам был бы запрещен к ней. Это хорошо для страниц, имеющих свой персональный header. Но имея блог на WordPress, в котором используется ОДИН файл header.php для всех страниц, постов, НЕЛЬЗЯ вставлять метатег запрета индексации в таком варианте, потому что мы этим запретим индексировать роботам ВЕСЬ БЛОГ!

Что же делать? Как же все-таки, запретить роботам индексировать конкретную страницу, пост?

И пошла я рыскать по Инету в поисках решения этой проблемы.

И, из вывалившегося мне списка поисковой выдачи, я нашла решение моей проблемы на единственном блоге!!! Уж поверьте мне, я их пересмотрела немало!

И это Блог АлаичЪ'а, на котором четко, внятно, и самое главное, доходчиво написана функция, которая решает проблему запрета индексирования отдельных страниц, постов. Я не буду воровать исходный код автора сюда в этот пост. Поэтому, за функцией пойдите на блог. Ссылку я дала. Просто все надо выполнить, как сказал автор.

Как узнать идентификационный номер (id) страницы, поста для команд функции запрета индексирования, расписано в статье моего блога: "Определение ID категории, статьи, страницы WordPress".

Для исключения страниц из индексации я команду  is_paged() в исходном тексте функции запрета автора заменила на команду

is_page( array(4511, 5870, 25, 182) ),

где 4511, 5870, 25, 182 - это id страниц моего блога, которые я исключаю из индексации. На Вашем блоге они, естественно, будут другие.

Если Вам надо одну страницу исключить из индексации, то замените команду is_paged() на is_paged(id_страницы).

Можно еще указать страницу для исключения так: is_page('Название страницы'), но лучше всего, на мой взгляд, указывать id_страницы.

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

Вызов функции я написала сама, поэтому привожу код вызова:

<?php my_meta_noindex (); ?>

Вставьте эту строку в файл header.php в секцию, где все метатеги. У кого на блоге нет метатегов, то вставьте ее перед строкой <title>.

Для контроля правильность выполненных действий посмотрите исходный код страниц. Для тех страниц, которые запрещены к индексированию, в коде должна быть строка: 

<META NAME="robots" CONTENT="noindex,nofollow">

и не должно быть этой строки в коде тех страниц, которые должны индексироваться!

Со временем поисковые системы исключат из своих индексов запрещенные страницы, посты.

Вот и все! Страницу с рекламой я закрыла от роботов 🙂

Буду благодарна за комментарий!

 

Буду благодарна, если Вы поделитесь этой статьей:

0

Рубрики: 2.3. Оптимизация сайта

Обсуждение
Отзыв Виталий 25 января 2013

Загадочный сайт. Кто в курсе про него? Зарегился никакой активной деятельности там не виду а баланс уже 287$.

[Ответить]

Валентина Ответил(а):

Виталий, скрин в студию вывода на кошелек, плз!

[Ответить]

Валентина Ответил(а):

Вранье все.Виталий!
Сегодня, 28.01.2013 сайт olimpline.biz уже не грузится!

Forbidden

You don’t have permission to access / on this server.
И как с 287 баксами? сгорели?

[Ответить]

Отзыв Виталий 25 января 2013

Так вот там чтоб бабки снять надо 10 $ платить каждую неделю, этим самым подтверждая свою активность. Хотел узнать мот кто в курсе че это за сайт такой и стоит ли игра свеч. Просто я там от силы ну может неделю,а баланс прошу прощения не 287 а 237 $ . Вывод только либо через Резервы или Перфектмани. Кто что знает пролейте свет.!?

[Ответить]

Отзыв Виталий 28 января 2013

Спасибо!!!Уже сам убедился, и понял их хитрую тактику. Хорошо что не закинул денег.

[Ответить]

Отзыв ロレックス時計コピー 2 февраля 2013

This is a nice post!

[Ответить]

Отзыв Полина Вершилина 16 февраля 2015

Валентина, большое спасибо за статью!
Я тоже начинающий блогер и тоже столкнулась с вопросом, как убрать некоторые страницы из индексации. И вразумительный ответ нашла только у Вас!
Всё более или менее ясно и понятно до вот этого момента:
«В тексте функции запрета автора для постов указана другая команда, понять по тексту можно.

Вызов функции я написала сама, поэтому привожу код вызова:

«.

Не могли бы Вы пояснить, как-то попроще, что здесь имеется в виду?
Что это за функции запрета автора для постов?
В поиске об этом я ничего не нашла…
Зачем нужен вызов этой функции?

[Ответить]

Валентина Ответил(а):

Полина, здравствуйте! Спасибо Вам за добрые слова о моем труде! Поверьте, я очень стараюсь 🙂 Теперь по сути вопроса.
В посте для исключения отдельных страниц блога на WP я делала ссылку на функцию, которую я взяла на блоге «Блог АлаичЪ’а». Ссылка на этот блог смотрите в тексте статьи,в комментариях на моем блоге ссылки запрещены. Автор функции в своем посте очень подробно рассказывает, куда вставить эту функцию и описывает в комментариях все операторы функции.
«“В тексте функции запрета автора для постов указана другая команда, понять по тексту можно.» я имела ввиду вот эту команду из функции «is_author() OR // Просмотр архива статей по авторам»
В своем посте я рассказала, как я сделала для своего блога. Вот полностью функция, которую я вставила в файл functions.php, которая исключает индексацию указанных по номеру id-страниц:

/*** ДОБАВЛЯЕМ meta robots noindex,nofollow ДЛЯ СТРАНИЦ ***/
function my_meta_noindex () {
if (
is_archive() OR // Просмотр любых страниц архива — за месяц, за год, по категориям, по авторам, и т.д.
is_category() OR // Просмотр архива статей по категориям
is_page( array(4511, 5870, 25, 182,1064, 6261) ) OR // Просмотр отдельной одиночной страницы (это то, что в разделе «Страницы» в админке)
is_attachment() OR // Страницы просмотра прикрепленных файлов
is_search() // Страницы результатов поиска по сайту
) {echo «».’‘.»\n»;}
}
add_action(‘wp_head’, ‘my_meta_noindex’, 3); // добавляем свой noindex,nofollow в head

И вызов этой функции я вставила в файл header.php после мета-тегов:
< ?php my_meta_noindex (); ?>
Если что-то неясно, я с радостью Вам помогу.

[Ответить]

Отзыв Полина Вершилина 22 февраля 2015

Валентина, большое спасибо за столь подробный ответ!
Для исключения отдельных страниц сайта из индексации, я пока тестирую такой вариант:
добавление запрета на индексацию в robots.txt и затем — добавление адресов этих страниц в специальные сервисы Яндекс и Google.
Но если этот вариант не сработает, то Ваша статья и те пояснения, которые Вы написали для меня к ней, думаю, помогут мне справиться с этим вопросом окончательно. 🙂

[Ответить]

Валентина Ответил(а):

Я от добавления запрета на индексацию в robots.txt отказалась.

[Ответить]

Полина Вершилина Ответил(а):

Можете объяснить, по какой причине?

[Ответить]

Валентина Ответил(а):

Полина, Вы же сама ответила на этот вопрос. Запрет в роботсе влечет еще и блокировку в поисковых системах. А это не только Яндекс и Гугл, а еще и яхо, бинг и т.д

[Ответить]

Полина Вершилина Ответил(а):

Да, тут Вы правы… 🙂
Отдельных способов блокировки в ПС, отличных от Яндекс и Google, я пока не нашла.
Но ими русскоязычное население почти и не пользуется.

[Ответить]

Отзыв Полина Вершилина 22 февраля 2015

И ещё вот что я хотела у Вас спросить:
что за скрипт или плагин делает у Вас такие симпатичные двойные стрелочки слева и справа на страницах?
Тоже такие себе хочу… 🙂

[Ответить]

Валентина Ответил(а):

Это у меня стоит плагин WP Single Post Navigation — дополнительный сервис для посетителей сайта — постраниччный переход. Полина, но помните, что ставя какой-то плагин Вы добавляете дополнительную нагрузку на сайт.

[Ответить]

Полина Вершилина Ответил(а):

Спасибо большое за ответ!
А вот по поводу того, что плагины сильно грузят сайт…
Есть разные мнения. 🙂

[Ответить]

Валентина Ответил(а):

Когда я училась на курсах, то меня так учили, чем меньше плагинов, тем лучше. Да если и рассуждать логически, каждый плагин — это какой-то программный код и я, как программист, хотя и бывший, понимаю, чем длиннее в программе программный код, тем дольше выполняется программа. А Вердпресс — это тоже программный код.

[Ответить]

Полина Вершилина Ответил(а):

Насколько я понимаю, плагины — это такие же коды, как и коды, вставленные в другие места на сайте. Например в тот же файл functions.php.
То есть, разницы, по сути, нет, в каком месте вставлен код. Где бы он ни был — везде он влияет на скорость работы программы.
Так что, добавляя новый код куда-либо на сайт — мы добавляем ему «работы» по-любому. Не важно, в каком именно месте выполняется программа.
Думаю, так. 🙂

[Ответить]

Валентина Ответил(а):

Полина, все Вы правильно думаете. Но обычно программный код, который мы вставляем в свои php-файлы, намного меньше, чем любой плагин 🙂

[Ответить]

Полина Вершилина Ответил(а):

Хорошо, я начала разбираться в этих вопросах совсем недавно.
Буду, по-возможности, продолжать.
Спасибо Вам ещё раз и за эту статью, и за ответы на мои вопросы.
Счастья и удачи! 🙂

[Ответить]

Валентина Ответил(а):

Полина, И Вам счастья и удачи! Буду рада видеть Вас у себя на блоге. А если нужна будет помощь, обращайтесь!

[Ответить]

Полина Вершилина Ответил(а):

Сердечно благодарю! 🙂

[Ответить]

Ваш отзыв