robots.txt для DLE и Wordpress | Заметки SEO-новичка о заработке в интернете и не только...

robots.txt для DLE и Wordpress

Появилась у меня на одном ГС проблема с sitemap.xml. Генерировал вроде бы нормальный sitemap, но Google выдавал ошибку, типа карта неправильная и все. Открываю карту сайта в браузере все нормально, захотелось разобраться с sitemap.xml и разбирательство затронуло robots.txt.

Уже давно я хотел вплотную заняться этими двумя файлами, но времени все не было, а тут как то само вышло. Итак, эта статья в общем о robots.txt и готовыми рабочими примерами этого файла для двух CMS, которые я использую. Следующая статья будет подробно написана о sitemap.xml.

robots.txt — файл ограничения доступа к содержимому роботам на http-сервере. Файл должен находиться в корне сайта (т.е. иметь путь относительно имени сайта /robots.txt). При наличии нескольких субдоменов файл должен располагаться в корневом каталоге каждого из них. Данный файл дополняет стандарт Sitemaps, который служит прямо противоположной цели: облегчать роботам доступ к содержимому.

Для создания robots.txt нужен просто текстовый файл. Если Вы на своем сайте не собираетесь ничего закрывать для индексации, то рекомендуется сделать пустой robots.txt. Здесь я уже ошибся, так как мой старый robots содержал строки, которые якобы разрешают индексацию сайта поисковыми ботами Yandex и Google.

robots должен иметь только две основные директивы – это User-agent и Disallow, возможна также директива Host, но только для бота Yandex. Причем директива Disallow обязательна и должна всегда быть после директивы User-agent, но возможно чтобы она была пустая, т.е. ничего не запрещающая.

Самые главные ошибки при написании robots.txt:
– Инструкции Allow не существует! (Файл robots.txt ничего не разрешает, только запрещает! Хотя бот гугла эту директиву понимает);
– Комментарии на одной строке с инструкциями (они вообще не нужны);
– Имя файла содержит заглавные буквы и не рекомендуют писать внутри файла все слова заглавными буквами.

Пришло время написать robots.txt для DLE. Нужно определиться, что мы будем или хотим закрыть от индексации. Надо запретить индекс страниц для печати, страниц без какого-либо контента, а также системные папки и некоторые системные страницы. Для Yandex нужно узнать как индексировался Ваш сайт с www или без www, и указать нужный адрес в директиве Host.

Мой robots.txt:

User-agent: *
Disallow: /*print
Disallow: /user/
Disallow: /favorites/
Disallow: /cache/
Disallow: /cgi-bin/
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /uploads/
Disallow: /backup/
Disallow: /autobackup.php
Disallow: /admin.php
Disallow: /?do=lastcomments
Disallow: /statistics.html
Disallow: /index.php?do=pm
Disallow: /index.php?do=search
Disallow: /index.php?do=register
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=stats
Disallow: /index.php?do=addnews
Disallow: /index.php?subaction=newposts
Sitemap: http://www.my_site.ru/sitemap.xml

User-agent: Yandex
Disallow: /*print
Disallow: /user/
Disallow: /favorites/
Disallow: /cache/
Disallow: /cgi-bin/
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /uploads/
Disallow: /backup/
Disallow: /autobackup.php
Disallow: /admin.php
Disallow: /?do=lastcomments
Disallow: /statistics.html
Disallow: /index.php?do=pm
Disallow: /index.php?do=search
Disallow: /index.php?do=register
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=stats
Disallow: /index.php?do=addnews
Disallow: /index.php?subaction=newposts
Sitemap: http://www.my_site.ru/sitemap.xml
Host: www.my_site.ru

Это полностью рабочий и правильный robots.txt, можете пользоваться.

Теперь надо написать правильный robots.txt для Wordpress исходя из наших требований.

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /*trackback
Disallow: /*feed
Disallow: /*comments
Sitemap: http://www.my_site.ru/sitemap.xml

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /*trackback
Disallow: /*feed
Disallow: /*comments
Sitemap: http://www.my_site.ru/sitemap.xml
Host: www.my_site.ru

Еще раз повторюсь. Это полностью готовые и рабочие файлы robots.txt для CMS DLE и Wordpress. Можете копировать себе, но не забудьте проверить индекс Вашего сайта в Yandex с www или без www, и уже тогда указать правильный адрес в директиве Host и Sitemap.

Отдельный разговор заслуживают метки или теги, которые стали популярны последнее время. Yandex вроде не очень жалует их и потому также можете закрыть их, но это уже решать лично каждому, т.к. мнения у Всех разные. Кто надумает закрыть пишу еще одну строку Disallow: /tags, которую нужно будет добавить перед строкой Sitemap.





    Отзывов (5) на пост «robots.txt для DLE и Wordpress»



    1. Сергей

      Спасибо,за толковую информацию.У меня три сайта на DLE и ни где как выяснилось нет нормального robots.txt

    2. Epoxa

      Не за что, тоже столкнулся с такой проблемой, но сейчас задумался над новой. Для разных ЧПУ на DLE нужно разный robots.txt

    3. Sergey

      согласен на счет робота у меня такой самый получился. но я одного не пойпу почему вы пишете Sitemap: http://www.my_site.ru/sitemap.xml, если при создании файла sitemap.xml в админке он автоматически его бросает в папку uploads, следовательно должно быть http://www.my_site.ru/uploads/sitemap.xml

    4. Epoxa

      Sergey, можно писать и так как сказали Вы, но в файле .htaccess в корне DLE прописан редирект на uploads ;-)
      Так что оба варианта будут правильными.

    5. cordeie

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


    Ваш отзыв на пост robots.txt для DLE и Wordpress