Многие знают, что запрет на индексацию страниц через robots.txt сейчас работает не совсем корректно. Такие страницы все равно продолжают индексироваться с пометкой "Запрещено в robots.txt ". Еще одна проблема связанная с использованием robots.txt заключается в том, что после запрета эти страницы не удаляются из индекса поисковой системы.
Зная о этих недостатках файла robots.txt я давно рекомендую владельцам сайтов и разработчикам использовать в качестве инструментов управления индексацией мета тег robots и атрибут rel="canonical". Но по опыту я знаю что для многих возникают трудности с внедрением этих элементов в свой сайт.
Как один из вариантов решения всех этих проблем, предлагаю вам оценить свою наработку, скрипт — metarobots.php
Подключив скрипт к сайту Вебмастер может управлять тегами meta name="robots" и link rel="canonical" с помощью привычных команд и регуляторных выражений стандарта robots.txt
В данный момент скрипт поддерживает следующие команды:
После команды Сanonical необходимо указать два значения:
1. Регуляторное выражение в формате robots.txt с указанием выборки URL;
2. Якорь канонического URL; (Значения нужно разделять двоеточием.)
Что такое якорь канонического URL?
Давайте рассмотрим поддержку Сanonical на примере.
Предположим мы имеем страницу вида:
http://www.seo-sign.com/2013/11/forwardseo-2013.html?showComment=13847
И хотим указать для нее канонической страницей:
http://www.seo-sign.com/2013/11/forwardseo-2013.html
В этом случае нам необходимо использовать команду:
Canonical: */2013/11/forwardseo-2013.html* : +html
В этом правиле:
*/2013/11/forwardseo-2013.html* — отбирает все страницы в которых встречается указанный набор символов.
+html — (Якорь канонического URL) показывает скрипту, что при формировании url канонической страницы необходимо отбросить от текущего URL все символы после "html"
Альтернативное правило для решение той же ситуации:
Canonical: */2013/11/forwardseo-2013.html* : -?showComment
В этом правиле:
*/2013/11/forwardseo-2013.html* — отбирает все страницы в которых встречается указанный набор символов.
-?showComment — (Якорь канонического URL) показывает скрипту, что при формировании url канонической страницы необходимо отбросить от текущего URL все символы после "?showComment", а также отбросить саму комбинацию символов "?showComment".
Якорь канонического URL — показывает скрипту какую часть URL использовать как канонический адрес а какую отбросить.
Пара стандартных шаблонов:
Делам все страницы с окончанием .html каноническими.
Canonical: *.html* : +html
Склеиваем страницы пейджинга в CMS Joomla.
Canonical: *?start=* : -?start=
Склеиваем страницы результатов сортировки в CMS Bitrix.
Canonical: *?sort=* : -?sort=
Советы по формированию правил запретов и канонических страниц
Для указания абсолютных адресов страниц в команде Canonical следует использовать URL без указания протокола. Протокол подставляется автоматически.
Команды в файле metarobots.txt выполняются последовательно при формировании каждой страницы. По этому стоит вначале использовать более точные правила направленные на небольшое количество страницы, а заканчивать файл стоит более общими командами. К примеру набор команд для CMS Joomla 1.5
Canonical: *index.php* : +/
Canonical: *.html* : +html
Disallow: *?*
Описание команд:
Зная о этих недостатках файла robots.txt я давно рекомендую владельцам сайтов и разработчикам использовать в качестве инструментов управления индексацией мета тег robots и атрибут rel="canonical". Но по опыту я знаю что для многих возникают трудности с внедрением этих элементов в свой сайт.
Как один из вариантов решения всех этих проблем, предлагаю вам оценить свою наработку, скрипт — metarobots.php
Подключив скрипт к сайту Вебмастер может управлять тегами meta name="robots" и link rel="canonical" с помощью привычных команд и регуляторных выражений стандарта robots.txt
Подключение
Для подключения скрипта необходимо- Сохранить в корневой каталог сайта файл со скриптом metarobots.php и создать файл metarobots.txt — этот файл будет содержать команды управления индексацией.
- Подключить php файл в блоке <head> на всех страницах сайта. (например через шаблон оформления).
- Готово!
Как это работает?
PHP скрипт анализирует команды из файла metarobots.txt и проставляет соответствующие теги.В данный момент скрипт поддерживает следующие команды:
Команда | Значение META ROBOTS | Коментарии |
Disallow: | name="robots" content="noindex, nofollow" | Полный запрет индексации. |
Index: | name="robots" content="index, nofollow" | Разрешена индексация, запрещено следовать по ссылкам. |
Follow: | name="robots" content="noindex, follow" | Запрещена индексация, разрешено следовать по ссылкам. |
Noarchiv: | name="robots" content="noarchive" | Не показывать ссылку на сохраненную копию. |
Nosnippet: | name="robots" content="nosnippet" | Не формировать снипет. |
Noodp: | name="robots" content="noodp" | Не использовать описание из DMOZ для снипета. |
Notranslate: | name="robots" content="notranslate" | Не предлагать перевод страницы. |
Noimageindex: | name="robots" content="noimageindex" | Не индексировать изображения на странице. |
Поддержка rel="canonical"
Для указания канонических страниц в metarobots.txt используется команда — Canonical:После команды Сanonical необходимо указать два значения:
1. Регуляторное выражение в формате robots.txt с указанием выборки URL;
2. Якорь канонического URL; (Значения нужно разделять двоеточием.)
Что такое якорь канонического URL?
Давайте рассмотрим поддержку Сanonical на примере.
Предположим мы имеем страницу вида:
http://www.seo-sign.com/2013/11/forwardseo-2013.html?showComment=13847
И хотим указать для нее канонической страницей:
http://www.seo-sign.com/2013/11/forwardseo-2013.html
В этом случае нам необходимо использовать команду:
Canonical: */2013/11/forwardseo-2013.html* : +html
В этом правиле:
*/2013/11/forwardseo-2013.html* — отбирает все страницы в которых встречается указанный набор символов.
+html — (Якорь канонического URL) показывает скрипту, что при формировании url канонической страницы необходимо отбросить от текущего URL все символы после "html"
Альтернативное правило для решение той же ситуации:
Canonical: */2013/11/forwardseo-2013.html* : -?showComment
В этом правиле:
*/2013/11/forwardseo-2013.html* — отбирает все страницы в которых встречается указанный набор символов.
-?showComment — (Якорь канонического URL) показывает скрипту, что при формировании url канонической страницы необходимо отбросить от текущего URL все символы после "?showComment", а также отбросить саму комбинацию символов "?showComment".
Якорь канонического URL — показывает скрипту какую часть URL использовать как канонический адрес а какую отбросить.
Пара стандартных шаблонов:
Делам все страницы с окончанием .html каноническими.
Canonical: *.html* : +html
Склеиваем страницы пейджинга в CMS Joomla.
Canonical: *?start=* : -?start=
Склеиваем страницы результатов сортировки в CMS Bitrix.
Canonical: *?sort=* : -?sort=
Советы по формированию правил запретов и канонических страниц
Для указания абсолютных адресов страниц в команде Canonical следует использовать URL без указания протокола. Протокол подставляется автоматически.
Команды в файле metarobots.txt выполняются последовательно при формировании каждой страницы. По этому стоит вначале использовать более точные правила направленные на небольшое количество страницы, а заканчивать файл стоит более общими командами. К примеру набор команд для CMS Joomla 1.5
Canonical: *index.php* : +/
Canonical: *.html* : +html
Disallow: *?*
Описание команд:
- Первая команда склеивает все дубли главной страницы и страницы пагинации блога на главной странице;
- Вторая команда канонизирует все страницы с расширением .html;
- Запрещает к индексации все страницы с [?] в URL;
Приглашаю всех желающих принять участие в тестировании и работе над скриптом!
Исходный скрипт — metarobots.php
На любые вопросы отвечу в комментариях.
Noarchiv: - для чего это использовать?
ОтветитьУдалитьВот не плохая статейка на этот счет:
ОтветитьУдалитьhttp://www.seoschool.ru/search-engine-optimization-seo/when-why-and-how-to-use-noarchive.html
Но его используют достаточно редко, на практике.
Здравствуйте Артем. Почитал вашу статью!
ОтветитьУдалитьСпасибо за скрипт очень удачное решение! но возникли проблемы с интеграцией его в 1С Битрикс. По сути я не понял как работает выборка disallow по участкам кода. Т.е. по факту скрипт подменяет тег только в одном случае.Можно как то с вами еще связаться?
Именно, что я не уловил синтаксис, и работает ли скрипт с ЧПУ.
Он не заменяет тег, а просто добавляет мета тег robots. Этого достаточно чтобы запретить страницу от индексации целиком. Если есть вопросы пишите на почту artempost@ukr.net с описанием задачи постараюсь помочь.
УдалитьХороший скрипт! Только возникли некоторые проблемы с подключением. Написал вам на почту сегодня, если будет время, ответьте пожалуйста)
ОтветитьУдалить