[yandex2]
Доброго времени суток, уважаемые читатели. Продолжая серию статей по полной оптимизации WordPress, сегодня речь пойдет про очень важный документ – файл robots.txt. Как и обещала, статья будет полной, с подробностями и различными примерами. Если же вас просто интересует универсальный файл robots.txt, можете сразу скачать его себе по этой ссылке. Дальше будет много теории.
Вкратце, ещё раз напомню, что это за файл, и почему так важен.
Есть достаточно большое количество людей, которые считают, что чем больше страниц на сайте находятся в индексе поисковых систем, тем лучше. И это большое заблуждение. Поисковые системы серьезно относятся к своим обязанностям – предоставлять пользователям те страницы сайтов, которые максимально отвечают на вопрос, который пользователи вводят в строку поиска.
Если несколько страниц похожи между собой, поисковые роботы намеренно могут понижать такие страницы в результатах поиска, а то и вообще не ранжировать.
Некоторые возражают: Да ПС так развиты, они прекрасно понимают, что такое теги, категории, архивы и другие подобные вещи, которые могут создавать дублирование содержания.
Я соглашаюсь. Да, ПС так развиты, что все знают, но при этом посвящают целые разделы справочной информации с требованиями, которые они предъявляют к сайтам. И если вы решите играть по своим правилам, то вы не можете быть уверены в том, что именно ваш ресурс избежит пессимизации.
Поэтому, прежде, чем махать рукой и не пользоваться рекомендациями, которые нам дают поисковые системы, просто зайдите на страницы с рекомендациями (Яндекс, Google) и посмотрите, сколько внимания поисковые системы уделяют этому файлу, возможно, после этого ваше мнение о его важности изменится.
Из личных наблюдений, я сделала такой вывод:
Стоит, пожалуй, начать с того, что единого правила составления файла robots.txt для всех поисковиков – нет. В принципе, и больших разногласий нет, но есть несколько исключений, которые необходимо учитывать, чтобы файл был корректно составлен.
Долго я думала, как более понятно объяснить все аспекты составления файла robots.txt, да если честно, так и не придумала, поэтому принимайте так, как в итоге это получилось :).
Выше я сказала, что у разных поисковых систем требования к файлу немного различаются, поэтому сначала рассмотрим обобщенные характеристики этого документа.
Не смотря на то, что требования разные, все они должны быть описаны в одном файле, и не надо придумывать и создавать несколько разных файлов robots.txt.
Итак, чтобы не путать роботов разных поисковых систем, файл составляют по принципу: сначала сказали одному роботу, что ему делать, потом сказали другому роботу что делать и т.д, а в конце сказали, что делать всем остальным.
Не смотря на то, что для каждого робота мы прописываем одни и те же команды, в данной ситуации объединять их нельзя. Объединяются команды только тогда, когда мы создаем их для всех остальных. Надеюсь, смысл понятен, ниже ещё раз проверим его на примере.
Итак, любой файл Robots.txt состоит из набора команд:
- User-agent — Обращение к определенному роботу поисковой системы или сразу ко всем роботам.
- Disallow или Allow — Запрещение или разрешение индексировать определенные разделы сайта.
- Sitemap — Указание адреса карты сайта.
Это так сказать, унифицированный список команд файла. Начнем с первой команды User-agent
Команда User-agent
[yandex]
Allow:
Disallow:
Если сделать иначе, то робот Яндекса может не проиндексировать то, что находится в этой директиве. Вообще, директивой Allow редко пользуются, и применяется чаще всего она только для того, чтобы в закрытой директории служебных файлов открыть одну папку с изображениями сайта.
Все мы знаем, что изображения могут приносить немаленький трафик с поиска по картинкам, поэтому стоит позаботиться о том, чтобы открыть папку с ними.
Просто все CMS так устроены, что папка с изображениями всегда находится именно там, к чему мы должны закрыть доступ, а благодаря этой команде мы можем открыть нужные документы.
В случае с WordPress это будет выглядеть так:
Allow: /wp-content/uploads/
Disallow: /wp-content
Обратились к Яндексу, сообщили, что необходимо запретить индексировать все, что находится в папке wp-content, за исключением папки uploads, в которой и находятся все картинки по умолчанию.
Ещё одной отличительной особенностью Яндекса является то, что ему необходимо сообщить главное зеркало сайта, как должен индексировать домен, с www или без. Директива, сообщающая эту информацию называется Host, полная запись будет такой:
Allow: /wp-content/uploads/
Disallow: /wp-content
Host: site.ru
На всякий случай уточню, что в практике, в директиве Disallow указывается намного больше к запрещению файлов и документов, мы это увидим чуть позже.
И последнее, что необходимо запомнить – если мы должны прописать команды для разных роботов, то после окончания каждого блока с командами указывать файл Sitemap не нужно, это можно сделать один раз в самом конце.
Теперь можно перейти к тем требования, которые есть у Google и по их подобию можно указывать команды для всех роботов.
Disallow: /wp-content
Allow: /wp-content/uploads/
Как вы могли заметить, * (звездочка) означает обращение ко всем роботам, и поменялись местами Allow и Disallow. Обратите на это внимание, Google рекомендует сначала запретить, потом открыть.
Итак, в общем виде ваш файл Robots.txt должен выглядеть так:
Allow: /wp-content/uploads/
Disallow: /wp-content
Host: site.ru
User-agent: *
Disallow: /wp-content
Allow: /wp-content/uploads/
Sitemap: http://site.ru/sitemap.xml
Команда Disallow
[yandex]
Чтобы не выдумывать примеры, воспользуюсь реальными командами для WordPress. Сразу и составим вместе правильный файл Robots.txt.
Для начала можно просто зайти в папку своего сайта на сервере хостинга, где каждый из вас увидит, практически, одну и ту же картину:
Эти папки не имеют прямого отношения к тому, что должно быть показано пользователю на страницах вашего сайта, поэтому необходимо запретить их к индексации:
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /wp-register.php
Disallow: */feed
Disallow: */comments
Обратите внимание на знак * – означает, что после названия домена может быть любое количество знаков (директорий сайта, папок, файлов), обозначающих путь к странице, но если в конце после / (слеш) есть слово trackback (feed, comments)то такую страницу не индексировать. Например, это может быть страница такого вида:
http://site.ru/category/name-post/trackback
Понятно, что статья имеет адрес:
http://site.ru/category/name-post
но, если вы обращали внимание, бывает, переходишь с ридера, и в адресной строке браузера отображается очень длинный непонятный адрес, который не является настоящим адресом страницы. Так вот чтобы ваш читатель мог получить настоящий адрес статьи, на каждой странице блога есть ссылка, которая имеет адрес:
http://site.ru/category/name-post/trackback
нажав на нее, посетитель вашего сайта будет направлен на канонический адрес страницы и сможет скопировать из адресной строки именно тот один единственный уникальный URL, чтобы поставить ссылку на ваш блог.
Но, что удобно для посетителей, не всегда полезно для нашего сайта, и именно поэтому стоит очень серьезно подойти ко всем подобным страницам, которые могут возникнуть у вас.
Если ваш сайт уже индексируется, можно всегда проследить, есть ли в индексе поисковых систем непонятные страницы, которые таким образом создают дублирование и запретить их в robots.txt.
Обратила внимание, что многие забывают о том, что очень важно закрыть от индексации страницу с результатами поиска, если пользователь что-то искал на вашем сайте. В WordPress адреса этих страниц имеют вид:
http://site.ru/?s=запрос+пользователя
http://site.ru/page/3
Disallow: */page/
В первом случае закрываются страницы, которые образуются от главной, во втором – от рубрик, тегов и архивов.
Ну и напоследок, решим непростую задачу, что делать с архивами, рубриками, тегами и страницами авторов. Мнения многих по этому поводу сильно расходятся, и однозначного ответа нет. И все же, я рекомендую, максимально избавиться от дублирования и закрыть архивы, теги и авторов, а рубрики можно оставить.
Итак, запись будет такого вида:
Disallow: /archive
Disallow: /author
Готовый файл robots.txt
Allow: /wp-content/uploads/
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /tag
Disallow: /archive
Disallow: /author
Disallow: /category
Disallow: /page
Disallow: */page/
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /?s=
Host: site.ru
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /tag
Disallow: /archive
Disallow: /author
Disallow: /category
Disallow: /page
Disallow: */page/
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /?s=
Allow: /wp-content/uploads/
Sitemap: http://site.ru/sitemap.xml
Вот такой список мы получили. Чтобы упростить процесс, скачайте файл robots.txt, сохраните на компьютер, а затем, загрузите на свой хостинг в главную папку сайта. Не забудьте указать свой сайт в директиве Host и Sitemap, а также, я в файл поместила запрет на индексацию страниц тегов, архивов, рубрик и авторов, удалите то, что должно индексироваться.
Есть ещё один момент, в последних рекомендациях Google пишет о том, что кодировка файла должна быть UTF-8, у Яндекса об этом нет никаких рекомендаций, поэтому, наверно, будет лучше, если вы сохраните в кодировке, именно, UTF-8. А по ссылке выше, я уже сохранила в этой кодировке.
Статья получилась очень большой, и возможно, я могла что-то упустить, но в целом, все так. Поправки можно оставлять в комментариях:).
Стоит добавить, что в других блогах вы можете встретить немного другие файлы robots.txt, с другими командами. Возможно, я что-то упустила, а может быть и такое, что уже в правилах что-то изменилось, или, что тоже бывает, допустимо указывать одну и ту же команду разными способами.
[ads1]Поэтому, если вы в чем-то сомневаетесь, вы всегда можете, непосредственно, в инструментах для вебмастера Яндекс и Google проверить конкретные страницы на предмет, разрешены или запрещены они в файле robots.txt. Также, всегда можете обратиться к справочной информации поисковиков, тем более, мы рассмотрели не все возможные команды, но наиболее часто встречающиеся.
На этом все. Всех желающих приглашаю прочитать интервью со мной на блоге Все гениальное просто. На мой взгляд, интервью получилось интересным, и у вас есть возможность узнать обо мне побольше.
Статью про файл Robots.txt пока пропустил, а вот интервью прочитал. В принципе я вас такой себе и представлял ) Я где-то читал, что у вас завтра день рождения, может я не прав… Но на всякий случай — Поздравляю с ДР, желаю успехов во всех проектах! Спасибо за ваши полезные статьи. И с наступающим! )
Сделал то же самое, фсетаки девушка пишет, миленько :). С наступающим НГ, всех благ!
Катюша!
Поздравляю тебя с наступающим Новым Годом!
Желаю счастья, красоты, здоровья, любви, радости, исполнения желаний, пусть сбудутся самые светлые и искренние мечты!!!
Реализации новых творческих проектов, всех БЛАГ!
+ Н авсяикй случай с днем рождения?!
В любом случае Самого-самого — волшебного и чудесного:)))
Спасибо:) И вас с наступающим:)
Спасибо, Катюша.
И тебя с Новым годом! (пока ещё наступающим, но думаю, ты как раз увидишь это уже в новом).
Здравствуйте, Катерина! Рад снова вернуться на ваш блог. Смотрю, вы тут уже целые учебники пишете)
С Наступившим Вас и с Рождеством (правда, всё уже прошло, но поздравить хочется))!
Активно интересуюсь файлом robots.txt уже где-то месяц. Несколько раз свой переписывал.
Есть информация, что директиву Allow понимают только Яндекс и Google, а для прочих ботов лучше использовать серию команд:
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Ещё для Яндекса рекомендуют использовать Crawl-delay: 5, что не даёт его роботу сильно нагружать сайт излишне регулярной индексацией (как я понял).
Смотрю, ссылки на блоги комментаторов в топе у вас без nofollow. Добавить ваш блог в список dofollow-блогов на своём блоге?
И вдогонку ещё один вопрос: имеет ли значение слэш (/) в конце директивы и какое?
Одни советчики его ставят, другие нет, даже если в остальном и роботс.ткст полностью идентичны.
И снова о роботах…
Сами вордпрессовцы (http://codex.wordpress.org/Search_Engine_Optimization_for_Wordpress) рекомендуют директивы:
Disallow: /category/*/*
и
Disallow: /*?*
Disallow: /*?
но Disallow: /*?* уже включает Disallow: /*?, так что можно, наверное, оставить только Disallow: /*?*
Некоторые блогеры (но таковых мало) добавляют ещё директивы
Disallow: /search/
Disallow: /date/
Обе вызывают у меня сомнение, но интересно ваше мнение.
Комментарий отправлен на модерацию?..
Чуть не забыл! Чтобы избежать дублирования контента можно ещё архивы закрыть:
Disallow: /2009/
Disallow: /2010/
Disallow: /2011/
По желанию можно ещё добавить запрет доступа для неизвестных роботов:
User-agent: Unknown robot
Disallow: /
А вот нужно ли разрешение для доступа ко всему блогу конкретно для бота Googlebot-Image — не знаю:
User-agent: Googlebot-Image
Disallow:
Allow: /*
Что касается Allow — спорить не буду. Я не интересуюсь другими поисковиками… согласна, что это не очень хорошо, но меня вполне устраивают два самых популярных в рунете, Google и Яндекс. Что касается дополнительных команд, которые можно использовать в роботсе — каждый решает для себя сам, ссылку на справочные материалы по этому поводу я дала. Считаю, люди должны уметь думать и принимать самостоятельные решения, я же вижу свою миссию в том, чтобы дать людям направление.
Вижу, вы решили одним махом покорить мой топ комментаторов, но не сильно обольщайтесь, он обновляется ежемесячно, поэтому вам не удастся проявить активность, и опять пропасть. А кто решит воспользоваться в корыстных целях, его комментарии будут удаляться. Вот вы, например, видно, решили в корыстных целях воспользоваться этим, видно это не вооруженным глазом, лично мне это не импонирует. И отвечать на все комментарии не интересно. Вносить в свой список мой блог не обязательно, топ комментаторов не имеет сквозных ссылок.
Google пишет, что слеш на конце значения не имеет, можно с ним, можно без него.
Яндекс на слеше не делает никакого акцента, но все примеры дает без слеша, из чего можно сделать вывод, что он не рекомендует его ставить, но и скорее всего, не считает такую строку с ошибкой.
Можно ставить только Disallow: /*? — он означает, что все, что находится после знака вопроса (хоть пустота, хоть ещё какие знаки) запрещено к индексации.
Директивы
Disallow: /search/
Disallow: /date/
лично я на практике не встречала, если же в URL это появляется, то можно запретить.
Про это спасибо, как то из головы вылетело, дополню статью.
Запрет добавить можно, это снизит нагрузку на сервер.
Если у вас изображения находятся в разных папках на сервере, и вы не хотите всем им прописывать отдельный путь, то можно воспользоваться такой директивой.
Nomad, спасибо за комментарии. В следующий раз старайтесь уместить все ваши мысли в одном или хотя бы в двух комментариях.
И ещё — читайте больше не блоги, а официальную документацию (я давала ссылки на нее), только там находится самая точная, правильная и свежая информация.
Обидно такое слышать. Был вечер и было хорошее настроение. Ваш топ комментаторов мне не нужен, можете хоть все мои коменты поудалять.
Не знал, что вы страдаете паранойей — теперь вижу это не вооружённым взглядом и буду учитывать в дальнейшем.
Выздоравливайте.
Официальную документацию читаю — не волнуйтесь. Её пишут тоже люди, и там не всегда самая точная, правильная и свежая информация, и, главное, почти никогда — полная.
Там информация унифицированная, т.к. невозможно предусмотреть все возможные варианты.
Могли бы и свой комментарий удалить — красивее было бы.
Как вы могли заметить, я не позволяла себе рассуждать о вашем психическом здоровье. Почему Вы считаете, что имеете на это право — не понятно.
Как вы могли заметить я вам вообще ничего плохого не сделал, но в развёрнутой форме был обвинён в корыстных целях.
Здравствуйте, Катерина! Вот я Вас и нашла! Мир интернета тесен))) (Вы мне давали совет: qev по robots.txt на liveexpert.ru) Спасибо за дельные рекомендации, мне очень понравился Ваш блог — Вы пишете строго и по-деловому, и очень содержательно.
Я рада видеть Вас в числе моих посетителей, надеюсь, и постоянных читателей.
Спасибо.
А можете подсказать нормальный ли у меня роботс? Что лишнее можно удалить и что добавить?
User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /xmlrpc.php
Disallow: /wp-content/uploads
Disallow: /wp-content/themes
Disallow: /trackback/
Disallow: /tag/
Disallow: /feed/
Disallow: */*/feed/*/
Disallow: */feed
Disallow: */*/feed
Disallow: /*?*
Disallow: /?feed=
Disallow: /?s=
Sitemap: http://times.fireg.ru/sitemap.xml
User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /xmlrpc.php
Disallow: /wp-content/uploads
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback/
Disallow: /tag/
Disallow: /feed/
Disallow: */*/feed/*/
Disallow: */feed
Disallow: */*/feed
Disallow: /?feed=
Disallow: /*?*
Disallow: /?s=
Host: times.fireg.ru
И еще вопрос можно, что за плагин у вас установлен ПОХОЖИЕ СТАТЬИ:?
А можете посмотреть пожалуйста роботс моего блога, буду очень признателен.
Прежде, чем просить смотреть, лучше бы статью прочитали. сначала нужно указывать определенных ботов, а потом прописывать правила для всех остальных. У вас все наоборот, т.е. то, что прописали для Яндекса, Яндекс это не видит. Так же вы закрыли картинки от индексации, из-за этого вы лишаете свой сайт дополнительных посетителей с поиска по картинкам. Об этом так же написано в статье.
А как будет правильнее написать, если красивые url отключены в тагах:
Disallow: /tag/
или
Disallow: /?tag= вроде как этот будет работать в моем случае, правильно же?
Да, именно второй случай правильный /?tag= и фиды вам нужно закрывать таким же образом /?feed=, и вообще все, что должно быть закрыто от индексации в вашем случае будет иметь, пимерно, такой вид.
Здравствуйте Катя! Можно здесь подробнее, для тех кто делает первый раз.» ..загрузите на свой хостинг в главную папку — (название папки?) сайта. Не забудьте указать свой сайт в директиве Host и Sitemap — (это где ?), а так же, я в файл поместила запрет на индексацию страниц тегов, архивов, рубрик и авторов, удалите то, что должно индексироваться.»
Спасибо.
Извините, пожалуйста, но если вы это делаете первый раз, то потратьте 10 минут, прочитайте статью полностью. В ней есть ответы на все ваши вопросы.
У меня сейчас были проблемы с индексацией… из-за robots.txt причем только у Яндекса. Действительно прописать яндекс робота отдельно….
Ой! Хотел написать: Может действительно прописать яндекс робота отдельно…
Думаю, хуже от этого не будет. Только обратите внимание на то, что у Яндекса чуть-чуть отличаются правила этого файла, посетите их страницу в справке и сделайте, как требуют.
Прочитал, огромное спасибо.
Я в поиске вот какой информации, возможно подскажете.
Допустим у меня предусмотрены адреса следующие адреса страниц:
блог.ру/рубрика/страница.html
Как именно запретить индексацию рубрик и разрешить индексацию страниц, содержащих в себе название рубрики?
Спасибо.
Вообще не самый удачный вариант, я вижу только одно решение — использовать мета-тег robots непосредственно на странице, которую нужно запретить. Вам нужно поставить такой мета-тег, который будет запрещать сканировать содержимое, но разрешать проходить по ссылкам:
Сейчас не могу посмотреть, можно ли это делать на странице создания рубрики с помощью плагина All-In-One SEO Pack. Если этот плагин не поможет, то можно вручную в файлах шаблона прописать условие вида — если открыта страница рубрики то выводить мета-тег, в противном случае ничего.
Интересная
статья, особенно просветила насчет Allow, не знал, что можно делать выборку того,
что индексировать с помощью неё.
Конечно статья то хорошая, но вот когда я применил данный файл robots.txt то у меня гугл с 76 страниц в поиске появилось ровно 100, тут надо закрыть еще дубли сайта, вроде АРХИВОВ и тд.
тоесть добавить еще
Disallow: /2010/*
Спасибо за замечание. Когда писала статью, этот момент вылетел из головы. Но в комментариях читатели меня поправили. Руки все не дойдут внести изменения в статью.
А комментарии очень полезно читать, в них много нового и интересного можно узнать:).
Екатерина, на аналогичных блогах я увидел вариант в котором есть такие строки:
Disallow: /?feed=*Disallow: /?*comment*Disallow: /?s=*Disallow: /?cat=*Disallow: /?tag=*Disallow: /?m=*
скажите, после «=» нужен символ «*» ?
Спасибо
Не понимаю почему для вордпреса советуют дублировать роботс под яндекс, он ж по идее пишется по общим стандартам. У меня стоит вот такой
User-agent: *Disallow: /wp-adminDisallow: /wp-includesDisallow: /wp-content/pluginsDisallow: /wp-content/cacheDisallow: /wp-content/themesDisallow: */trackback/Disallow: /wp-admin/Disallow: /archives/Disallow: /tag/Disallow: /category/Disallow: /index.phpDisallow: /*?*Disallow: /*.php$Disallow: /*.js$Disallow: /*.inc$Disallow: /*.css$Host: my.domain.comSitemap: http://
my.domain.com/sitemap_index.xml
Яндекс прекрасно его понимает и мусора в индексе нету.
/feed разрешен потому что гугл воспринимает его как карту сайта, на всякий случай пусть индексирует и его.
я плагином поставил noindex в рубрики, использую WordPress SEO
Звездочка сообщает, что в этом месте может быть любой адрес. И звездочка необходима прежде всего тогда, когда мы хотим показать, что любой адрес может быть ДО определенного места. А ставить звездочку ПОСЛЕ не важно, ПС все равно уже видят, что данные страницы индексировать нельзя, и они никак не обойдут этот запрет.
Такой вот вопрос возник. А нужно ли / как скрывать /скрыть такое: сайт.ру/2012/08??
А то в яндекс вебмастере показывается, что это вот про индексировалось: сайт.ру/2012/08.
То есть как я понимаю архив в индексацию влез?