Файл robots.txt — это текстовый файл, который содержит информацию для поисковых роботов о том, какие страницы сайта нужно индексировать, а какие нет. Этот файл находится в корневой директории сайта и содержит директивы для разных типов поисковых роботов.
Файл robots.txt может содержать следующие директивы:
- User-agent — определяет поискового робота, на которого относится директива.
- Disallow — указывает, какие страницы сайта не нужно индексировать роботу.
- Allow — указывает, какие страницы сайта нужно индексировать роботу.
- Sitemap — указывает путь к файлу sitemap.xml, который содержит список всех страниц сайта, которые нужно индексировать.
Пример файла robots.txt:
User-agent: * Disallow: /admin/ Disallow: /cgi-bin/ Disallow: /uploads/ Allow: /uploads/images/ Sitemap: https://example.com/sitemap.xml
Этот файл запрещает индексирование страниц в папках /admin/, /cgi-bin/ и /uploads/, но разрешает индексирование страниц в папке /uploads/images/. Также в файле указан путь к файлу sitemap.xml.
Что такое файл robots.txt и для чего он нужен
Файл robots.txt — это текстовый файл, расположенный в корневой директории веб-сайта, который содержит инструкции для поисковых роботов о том, какие страницы сайта должны индексироваться, а какие — нет.
Он используется для того, чтобы управлять доступом поисковых роботов к содержимому сайта. Это может быть полезно, если на сайте есть страницы с конфиденциальной информацией, которые не следует индексировать. Также файл robots.txt может позволить сократить нагрузку на сервер, если быстродействие сайта не позволяет обрабатывать большое количество запросов.
Файл robots.txt не является абсолютной защитой от индексации, так как некоторые поисковые роботы могут проигнорировать этот файл. Однако, файл robots.txt является одной из основных инструментов для управления доступом поисковых роботов к сайту.
Простейший пример файла robots.txt выглядит так:
User-agent: *
Disallow: /
Этот файл указывает поисковым роботам с любым идентификатором (User-agent: *) не индексировать ни одной страницы на сайте (Disallow: /).
Таким образом, этот пример запрещает индексацию всего сайта поисковыми роботами. Применять такой файл не рекомендуется без серьезной причины, так как это приведет к полной блокировке индексации сайта в поисковых системах.
Чтобы узнать есть ли на сайте файл robots.txt необходимо обратится к нему по по адресу:
сайт.ru/robots.txt
Если файл существует и доступен, то в браузере вы увидите само содержимое robots.txt.
Robots.txt должен находиться только в корне сайта и не воспринимается ботами в других каталогах. Для загрузки файла robots.txt в корне сайта обычно необходим доступ к фалам на хостинге (обычно ftp, ssh или файловый менеджер в панели управления CMS или хостинга).
Как создать robots.txt
Чтобы создать файл robots.txt, нужно выполнить несколько простых шагов:
- Откройте текстовый редактор, например, Блокнот (Windows) или TextEdit (MacOS).
- Введите необходимые директивы для вашего сайта. Например:
User-agent: *
Disallow: /admin/
Disallow: /cgi-bin/
Disallow: /uploads/
Allow: /uploads/images/
Sitemap: https://example.com/sitemap.xml
- Сохраните файл с названием «robots.txt». Обязательно сохраняйте файл в формате «plain text» (обычный текст), а не в формате «rich text» (RTF) или другом формате с форматированием.
- Загрузите файл на ваш сервер в корневую директорию вашего сайта.
- Чтобы проверить, что файл robots.txt был загружен правильно, откройте ваш браузер и введите путь к файлу в адресной строке, например, https://wplife.ru/robots.txt. Если файл загружен правильно, вы увидите его содержимое.
После создания файла robots.txt он будет автоматически обработан поисковыми роботами при индексации вашего сайта. Однако, процесс индексации может занять некоторое время и зависит от многих факторов, таких как размер сайта, его популярность, обновления и т.д.
Директивы и параметры директив не могут содержать русские буквы (кириллицу).
Синтаксис robots.txt
- Каждая директива начинается с новой строки;
- Нельзя указывать больше одной директивы в одной строке;
- Нельзя ставить пробел в начало строки;
- Параметр директивы должен быть в одну строку с директивой, переносы запрещены;
- Не нужно обрамлять директивы и их параметры в кавычки;
- Параметры директив не требуют закрывающих точки с запятой;
- Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
- Комментарии начинаются знака решетки #;
- Пустой перевод строки может трактоваться как окончание директивы User-agent;
- Директива «Disallow: » (с пустым значением) равнозначна «Allow: /» — разрешить все;
- В директивах «Allow», «Disallow» указывается не более одного параметра;
- Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
- Написание названия директив и параметров заглавными буквами считается плохим тоном;
- Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /admin
- Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
- Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
- Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
- В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
- Использование любых символов национальных алфавитов в robots.txt не допускается.
Директивы robots.txt
#
Это комментарий в файле robots.txt, он не оказывает никакого влияния на его работу. Комментарии используются для описания структуры и содержания файла для последующего удобства редактирования и понимания его работы другими людьми. Комментарии начинаются с символа # и продолжаются до конца строки.
Примеры комментариев:
User-agent: *
# Комментарий может идти от начала строки
Disallow: /page # может быть продолжением строки с директивой
User-agent
Эта строка обычно используется в файле robots.txt для указания конкретных поисковых роботов или пользовательских агентов, для которых будут действовать директивы. Например, если есть необходимость запретить индексацию всем роботам, кроме Googlebot, то можно написать:
User-agent: Yandex
Disallow: /
Если нужно указать общие правила для всех роботов, необходимо использовать следующую команду:
User-agent: *
Disallow: /private/
Таким образом, для всех роботов будет запрещен доступ к страницам, расположенным в директории «private».
Disallow
Это директива в файле robots.txt, которая указывает поисковым роботам, какие страницы сайта не должны индексироваться. Например, чтобы запретить индексацию всех страниц на сайте, необходимо добавить следующую директиву в файл robots.txt:
Disallow: /
Это запретит индексацию всего сайта поисковыми роботами. Если нужно запретить индексацию конкретной страницы сайта, необходимо указать ее URL после директивы Disallow. Например, чтобы запретить индексацию страницы «http://example.com/page.html«, нужно добавить следующую строку в файл robots.txt:
Disallow: /page.html
Таким образом, поисковые роботы не будут индексировать страницу «http://example.com/page.html«. Обратите внимание, что символ «/» в конце URL указывает на директорию, а не на отдельную страницу, поэтому такой же запрет распространится на все страницы в этой директории.
Allow
Это директива в файле robots.txt, которая указывает поисковым роботам, какие страницы сайта могут быть проиндексированы, даже если указаны запрещающие директивы. Обычно эта директива используется вместе с директивой Disallow, когда нужно разрешить индексацию определенных страниц или директорий, в то время как все остальные страницы на сайте запрещены для индексации.
Например, если в файле robots.txt прописаны запрещающие директивы для всего сайта, кроме одной директории:
User-agent: *
Disallow: /
Allow: /public/
Таким образом, поисковые роботы будут запрещены индексации всех страниц сайта, кроме страниц в директории «public». Примечательно, что директива Allow не отменяет запреты, указанные в директиве Disallow. Если какие-то страницы запрещены для индексации в директиве Disallow, то директива Allow не сможет их разрешить.
Host
Это директива в файле robots.txt, которая указывает поисковым роботам, какой домен является предпочтительным для использования при индексации сайта. Директива Host используется для сайтов, которые используют несколько доменов или поддоменов и хотят указать, какой домен должен быть приоритетным для поисковиков.
Например, если сайт example.com имеет поддомен blog.example.com, а предпочтительным доменом является example.com, тогда в файле robots.txt необходимо указать:
Host: example.com
Запись не является обязательной в файле robots.txt, поскольку по умолчанию поисковые роботы используют домен, который указан в URL сайта, но многие веб-мастера включают эту директиву, чтобы убедиться, что поисковые роботы работают с правильным доменом.
Sitemap
Это директива в файле robots.txt, которая указывает поисковым роботам местонахождение файла XML-карты сайта (sitemap.xml), в котором перечислены все страницы сайта, которые могут быть проиндексированы. Файл XML-карты сайта создается для того, чтобы облегчить работу поисковым системам и ускорить процесс индексации всех страниц вашего сайта.
Для добавления директивы Sitemap в файл robots.txt используется следующий синтаксис:
Sitemap: https://www.example.com/sitemap.xml
Нужно указать полный URL-адрес, по которому может быть найден файл XML-карты сайта. Обратите внимание, что в файле robots.txt можно указывать несколько директив «Sitemap», если на сайте используются несколько карт сайта.
Clean-param
Clean-param — это директива в файле robots.txt, которая используется для указания поисковым роботам, какие параметры URL-адреса должны быть удалены при индексации сайта. Это делается, чтобы избежать дублирования страниц в индексе поисковых систем из-за различных параметров в URL-адресе.
Для использования директивы Clean-param в файле robots.txt нужно написать:
Clean-param: parameter
где «parameter» — это название параметра, который не нужен для индексации страницы.
Например, если у вас есть страница с URL-адресом: http://www.example.com/page.html?sort=desc&filter=active и вы хотите удалить параметр «sort» из этого URL-адреса для того, чтобы избежать дублирования страниц в поисковых системах, то нужно добавить следующую директиву в файл robots.txt:
Clean-param: sort
Таким образом, поисковые роботы будут индексировать страницу http://www.example.com/page.html без параметра «sort». Обратите внимание, что удаление параметра не означает, что сама страница не будет проиндексирована. Она все равно будет индексирована без учета параметров, которые указаны в директиве Clean-param.
Crawl-delay
Crawl-delay — это директива в файле robots.txt, которая указывает поисковым роботам задержку между запросами к серверу для индексации сайта. Это делается для того, чтобы предотвратить перегрузку сервера и уменьшить нагрузку на него. Если поисковый робот отправляет слишком много запросов к серверу за слишком короткий период времени, это может привести к тому, что сервер будет неспособен обрабатывать запросы и работать медленнее.
Для использования директивы Crawl-delay в файле robots.txt, нужно написать:
Crawl-delay: значение
где «значение» — это количество секунд задержки между запросами, которые необходимо установить для поисковых роботов.
Например, если вы хотите установить задержку в 5 секунд между запросами, то нужно добавить следующую директиву в файле robots.txt:
Crawl-delay: 5
Однако не все поисковые роботы поддерживают эту директиву, поэтому использование Crawl-delay не гарантирует, что поисковые роботы будут точно следовать задержке. Кроме того, задержка может несколько замедлить процесс индексации.
Правильный robots.txt для wordpress
Для WordPress-сайта можно использовать следующий файл robots.txt:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.example.com/sitemap.xml
В этом примере мы:
- Разрешаем доступ для всех поисковых роботов (* — символ глобального доступа).
- Запрещаем индексацию раздела wp-admin/.
- Разрешаем доступ к файлу /wp-admin/admin-ajax.php, который используется для работы службы Jetpack и других плагинов.
- Указываем URL-адрес XML-карты сайта (sitemap.xml).
Отметьте, что WordPress сам может создавать файл sitemap.xml (если установить соответствующий плагин). В таком случае вам не нужно будет указывать Sitemap в файле robots.txt.