Для чего предназначен файл robots.txt и как его оптимизировать для WordPress

Когда речь идет о SEO, большинство людей имеют достаточно неплохое понимание основных его принципов. Но если вы углубляетесь в самую суть поисковой оптимизации, существует несколько довольно запутанных «фрагментов мозаики», о которых знает не каждый. Один из них - robots txt для Wordpress.

Что такое файл robots.txt и для чего он используется

Файл robots.txt представляет собой текстовый файл, который размещается на сервере. Он содержит правила индексации вашего сайта и является инструментом связи с поисковыми системами. В этом файле указывается, какие части вашего сайта разрешено индексировать Google, а какие трогать не нужно.

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

То же самое касается промежуточной версии сайта, на которой вы пытаетесь проверить какие-то изменения, прежде чем реализовать это в рабочей версии. Или на сервере есть определенные файлы, которые вы не хотите выкладывать через интернет, потому что они предназначены только для пользователей.

Необходимо ли иметь robots.txt?

Нет, ваш сайт на WordPress будет индексироваться поисковыми системами даже без этого файла. WordPress сам по себе уже содержит виртуальный файл robots.txt. Тем не менее, я все равно рекомендую создать его физическую копию на сервере.

Нужно понимать, что инструкции, указанные в файле robots.txt не являются обязательными для выполнения всеми поисковыми роботами. Этот файл будет признаваться основными поисковыми системами, но вредоносные сканеры и «низкокачественные» поисковики могут полностью его игнорировать.

Как создать этот файл и где его разместить?

Создайте текстовый файл и назовите его robots.txt. Затем сохраните файл, и все готово.

После этого загрузите его через FTP. Файл robots.txt обычно размещают в корневом каталоге, даже если вы перенесли WordPress в отдельную папку. Лучше всего разместить его там же, где находится файл index.php.

Следует помнить, что вам понадобится отдельный файл robots.txt для каждого субдомена вашего сайта и для различных протоколов, таких как HTTPS.

Как задать правила в файле robots.txt

48390613-710x473

Файл robots.txt имеет свой синтаксис определения директив. Ниже мы рассмотрим, как вы можете использовать их, чтобы поисковые роботы знали, что они могут и чего не могут делать на вашем сайте.

Основной синтаксис robots.txt

Команд, используемых для директив, мало. Двух из них будет достаточно для большинства целей:

  • User-Agent - определяет краулер поисковой системы;
  • Disallow - указывает поисковому роботу держаться подальше от определенных файлов, страниц или папок.

Если вы не собираетесь устанавливать конкретные правила для определенных поисковых систем, то с помощью звездочки (*) можно определить универсальные директивы для всех. Например, чтобы закрыть весь сайт от всех поисковых систем, нужно настроить robots.txt следующим образом:

User-agent: *
Disallow: /

В правильном robots txt для Wordpress используются относительные (а не абсолютные) пути. Так как он находится в корневом каталоге, слэш обозначает запрет сканирования основной папки и всех вложенных каталогов. Для определения директив для конкретных каталогов нужно написать что-то вроде /wp-content/uploads/. Также имейте в виду, что пути должны указываться с учетом регистра.

Можно открыть и закрыть части сайта для определенных ботов. Например, следующий код в файле robots.txt откроет полный доступ к сайту только для Google, закрыв его для всех остальных поисковых систем:

User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /

Следует помнить, что правила для конкретных поисковых систем должны быть определены в начале файла robots.txt. После этого вы можете добавить директиву User-Agent: *, которая будет действовать для всех роботов, для которых не назначено специальных правил.

Часто употребляемые названия поисковых роботов:

  • Googlebot – Google;
  • Googlebot-Image - Google Image;
  • Googlebot-News - Google News;
  • Bingbot – Bing;
  • Yahoo! Slurp - Yahoo (отличный вариант имени Yahoo!).

Больше информации по именам краулеров вы можете найти здесь:

UserAgentString.com
User-Agents.org

Дополнительный синтаксис

Disallow и User-agent - это не единственные директивы. Вот еще несколько:

Allow - разрешает сканировать объект на сервере.

Sitemap - указывает поисковым роботам, где размещается файл Sitemap сайта.

Host - определяет основной домен сайта, который имеет несколько зеркал.

Crawl-delay - устанавливает временной интервал между запросами к серверу для поисковых агентов.

Давайте рассмотрим в первую очередь директиву Allow. Многие полагают, что это правило используется, чтобы указать поисковым системам проверить ваш сайт, и, следовательно, оно важно с точки зрения SEO. Из-за этого можно найти следующие записи в некоторых файлах robots txt для Wordpress:

User-agent: *
Allow: /

Эта директива является лишней, потому что поисковые системы сканируют все, что не запрещено. Дав разрешение на сканирование всего сайта, вы не измените этого.

Директива Allow используется, чтобы частично отменить директиву Disallow. Это бывает полезно, если вы хотите заблокировать весь каталог, но даете поисковым системам доступ к одному или нескольким конкретным файлам внутри него. Например:

User-agent: *
Allow: /my-directory/my-file.php
Disallow: /my-directory/

Поисковые системы обойдут папку my-directory, но по-прежнему будут иметь доступ к файлу my-file.php. Чтобы это работало, вам необходимо поместить директиву Allow первой.

Некоторые поисковые роботы поддерживают директиву Sitemap. Вы можете использовать ее, чтобы указать им, где искать карту сайта. Это выглядит следующим образом:

Sitemap: http://mysite.com/sitemap_index.xml
Sitemap: http://mysite.com/post-sitemap.xml
Sitemap: http://mysite.com/page-sitemap.xml
Sitemap: http://mysite.com/category-sitemap.xml
Sitemap: http://mysite.com/post_tag-sitemap.xml

Данная директива может размещаться где угодно в пределах файла robots.txt. Но ее полезность является спорной. Например, специалисты компании Yoast имеет следующие соображения по этому поводу:

"Ссылки на XML Sitemap из вашего файла robots.txt это немного нонсенс. Лучше добавить их вручную в Google и Bing Webmaster Tools, и убедиться, что вы получили от них обратное сообщение относительно XML Sitemap".

Host и Crawl-delay - это две директивы, которые я лично никогда не использовал. Первая указывает поисковым системам, какой домен является приоритетным, если вы имеете несколько зеркал сайта. Вторая определяет количество секунд, которые поисковые роботы должны ждать между запросами.

Дополнительный материал

Вы уже знаете, что с помощью звездочки мы можем установить полный охват для User-agent. То же самое касается и других директив.

Например, если вы хотите заблокировать доступ ко всем папкам, названия которых начинаются с wp-, вы можете сделать это так:

User-agent: *
Disallow: /wp-*/

То же самое работает и для файлов. Например, если я хочу исключить из результатов поиска все PDF-файлы в папке media, я могу использовать следующий код:

User-agent: *
Disallow: /wp-content/uploads/*/*/*.pdf

Обратите внимание, что я заменил звездочками папки месяцев и дней, которые WordPress автоматически настраивает, чтобы быть уверенным, что под действие этой директивы попадут все файлы с этим окончанием, независимо от того, когда они были загружены.

В большинстве случаев этот метод работает, но иногда надо определить строку через ее окончание, а не через начало. Вот где нам пригодится специальный символ доллара:

User-agent: *
Disallow: /page.php$

Приведенное выше правило гарантирует, что блокируется только файл page.php, а page.php?id=12 нет. Знак доллара сообщает поисковым системам, что page.php является окончательным вариантом строки.

Хорошо, но что я должен поместить в файл robots.txt прямо сейчас?

189045062-710x479

Я не знаю ответа на этот вопрос. Почему? Ну, одной из причин является то, что содержание файла robots.txt зависит от вашего сайта. У вас может быть несколько разделов, которые вы предпочли бы закрыть от поисковых систем, а другим людям это не нужно.

Кроме этого не существует однозначных стандартов того, как лучше всего настраивать файл robots.txt с точки зрения SEO. На эту тему ведутся споры.

Что советуют эксперты

Например, люди с Yoast считают, что правильный роботс для Вордпресс, должен содержать только следующий код:

User-Agent: *
Disallow: /out/

Как видите, единственное, что они закрывают, это папку “out”, в которой находятся их партнерские ссылки. Все остальное открыто. Причина этого заключается в следующем:

"Google извлекает все ваши страницы. Если вы полностью запретите Google доступ к своим CSS или JavaScript файлам, это ему совсем не понравится".

На данный момент Google оценивает ваш сайт в целом. Если заблокировать ему доступ к файлам стилей, он подумает, что ваш сайт выглядит не слишком хорошо и накажет вас за это.

Чтобы проверить, как Google видит ваш сайт, используйте инструменты "Просмотреть как Google", а затем "Сканирование и отображение" в разделе «Сканирование» Google Webmaster Tools. Если файл robots.txt содержит слишком много ограничений, то ваш сайт будет выглядеть не так, как вы хотели бы, и вам нужно будет внести некоторые изменения.

Yoast также рекомендует не использовать директивы robots.txt, чтобы скрыть малоинформативный контент, такой как архивы категорий, дат и другие подобные, а работать с метатегами noindex, follow. Также обратите внимание, что в их файле нет никаких ссылок на карту сайта по упомянутой выше причине.

Основатель WordPress Мэтт Малленвег разделяет ту же позицию:

User-agent: *
Disallow:

User-agent: Mediapartners-Google*
Disallow:

User-agent: *
Disallow: /dropbox
Disallow: /contact
Disallow: /blog/wp-login.php
Disallow: /blog/wp-admin

В своем файле он блокирует только папки Dropbox и Contact, важные файлы и папки панелей администрирования и авторизации WordPress. Некоторые люди выполняют последнее из соображений безопасности, и Yoast советует делать то же самое с папкой wp-admin.

Наш следующий пример взят с сайта WPBeginner:

User-Agent: *
Allow: /?display=wide
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /readme.html
Disallow: /refer/

Sitemap: http://www.wpbeginner.com/post-sitemap.xml
Sitemap: http://www.wpbeginner.com/page-sitemap.xml
Sitemap: http://www.wpbeginner.com/deals-sitemap.xml
Sitemap: http://www.wpbeginner.com/hosting-sitemap.xml

Как видите, они блокируют партнерские ссылки (папка “refer”), а также модули и файл readme.html. Последнее делается, чтобы избежать вредоносных запросов, направленных против определенных версий WordPress. Запрещая доступ к файлу, вы можете защитить себя от массовых атак. Блокирование доступа к папке плагинов также позволяет предотвратить атаки хакеров, использующие уязвимости плагинов.

В WPBeginner явно устанавливают директиву “allow" для папки wp-content/uploads, даже если доступ к ней не заблокирован другими директивами. Они заявляют, что это сделано для того, чтобы все поисковые системы включали эту папку в поиск.

Тем не менее, я не вижу в этом смысла, подход поисковых систем по умолчанию - это индексировать все, к чему им не закрыт доступ. Поэтому я не думаю, что разрешение доступа к конкретному разделу серьезно вам поможет.

Окончательный вердикт

Я поддерживаю позицию Yoast относительно настройки robots.txt.

С точки зрения SEO имеет смысл дать Google столько, сколько возможно, чтобы он мог лучше изучить ваш сайт. Но если у вас есть элементы, которые вы хотели бы скрыть от чужих глаз (например, партнерские ссылки), то закройте к ним доступ.

Это также отвечает рекомендациям соответствующего раздела Кодекса WordPress:

"Добавление записей в файл robots.txt для улучшения SEO является распространенным заблуждением. Google говорит, что вы можете использовать robots.txt для блокирования доступа к частям вашего сайта, но на сегодняшний день лучше этого не делать. Вместо этого используйте на уровне страниц теги noindex, чтобы решить проблему малоинформативных частей сайта.

С 2009 года Google настоятельно рекомендует избегать блокирования файлов JS и CSS, а Google’s Search Quality Team принимает активное участие в продвижении идеи открытости среди веб-мастеров, чтобы помочь Google проверить, не применяем ли мы "клоакинг" и линкинг на закрытых от доступа страницах. Поэтому в идеальном файле robots.txt не должно быть закрыто ничего вообще, в нем может быть только ссылка на XML Sitemap, если все выполняется педантично.

По умолчанию WordPress закрывает доступ только к нескольким файлам JS, но это практически соответствует рекомендациям Google".

Если вы решили разместить ссылку на файл карты сайта, вы также обязательно должны указать его поисковым системам напрямую через их сервисы для веб-мастеров.

Что бы вы ни решили предпринять, не забудьте проверить robots txt для Wordpress. Это можно сделать одним из следующих способов:

  • Перейти по адресу yoursite.com/robots.txt, чтобы увидеть, отображается ли файл;
  • Запустить файл через инструмент тестирования, чтобы проверить наличие синтаксических ошибок (например, через этот);
  • Использовать раздел "Просмотреть и отобразить", чтобы проверить, видит ли Google то, что вы хотели;
  • Обращать внимание на возможные сообщения об ошибках в Google Webmaster Tools.

Краткое резюме по robots.txt для WordPress

Настройка файла robots.txt для сайта является важным и часто игнорируемым этапом поисковой оптимизации. Указав роботам, какие части вашего сайта нужно индексировать, а какие части не трогать, вы сможете предотвратить появление в результатах поиска ненужного контента.

С другой стороны, блокируя для Google слишком много разделов сайта, вы можете нанести серьезный ущерб его видимости в результатах поиска. При настройке этого файла убедитесь, что вы все тщательно продумали, чтобы это не принесло больше вреда, чем пользы.

Перевод статьи «SEO IN-DEPTH: UNDERSTANDING AND OPTIMIZING THE WORDPRESS ROBOTS.TXT» был подготовлен дружной командой проекта Сайтостроение от А до Я.

17 февраля 2016 в 17:54
Материалы по теме
{"url":"http://www.fastvps.ru/", "src":"/images/advbanners/fastvps.png", "alt":"Хостинг Fastvps.ru. Наш выбор!"}
Заработок