Решили мы немного поработать над блогом. Добавить новых рубрик, раскидать статьи по этим рубрикам, отдать в фид полные статьи и, наконец, обновить WordPress до самой свежей версии. А то у нас до сих пор стояла версия, актуальная на момент открытия блога.
Сегодня занимался обновлением WordPress, а пока заливались новые файлы на хостинг, я стал думать над тем, чтобы сделать правильный файл robots.txt.
О том, что такое robots.txt многие знают, но не все его создают и не желают разобраться для чего же он нужен. Специально посмотрел сайты наших читателей и проверил наличие файла robots.txt и его содержимое ;).
Итак, для чего вообще нужен файл robots.txt.
Каждая поисковая система для индексирования документов (сайтов, страниц, файлов) использует специальную программу, которую называют роботом. Робот путешествуют по веб-страницам посредством ссылок, заносит в свою базу те страницы, которые считает нужными и те, которые не запрещены к индексации.
Как только робот попадает на страницу сайта, он первым делом ищет служебный файл — robots.txt. Если такой файл есть в корне сайта, то робот будет индексировать сайт по правилам, которые описаны в этом файле. Если же файл не найден, индексироваться будут все страницы сайта без ограничений.
В файле robots.txt описаны инструкции, которые указывает поисковым системам какие разделы, файлы и страницы сайта нужно индексировать, а какие упустить. Для чего это? Вроде бы, пусть индексирует все. Но сами поисковики рекомендуют веб-мастерам использовать этот файл.
Также в robots.txt можно указывать месторасположения файла Sitemap (карта сайта).
Конструкция robots.txt достаточно проста. Файл содержит внутри себя строки с директивами, спецсимволами и параметрами. Директив немного, поэтому их достаточно просто изучить. Я распишу только часто используемые директивы и спецсимволы.
Директива User-agent.
Как только робот поисковой системы нашел в корне сайта файл robots.txt, он ищет в этом файле строки, начинающиеся с директивы User-agent, далее он читает значение стоящее после User-agent. Это может быть символ «*» или имя робота какой-либо ПС. Пример:
Директива для всех поисковых систем.
Директива только для робота Яндекса. Если робот не находит директиву User-agent, то он считает, что доступ ему не ограничен.
Директива Disallow.
Эта директива запрещает роботу индексировать сайт или его определенные разделы. Примеры:
Disallow: /
Роботу запрещается индексировать весь сайт.
Disallow: /cgi-bin
Робот разрешается индексировать все, кроме страниц, начинающихся с cgi-bin.
Директива Allow.
Эта директива разрешает роботу индексировать ту или иную область. Если эта директива используется в блоке совместно с Disallow, то Allow должна стоять выше директивы Disallow. Пример:
Allow: /wp-content/uploads
Disallow: /wp-content
Роботу запрещается индексировать документы, начинающиеся с wp-content, но разрешается индексировать документы, начинающиеся с /wp-content/uploads.
Директива Sitemap.
Указывает роботу, где расположена карта сайта в xml. Пример:
Disallow: / wp-content
Sitemap: https://7bloggers.ru/sitemap.xml
Символ #.
Символ «#» говорит роботу о том, что все, что после # и до конца строки — это комментарий для человека и роботу он не к чему.
Как создать robots.txt?
В создании этого файла тоже нет ничего сложного. Нужно создать текстовый файл с именем robots и расширением .txt. Открыть его в блокноте или другом подобном редакторе и записать необходимые инструкции. После чего сохранить файл и залить в корень сайта. То есть файл будет доступен по адресу https://ваш_сайт.ru/robots.txt.
Как проверить файл robots.txt?
Для того, чтобы проверить работу, созданного вами файла robots.txt можно воспользоваться:
— Яндекс.Вебмастер: Анализ robots.txt
— Анализ Robots.txt в инструментах Гугл для веб-мастеров
Я составил для этого блога (WordPress) вот такой robots.txt:
Allow: /wp-content/uploads
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: */trackback
Disallow: */feed
Disallow: /*?*
Disallow: /*?
Disallow: /xmlrpc.php
# Google Image
User-agent: Googlebot-Image
Allow: /
Sitemap: https://7bloggers.ru/sitemap.xml
Он, конечно, не идеален. Было бы неплохо закрыть от индексации теги и категории (добавить Disallow: /category/*/* и Disallow: /tag), для того, чтобы избежать дублированного контента. Но надо было делать это вначале. Сейчас, мне кажется, это может привести к потере PR и посещаемости.
Для того чтобы создать идеальный robots.txt нужно знать основные операторы и рекомендации поисковых систем. Основной рекомендацией является исключение из индексации страниц и файлов, которые не представляют никакой пользы для посетителя, либо дублируют контент.
Чтобы узнать все директивы для робота ПС Яндекс, смотрите здесь. Для робота ПС Гугл, смотрите здесь.
СЕО блоггер 20.03.2009
Вполне согласен, именно такой и должен быть файл robots для WordPress, но думаю еще бы желательно добавить отдельные команды для Яндекса и указать хост с www или без, дабы избежать зеркал.
9SEO 21.03.2009
Согласен, можно добавить еще директиву host от греха подальше:). Хотя она является чисто рекомендацией для робота Яндекса и он сам выбирает главное зеркало. В этом блоге робот слава богу определился и главное зеркало посчтитал без www
defs 21.03.2009
Или я ошибаюсь или вы. Поисковик читает роботс.ткст построчно, сверху вниз. Поэтому, (по идее) команды, которые находятся ниже, могут перечеркнуть команды, которые находятся выше.
В самом начале роботса, ПС считает, что ограничений никаких нет, потом читает дальше и находит их. Подозреваю, что такая конструкция:
User-agent: *
Allow: /wp-content/uploads
Disallow: /wp-content
только запретит идексацию папки /wp-content и всё. Может быть я и ошибаюсь, но я бы написал так:
User-agent: *
Disallow: /wp-content
Allow: /wp-content/uploads
9SEO 21.03.2009
Скорее всего, Вы правы в том, что поисковик читает роботс построчно, но директиву Allow нужно ставить выше Disallow. В хелпах Гугла и Яндекса это хорошо показано на примерах.
Темыч 21.03.2009
Преполезнейший пост, спасибо — давненько я с роботсами не ковырялся, память хоть освежил 😉
9SEO 21.03.2009
Не за что;)
TiamatInc 21.03.2009
Так вот кто его смотрел, а я то всю голову сломал 😉
defs, правильно как раз allow ставить в начало. Если для одной страницы подходит несколько директив, то выбирается первая в блоке User-agent
9SEO 21.03.2009
О как ты следишь за своим блогом! Небось уже по ip вычислил где живет тот, кто заглядывал в роботс 🙂 .
TiamatInc 22.03.2009
Не то чтобы очень слежу, просто когда посещаемость невысокая в ежедневном отчете LI очень хорошо видны всякие странные посещения 😉
Сергей 21.03.2009
Наверно все блоггеры думают об одном и том же (в какой-то мере), так как я начал писать вчера пост на эту тему, но теперь он видимо не актуален.
Максим 21.03.2009
Про роботсы — интересно и пользительно. А вот фид целиком всё-таки не отдается.
9SEO 22.03.2009
Все, сделали. Теперь должен отдаваться полностью…)
Armagedonec 21.03.2009
А нельзя на теговых и категорийных страницах просто убрать дабл контент от индксации? На многих блогах так в начале не сделал, теперь хочу и кол-во страниц в индекс сохранить и дабл контент убрать 🙁
TiamatInc 22.03.2009
Используйте тег canonical, по крайней мере для буржуйских поисковиков эту проблему махом разрешите
Vitashok 21.03.2009
Полезный пост.
У меня вообще одно время был сайт закрыт от индексации, а я ещё удивлялся, почему яндекс его не индексирует, пока не написа письмо Платону, он то мне глаза и открыл 🙂
Светлана 21.03.2009
Я где-то встречала, а теперь не найду, информацию о том, что лучше два разных файла robots.txt для Гугла и Яндекса. Или речь шла о двух вариантах карты сайта… Запуталась совсем 🙁
9SEO 22.03.2009
Роботс.тхт может быть всего один. А внутри него можно задать разные правила для роботов разных поисковиков.
Светлана 22.03.2009
Точно,значит речь шла о карте.
Мой robots.txt имеет несколько иной вид. Не знаю, тебуется ли вносить изменения, или того что есть достаточно:
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /xmlrpc.php
Disallow: /xmlrpc.php?rsd
Sitemap: https://www.vseuch.ru/sitemap.xml
Sitemap: https://www.vseuch.ru/sitemap.xml.gz
User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /xmlrpc.php
Disallow: /xmlrpc.php?rsd
Sitemap: https://www.vseuch.ru/sitemap.xml
Sitemap: https://www.vseuch.ru/sitemap.xml.gz
Host: www.vseuch.ru
Алесей 23.03.2009
Светлана, в документации от Yandex написано «перед каждой директивой ‘User-agent’ рекомендуется вставлять пустой перевод строки» и Sitemap можно указать один раз, для нескольких роботов и «директиву ‘Host’ непосредственно после директив ‘Disallow'(‘Allow’)». А посмотрев сам файл у вас, не понял, зачем вы поставили возле каждой строки «>»?
Светлана 23.03.2009
Алексей, я даже не заметила у себя этих скобочек… 🙁 Наверное, Яндексу они тоже не понравились.
Вот вам доказательство, что в блоггеры лезут совершенно неподготовленные товарищи.
Иду смотреть, что у Вас, и сравнивать. Как-нибудь общими усилиями доведу до ума своего роботса. Спасибо за подсказки.
Venadich 22.03.2009
а вот кто знает, нафига вот эта директива:
# digg mirror
User-agent: duggmirror
Disallow: /
многие советуют ее пихнуть, а вот для чего она, я как то упустил
9SEO 22.03.2009
Точно не знаю, но думаю это для буржуев полезно, кто статьи добавляет в digg.com и они становятся популярными…
Алексей 23.03.2009
Хотел спросить, А вот это не одно и то же делает?
Disallow: /*?*
Disallow: /*?
Так же не понятно правило для Google Image, зачем?
То же решил заняться robots.txt, тоже в блоге написал, и составил.
И, кстати, заметил, что у многих популярных блогеров файл robots.txt можно сказать пустой.
Светлана 25.03.2009
Правильно говорите, правильно! А я все-таки пренебрегла советом »
Было бы неплохо закрыть от индексации теги и категории (добавить Disallow: /category/*/* и Disallow: /tag), для того, чтобы избежать дублированного контента. Но надо было делать это вначале. Сейчас, мне кажется, это может привести к потере PR и посещаемости.»
Исправила, добавила всё что надо в robots.txt и … потеряла свою десяточку. Вот. 🙁
Рискнула, потому что мне еще полгодика, может быть все выправится, а?
В принципе, место под рекламу я не продаю, а посетителей стараюсь контентом привлекать. Идут в основном из закладок и по ссылкам.
Алексей 25.03.2009
Я не думаю что бы так быстро отняли десятку из за этого. Возможно Яндекс глючит, темболее АПа тИЦ не было.
Ну вы всёравно не учли про Sitemap и Host. Ну и так, там несколько смысловых повторений.
Светлана 25.03.2009
Проверила программой Site-Auditor и она показывает ТИЦ10 PR1 а количество проиндексированных страниц теперь выровнялось.
Сейчас у меня Яндекс-Рамблер-Google идут как 65/58/68
Значит не зря-таки возилась.
Алексей, а почему Ваш сайт Яндекс не индексирует? И очень большой отрыв в цифрах (0/136/860), мне кажется так не должно быть, или это вообще несущественые показатели? На очень хорошем сайте встречала (16000/17/9000)
Так что же все-таки дает правильно составленный файл robots.txt ?
Алексей 26.03.2009
Светлана, сайт вылетал из Яндекса. Но он раньше вылетел, чем я начал заниматься robots.txt. Сейчас сайт вернулся.
Правильный robots.txt поидее должен исключить дубликат материала, ну и убрать страницы, не содержащие информации для посетителя. Собственно не вижу острого его применения, что собственно и доказали robots’ы на популярных блогах.
wonder 25.03.2009
Спасибо за полезный пост, как раз искал мануал по роботсам.
Светлана 28.03.2009
Не знаю, что с чем связано, может быть просто совпадение, но после исправления файла robots.txt у меня ТИЦ поднялся. 20 это мало, но лучше чем 10!
TiamatInc 29.03.2009
Думаю совпадение, просто на днях был ап тИЦ 😉
revolt 19.05.2009
Подскажите, куда конкретно надо вставить файл robot.txt в .blogspot.com
TiamatInc 19.05.2009
А он там уже есть, гляньте по адресу ваш_блог/robots.txt
revolt 19.05.2009
Смотрел, blogger пишет, что нет его.
TiamatInc 19.05.2009
Ну как это нет, а вот это https://kovbasahomemade.blogspot.com/robots.txt ???
revolt 05.06.2009
Спасибо, разобрался.
Advent 14.07.2009
Я сейчас рыскаю по всем описаниям, пытаясь понять почему сервис на валидность показывает кучу ошибок. Везде роботс практически одинаков, и никто ничего не может толком объяснить, одни говорят allow не нужен, вторые нужен. Ну закрыть директории это понятно, сделать исключения тоже, но вот если исходить из чекера, то нужно исправлять ошибки.
Привожу сервис попробуйте,жду ответа.
https://tool.motoricerca.info/robots-checker.phtml
робот 26.09.2009
Вообще, нужно отдельно читать список директив и правила использования robots.txt для роботов главных ПС, они там у них разные. К тому же новые добавляются время от времени.
zdorovyal 11.12.2009
Вот и нашел на наглядном примере что и как! Спасибо большое.