В сем нужны инструкции для работы, поисковые системы не исключения из правил, поэтому и придумали специальный файл под названием robots.txt . Этот файл должен лежать в корневой папке вашего сайта, или он может быть виртуальным, но обязательно открываться по запросу: www.вашсайт.ru/robots.txt
Поисковые системы уже давно научились отличать нужные файлы html, от внутренних наборов скриптов вашей CMS системы, точнее они научились распознавать ссылки на контентные статьи и всяких хлам. Поэтому многие вебмастера уже забывают делать роботс для своих сайтов и думают, что все и так хорошо будет. Да они правы на 99%, ведь если у вашего сайта нет этого файла, то поисковые системы безграничны в своих поисках контента, но случаются нюансы, над ошибками которых, можно позаботиться заранее.
Если у вас возникли проблемы с этим файлом на сайте, пишите комментарии к этой статье и я быстро помогу вам в этом, абсолютно бесплатно. Очень часто вебмастера делают мелкие ошибки в нем, что приносит сайту плохую индексацию, или вообще исключение из индекса.
Файл robots.txt создается для настройки правильной индексации сайта поисковым системам. То есть в нем содержатся правила разрешений и запретов на определенные пути вашего сайта или тип контента. Но это не панацея. Все правила в файле robots не являются указаниями точно им следовать, а просто рекомендация для поисковых систем. Google например пишет:
Нельзя использовать файл robots.txt, чтобы скрыть страницу из результатов Google Поиска. На нее могут ссылаться другие страницы, и она все равно будет проиндексирована.
Поисковые роботы сами решают что индексировать, а что нет, и как себя вести на сайте. У каждого поисковика свои задачи и свои функции. Как бы мы не хотели, этим способ их не укротить.
Но есть один трюк, который не касается напрямую тематики этой статьи. Чтобы полностью запретить роботам индексировать и показывать страницу в поисковой выдаче, нужно написать:
Вернемся к robots. Правилами в этой файле можно закрыть или разрешить доступ к следующим типам файлов:
Чтобы наглядно показать, как работает robots, посмотрите на картинку ниже:
Поисковой робот, следуя на сайт, смотрит на правила индексации, затем начинает индексацию по рекомендациям файла.
В зависимости от настроек правил, поисковик знает, что можно индексировать, а что нет.
Для написания правил поисковым системам в файле роботса используются директивы с различными параметрами, с помощью которых следуют роботы. Начнем с самой первой и наверное самой главной директивы:
User-agent — Этой директивой вы задает название роботу, которому следует использовать рекомендации в файле. Этих роботов официально в мире интернета — 302 штуки . Вы конечно можете прописать правила для всех по отдельности, но если у вас нет времени на это, просто пропишите:
User-agent: *
*-в данном примере означает «Все». Т.е. ваш файл robots.txt, должен начинаться с того, «для кого именно» предназначен файл. Чтобы не заморачиваться над всеми названиями роботов, просто пропишите «звездочку» в директиве user-agent.
Приведу вам подробные списки роботов популярных поисковых систем:
Google — Googlebot — основной робот
Остальные роботы GoogleGooglebot-News
— робот поиска новостей
Googlebot-Image
— робот картинок
Googlebot-Video
— робот видео
Googlebot-Mobile
— робот мобильной версии
AdsBot-Google
— робот проверки качества целевой страницы
Mediapartners-Google
— робот сервиса AdSense
Яндекс — YandexBot - основной индексирующий робот;
Остальные роботы ЯндексаDisallow — самое основное правило в robots, именно с помощью этой директивы вы запрещаете индексировать определенные места вашего сайта. Пишется директива так:
Disallow:
Очень часто можно наблюдать директиву Disallow: пустую, т.е. якобы говоря роботу, что ничего не запрещено на сайте, индексируй что хочешь. Будьте внимательны! Если вы поставите / в disallow, то вы полностью закроете сайт для индексации.
Поэтому самый стандартный вариант robots.txt, который «разрешает индексацию всего сайта для всех поисковых систем» выглядит так:
User-Agent: * Disallow:
Если вы не знаете что писать в robots.txt, но где-то слышали о нем, просто скопируйте код выше, сохраните в файл под названием robots.txt и загрузите его в корень вашего сайта. Или ничего не создавайте, так как и без него роботы будут индексировать все на вашем сайте. Или прочитайте статью до конца, и вы поймете, что закрывать на сайте, а что нет.
По правилам robots, директива disallow должна быть обязательна.
Этой директивой можно запретить как папку, так и отдельный файл.
Если вы хотите запретить папку вам следует написать:
Disallow: /papka/
Если вы хотите запретить определенный файл :
Disallow: /images/img.jpg
Если вы хотите запретить определенные типы файлов :
Disallow: /*.png$
Регулярные выражения не поддерживаются многими поисковыми системами. Google поддерживает.
Allow — разрешающая директива в Robots.txt. Она разрешает роботу индексировать определенный путь или файл в запрещающей директории. До недавнего времени использовалась только Яндексом. Google догнал это, и тоже начал ее использовать. Например:
Allow: /content Disallow: /
эти директивы запрещают индексировать весь контент сайта, кроме папки content. Или вот еще популярные директивы в последнее время:
Allow: /themplate/*.js Allow: /themplate/*.css Disallow: /themplate
эти значения разрешают индексировать все файлы CSS и JS на сайте , но запрещают индексировать все в папке с вашим шаблоном. За последний год Google очень много отправил писем вебмастерам такого содержания:
Googlebot не может получить доступ к файлам CSS и JS на сайте
И соответствующий комментарий: Мы обнаружили на Вашем сайте проблему, которая может помешать его сканированию. Робот Googlebot не может обработать код JavaScript и/или файлы CSS из-за ограничений в файле robots.txt. Эти данные нужны, чтобы оценить работу сайта. Поэтому если доступ к ресурсам будет заблокирован, то это может ухудшить позиции Вашего сайта в Поиске .
Если вы добавите две директивы allow, которые написаны в последнем коде в ваш Robots.txt, то вы не увидите подобных сообщений от Google.
Теперь про знаки в директивах. Основные знаки (спецсимволы) в запрещающих или разрешающих это /,*,$
Про слеши (forward slash) «/»
Слеш очень обманчив в robots.txt. Я несколько десятков раз наблюдал интересную ситуацию, когда по незнанию в robots.txt добавляли:
User-Agent: * Disallow: /
Потому, что они где-то прочитали о структуре сайта и скопировали ее себе на сайте. Но, в данном случае вы запрещаете индексацию всего сайта. Чтобы запрещать индексацию именно каталога, со всеми внутренностями вам обязательно нужно ставить / в конце. Если вы например пропишите Disallow: /seo, то абсолютно все ссылки на вашем сайте, в котором есть слово seo — не будут индексироваться. Хоть это будет папка /seo/, хоть это будет категория /seo-tool/, хоть это будет статья /seo-best-of-the-best-soft.html, все это не будет индексироваться.
Внимательно смотрите на все / в вашем robots.txt
Всегда в конце директорий ставьте /. Если вы поставите / в Disallow, вы запретите индексацию всего сайта, но если вы не поставите / в Allow, вы также запретите индексацию всего сайта. / — в некотором понимании означает «Все что следует после директивы /».
Про звездочки * в robots.txt
Спецсимвол * означает любую (в том числе пустую) последовательность символов. Вы можете ее использовать в любом месте robots по примеру:
User-agent: * Disallow: /papka/*.aspx Disallow: /*old
Запрещает все файлы с расширением aspx в директории papka, также запрещает не только папку /old, но и директиву /papka/old. Замудрено? Вот и я вам не рекомендую баловаться символом * в вашем robots.
По умолчанию в файле правил индексации и запрета robots.txt стоит * на всех директивах!
Про спецсимвол $
Спецсимвол $ в robots заканчивает действие спецсимвола *. Например:
Disallow: /menu$
Это правило запрещает ‘/menu’, но не запрещает ‘/menu.html’, т.е. файл запрещает поисковым системам только директиву /menu, и не может запретить все файлы со словом menu в URL`е.
Правило host работает только в Яндекс, поэтому является не обязательным , оно определяет основной домен из ваших зеркал сайта, если таковы есть. Например у вас есть домен dom.com, но и так же прикуплены и настроены следующие домены: dom2.com, dom3,com, dom4.com и с них идет редирект на основной домен dom.com
Чтобы Яндексу быстрее определить, где из них главных сайт (хост), пропишите директорию host в ваш robots.txt:
Host: сайт
Если у вашего сайта нет зеркал, то можете не прописывать это правило. Но сначала проверьте ваш сайт по IP адрессу, возможно и по нему открывается ваша главная страница, и вам следует прописать главное зеркало. Или возможно кто-то скопировал всю информацию с вашего сайта и сделал точную копию, запись в robots.txt, если она также была украдена, поможет вам в этом.
Запись host должны быть одна, и если нужно, с прописанным портом. (Host: сайт:8080)
Эта директива была создана для того, чтобы убрать возможность нагрузки на ваш сервер. Поисковые роботы могут одновременно делать сотни запросов на ваш сайт и если ваш сервер слабый, это может вызвать незначительные сбои. Чтобы такого не произошло, придумали правило для роботов Crawl-delay — это минимальный период между загрузками страницы вашего сайта. Стандартное значение для этой директивы рекомендуют ставить 2 секунды. В Robots это выглядит так:
Crawl-delay: 2
Эта директива работает для Яндекса. В Google вы можете выставить частоту сканирования в панеле вебмастера, в разделе Настройки сайта, в правом верхнем углу с «шестеренкой».
Этот параметр тоже только для Яндекса. Если адреса страниц сайта содержат динамические параметры, которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т. п.), вы можете описать их с помощью директивы Clean-param.
Робот Яндекса, используя эту информацию, не будет многократно перезагружать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.
Например, на сайте есть страницы:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123
Параметр ref используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123. Тогда, если указать директиву следующим образом:
User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl
робот Яндекса сведет все адреса страницы к одному:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,
Если на сайте доступна страница без параметров:
www.site.com/some_dir/get_book.pl?book_id=123
то все сведется именно к ней, когда она будет проиндексирована роботом. Другие страницы вашего сайта будут обходиться чаще, так как нет необходимости обновлять страницы:
www.site.com/some_dir/get_book.pl?ref=site_2&book_id=123
www.site.com/some_dir/get_book.pl?ref=site_3&book_id=123
#для адресов вида: www.site1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.site1.com/forum/showthread.php?s=1e71c4427317a117a&t=8243 #robots.txt будет содержать: User-agent: Yandex Disallow: Clean-param: s /forum/showthread.php
Этой директивой вы просто указываете месторасположение вашего sitemap.xml. Робот запоминает это, «говорит вам спасибо», и постоянно анализирует его по заданному пути. Выглядит это так:
Sitemap: http://сайт/sitemap.xml
А сейчас давайте рассмотрим общие вопросы, которые возникают при составлении роботса. В интернете много таких тем, поэтому разберем самые актуальные и самые частые.
Очень много но в этом слове «правильный», ведь для одного сайта на одной CMS он будет правильный, а на другой CMS — будет выдавать ошибки. «Правильно настроенный» для каждого сайта индивидуальный. В Robots.txt нужно закрывать от индексации те разделы и те файлы, которые не нужны пользователям и не несут никакой ценности для поисковиков. Самый простой и самый правильный вариант robots.txt
User-Agent: * Disallow: Sitemap: http://сайт/sitemap.xml User-agent: Yandex Disallow: Host: site.com
В этом файле стоят такие правила: настройки правил запрета для всех поисковых систем (User-Agent: *), полностью разрешена индексация всего сайта («Disallow:» или можете указать «Allow: /»), указан хост основного зеркала для Яндекса (Host: site.ncom) и месторасположение вашего Sitemap.xml (Sitemap: .
Опять же много вопросов, один сайт может быть интернет-магазинов, другой блог, третий — лендинг, четвертый — сайт-визитка фирмы, и это все может быть на CMS WordPress и правила для роботов будут совершенно разные. Вот мой robots.txt для этого блога:
User-Agent: * Allow: /wp-content/uploads/ Allow: /wp-content/*.js$ Allow: /wp-content/*.css$ Allow: /wp-includes/*.js$ Allow: /wp-includes/*.css$ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content Disallow: /category Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: /?feed= Disallow: /job Disallow: /?.net/sitemap.xml
Тут очень много настроек, давайте их разберем вместе.
Allow в WordPress . Первые разрешающие правила для контента, который нужен пользователям (это картинки в папке uploads), и роботам (это CSS и JS для отображения страниц). Именно по css и js часто ругается Google, поэтому мы оставили их открытыми. Можно было использовать метод всех файлов просто вставив «/*.css$», но запрещающая строка именно этих папок, где лежат файлы — не разрешала использовать их для индексации, поэтому пришлось прописать путь к запрещающей папке полностью.
Allow всегда указывает на путь запрещенного в Disallow контента. Если у вас что-то не запрещено, не стоит ему прописывать allow, якобы думая, что вы даете толчок поисковикам, типа «Ну на же, вот тебе URL, индексируй быстрее». Так не получится.
Disallow в WordPress . Запрещать в CMS WP нужно очень многое. Множество различных плагинов, множество различных настроек и тем, куча скриптов и различных страниц, которые не несут в себе никакой полезной информации. Но я пошел дальше и совсем запретил индексировать все на своем блоге, кроме самих статей (записи) и страниц (об Авторе, Услуги). Я закрыл даже категории в блоге, открою, когда они будут оптимизированы под запросы и когда там появится текстовое описание для каждой из них, но сейчас это просто дубли превьюшек записей, которые не нужны поисковикам.
Ну Host и Sitemap стандартные директивы. Только нужно было вынести host отдельно для Яндекса, но я не стал заморачиваться по этому поводу. Вот пожалуй и закончим с Robots.txt для WP.
Это не так сложно как кажется на первый взгляд. Вам достаточно взять обычный блокнот (Notepad) и скопировать туда данные для вашего сайта по настройкам из этой статьи. Но если и это для вас сложно, в интернете есть ресурсы, которые позволяют генерировать роботс для ваших сайтов:
Никто не расскажет больше про ваш Robots.txt, как эти товарищи. Ведь именно для них вы и создаете свой «запретный файлик».
Теперь поговорим о некоторых мелких ошибках, которые могут быть в robots.
Эта статья будет обновляться по мере поступления интересных вопросов и нюансов.
С вами был, ленивый Staurus.
Здравствуйте друзья! В статье показано, что такое правильный robots txt для сайта, где он находится, способы создания файла robots, как адаптировать под себя файл robots с другого сайта, как его залить к себе на блог.
Файл robots txt, это текстовый файл, который содержит инструкции для поисковых роботов. Перед обращением к страницам Вашего блога, робот ищет первым делом файл robots, поэтому он так важен. Файл robots txt это стандарт для исключения индексации роботом тех или иных страниц. От файла robots txt будет зависеть попадание в выдачу Ваших конфиденциальных данных. Правильный robots txt для сайта поможет в его продвижении, поскольку он является важным инструментов во взаимодействии Вашего сайта и поисковых роботов.
Не зря файл robots txt называют важнейшим инструментом SEO, этот маленький файл напрямую влияет на индексацию страниц сайта и сайта в целом. И наоборот, неправильный robots txt может исключить некоторые страницы, разделы или сайт в целом из поисковой выдачи. В этом случае можно иметь и 1000 статей на блоге, а посетителей на сайте просто не будет, будут чисто случайные прохожие.
На Яндекс вебмастере есть обучающее видео, в котором Яндекс сравнивает файл роботс тхт с коробкой Ваших личных вещей, которые Вы не хотите никому показывать. Чтобы посторонние не заглядывали в эту коробку, Вы её заклеиваете скотчем и пишете на ней – «Не открывать».
Роботы, как воспитанные личности, эту коробку не открывают и другим не смогут рассказать, что там находится. Если файла robots txt нет, то робот поисковой системы считает, что все файлы доступные, он откроет коробку, всё посмотрит и другим расскажет, что лежит в коробке. Чтобы робот не лазил в этот ящик, надо запретить ему туда лазить, делается это с помощью директивы Disallow, что переводится с английского – запретить, а Allow – разрешить.
Это обычный txt файл, который составляется в обычном блокноте или программе NotePad++, файл, который предлагает роботам не индексировать определённые страницы на сайте. Для чего это нужно:
Это не означает, что мы что-то хотим спрятать от поисковиков, что-то тайное, просто эта информация не несёт ценности ни для поисковиков, ни для посетителей. Например, страница логина, RSS ленты и т.д. Кроме того, файл robots txt указывает зеркало сайта, а также карту сайта. По умолчанию на сайте, который делается на WordPress, файла robots txt нет. Поэтому нужно создать robots txt файл и залить его в корневую папку Вашего блога, в данной статье мы рассмотрим robots txt для WordPress, его создание, корректировку и заливку на сайт. Итак, сначала мы узнаем, где находится файл robots txt?
Думаю, многие новички задают себе вопрос – где находится robots txt? Находится файл в корневой папке сайта, в папке public_html, его можно увидеть достаточно просто. Вы можете зайти на хостинг, открыть папку своего сайта и посмотреть есть там этот файл или нет. В прилагаемом ниже видео, показано, как это сделать. Можно посмотреть файл и с помощью Яндекс вебмастера и Google webmaster, но об этом поговорим позже.
Есть вариант еще проще, который позволяет посмотреть не только свой robots txt, но и robots любого сайта, Вы можете robots скачать к себе на компьютер, а затем адаптировать его к себе и использовать на своём сайте (блоге). Делается это так – Вы открываете нужный Вам сайт (блог), и через слэш дописываете robots.txt (смотрите скрин)
и нажимаете Enter, открывается файл robots txt. В данном случае, Вы не можете видеть, где находится robots txt, но можете его посмотреть и скачать.
Создать robots txt для сайта можно различными вариантами:
Итак, ранее генераторами создания файлов robots txt я не пользовался, но перед написанием данной статьи решил протестировать 4 сервиса по генерации файлов robots txt, получил определённые результаты, о них позже скажу. Вот эти сервисы:
О том, как использовать генератор robots txt на практике, подробно показано в прилагаемом ниже видео. В процессе испытания пришел к выводу, что они для этого новичкам не подходят, и вот почему? Генератор позволяет только оформить правильную запись без ошибок самого файла, а для составления правильного robots txt все равно нужно обладать знаниями, надо знать, какие папки закрыть, какие нет. По этой причине использовать генератор robots txt чтобы создать файл, новичкам не рекомендую.
Есть плагины, например, PC Robots.txt для создания файла. Этот плагин позволяет редактировать файл прямо в панели управления сайтом. Другой плагин iRobots.txt SEO – этот плагин с похожим функционалом. Вы можете найти кучу различных плагинов, которые позволяют работать с файлом robots txt. При желании Вы можете задать в поле «Поиск плагинов» словосочетание robots. txt и нажать кнопку «Поиск» и Вам будет предложено несколько плагинов. Конечно, о каждом из них надо прочитать, посмотреть отзывы.
Принцип работы плагинов robots txt для WordPress очень похож на работу генераторов. Чтобы получить правильный robots txt для сайта, нужны знания и опыт, а откуда он может быть у новичков? По моему мнению, от подобных сервисов можно получить больше вреда, чем пользы. А если устанавливать плагин, так он еще и хостинг нагрузит. По этой причине устанавливать плагин robots txt WordPress не рекомендую.
Можно создать robots txt вручную, используя обычный блокнот или программу NotePad++, но для этого должны быть знания и опыт. Новичкам этот вариант тоже подходит мало. Но со временем, когда появится опыт, можно будет это делать, причем составить файл robots txt для сайта, прописать директивы Disallow robots, закрыть от индексации нужные папки, выполнить проверку robots и его корректировку можно всего за 10 минут. На приведенном скрине показан роботс тхт в блокноте:
Сам порядок создания файла robots txt здесь рассматривать не будем, об этом подробно написано во многих источниках, например, в Яндекс вебмастер. Перед составлением файла роботс тхт, необходимо зайти в Яндекс Вебмастер, где подробно расписана каждая директива, что за что отвечает и на основании этой информации составить файл. (смотрите скрин).
Кстати, новый Яндекс вебмастер предлагает подробную и развернутую информацию, статью о можно посмотреть на блоге. Точнее представлено две статьи, которые принесут большую пользу блоггерам и не только новичкам, советую прочитать.
Если Вы не новичок и хотите сделать robots txt самостоятельно, то нужно соблюдать ряд правил:
Идеального файла не существует, периодически нужно пробовать экспериментировать и учитывать изменения в работе поисковых систем, учитывать те ошибки, которые со временем могут появиться на Вашем блоге. Поэтому для начала можно взять чужой проверенный файл robots txt и установить его к себе.
Обязательно надо изменить записи, которые отражают адрес Вашего блога в директории Host (смотрите скрин, смотрите также видео), а также заменить на свой адрес сайта в адресе карты сайта (две нижние строки). Со временем этот файл немного надо подкорректировать. Например, Вы обратили внимание, что у Вас начали появляться дубли страниц.
В разделе «Где находится robots txt, как увидеть», который находится выше, мы рассматривали, как посмотреть и скачать robots txt. Поэтому, нужно выбрать хороший трастовый сайт, у которого высокие показатели Тиц, высокая посещаемость, открыть и скачать правильный robots txt. Нужно сравнить несколько сайтов, выбрать для себя нужный файл роботс тхт и залить себе его на сайт.
Как уже писалось, после создания сайта на WordPress, по умолчанию, файл robots txt отсутствует. Поэтому его надо создать и закачать в корневую папку нашего сайта (блога) на хостинг. Закачать файл достаточно просто. На хостинге TimeWeb , на других хостингах закачать можно либо через , либо через . В видео, которое расположено ниже, показан процесс закачки файла robots txt на хостинг TimeWeb.
После закачки файла robots txt, нужно проверить его наличие и работу. Для этого можем посмотреть файл с браузера, как показано выше в разделе «Где находится robots txt, как увидеть». А проверить работу файла можно с помощью Яндекс вебмастера и Google webmaster. Помним, что для этого должны быть , так и в .
Для проверки в Яндексе заходим в наш аккаунт Яндекс вебмастера, выбираем сайт, если у Вас их несколько. Выбираем «Настройка индексирования», «Анализ robots.txt», а дальше следуем инструкциям.
В Google вебмастер делаем аналогично, заходим в наш аккаунт, выбираем нужный сайт (если их несколько), нажимаем кнопку «Сканирование» и выбираем «Инструмент проверки файла robots.txt». Откроется файл robots txt, Вы можете его исправить или проверить.
На этой же странице находятся отличные инструкции по работе с файлом robots txt, можете с ними ознакомиться. В заключении привожу видео, где показано что представляет собой файл robots txt, как его найти, как его посмотреть и скачать, как работать с генератором файла, как составить robots txt и адаптировать под себя, показана другая информация:
Итак, в данной статье мы рассмотрели вопрос, что собой представляет файл robots txt, выяснили, что этот файл является очень важным для сайта. Узнали, как сделать правильный robots txt, как адаптировать файл robots txt с чужого сайта к себе, как закачать его на свой блог, как его проверить.
Из статьи стало понятно, что новичкам, на первых порах, лучше использовать готовый и правильный robots txt, но надо не забыть заменить в нем в директории Host домен на свой, а также прописать адрес своего блога в картах сайта. Скачать мой файл robots txt можно здесь. Теперь, после исправления, можете использовать файл на своем блоге.
Отдельно по файлу robots txt есть сайт Вы можете зайти на него и узнать более подробную информацию. Надеюсь, у Вас всё получится и блог будет хорошо индексироваться. Удачи Вам!
С уважением, Иван Кунпан.
P.S. Для правильного продвижения блога надо правильно писать о оптимизировать статьи на блоге, тогда на нём будет высокая посещаемость и рейтинги. В этом Вам помогут мои инфопродукты, в которые вложен мой трёхлетний опыт. Можете получить следующие продукты:
Получайте новые статьи блога прямо себе на почту. Заполните форму, нажмите кнопку "Подписаться"
Здравствуйте, уважаемые читатели блога «Мир Вебмастера»!
Файл robots.txt – это очень важный файл, напрямую влияющий на качество индексации вашего сайта, а значит и на его поисковое продвижение.
Именно поэтому вы должны уметь правильно оформлять роботс.тхт, чтобы случайно не запретить к индексу какие-нибудь важные документы интернет-проекта.
О том, как оформить файл robots.txt, какой синтаксис нужно использовать при этом, как разрешать и запрещать к индексу документы, и пойдет речь в этой статье.
Сначала давайте подробнее узнаем, что же это за файл такой.
Файл роботс – это файл, который показывает поисковым системам, какие страницы и документы сайта можно добавлять в индекс, а какие – нельзя. Он необходим из-за того, что изначально поисковые системы стараются проиндексировать весь сайт, а это не всегда правильно. Например, если вы создаете сайт на движке (WordPress, Joomla и т.д.), то у вас будут присутствовать папки, организующие работу административной панели. Понятно, что информацию в этих папках индексировать нельзя, как раз в этом случае и используется файл robots.txt, который ограничивает доступ поисковикам.
Также в файле роботс.тхт указывается адрес карты сайта (она улучшает индексацию поисковыми системами), а также главный домен сайта (главное зеркало).
Зеркало – это абсолютная копия сайта, т.е. когда один сайт , то говорят, что один из них – это главный домен, а другой – его зеркало.
Таким образом, у файла достаточно много функций, причем немаловажных!
Файл роботс содержит блоки правил, которые говорят той или иной поисковой системе, что можно индексировать, а что нет. Блок правил может быть и один (для всех поисковиков), но также их может быть несколько – для каких-то конкретных поисковиков отдельно.
Каждый такой блок начинается с оператора «User-Agent», который указывает, к какой поисковой системе применимы данные правила.
User-
Agent:
A
{правила для робота «А»}
User-
Agent:
B
{правила для робота «В»}
В примере выше показано, что оператор «User-Agent» имеет параметр – имя робота поисковой системы, к которой применяются правила. Основные из них я укажу ниже:
После «User-Agent» идут другие операторы. Вот их описание:
Для всех операторов справедлив один синтаксис. Т.е. операторы нужно использовать следующим образом:
Оператор1: параметр1
Оператор2: параметр2
…
Таким образом, сначала мы пишем название оператора (неважно, большими или маленькими буквами), затем ставим двоеточие и через пробел указываем параметр данного оператора. Затем с новой строки таким же образом описываем оператор два.
Важно!!! Пустая строка будет означать, что блок правил для данного поисковика закончен, поэтому не разделяйте операторы пустой строкой.
Рассмотрим простенький пример файла robots.txt, чтобы лучше разобраться в особенностях его синтаксиса:
User-agent: Yandex
Allow: /folder1/
Disallow: /file1.html
Host: www.site.ru
User-agent: *
Disallow: /document.php
Disallow: /folderxxx/
Disallow: /folderyyy/folderzzz
Disallow: /feed/
Sitemap: http://www.site.ru/sitemap.xml
Теперь разберем описанный пример.
Файл состоит из трех блоков: первый для Яндекса, второй для всех поисковых систем, а в третьем указан адрес карты сайта (применяется автоматически для всех поисковиков, поэтому указывать «User-Agent» не нужно). Яндексу мы разрешили индексировать папку «folder1» и все ее содержимое, но запретили индексировать документ «file1.html», находящийся в корневом каталоге на хостинге. Также мы указали главный домен сайта яндексу. Второй блок – для всех поисковиков. Там мы запретили документ «document.php», а также папки «folderxxx», «folderyyy/folderzzz» и «feed».
Обратите внимание, что мы запретили в втором блоке команд к индексу не всю папку «folderyyy», а лишь папку внутри этой папки – «folderzzz». Т.е. мы указали полный путь для «folderzzz». Так всегда нужно делать, если мы запрещаем документ, находящийся не в корневом каталоге сайта, а где-то внутри других папок.
Создание займет меньше двух минут:
Созданный файл роботс можно проверить на работоспособность в панели вебмастеров Яндекса . Если в файле вдруг обнаружатся ошибки, то яндекс это покажет.
Обязательно создайте файл robots.txt для вашего сайта, если его у вас до сих пор нету. Это поможет развиваться вашему сайту в поисковых системах. Также можете почитать еще одну нашу статью про методом мета-тегов и.htaccess.
В этой статье пример оптимального, на мой взгляд, кода для файла robots.txt под WordPress, который вы можете использовать в своих сайтах.
Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).
Разбор кода:
В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов * . Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex , User-agent: Googlebot).
В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .
Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:
Правило Sitemap: http://site.ru/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.
В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: https://site.ru
Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.
Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:
User-agent: * Allow: */uploads Disallow: /wp-
будет прочитана как:
User-agent: * Disallow: /wp- Allow: */uploads
Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»
Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.
Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):
Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:
3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.
Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:
Disallow: /news
Оно запретить роботам ходить по подобным ссылками:
Если нужно закрыть любые вхождения /news , то пишем:
Disallow: */news
Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).
Проверить правильно ли работают прописанные правила можно по следующим ссылкам:
Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/
Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.
Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».
Для этого нужно использовать директиву Crawl-delay . Она указывает время в секундах, которое робот должен простаивать (ждать) для сканирования каждой следующей страницы сайта.
Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow
Робот Яндекса понимает дробные значения, например, 0.5 (пол секунды). Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.
User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды
Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.
Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:
Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:
Host: site.ru User-agent: * Disallow: /asd
Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.
Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?
User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://site.ru/sitemap.xml
Поймет ли робот в данном примере директиву Sitemap?
Надеюсь получить от вас ответ, который поставит жирную точку в моих сомнениях.
Здравствуйте!
Директивы Host и Sitemap являются межсекционными, поэтому будут использоваться роботом вне зависимости от места в файле robots.txt, где они указаны.
--
С уважением, Платон Щукин
Служба поддержки Яндекса
Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).
Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...
На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.
При самостоятельном продвижении и раскрутке сайта важно не только создание уникального контента или подбор запросов в статистике Яндекса, но и так же следует уделять должное внимание такому показателю, как индексация ресурса поисковиками, ибо от этого тоже зависит весь дальнейший успех продвижения.
У нас с вами имеются в распоряжении два основных инструмента, с помощью которых мы можем управлять этим процессом. Во-первых, это, конечно же, файл robots.txt, который поможет нам запретить индексировать то, что не содержит основного контента (файлы движка и дубли контента) и именно о нем и пойдет речь в этой статье, но кроме этого существует еще один важный инструмент - карта сайта (Sitemap xml).
Упомянутые выше инструменты очень важны для успешного развития вашего проекта и это вовсе не голословное утверждение. В статье по Sitemap xml (см. ссылку выше) я приводил в пример результаты очень важного исследования по наиболее частым техническим ошибкам начинающих вебмастеров, там на втором и третьем месте (после не уникального контента) находятся как раз отсутствие этих файлов роботс и сайтмап, либо их неправильное составление и использование.
Надо очень четко понимать, что не все содержимое интернет проекта (файлы и директории), созданного на каком-либо движке, должно быть доступно роботам поисковых систем.
Если не прописать определенные правила поведения в роботсе для этих ботов, то в индекс поисковиков попадет множество страниц, не имеющих отношения к значимому содержимому ресурса, а также может произойти многократное дублирование контента (по разным ссылкам будет доступен один и тот же, либо сильно пересекающийся контент), что поисковики не любят.
Хорошим решением будет запрет всего лишнего в robots.txt (все буквы в названии должны быть в нижнем регистре - без заглавных букв).
С его помощью мы сможем влиять на процесс индексации сайта Яндексом и Google. Представляет он из себя обычный текстовый файл, который вы сможете создать и в дальнейшем редактировать в любом текстовом редакторе (например, Notepad++). Поисковый бот будет искать этот файл в корневом каталоге вашего ресурса и если не найдет, то будет загонять в индекс все, до чего сможет дотянуться.
Поэтому после написания требуемого роботса, его нужно сохранить в корневую папку, например, с помощью Ftp клиента Filezilla так, чтобы он был доступен, например, по такому адресу:
Https://сайт/robots.txt
Кстати, если вы хотите узнать как выглядит этот файл у того или иного проекта в сети, то достаточно будет дописать к Урлу его главной страницы окончание вида /robots.txt. Это может быть полезно для понимания того, что в нем должно быть.
Однако, при этом надо учитывать, что для разных движков этот файл будет выглядеть по разному (папки движка, которые нужно запрещать индексировать, будут называться по разному в разных CMS). Поэтому, если вы хотите определиться с лучшим вариантом роботса, допустим для форума на SMF, то и изучать нужно только форумы, построенные на этом движке.
Роботс имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса. Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent"), разрешающие ("Allow") и запрещающие ("Disallow"), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.
Еще полезно указать в этом файле, какое из зеркал вашего вебпроекта является главным в специальной директиве "Host", которую понимает только Яндекс. Если даже у вашего ресурса нет зеркал, то полезно будет указать, какой из вариантов написания является главным - с www или без него. Т.к. это тоже является своего рода зеркалированием. Об этом я подробно рассказывал в статье про 301 редирект для доменов с WWW и без него.
Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:
<поле>:<пробел><значение><пробел>
<поле>:<пробел><значение><пробел>
Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.
Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:
User-agent: *
Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:
User-agent: Yandex
Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:
Google http://www.google.com Googlebot Yahoo! http://www.yahoo.com Slurp (или Yahoo! Slurp) AOL http://www.aol.com Slurp MSN http://www.msn.com MSNBot Live http://www.live.com MSNBot Ask http://www.ask.com Teoma AltaVista http://www.altavista.com Scooter Alexa http://www.alexa.com ia_archiver Lycos http://www.lycos.com Lycos Яндекс http://www.ya.ru Yandex Рамблер http://www.rambler.ru StackRambler Мэйл.ру http://mail.ru Mail.Ru Aport http://www.aport.ru Aport Вебальта http://www.webalta.ru WebAlta (WebAlta Crawler/2.0)
У крупных поисковых систем иногда, кроме основных ботов, имеются также отдельные экземпляры для индексации блогов, новостей, изображений и т.д. Много информации по разновидностям ботов вы можете почерпнуть на этом ресурсе.
Приведу несколько простых примеров использования директив с объяснением его действий.
1. Приведенный ниже код разрешает всем ботам проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow.
User-agent: * Disallow:
2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения.
User-agent: * Disallow: /
3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ - абсолютный путь к этому каталогу)
User-agent: * Disallow: /image/
4. В приведенном ниже примере будут запрещены директория «image», а так же все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.):
User-agent: * Disallow: /image
5. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$", задавая, таким образом, определенные логические выражения. Символ "*" означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.aspx»:
User-agent: * Disallow: *.aspx
Во избежания возникновения неприятных проблем с зеркалами сайта рекомендуется добавлять в robots.txt директиву Host, которая указывает боту Yandex на главное зеркало. По правилам написания в записи для User-agent должна быть хотя бы одна директива Disallow (обычно ставят пустую, ничего не запрещающую):
User-agent: Yandex Disallow: Host: www.site.ru
User-agent: Yandex Disallow: Host: site.ru
в зависимости от того, что для вас оптимальнее.
Директива Sitemap указывает на местоположение файла карты сайта (обычно он называется Sitemap.xml, но не всегда). В качестве параметра указывается путь к этому файлу, включая http:// (т.е. его Урл). Например:
Sitemap: http://site.ru/sitemap.xml
Мета-тег Robots - помогает закрыть дубли контента
Существует еще один способ настроить (разрешить или запретить) индексацию отдельных страниц вебсайта, как для Яндекса, так и для Гугле. Для этого внутри тега «HEAD» нужной вебстраницы дописывается МЕТА-тег Robots с нужными параметрами, и так повторяется для всех документов, к которым нужно применить то или иное правило (запрет или разрешение). Выглядеть это может, например, так:
В этом случае, боты всех поисковых систем должны будут забыть об индексации этой вебстраницы (об этом говорит присутствие noindex в данном мета-теге) и анализе размещенных на ней ссылок (об этом говорит присутствие nofollow - боту запрещается переходить по ссылкам, которые он найдет в этом документе) .
Существуют только две пары параметров у этого метатега: index и follow:
Index - указывают, может ли робот проводить индексацию данного документа
Follow - может ли он следовать по ссылкам, найденным в этом документе
Значения по умолчанию – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обоих параметров или, соответственно, наоборот: all=index,follow и none=noindex,nofollow.
Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack . Ну все, с теорией покончено и пора переходить к практике, а именно к составлению оптимальных robots.txt для Joomla, SMF и WordPress.
Как известно, у проектов, созданных на основе какого-либо движка (Joomla, WordPress, SMF и др), имеется множество вспомогательных объектов не несущих никакой информативной нагрузки.
Если не запретить индексацию всего этого мусора, то время, отведенное поисковиками на индексацию вашего сайта, будет тратиться на перебор файлов движка (на предмет поиска в них информационной составляющей, т.е. контента).
Но фишка в том, что в большинстве CMS контент хранится не в файликах, а в базе данных, к которой поисковым ботам никак не добраться. Полазив по мусорным объектам движка, бот исчерпает отпущенное ему время и уйдет не солоно хлебавши.
Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать полного или даже частичного дублирования контента (информационного содержимого). Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL).
Яндекс и Гугл, проводя индексацию, обнаружат дубли и, возможно, примут меры к некоторой пессимизации вашего ресурса при их большом количестве (им тоже не охото отыскивать зерна в кучи навоза).
Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt , а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).
Например, в WordPress страницы с очень похожим содержимым могут попасть в индекс поиск, если разрешена индексация и содержимого рубрик, и содержимого архива тегов, и содержимого временных архивов.
Но если с помощью описанного выше мета-тега создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Для этой цели в WordPress лучше всего будет воспользоваться возможностями плагина All in One SEO Pack, ссылку на описание которого ищите чуть выше по тексту.
Еще сложнее с дублированием контента обстоит дело в форумном движке SMF. Если не производить тонкую настройку (запрет) через robots, то в поиск попадут многократные дубли одних и тех же постов. В Joomla тоже, кстати, иногда возникает проблема с дублированием обычных документов и их копий, предназначенных для печати.
Подводя итог скажу, что файл Роботс предназначен для задания глобальных правил запрета доступа в целые директории сайта, либо в файлы и папки, в названии которых присутствуют заданные символы (по маске). Примеры задания таких запретов вы можете посмотреть чуть выше.
Для запрета же индексации одной единственной страницы удобно использовать именно одноименный мета-тег, который прописывается в шапке (между тегами HEAD) нужного документа. Подробности о синтаксисе метатега смотрите чуть выше по тексту.
Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков - Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент и момент этот связан с поисковой системой Яндекс.
Т.к. в рунете Яндекс имеет достаточно большой вес, то нужно учитывать все нюансы его работы, и тут нам поможет директива Host. Она в явной форме укажет этому поисковику главное зеркало вашего сайта.
Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.
Как обстоит дело на самом деле - сказать трудно, ибо алгоритмы работы поиска - это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директивеUser-agent: Yandex все те правила, что мы задали User-agent: *. Если вы оставите User-agent: Yandex с пустым Disallow:, то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.
Прежде, чем перейти к рассмотрению конкретных вариантов, хочу вам напомнить, что проверить работу своего robots.txt вы можете в Яндекс Вебмастере и Гугл Вебмастере. Там вы сможете указывать конкрентные Урлы своего ресурса и посмотреть (проверить), будет ли данный поисковик добавлять их в свой индекс или это действо удачно запрещено вами в чудо-файле.
Для форума на движке SMF правильным будет файл следующего содержания (взят с форума технической поддержки из этой темы) :
User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade Allow: /forum/*rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action User-agent: Slurp Crawl-delay: 100
Обратите внимание, что данный вариант приведен для того случая, когда ваш форум SMF установлен в директории forum основного сайта. Если форум не стоит в директории, то просто удалите из всех правил /forum.
Дружественные URL в SMF можно активировать или дезактивировать в админке форума, пройдя по следующему пути: в левой колонке админки выбираете пункт «Характеристики и настройки», в нижней части открывшегося окна находите пункт "Разрешить дружественные URL ", где можете поставить или снять галочку.
Есть еще один вариант robots.txt для SMF (но, наверное, еще не окончательно оттестированный):
User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade # если не стоит мод игр, удалить без пропуска строки Allow: /forum/*rss Allow: /forum/*type=rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action Disallow: /forum/*prev_next Disallow: /forum/*all Disallow: /forum/*go.php # либо тот редирект, что стоит у вас Host: www.мой сайт.ru # указать ваше главное зеркало User-agent: Slurp Crawl-delay: 100
Как вы можете видеть в этом файле, директива Host, предназначенная только для Яндекса, включена в User-agent для всех поисковиков. Я бы, наверное, все-таки добавил отдельную директиву User-agent только для Яндекса, с повтором всех правил. Но решайте сами.
User-agent: Slurp Crawl-delay: 100
связано с тем, что поисковая система Yahoo (Slurp - это имя его поискового бота) сканирует сервер во много потоков, что может негативно сказаться на его производительности.
В этом правиле директива Crawl-delay позволяет указать боту Yahoo минимальный период времени (в секундах) между концом закачки одного документа и началом закачки следующего. Это позволит снять нагрузку на сервер.
В файле Sources/Printpage.php находите (например, с помощью встроенного поиска в Notepad++) строку:
fatal_lang_error(472, false);
Вставляете сразу под ней:
$context["robot_no_index"] = true;
В файле Themes/название_вашей_темы_оформления/Printpage.template.php находите строку:
Вставляете ниже нее следующую строку:
Если вы так же хотите, чтобы в версии для печати была ссылка для перехода на полную версию форума (в случае, если часть страниц для печати уже прошла индексацию в Яндексе и Гугле), то в том же Printpage.template.php вы находите строку с открывающим тегом HEAD:
И вставляете ниже строку:
На форум
Получить больше информации по этому варианту файла robots.txt вы можете, почитав эту ветку русскоязычного форума поддержки.
User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/
В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.
Поэтому в окончательном виде правильный robots для Joomla, по-моему мнению, должен выглядеть так:
User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Host: vash_sait.ru Sitemap: http://vash_sait.ru/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
Да, еще обратите внимание, что во втором варианте нет директивы Disallow: /images/, дающей запрет индексации картинок вашего сайта. Я забыл сначала акцентировать ваше внимание на этом, но мне об этом напомнил уважаемый Alex.
Полностью с ним согласен в том, что если изображения уникальные и вы хотите, чтобы посетители находили ваш ресурс еще и с поиска по картинкам от Яндекса и Google, то обязательно удалите это правило из своего файла, но так же не забывайте прописывать всем вашим изображениям атрибуты Alt и Title в тег Img.
При создании интернет магазина для Joomla на основе компонента VirtueMart я столкнулся с тем, что в индексы поисковиков стали попадать версии для печати страниц этого самого магазина. Кнопка, ведущая на страницу для печати, была необходима (заказчик так хотел), поэтому оставался только вариант с их запретом в robots.txt.
Но все оказалось совсем не сложно. Дело в том, что для создания версии для печати в Джумле используется такой же Урл вебстраницы, за исключением одного: обращение идет не к index.php, а к index2.php. При этом не осуществляется загрузка шаблона, т.е. выводится только содержимое на весь экран.
Поэтому, для запрета версий для печати в VirtueMart я добавил в следующее правило:
Disallow: /index2.php?page=shop
Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином Google XML Sitemaps.
Но, по-моему, все-таки следует помочь поиску в нелегком деле отсеивания зерен от плевел. Во-первых, на индексацию этого мусора уйдет много времени у ботов Яндекса и Гугла, и может совсем не остаться времени для добавления в индекс вебстраниц с вашими новыми статьями. Во-вторых, боты, лазящие по мусорным файлам движка, будут создавать дополнительную нагрузку на сервер вашего хоста, что не есть хорошо.
Поэтому здесь я приведу свой вариант, а вам уже решать, использовать его в таком виде, либо подправить под свои нужды:
User-agent: * Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*? Disallow: /wp-content/plugins Disallow: /wp-content/themes Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /comments User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*?.com/sitemap.xml (4 голос(а), в результате: 5,00 из 5)