Файл Robots.txt располагается в корневой папке сайта (например, site.ru/robots.txt). Он нужен исключительно для поисковых системам. В нём прописан набор инструкций корректной индексации сайта. Обычному пользователю всё равно, что там написано.
Основные возможности robots.txt:
- закрывать от индексации отдельные страницы или целые разделы;
- указать зеркало сайта;
- указать основной host;
- указывать ссылку на xml-карту;
Давайте для примера создадим файл robots.txt для Яндекса:
User-agent: Yandex Disallow: /cgi-bin Host: www.VASH-SITE.ru Sitemap: http://www.VASH-SITE.ru/sitemap.xml
Если бы мы создавали файл robots.txt для Google, то нужно было написать:
User-agent: Googlebot Disallow: /cgi-bin Host: www.VASH-SITE.ru Sitemap: http://www.VASH-SITE.ru/sitemap.xml
Чтобы учесть всех поисковых роботов, нужно прописать так:
User-agent: * Disallow: /cgi-bin Host: www.VASH-SITE.ru # здесь можно написать комментарий Sitemap: http://www.VASH-SITE.ru/sitemap.xml
Теперь поясню, что мы прописали выше.
Директива User-agent позволяет сделать правила для конкретных роботов разных поисковых систем.
- Yandex — указания для Яндекса;
- Googlebot — указания для Гугла;
Директива Disallow: /cgi-bin - запрещает поисковым роботам индексировать все содержимое папки cgi-bin. Например, документ www.VASH-SITE.ru/cgi-bin/1.html или www.VASH-SITE.ru/cgi-bin/papka/1.html - не будут проиндексированы. Однако, Google может отходить от данного правила, поскольку он воспринимает это лишь как рекомендацию.
В противовес директиве Disallow есть директива Allow, она наоборот разрешает индексирование. Правда её актуальность практически отсутствуют, потому что по умолчанию весь сайт и так доступен к индексации.
Host: www.VASH-SITE.ru - указывается главное зеркало сайта. Например, я не люблю прописывать www в URL и на всех своих сайтах прописываю host без www. Если написать несколько host-ов, то использоваться будет первый. См. какой вариант выбрать: домен с www или без www
http://www.VASH-SITE.ru/sitemap.xml - указывается карта сайта в формате xml. Данный формат поисковые системы воспринимают очень хорошо, поэтому владельцам движков стоит использовать такую карту. Для владельцев статических вебсайтов прописывать всё в формате xml нет смысла. См. как создать карту сайта.
# - признак начала комментария. Распространяется только на одну строчку.
Использование * в robots.txt
По умолчанию в конце каждого правила автоматически добавляется "*", однако иногда бывает важно конкретизировать формат или окончание.
User-agent: Yandex Disallow: /php-script/*.php Disallow: /*lichnoe
- В данном примере все файлы содержащиеся в папке (и подпапках) /php-script с расширением .php не будут проиндексированы.
- Все папки с названием lichnoe, запрещены к индексации. Т.е. папки /articles/lichnoe, /2011/lichnoe, /lichnoe - будут запрещены к индексации.
Использование $ в robots.txt
User-agent: Yandex Disallow: /primer$
В данном случае будет запрещена индексация /primer, но /primer.php - разрешен.
Файл robots.txt является открытой информацией для каждого. Любой пользователь может посмотреть его по адресу сайта с окончанием robots.txt: site.ru/robots.txt
Предлагаю посмотреть готовые robots.txt для распространенных движков:
• Robots.txt для Wordpress
• Robots.txt для DLE
• Robots.txt для PHPbb
• Robots.txt для IPB
• Robots.txt для PHPShop
• Как правильно обрабатывать 404 ошибку