Роботс запретить все. Как запретить индексацию нужных страниц. С помощью HTTP заголовка X-Robots-Tag

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

В Интернете много примеров, как исключить определённые папки из индексации поисковыми системами. Но может возникнуть ситуация, когда нужно исключить страницы, причём не все, а содержащие только указанные параметры.

Пример страницы с параметрами: сайт.ru/?act=report&id=7a98c5

Здесь act - это имя переменной, значение которой report , и id - это тоже переменная со значением 7a98c5 . Т.е. строка запроса (параметры) идут после знака вопроса.

Закрыть страницы с параметрами от индексирования можно несколькими способами:

  • с помощью файла robots.txt
  • с помощью правил в файле.htaccess
  • с помощью метатега robots

Контроль индексации в файле robots.txt

Файл robots.txt

Файл robots.txt - это простой текстовый файл, который размещается в корневой директории (папке) сайта, и содержащий одну или более записей. Типичный пример содержимого файла:

User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/

В этом файле из индексации исключены три директории.

Помните, что строку с "Disallow " нужно писать отдельно для каждого URL префикса, который вы хотите исключить. То есть вы не можете написать "Disallow: /cgi-bin/ /tmp/ " в одну строку. Также помните о специальном значении пустых строк - они разделяют блоки записей.

Регулярные выражения не поддерживаются ни в строке User-agent , ни в Disallow .

Файл robots.txt должен размещаться в корневой папке вашего сайта. Его синтаксис следующий:

User-agent: * Disallow: /папка или страница, запрещённая для индексации Disallow: /другая папка

В качестве значения User-agent указана * (звёздочка) - это соответствует любому значению, т.е. правила предназначены для всех поисковых машин. Вместо звёздочки можно указать имя определённой поисковой машины, для которой предназначено правило.

Можно указать более чем одну директиву Disallow .

В файле robots.txt можно использовать подстановочный символы:

  • * обозначает 0 или более экземпляров любого действительного символа. Т.е. это любая строка, в том числе и пустая.
  • $ обозначает конец URL.

Другие символы, в том числе &, ?, = и т.д. понимаются буквально.

Запрет индексации страницы с определёнными параметрами с помощью robots.txt

Итак, я хочу заблокировать адреса вида (вместо ЗНАЧЕНИЕ может быть любая строка): сайт.ru/?act=report&id=ЗНАЧЕНИЕ

Для этого подойдёт правило:

User-agent: * Disallow: /*?*act=report&id=*

В нём / (слеш) означает корневую папку сайта, затем следует * (звёздочка), она означает «что угодно». Т.е. это может быть любой относительный адрес, например:

  • /page.php
  • /order/new/id

Затем следует ? (знак вопроса), который трактуется буквально, т.е. как знак вопроса. Следовательно далее идёт строка запроса.

Вторая * означает, что в строке запроса может быть что-угодно.

Затем идёт последовательность символов act=report&id=* , в ней act=report&id= трактуется буквально, как есть, а последняя звёздочка вновь означает любую строку.

Запрет индексации поисковыми системами, но разрешение для сканеров рекламных сетей

Если вы закрыли сайт от индексирования для поисковых систем, либо закрыли определённые его разделы, то на них не будет показываться реклама AdSense! Размещение рекламы на страницах, закрытых от индексации, может считаться нарушением и в других партнёрских сетях.

Чтобы это исправить, добавьте в самое начало файла robots.txt следующие строки:

User-agent: Mediapartners-Google Disallow: User-agent: AdsBot-Google* Disallow: User-Agent: YandexDirect Disallow:

Этими строками мы разрешаем ботам Mediapartners-Google , AdsBot-Google* и YandexDirect индексировать сайт.

Т.е. файл robots.txt для моего случая выглядит так:

User-agent: Mediapartners-Google Disallow: User-agent: AdsBot-Google* Disallow: User-Agent: YandexDirect Disallow: User-agent: * Disallow: /*?*act=report&id=*

Запрет индексации всех страниц со строкой запроса

Это можно сделать следующим образом:

User-agent: * Disallow: /*?*

Данный пример блокирует все страницы, содержащие в URL ? (знак вопроса).

Помните: знак вопроса, стоящий сразу после имени домена, например, site.ru/? равнозначен индексной странице, поэтому будьте осторожны с данным правилом.

Запрет индексации страниц с определённым параметром, передающимся методом GET

К примеру, нужно заблокировать URL, содержащие в строке запроса параметр order , для этого подойдёт следующее правило:

User-agent: * Disallow: /*?*order=

Запрет индексации страниц с любым из нескольких параметров

Предположим, нам нужно запретить индексировать страницы, содержащие в строке запроса или параметр dir , или параметр order , или параметр p . Для этого перечислите каждый из параметров для блокировки в отдельных правилах примерно следующим образом:

User-agent: * Disallow: /*?*dir= Disallow: /*?*order= Disallow: /*?*p=

Как запретить поисковым системам индексировать страницы, в URL которых несколько определённых параметров

К примеру, нужно исключить из индексации страницы, содержание в строке запроса параметр dir , параметр order и параметр p . К примеру, страница с таким URL должна быть исключена из индексации: mydomain.com/new-printers?dir=asc&order=price&p=3

Этого можно добиться используя директиву:

User-agent: * Disallow: /*?dir=*&order=*&p=*

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

Как закрыть сайт от индексации

Чтобы запретить всем роботам индексировать весь сайт:

User-agent: * Disallow: /

Разрешение всем роботам полный доступ

Чтобы предоставить всем роботам полный доступ для индексации сайта:

User-agent: * Disallow:

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

Запрет всем поисковым системам индексировать часть сайта

Чтобы закрыть некоторые разделы сайта от всех роботов, используйте директивы следующего вида, в которых замените значения на свои:

User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /junk/

Блокировка отдельных роботов

Для закрытия доступа отдельным роботам и поисковым системам, используйте имя робота в строке User-agent . В данном примере закрыт доступ для BadBot :

User-agent: BadBot Disallow: /

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

Разрешить индексировать сайт одной поисковой системой

Допустим, мы хотим разрешить индексировать сайт только Google, а другим поисковым системам закрыть доступ, тогда сделайте так:

User-agent: Google Disallow: User-agent: * Disallow: /

Первые две строки дают разрешение роботу Google на индексацию сайта, а последние две строки запрещают это всем остальным роботам.

Запрет на индексацию всех файлов, кроме одного

Директива Allow определяет пути, которые должны быть доступны указанным поисковым роботам. Если путь не указан, она игнорируется.

Использование:

Allow: [путь]

Важно : Allow должна следовать до Disallow .

Примечание : Allow не является частью стандарта, но многие популярные поисковые системы её поддерживают.

В качестве альтернативы, с помощью Disallow вы можете запретить доступ ко всем папкам, кроме одного файла или одной папки.

Как проверить работу robots.txt

В Яндекс.Вебмастер есть инструмент для проверки конкретных адресов на разрешение или запрет их индексации в соответствии с файлом robots.txt вашего файла.

Для этого перейдите во вкладку Инструменты , выберите Анализ robots.txt . Этот файл должен загрузиться автоматически, если там старая версия, то нажмите кнопку Проверить :

Затем в поле Разрешены ли URL? введите адреса, которые вы хотите проверить. Можно за один раз вводить много адресов, каждый из них должен размещаться на новой строчке. Когда всё готово, нажмите кнопку Проверить .

В столбце Результат если URL адрес закрыт для индексации поисковыми роботами, он будет помечен красным светом, если открыт - то зелёным.

В Search Console имеется аналогичный инструмент. Он находится во вкладке Сканирование . Называется Инструмент проверки файла robots.txt .

Если вы обновили файл robots.txt, то нажмите на кнопку Отправить , а затем в открывшемся окно снова на кнопку Отправить :

После этого перезагрузите страницу (клавиша F5):

Введите адрес для проверки, выберите бота и нажмите кнопку Проверить :

Запрет индексации страницы с помощью мета тега robots

Если вы хотите закрыть страницу от индексации, то в теге пропишите:

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

Например, запрет для индексации всех файлов с расширением.PDF:

Header set X-Robots-Tag "noindex, nofollow"

Запрет для индексации всех файлов изображений (.png, .jpeg, .jpg, .gif):

Header set X-Robots-Tag "noindex"

Блокировка доступа поисковым системам с помощью mod_rewrite

На самом деле, всё, что было описано выше, НЕ ГАРАНТИРУЕТ, что поисковые системы и запрещённые роботы не будут заходить и индексировать ваш сайт. Есть роботы, которые «уважают» файл robots.txt, а есть те, которые его просто игнорируют.

С помощью mod_rewrite можно закрыть доступ для определённых ботов

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Google RewriteCond %{HTTP_USER_AGENT} Yandex RewriteRule ^ - [F]

Приведённые директивы заблокируют доступ роботам Google и Yandex для всего сайта.

report/

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Google RewriteCond %{HTTP_USER_AGENT} Yandex RewriteRule ^report/ - [F]

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

13 observations on “Как исключить из индексации страницы с определёнными параметрами в URL и другие техники контроля индексации сайта поисковыми системами
  1. Тарас

    самое близкое по значению, но тут папка

    Если, допустим, нужно закрыть для индексирования только одну папку report/ , то следующие директивы полностью закроют доступ к этой папке (будет выдаваться код ответа 403 Доступ Запрещён) для сканеров Google и Yandex.

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

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

    1. Когда только создали блог и меняют на нем интерфейс, навигацию и прочие параметры, наполняют его различными материалами. Разумеется, веб-ресурс и контент, содержащийся на нем, будет не таким, каким бы вы хотели его видеть в конечном итоге. Естественно, пока сайт не доработан, разумно будет закрыть его от индексации Яндекса и Google, чтобы эти мусорные страницы не попадали в индекс.

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

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

Какие есть способы запрета индексации сайта?

  1. Панель инструментов в .
  2. Изменения в файле robots.txt.
  3. Посредством name=“robots”
  4. Написание кода в настройках сервера.

1. Закрытие индексации через WordPress

Если сайт создан на базе WordPress, это ваш вариант. Скрыть проект от ботов таким образом проще и быстрее всего:

  1. Перейдите в «Панель управления».
  2. Затем в «Настройки».
  3. А после – в «Чтение».
  4. Отыщите меню «Видимость для поисковиков».
  5. Возле строки «Рекомендовать поисковым роботам не индексировать сайт» поставьте галочку.
  6. Сохраните изменения.


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

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

2. Посредством файла robots.txt

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

Затем скиньте его в корневую папку своего портала, чтобы этот файл мог открываться по такому пути site.ru/robots.txt

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

Закрыть сайта полностью для всех поисковых систем

Укажите в robots.txt команду:

User-agent: * Disallow: /

Это позволит запретить ботам всех поисковиков обрабатывать и вносить в базу данных всю информацию, находящуюся на вашем веб-ресурсе. Проверить документ robots.txt, как мы уже говорили, можно, введя в адресной строке браузера: Название__вашего_домена.ru/robots.txt . Если вы все сделали правильно, то увидите все, что указано в файле. Но если, перейдя по указанному адресу, вам выдаст ошибку 404, то, скорее всего, вы скинули файл не туда.

Отдельную папку

User-agent: * Disallow: /folder/

Так вы скроете все файлы, находящиеся в указанной папке.

Только в Яндексе

User-agent: Yandex Disallow: /

Чтобы перепроверить, получилось ли у вас удалить свой блог из Яндекса, добавьте его в Яндекс.Вебмастер, после чего зайдите в соответствующий раздел по ссылке https://webmaster.yandex.ru/tools/robotstxt/ . В поле для проверки URL вставьте несколько ссылок на документы ресурса, и нажмите «Проверить». Если они скрыты от ботов, напротив них в результатах будет написано «Запрещено правилом /*?*».

Только для Google

User-agent: Googlebot Disallow: /

Проверить, получилось ли сделать запрет, или нет, можно аналогичным способом, что и для Яндекса, только вам нужно будет посетить панель вебмастера Google Search Console. Если документ закрыт от поисковика, то напротив ссылки будет написано «Заблокировано по строке», и вы увидите ту самую строку, которая дала команду ботам не индексировать его.

Но с большой вероятностью вы можете увидеть «Разрешено». Здесь два варианта: либо вы что-то сделали неправильно, либо Google продолжает индексировать запрещенные в документе robots страницы. Я уже упоминал об этом выше, что для поисковых машин данный документ несет лишь рекомендационный характер, и окончательное решение по индексированию остается за ними.

Для других поисковиков

Все поисковики имеют собственных ботов с уникальными именами, чтобы вебмастера могли прописывать их в robots.txt и задавать для них команды. Представляем вашему вниманию самые распространенные (кроме Яндекса и Google):

  • Поисковик Yahoo. Имя робота – Slurp.
  • Спутник. Имя робота – SputnikBot.
  • Bing. Имя робота – MSNBot.

Список имен всех ботов вы с легкостью найдете в интернете.

Скрыть изображения

Чтобы поисковики не могли индексировать картинки, пропишите такие команды (будут зависеть от формата изображения):

User-Agent: * Disallow: *.png Disallow: *.jpg Disallow: *.gif

Закрыть поддомен

Любой поддомен содержит собственный robots.txt. Как правило, он находится в корневой для поддомена папке. Откройте документ, и непосредственно там укажите:

User-agent: * Disallow: /

Если такого текстового документа в папке поддомена нет, создайте его самостоятельно.

3. С применением тега name=”robots”

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

4. В настройках сервера

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

SetEnvIfNoCase User-Agent "^Googlebot" search_bot SetEnvIfNoCase User-Agent "^Yandex" search_bot SetEnvIfNoCase User-Agent "^Yahoo" search_bot SetEnvIfNoCase User-Agent "^Aport" search_bot SetEnvIfNoCase User-Agent "^msnbot" search_bot SetEnvIfNoCase User-Agent "^spider" search_bot SetEnvIfNoCase User-Agent "^Robot" search_bot SetEnvIfNoCase User-Agent "^php" search_bot SetEnvIfNoCase User-Agent "^Mail" search_bot SetEnvIfNoCase User-Agent "^bot" search_bot SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot SetEnvIfNoCase User-Agent "^Snapbot" search_bot SetEnvIfNoCase User-Agent "^WordPress" search_bot SetEnvIfNoCase User-Agent "^BlogPulseLive" search_bot SetEnvIfNoCase User-Agent "^Parser" search_bot

5. С помощью HTTP заголовка X-Robots-Tag

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

Файл robots.txt представляет собой набор директив (набор правил для роботов), с помощью которых можно запретить или разрешить поисковым роботам индексирование определенных разделов и файлов вашего сайта, а также сообщить дополнительные сведения. Изначально с помощью robots.txt реально было только запретить индексирование разделов, возможность разрешать к индексации появилась позднее , и была введена лидерами поиска Яндекс и Google.

Структура файла robots.txt

Сначала прописывается директива User-agent, которая показывает, к какому поисковому роботу относятся инструкции.

Небольшой список известных и частоиспользуемых User-agent:

  • User-agent:*
  • User-agent: Yandex
  • User-agent: Googlebot
  • User-agent: Bingbot
  • User-agent: YandexImages
  • User-agent: Mail.RU

Далее указываются директивы Disallow и Allow, которые запрещают или разрешают индексирование разделов, отдельных страниц сайта или файлов соответственно. Затем повторяем данные действия для следующего User-agent. В конце файла указывается директива Sitemap, где задается адрес карты вашего сайта.

Прописывая директивы Disallow и Allow, можно использовать специальные символы * и $. Здесь * означает «любой символ», а $ - «конец строки». Например, Disallow: /admin/*.php означает, что запрещается индексация индексацию всех файлов, которые находятся в папке admin и заканчиваются на.php, Disallow: /admin$ запрещает адрес /admin, но не запрещает /admin.php, или /admin/new/ , если таковой имеется.

Если для всех User-agent использует одинаковый набор директив, не нужно дублировать эту информацию для каждого из них, достаточно будет User-agent: *. В случае, когда необходимо дополнить информацию для какого-то из user-agent, следует продублировать информацию и добавить новую.

Пример robots.txt для WordPress:

*Примечание для User agent: Yandex

Проверка robots.txt

Старая версия Search console

Для проверки правильности составления robots.txt можно воспользоваться Вебмастером от Google - необходимо перейти в раздел «Сканирование» и далее «Просмотреть как Googlebot», затем нажать кнопку «Получить и отобразить». В результате сканирования будут представлены два скриншота сайта, где изображено, как сайт видят пользователи и как поисковые роботы. А ниже будет представлен список файлов, запрет к индексации которых мешает корректному считыванию вашего сайта поисковыми роботами (их необходимо будет разрешить к индексации для робота Google).

Обычно это могут быть различные файлы стилей (css), JavaScript, а также изображения. После того, как вы разрешите данные файлы к индексации, оба скриншота в Вебмастере должны быть идентичными. Исключениями являются файлы, которые расположены удаленно, например, скрипт Яндекс.Метрики, кнопки социальных сетей и т.д. Их у вас не получится запретить/разрешить к индексации. Более подробно о том, как устранить ошибку «Googlebot не может получить доступ к файлам CSS и JS на сайте», вы читайте в нашем блоге .

Новая версия Search console

В новой версии нет отдельного пункта меню для проверки robots.txt. Теперь достаточно просто вставить адрес нужной страны в строку поиска.

В следующем окне нажимаем «Изучить просканированную страницу».

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

Если же такие ресурсы будут, вы увидите сообщения следующего вида:

Каждый сайт имеет уникальный robots.txt, но некоторые общие черты можно выделить в такой список:

  • Закрывать от индексации страницы авторизации, регистрации, вспомнить пароль и другие технические страницы.
  • Админ панель ресурса.
  • Страницы сортировок, страницы вида отображения информации на сайте.
  • Для интернет-магазинов страницы корзины, избранное. Более подробно вы можете почитать в советах интернет-магазинам по настройкам индексирования в блоге Яндекса .
  • Страница поиска.

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

Заключение

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

В статье большое количество информации посвящено роботам Яндекса и Google, но это не означает, что нужно составлять файл только для них. Есть и другие роботы - Bing, Mail.ru, и др. Можно дополнить robots.txt инструкциями для них.

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

Robots.txt для wordpress один из главных инструментов настройки индексации. Ранее мы говорили об ускорении и улучшении процесса индексации статей. Причем рассматривали этот вопрос так, как будто поисковый робот ничего не знает и не умеет. А мы ему должны подсказать. Для этого мы использовали карту сайта файл .

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

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

Если робот файл robots.txt не находит, то считает, что индексировать разрешено всё. И начинает шарить по всем закаулкам. Сделав полную копию всего, что ему удалось найти, он покидает ваш сайт, до следующего раза. Как вы понимаете, после такого обшаривания в базу индекса поисковика попадает всё, что надо и всё, что не надо. То что надо вы знаете - это ваши статьи, страницы, картинки, ролики и т.д. А вот чего индексировать не надо?

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

WordPress создаёт очень много копий ваших статей с разными адресами, но одним и тем же содержанием. Выглядит это так:

//название_сайта/название_статьи,

//название_сайта/название_рубрики/название_статьи,

//название_сайта/название_рубрики/название_подрубрики/название_статьи,

//название_сайта/название_тега/название_статьи,

//название_сайта/дата_создания_архива/название_статьи

С тегами и архивами вообще караул. К скольким тегам привязана статья, столько копий и создаётся. При редактировании статьи, сколько архивов в разные даты будет создано, столько и новых адресов с практически похожим содержанием появится. А есть ещё копии статей с адресами для каждого комментария. Это вообще просто ужас.

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

WordPress оформляет картинки как отдельные статьи без текста. В таком виде без текста и описания они как статьи выглядят абсолютно некорректно. Следовательно нужно принять меры чтобы эти адреса не попали в индекс поисковиков.

Почему же не надо всё это индексировать?

Пять причин для запрета индексации!

  1. Полное индексирование создаёт лишнюю нагрузку на ваш сервер.
  2. Отнимает драгоценное время самого робота.
  3. Пожалуй это самое главное, некорректная информация может быть неправильно интерпретирована поисковыми системами. Это приведет к неправильному ранжированию статей и страниц, а в последствии и к некорректной выдаче в результатах поиска.
  4. Папки с шаблонами и плагинами содержат огромное количество ссылок на сайты создателей и рекламодателей. Это очень плохо для молодого сайта, когда на ваш сайт ссылок из вне еще нет или очень мало.
  5. Индексируя все копии ваших статей в архивах и комментариях, у поисковика складывается плохое мнение о вашем сайте. Много дублей. Много исходящих ссылок Поисковая машина будет понижать ваш сайт в результатах поиска в плоть до фильтра. А картинки, оформленные в виде отдельной статьи с названием и без текста, приводят робота просто в ужас. Если их очень много, то сайт может загреметь под фильтр АГС Яндекса. Мой сайт там был. Проверено!

Теперь после всего сказанного возникает резонный вопрос: "А можно ли как то запретить индексировать то что не надо?". Оказывается можно. Хотя бы не в приказном порядке, а в рекомендательном. Ситуация не полного запрета индексации некоторых объектов возникает из-за файла sitemap.xml, который обрабатывается после robots.txt. Получается так: robots.txt запрещает, а sitemap.xml разрешает. И всё же решить эту задачу мы можем. Как это сделать правильно сейчас и рассмотрим.

Файл robots.txt для wordpress по умолчанию динамический и реально в wordpress не существует. А генерируется только в тот момент, когда его кто-то запрашивает, будь это робот или просто посетитель. То есть если через FTP соединение вы зайдете на сайт, то в корневой папке файла robots.txt для wordpressвы там просто не найдете. А если в браузере укажите его конкретный адрес http://название_вашего_сайта/robots.txt, то на экране получите его содержимое, как будто файл существует. Содержимое этого сгенерированного файла robots.txt для wordpress будет такое:

В правилах составления файла robots.txt по умолчанию разрешено индексировать всё. Директива User-agent: * указывает на то, что все последующие команды относятся ко всем поисковым агентам (*). Но далее ничего не ограничивается. И как вы понимаете этого не достаточно. Мы с вами уже обсудили папок и записей, имеющих ограниченный доступ, достаточно много.

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

Как создать robots.txt для wordpress

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

Только надо учитывать особенности составления файла:

В начале строк цифр, как здесь в статье, быть не должно. Цифры здесь указаны для удобства рассмотрения содержимого файла. В конце каждой строки не должно быть ни каких лишних знаков включая пробелы или табуляторы. Между блоками должна быть пустая строка без каких либо знаков включая пробелы. Всего один пробел может принести вам огромный вред - БУДЬТЕ ВНИМАТЕЛЬНЫ .

Как проверить robots.txt для wordpress

Проверить robots.txt на наличие лишних пробелов можно следующим образом. В текстовом редакторе выделить весь текст, нажав кнопки Ctrl+A. Если пробелов в конце строк и в пустых строках нет, вы это заметите. А если есть выделенная пустота, то вам надо убрать пробелы и всё будет ОК.

Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

  • Анализ robots.txt в Яндекс Вебмастере
  • Анализ robots.txt в Google Search console .
  • Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
  • Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/
  • Документация от Яндекса .
  • Документация от google (англ.)

Есть ещё один способ проверить файл robots.txt для сайта wordpress, это загрузить его содержимое в вебмастер яндекса или указать адрес его расположения. Если есть какие-либо ошибки вы тут же узнаете.

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

Теперь давайте перейдем непосредственно к содержимому файла robots.txt для сайта wordpress. Какие директивы в нем должны присутствовать обязательно. Примерное содержание файла robots.txt для wordpress, учитывая его особенности приведено ниже:

User-agent: * Disallow: /wp-login.php Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/themes Disallow: */*comments Disallow: */*category Disallow: */*tag Disallow: */trackback Disallow: */*feed Disallow: /*?* Disallow: /?s= Allow: /wp-admin/admin-ajax.php Allow: /wp-content/uploads/ Allow: /*?replytocom User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/themes Disallow: */comments Disallow: */*category Disallow: */*tag Disallow: */trackback Disallow: */*feed Disallow: /*?* Disallow: /*?s= Allow: /wp-admin/admin-ajax.php Allow: /wp-content/uploads/ Allow: /*?replytocom Crawl-delay: 2,0 Host: site.ru Sitemap: http://site.ru/sitemap.xml

Директивы файла robots.txt для wordpress

Теперь давайте рассмотрим поподробнее:

1 – 16 строки блок настроек для всех роботов

User-agent: - Это обязательная директива, определяющая поискового агента. Звездочка говорит, что директива для роботов всех поисковых систем. Если блок предназначен для конкретного робота, то необходимо указать его имя, например Yandex, как в 18 строке.

По умолчанию для индексирования разрешено всё. Это равнозначно директиве Allow: /.

Поэтому для запрета индексирования конкретных папок или файлов используется специальная директива Disallow: .

В нашем примере с помощью названий папок и масок названий файлов, сделан запрет на все служебные папки вордпресса, такие как admin, themes, plugins, comments, category, tag... Если указать директиву в таком виде Disallow: /, то будет дан запрет индексирования всего сайта.

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

В моём примере строка 3 Disallow: /wp-admin - запрещает индексирование папки /wp-admin, а 14 строка Allow: /wp-admin/admin-ajax.php - разрешает индексирование файла /admin-ajax.php расположенного в запрещенной к индексированию папке /wp-admin/.

17 - Пустая строка (просто нажатие кнопки Enter без пробелов)

18 - 33 блок настроек конкретно для агента Яндекса (User-agent: Yandex). Как вы заметили этот блок полностью повторяет все команды предыдущего блока. И возникает вопрос: "А на фига такая заморочка?". Так вот это всё сделано всего лишь из-за нескольких директив которые рассмотрим дальше.

34 - Crawl-delay - Необязательная директива только для Яндекса. Используется когда сервер сильно нагружен и не успевает отрабатывать запросы робота. Она позволяет задать поисковому роботу минимальную задержку (в секундах и десятых долях секунды) между окончанием загрузки одной страницы и началом загрузки следующей. Максимальное допустимое значение 2,0 секунды. Добавляется непосредственно после директив Disallow и Allow.

35 - Пустая строка

36 - Host: site.ru - доменное имя вашего сайта (ОБЯЗАТЕЛЬНАЯ директива для блока Яндекса). Если наш сайт использует протокол HTTPS, то адрес надо указывать полностью как показано ниже:

Host: https://site.ru

37 - Пустая строка (просто нажатие кнопки Enter без пробелов) обязательно должна присутствовать.

38 - Sitemap: http://site.ru/sitemap.xml - адрес расположения файла (файлов) карты сайта sitemap.xml (ОБЯЗАТЕЛЬНАЯ директива), располагается в конце файла после пустой строки и относится ко всем блокам.

Маски к директивам файла robots.txt для wordpress

Теперь немного как создавать маски:

  1. Disallow: /wp-register.php - Запрещает индексировать файл wp-register.php, расположенный в корневой папке.
  2. Disallow: /wp-admin - запрещает индексировать содержимое папки wp-admin, расположенной в корневой папке.
  3. Disallow: /trackback - запрещает индексировать уведомления.
  4. Disallow: /wp-content/plugins - запрещает индексировать содержимое папки plugins, расположенной в подпапке (папке второго уровня) wp-content.
  5. Disallow: /feed - запрещает индексировать канал feed т.е. закрывает RSS канал сайта.
  6. * - означает любая последовательность символов, поэтому может заменять как один символ, так и часть названия или полностью название файла или папки. Отсутствие конкретного названия в конце равносильно написанию *.
  7. Disallow: */*comments - запрещает индексировать содержимое папок и файлов в названии которых присутствует comments и расположенных в любых папках. В данном случае запрещает индексировать комментарии.
  8. Disallow: *?s= - запрещает индексировать страницы поиска

Приведенные выше строки вполне можно использовать в качестве рабочего файла robots.txt для wordpress. Только в 36, 38 строках необходимо вписать адрес вашего сайта и ОБЯЗАТЕЛЬНО УБРАТЬ номера строк. И у вас получится рабочий файл robots.txt для wordpress, адаптированный под любую поисковую систему.

Единственная особенность - размер рабочего файла robots.txt для сайта wordpress не должен превышать 32 кБ дискового пространства.

Если вас абсолютно не интересует Яндекс, то строки 18-35 вам не понадобятся вообще. На этом пожалуй всё. Надеюсь что статья оказалась полезной. Если есть вопросы пишите в комментариях.

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

Запрет индексирования сайта, раздела или страницы

Если какие-то страницы или разделы сайта не должны индексироваться (например, со служебной или конфиденциальной информацией), ограничьте доступ к ним следующими способами:

    Используйте авторизацию на сайте. Рекомендуем этот способ, чтобы скрыть от индексирования главную страницу сайта. Если главная страница запрещена в файле robots.txt или с помощью метатега noindex , но на нее ведут ссылки, страница может попасть в результаты поиска.

Запрет индексирования контента страницы

Скрыть от индексирования часть текста страницы

В HTML-коде страницы добавьте элемент noindex . Например:

Элемент не чувствителен к вложенности - может находиться в любом месте HTML-кода страницы. При необходимости сделать код сайта валидным возможно использование тега в следующем формате:

текст, индексирование которого нужно запретить Скрыть от индексирования ссылку на странице

В HTML-коде страницы в элемент a добавьте атрибут . Например:

Атрибут работает аналогично директиве nofollow в метатеге robots , но распространяется только на ссылку, для которой указан.