Продолжая тему поисковой оптимизации, расскажу, как скрыть от индексации нежелательные страницы сайта на CMS uCoz/uWeb.
В предыдущей записи я рассказал, как бороться с дублями страниц, появляющимися из-за вариаций URL материалов сайта. Избавлялись мы от них с помощью специального тега rel="nofollow", прописываемого в шаблоны страниц совместно с условными операторами.
Сегодня я расскажу о других типах дублей, а также о страницах, которые следует скрывать от поисковых систем в целях как оптимизации, так и безопасности.
Блокировка нежелательных страниц с помощью robots.txt
Для начала поговорим о блокировке адресов с помощью robots.txt. Вот, как выглядит стандартный robots.txt на uCoz:
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat
Disallow: /search
Disallow: /shop/order/
Disallow: /?ssid=
Disallow: /abnl/
Sitemap: https://audiophilesoft.com/sitemap.xml
Sitemap: https://audiophilesoft.com/sitemap-forum.xml
Sitemap: https://audiophilesoft.com/sitemap-shop.xml
Здесь заблокированы элементы сайта, не подлежащие индексированию. Это могут быть служебные страницы, страницы не содержащие полезной информации и т. д. Однако этот список можно дополнить. Я рекомендую также добавить сюда следующие строки:
Disallow: /a/
Disallow: /stat/
Disallow: /index/1
Disallow: /index/2
Disallow: /index/3
Disallow: /index/5
Disallow: /index/7
Disallow: /index/8
Disallow: /index/9
Disallow: /panel/
Disallow: /admin/
Disallow: /secure/
Disallow: /informer/
Disallow: /mchat
Disallow: /search
Disallow: /shop/order/
Disallow: /abnl/
Disallow: /poll
Disallow: /*?*
Disallow: /*&*
Sitemap: https://audiophilesoft.com/sitemap.xml
Sitemap: https://audiophilesoft.com/sitemap-forum.xml
Sitemap: https://audiophilesoft.com/sitemap-shop.xml
В данном случае блокируется неинформативная страница /poll, а также страницы с параметрами в URL — так как на uCoz нет параметров, влияющих на содержимое страниц, т. е. страницы с параметрами являются дублями страниц без параметров. Вот некоторые примеры страниц, которые прежде попадали в индекс на моём сайте, а после были мною заблокированы:
https://audiophilesoft.com/load/audiophilesoftware/3?iframe=true&width=900&height=450
https://audiophilesoft.com/?ssid=272640375444646264145
https://audiophilesoft.com/news/audiophilia/2013-01-13-71&post=2944254_5090-987
Удаление страниц из индекса
После добавления строк в robots.txt в идеале следует удалить из индекса уже проиндексированные нежелательные адреса. Для этого нужно воспользоваться специальными инструментами Google Webmaster (ваш сайт/Индекс Google/Удалить URL-адреса) и Яндекс.Вебмастер. Чтобы определить, какие страницы попали в индекс, воспользуйтесь операторами site:domain.com для Google и url:domain.com* для Яндекс. Проиндексированные страницы придется просматривать и удалять вручную. Но вы также можете просмотреть страницы только в определенном каталоге, например: site:domain.com/dir/ и url:domain.com/dir/* соответственно.
Страницы архива новостей. Использование мета-тега
И последней проблемой, касающейся индексирования нежелательных страниц, для меня оказался архив новостей. Примеры страниц:
https://audiophilesoft.com/news/2010-00
https://audiophilesoft.com/news/2010-02-28
https://audiophilesoft.com/news/2012-01
Т. е. для каждого года, месяца и дня — своя страница. Само собой, что страниц в архиве огромное множество, и все они содержат только лишь повторяющиеся ссылки, не неся какой-либо полезной информации. Кроме того, ссылок на эти страницы с других страниц сайта у меня уже давно нет (т. к. отключен календарь).
Таким образом я решил оставить в разделе /news/ только страницы архива материалов вида /news/2, news/3 и т. д., а также страницы отдельных материалов. Для исключения вышеописанных неинформативных страниц я воспользовался следующим кодом в шаблоне Новости сайта/Страница архива материалов:
<?if($PAGE_ID$='day' or $PAGE_ID$='month' or $PAGE_ID$='year')?><meta name="robots" content="noindex,nofollow" /><?endif?>
Таким образом ненужные страницы идентифицируются по значению переменной движка PAGE_ID. Для них прописывается специальный мета-тег, являющийся альтернативой robots.txt (его мы в данном случае использовать не можем — нет средств для задания маски URL) и запрещающий поисковым системам индексировать страницу, а также переходить на ней по ссылкам.
После помещения этого кода в адрес шаблона можно также удалить уже проиндексированные страницы из индекса Google. С Яндекс это сделать, к сожалению, не получится — он позволяет удалять исключительно те URL, по которым сообщается ошибка 404, или которые заблокированы в robots.txt.
Подводя итог, скажу, что на данный момент я полностью избавился от нежелательных страниц и страниц-дублей как в индексе Goggle, так и в индексе Яндекс. Кстати говоря, из индекса Google теперь пропали и «дополнительные результаты» (т. н. supplementary results).