Здравствуйте, уважаемые начинающие вебмастера. Речь в сегодняшней статье пойдет от том, как составить правильный Robots.txt на своем Dle сайте, так что бы поисковые машины индексировали именно те страницы сайта, которые Вы хотели видеть в индексе поисковых системах. Robots.txt позволяет правильно направлять поисковые машины по заданному курс, что улучшить индексацию сайта и запретит к индексации те страницы Dle сайта, которые не должны оказываться в публичном доступе. Поисковые машины индексируют все, что предоставляет ему веб - мастер и выдает их в индекс. Только веб - мастер вправе, что то запретить индексировать поисковым системам. Как раз о том, что запретить, а что разрешить индексировать поисковым системам и пойдёт речь в данной статье.
В связи с последними скандалами с поисковой системой Яндекс, которая предоставляла в публичный доступ конфиденциальную информацию о пользователя магазинов и sms - сообщения, Яндекс выпустила рекомендации веб - мастерам по Robots.txt, которая была направлена на недопущение подобных инцидентов. Вина всей этой шумихи лежала на веб - мастерах, которые не правильно составили Robots.txt и поисковая машина индексировала все, что не было запрещено в Robots.txt. В связи, с чем Вам так же следует знать, как правильно составить Robots.txt под свои Dle сайт, так чтобы в индексе поисковых систем находились нужные страницы Вашего Dle сайта.
Стандарт исключений для роботов (так следует правильно называть Robots.txt) - файл ограничения доступа к содержимому роботам на http-сервере. Сам же Robots.txt так же стар, как и сам интернет. Стандарты файла Robots.txt были приняты в 1994, и были внесены последние дополнения в 1996 (15 лет назад!). С тех пор стандарты не менялись, и большинство известных поисковых систем используют данные стандарты по сей день. Но некоторые поисковые системы, такие как Google и Яндекс, внесли свои дополнения к стандартам, потому как они слишком устарели. Исходя, из этих стандартов я и хочу, Вам рассказать о том, как правильно составить Robots.txt под Яндекс, Google и другие поисковые системы.
Так же у нас в блоге есть статья "Скрываем ссылки сайта от поисковых машин", в которых описаны методы скрытия ссылок от поисковых машин.
Общие правила составления Robots.txt для поисковых систем
Составление Robots.txt начинает с указания, какому роботу будет адресованы инструкции по исключению путем указания директивы "User-agent". Для робота Google следует указать "User-agent: Googlebot". Для Яндекс робота "User-agent: YandexBot". Для всех роботов одновременно следует указать знак "*" (звездочка) после User-agent:. В итоге директива User-agent для всех роботов будет выглядеть следующим образом: "User-agent: *". Инструкции по исключению ниже данной директивы будут использоваться всеми роботами.
За исключение страниц из поисковых систем в Robots.txt отвечает директива "Disallow:", в которой указываются директории (папки), категории, страницы которые следует исключить из индексации поисковыми машинами. Следует знать, что каждая новая директива Disallow начинается с новой строки и в Disallow запрещается указывать перечень исключенных страниц. После "Disallow:" в обязательном порядке должен стоять знак слеша "/". Директивы "Allow:" в стандартах Robots.txt не существует. Но такие поисковые системы как Яндекс и Google используют данную директиву. Директива "Allow:" противоположна директиве "Disallow:", которая наоборот разрешает индексацию страниц Dle сайта. Учитывая то, что поисковую систему от Google использует mail.ru, а поисковую систему Яндекса используют Rambler и Апорт, Вы можете указывать директиву "Allow:" в Robots.txt для русскоязычных сайтов.
Директива "Host" предназначена для склейки страниц сайта с "www" или без "www", чтобы поисковая система со временем склеила копии страницы "www" или без "www". В данной директиве указывается правильный путь на сайт, вследствие чего поисковая система будет выдавать в индекс страницы только с "www" или без "www". Следует знать что директива "Host" следует прописывать только сразу после директивы "Disallow", иначе поисковая система не будет определять ее как директиву склейки.
В директиве "Sitemap" указывает путь к карте сайта в формате XML, чтобы поисковая система могла знать путь к карте сайта в формате XML, для последующего формирования сессии закачек.
В стандартах Robots.txt не предусмотрена возможность использования регулярных выражении (знаков "*" и "$") для исключения страниц директивой "Disallow:". Некоторые регулярные выражения такие как "*" (означает, любой знак и символ) и "$" (означает, конец строки) используют Яндекс и Google. Для русскоязычных сайтов Вы можете использовать конструкции страниц исключения с использованием некоторых регулярных выражений.
Что бы составлять правильный Robots.txt, Вы должны иметь представления, какие именно страницы не следует индексировать. Обычно для Dle это страницы второстепенной важности (профиль пользователя, временные папки, обратной связи, облако тегов, страницы поиска и т.д.). Robots.txt для русскоязычных сайтов можно составить для всех поисковых систем сразу, потому как стандарты Robots.txt Яндекса и Google практически идентичны. Вот примерный вид Robots.txt, который исключает второстепенные страницы Dle сайта:
Allow: /uploads/posts/
Disallow: /engine/go.php
Disallow: /favorites/
Disallow: /cache/
Disallow: /cgi-bin/
Disallow: /page/
Disallow: */page/*
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /uploads/
Disallow: /backup/
Disallow: /newposts/
Disallow: /lastnews/
Disallow: /catalog/
Disallow: /tags/
Disallow: /autobackup.php
Disallow: /admin.php
Disallow: /statistics.html
Disallow: /banners/
Disallow: /user/
Disallow: /2011/
Disallow: /*action=mobile$
Disallow: /do=*
Disallow: /*do=*
Disallow: /?*
Host: Ваш сайт.ru
Sitemap: http://Ваш сайт.ru/sitemap.xml
В данном Robots.txt я запретил индексацию практически всех страницы сайта, за исключением страниц новостей и категории сайта. При этом я запретил индексацию страницы site.ru/page/2/, site.ru/page/3/, site.ru/категория/page/2/ и так далее, потому как эти страницы не несут точной информации, которую ищет пользователь. За исключением из индексации этих страниц отвечает директивы "Disallow: /page/" и "Disallow: */page/*". Первая директива исключает страницы сайта, такие как site.ru/page/2/, site.ru/page/3/ и т.д., а вторая исключает такие страницы как site.ru/категория/page/2/, site.ru/категория/подкатегория/page/2/ и тд.
Стоит знать, что все то, что стоит после первого слеша в директиве "Disallow:" будет иметь вид как страница, которая начинается сразу после доменного имени сайта, то есть к примере страницы "page" "Disallow: /page/" исключит страницы с URL site.ru/page/3/, site.ru/page/4/, но при этом страницы site.ru/категория/page/2/, site.ru/категория/подкатегория/page/2/ исключены не будут. Для этого нужно создать другую конструкцию "Disallow: */page/*", которая исключит любую страницу вида site.ru/категория/page/2/ или site.ru/user/Scorpio/news/page/7/.
Знак "*" (звездочка) означает любой знак или символ в строке, а знак "$" (доллар) означает знак конца строки и то, что после этого знака ничего стоять не должно. Если же в Robots.txt указывать директиву "Disallow: /tags" (без второго слеша), то она будет равноценна конструкции "Disallow: /tags*", вследствие этого могут быть исключены страницы, как облака тега, так и страницы новостей в URL которых будет входить слово "tags". Очень важно указывать точное вхождение слова в конструкцию URL и быть очень внимательным, чтобы не запретить индексацию страниц новостей Вашего сайта.
Если же поисковая система проиндексировала уже нежелательные для этого страницы, то Вы с лёгкостью можете удалить их в Google или Яндекс с помощью сервисов для веб - мастеров. Для Google это "Инструменты для веб-мастеров -> Конфигурация сайта -> Доступ для сканера -> Удалить URL", а для Яндекса есть специальная страница, которая удаляет страницы сайта - Удалить Url из Яндекса. Перед тем как удалять страницы сайта, Вам следует настроить Robots.txt так чтобы поисковые системы не смоги индексировать их в дальнейшем.