Правильный robots txt

Правильный robots txt
Автор блога
Андрей WPM

Андрей WPM

Правильный robots txt для WordPress.

Robots txt

Приветствую, дорогие вебмастера! С помощью этой статьи, я хочу показать вам как правильно настроить файл robots.txt для конкретного сайта. Но, чтобы научиться его составлять, вам необходимо вдумчиво прочитать эту статью (возможно, не один раз). Только поняв, что вы будете делать, вы сможете настраивать этот файл для любого сайта. Будь то интернет-магазин, корпоративный сайт или блог, не важно.

Для тех, кто ищет готовый вариант (универсальный) для всех сайтов, я вас разочарую... Такого не существует! На каждом сайте есть свои собственные разделы, папки и файлы, о которых невозможно предугадать заранее. Так что, лучше научиться один раз и не мучить каждый раз поисковик.

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

 

Псевдо – правильный файл robots

Итак, для начала давайте разберемся что нужно закрывать в этом самом файле, а что уже давно кануло в лету. Все примеры правильного роботса, которые вы сможете найти в интернете (или уже нашли), написаны зачастую для конкретного сайта и к вашему не имеет вообще никакого отношения.

Обычно, в файле роботс советуют закрывать страницу входа в админку wp-login.php, саму страницу админки wp-admin, да и вообще всю директорию wp. Так же закрывают стили и скрипты js и css, и конечно же не нужные для индексирования страницы и всё в этом духе...

Но возникает вопрос, а нужно ли? Ведь большинство директорий, которые нужно было закрывать в роботс.тхт раньше, теперь закрываются более разумным методом – тегом robots. Почему более разумный спросите вы? На этот вопрос поможет ответить представитель Google Джон Мюллер в этом видео (включите русские титры, видео начинается с нужного места):


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

С каждым годом, файл robots txt становиться всё бесполезнее и бессмысленнее. И этот ответ, тому подтверждение. Закрытие в этом файле вас уже можно сказать не спасёт, ссылка может появиться тысячами способов как автоматических, так и ручных. Поэтому Мюллер рекомендует закрывать не нужные страницы не файлом роботс, а тегом robots. Что собственно и я советую вам научиться делать.

 

Бессмысленность файла роботс.

Проанализируйте сами, большинство директив в файле уже упразднили к 2019 году:

  • Crawl-delay (таймаут для роботов) перестали учитывать.
  • Host (главное зеркало) тоже упразднили.
  • Закрывать js и css Гугл не рекомендует, вебмастер ругается.
  • Директива wp- и другие технические страницы закрываются тегом.
  • Собственно, всё. Закрывать больше нечего.

А судя по тому, что как минимум, поисковик Google может проиндексировать закрытые страницы в файле роботс (не удивлюсь что и Яндекс тоже), то смысла закрывать не нужные страницы таким образом уже нет.

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

Что касается get параметров, в Яндекс'е есть специальная директива Clean-param, но используют её единицы. В Google же вообще не упоминается об этой директиве, похоже поэтому она и не обрела популярности в глазах вебмастеров. Поэтому, если вы всё же решили закрыть страницы с get параметрами, то закрывайте обычным синтаксисом.

 

Синтаксис файла для поисковиков.

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

  1. Синтаксис файла robots.txt Яндекс.
  2. Синтаксис файла robots.txt Google.

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

 

Правильная настройка robots txt.

Простое удаление портянки из файла проблему не решит конечно же. Перед этим, нужно настроить закрытие не нужных страниц тегом robots, а уже потом удалять всё ненужное из файла. В идеале, у вас должен получиться вот такой роботс /robots.txt. То есть, закрыты только пользовательские директории и файлы, которые не должны быть в индексе и на которые никто не будет ссылаться в принципе. Директиву Host можете оставить, а можете и удалить. Поисковики её уже не учитывают, поэтому не парьтесь. Я оставил, мне она не мешает.

 

Закрывать ли wp-admin, wp-login и т.д.?

Закрывать эти директории уже нет необходимости и вот почему. Все технические страницы WordPress перенаправляет для не авторизованных пользователей на страницу входа wp-login.php. А если открыть код этой страницы CTRL+U и проверить его, вы увидите тег проставленный ВП автоматически:

<meta name='robots' content='noindex,noarchive' />

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

 

Закрывать ли от индексации js и css?

Как вы уже наверное знаете, поисковики очень много внимания уделяют мобильным (адаптивным) версиям сайта. И чтобы определить на сколько мобильна страница, краулеру необходимо проиндексировать файлы стилей и скриптов, чтобы понять это. Так вот, если вы будете закрывать стили css и скрипты js от индексации, большая вероятность что краулер посчитает ваш сайт убогим не адаптивным. Отсюда понижение выдачи, потеря посещаемости и все вытекающие.

Вот так должны воспринимать ваш сайт поисковики:

Адаптивность Яндекс
Адаптивность под мобильные Яндекс
Мобильность Гугл
Адаптивность под мобильные Google

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

 

Закрывать ли wp-json, author, embed, page и т.д.?

Все эти технические страницы закрываются с помощью тега роботс. Отлично с этим справляется плагин Yoast SEO, рекомендую ознакомиться с обзором. В нем можно будет закрыть все не нужные архивы и метки в автоматическом режиме.

Что касается embed, pingback и подобных приблуд, с этим отлично справляются плагины Clearfy Webcraftic или Wpshop. Там вы сможете отключить не нужные директории сайта программно и закрывать их дополнительно ещё где либо не потребуется.

И наконец, что касается страниц пагинации page. Закрывать от индексации их даже тегом роботс не рекомендуется. Для таких страниц отлично подходит тег rel="canonical", подробнее про него я писал ранее.

 

Разбор примера популярного роботса для ВП.

Вижу что многим читателям трудно воспринять теорию без практики, поэтому дополняю статью конкретным примером. Возьмём популярный вариант robots и разберём его по полочкам. Итак, вот он сам файл:

User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: */comments
Disallow: /category/*/*
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /feed/
Disallow: /*?*
Disallow: /?s=

User-agent: Yandex
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /feed/
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /?s=
Host: https://kakoytosite.ru

Sitemap: https://kakoytosite.ru/sitemap.xml

Что мы видим? Первое что бросается в глаза, это дублирование условий для всех роботов user-agent: * и отдельно зачем-то для Яндекса user-agent: Yandex. Хочется сразу же спросить у автора – Вы действительно думаете что робот Яндекса тупой и не поймёт общие правила со звёздочкой? smile (это конечно же риторический вопрос).

 

Ну что ж, а теперь по порядку:

Disallow: /wp-login.php 
Disallow: /wp-register.php

Если вы читаете эту статью не из прошлого, то на борту у вас минимум должна быть версия WordPress 5.x.x не меньше. Так вот, страницы входа wp-login.php и wp-register.php по умолчанию наделены специальным тегом robots – nofollow. То есть, ВордПресс уже сам закрыл эти страницы от индексации и вам не нужно их больше нигде закрывать.

Disallow: /cgi-bin

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

Disallow: /wp-admin 
Disallow: /wp-includes 
Disallow: /wp-content/plugins 
Disallow: /wp-content/cache 
Disallow: /wp-content/themes

Первые две директории wp-admin и wp-includes являются техническими. То есть, к ним нет доступа не авторизованным пользователям. В том числе и пауку (краулеру) не удастся попасть на эти страницы. Он будет автоматически перенаправлен на страницу входа wp-login.php которая уже закрыта тегом роботс от индексации.

Директории /wp-content/... отвечают за файлы ваших тем и плагинов, в том числе и за файлы js и css. Если закрывать эти файлы от индексации, то Google не сможет прочитать их и в вебмастере вы увидите ошибки, что сайт не адаптирован. Хотя он может быть полностью мобильным.

Disallow: */comments 
Disallow: /category/*/*

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

Disallow: /trackback 
Disallow: */trackback 
Disallow: */*/trackback

Это одна из приблуд движка WordPress. С помощью неё движок посылает уведомления на сайты, ссылки на которые у вас будут в статьях. Отключается это штатными средствами. В админке перейдите по пути Настройки > Обсуждение и уберите галочки на первых двух (верхних) пунктах.

Disallow: */*/feed/*/ 
Disallow: */feed 
Disallow: /feed/

Вообще не понимаю, зачем закрывать фиды от индексации? Поисковик фиды не индексирует и не выводит в выдаче. Вы хоть раз видели в поиске страницу фидов? smile Это один из бесполезных сео-маразмов. Удаляйте эти бессмысленные правила.

Disallow: /*?* 
Disallow: /?s=

Эти директории отвечают за страницы с get параметрами и за страницу поиска по сайту. Здесь уже решать вам, нужны ли они в индексе или нет. Я никогда их не закрываю и бед не знаю.

 

Что же закрывать в robots txt.

Исходя из выше написанного, остается закрывать только пользовательские папки и файлы, которые не относятся на прямую к самому сайту WordPress. То есть, ни папки темы, ни плагинов, а собственные, со сторонними файлами (например для скачивания и т.д.).

Закрывать картинки от индексирования – считаю маразмом. Это относиться к тому случаю, когда вы начитавшись, что не уникальные картинки портят репутацию, решаете их закрыть. Это бред собачий, но это личное ИМХО.

А вот различные рекламные баннеры и файлы для скачивания, можно поместить в отдельную пользовательскую папку (или в несколько) и закрыть эту папку от индексации в файле роботс. Собственно так я и поступил с папкой files в моём роботсе.

 

Заключение.

Как видите, файл robots txt потерял свою актуальность к 2019 году (по крайней мере в мире WordPress). Закрывать практически нечего, поэтому данный файл обречен пустовать и мозолить всем вебмастерам глаз. Надеюсь я был убедителен, если есть что сказать, прошу в комментарии. На этом блоге свобода слова, так что высказывайтесь на здоровье. На этом у меня всё, увидимся на страницах wpmaster.kz!

Андрей WPM
Опубликовал - Андрей WPM

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


CTRL+D

Бонус для читателей WPMaster.kz. Предлагаю познакомиться с новым разделом на блоге - Промокоды. Только самые лучшие и нужные промокоды для покупок плагинов, тем, обучения, сервисов и т.д.



28
Вопросы не по теме статьи, задавайте в разделе "Флудилка".

avatar
1000
  Подписаться  
новее старее
Уведомление о
Михалыч
1 комм.
Михалыч

а для кирилического доменов как писать

Sitemap: https://wpmaster.kz/sitemap_index.xml
Host: https://wpmaster.kz/

пуникод или название домена русскими буквами?

Да и в поле веб-сайт кирилические домены не проходят

Александр Зырян
21 комм.
Александр ( webnub.ru )

Спасибо за свежую информацию по роботс. Не знал об этих изменениях. Хотел еще посмотреть видео, но оно полностью на английском оказалось

Rusfet
5 комм.
Rusfet ( Moy.bike )

Вот сейчас Вы прям "убили" меня... Тогда вопрос: стоит ли редактировать уже существующий роботс или уже пусть остается, как есть?

Вадим
13 комм.
Вадим ( job-cy.com )

На сайте вордпресс, плагин Yoast, в разделе 404 Ошибки, образуются подобные ошибки для технических страниц. Например:
/assets/frontend/jquery_update/replace/ui/ui/i18n/jquery.ui.datepicker-ru.js
/?author=4
/wp-content/plugins/woocommerce-gateway-stripe/assets/js/stripe.js
/templates/system/css/system.css
/sites/all/modules/tinytinymce/tinymce/jscripts/tiny_mce/plugins/filemanager/pages/fm/index.html
/vendor/phpunit/phpunit/composer.json
/wp-content/plugins/woocommerce-product-price-based-on-countries/assets/js/wcpbc-frontend.min.js?ver

Посоветуйте, пожалуйста, что с этим нужно делать? Эти 404 ошибки занижают ранжирование? Их куда-то редиректить?

Заранее благодарю

Вадим
13 комм.
Вадим ( job-cy.com )

Ошибся, в плагине Redirection, раздел 404 Ошибки