Робот не смог получить доступ к файлу robots txt сайта
Блог / Googlebot не может получить доступ к сайту? Всё решаемо!
Поиск
Категории блога
Googlebot не может получить доступ к сайту? Всё решаемо!
Александр Коваленко , CEO/founder агентства Advermedia.ua, опыт в SEO более 10 лет. Канал автора в телеграм: @seomnenieЕсли в один прекрасный день в ConsoleGoogle панели вы увидели оповещение «Googlebot не может получить доступ к файлам CSS и JS (JavaScript)…», и не имеете ни малейшего понятия о том, что делать в такой ситуации, наша статья однозначно будет вам полезна.
Если в один прекрасный день в ConsoleGoogle панели вы увидели оповещение «Googlebot не может получить доступ к файлам CSS и JS (JavaScript)…», и не имеете ни малейшего понятия о том, что делать в такой ситуации, наша статья однозначно будет вам полезна.
Конечно, можно проигнорировать данную проблему и не позаботиться о том, как открыть сайт. Заблокированный ресурс – как минимум одно из ожидающих вас последствий, которому будет предшествовать потеря позиций в поисковой выдаче. Поэтому не стоит безответственно пускать всё на самотёк – подобные сложности не решаются сами собой и требуют вмешательства.
Итак, перейдём к поэтапному решению возникшей проблемы.
Сперва в SearchConsole выберите требуемый сайт, после чего на вкладке «Сканирование» вам нужно выбрать «Посмотреть как Googlebot» и кликнуть на кнопку «Получить и отобразить».
После этих нехитрых манипуляций перейдите в конец списка отобразившихся результатов, где вы увидите:
А) то, как именно отображается конкретная страница и для Гугл-робота, и для пользователей ресурса
Б) перечень ресурсов, где для каждого из них указана причина, почему у робота нет доступа к папке
Также, если вы хотите узнать, когда же в последний раз была проиндексирована та или иная страница, в этом может помочь Гугл Кэш. Как открыть кэш Гугла вы можете прочитать здесь.
2. Как настроить robotstxt для Googlebot
Файл robotsGooglebot воспринимает фактически как инструкцию к действиям. С его помощью вы можете контролировать, как настраивается поисковый робот для работы с вашим сайтом, то есть, редактировать страницы/файлы, доступные или недоступные для него. Задавать указания в файле роботcа для поисковой системы Гугл вы можете, обозначив директиву User-agent: Googlebot.
На этом этапе необходимо скопировать полученную в консоли Гугл таблицу и вставить её в Excel (не забудьте отключить форматирование). После чего нужно отсортировать данные по столбцу, содержащему значения URL. С помощью функции «Найти и заменить» удалите домен из URL и выделите типы файлов/папки, которые требуется открыть, чтобы осуществилась индексация сайта.
Теперь добавьте команду, которая разрешает индексацию
После этого вы получите seolinkrobottxt, то есть, строки, необходимые для добавления в файл robots.
3. Проверка обновлённого robots.txt
Перед тем, как залить обновлённый файл, проверьте все инструкции, которые вы создали, – возможно, где-то есть ошибки или какие-то файлы по-прежнему не открыты.
Мы рекомендуем прибегнуть к помощи Яндекс.Вебмастера в этом вопросе.
Если все ваши действия увенчались успехом, вам придёт уведомление о том, что все требуемые ресурсы открыты для осуществления индексации. После этого можно смело обновлять robots.txt на сервере.
4. Повторение – мать учения
В силу того, что с помощью шага 1 мы не всегда можем сразу увидеть все недоступные для индексации ресурсы, возникает вопрос – как получить доступ к папке в конечном итоге? Загвоздка в том, что по неизвестным причинам Google иногда не с первого раза отображает полный перечень закрытых файлов и страниц – вы можете увидеть это, проведя повторную проверку, где могут появиться, например, ещё и images, к которым робот по-прежнему не имеет доступа.
Но эта проблема решается довольно просто – нужно только повторить уже пройденные вами этапы, но для новых файлов.
5. Проверка доступа для Mobiledatepicker
Если вы переходили по указанной нами в этой статье ссылке, где представлен перечень всех поисковых роботов Google, вы наверняка обратили внимание на то, что там есть робот, проверяющий доступность для мобильных устройств. Не стоит упускать из виду важность его работы, поэтому настоятельно рекомендуем сделать проверку и для него. На старте проверки просто смените изначально установленное значение «ПК» на «Mobile:Smartphone», после чего нажмите уже знакомую кнопку «Получить и отобразить».
Мы приведём примеры JS и CSSmobiletemplate для стандартных CMS.
Универсальный вариант для всех движков
WordPress
Joomla
DataLife Engine
Подводя итог, заметим, что описанные нами действия могут показаться непонятными и сложными для тех, кто только начинает работу в сфере SEO и не знает, что такое, к примеру, jQuery или AJAX.
Robots.txt - это текстовый файл, в котором прописаны указания (директивы) по индексации страниц сайта. С помощью данного файла можно указывать поисковым роботам, какие страницы на веб-ресурсе нужно сканировать и заносить в индекс (базу данных поисковой системы), а какие - нет.
Почему robots.txt важен для SEO-продвижения?
Этот файл дает поисковым системам важные указания, которые напрямую будут влиять на результативность продвижения сайта. Использование robots.txt может помочь:
- предотвращению сканирования дублированного контента и бесполезных для пользователей страниц (результаты внутреннего поиска, технические страницы и др.);
- сохранению конфиденциальности разделов веб-сайта (например, можно закрыть системную информацию CMS);
- избежать перегрузки сервера;
- эффективно расходовать краулинговый бюджет на обход полезных страниц.
С другой стороны, если robots.txt содержит ошибки, то поисковые системы будут неправильно индексировать сайт, и в результатах поиска окажется не та информация, которая нужна.
Можно случайно запретить индексирование важных для продвижения страниц, и они не попадут в результаты поиска.
Эта запись говорят о том, что поисковые системы не смогут увидеть и проиндексировать ваш сайт.
Пустой или недоступный файл robots.txt поисковые роботы воспринимают как разрешение на сканирование всего сайта.
Ниже приведены ссылки на инструкции по использованию файла robots.txt :
Какие директивы используются в robots.txt
User-agent
User-agent - основная директива, которая указывает, для какого поискового робота прописаны нижеследующие указания по индексации, например:
Для всех роботов:
Для поискового робота Яндекс:
Для поискового робота Google:
Disallow и Allow
Директива Disallow закрывает раздел или страницу от индексации. Allow - принудительно открывает страницы сайта для индексации (например, разрешает сканирование подкаталога или страницы в закрытом для обработки каталоге).
Операторы, которые используются с этими директивами: «*» и «$». Они применяются для указания шаблонов адресов при объявлении директив, чтобы не прописывать большой перечень конечных URL для блокировки.
* - спецсимвол звездочка обозначает любую последовательность символов. Например, все URL сайта, которые содержат значения, следующие после этого оператора, будут закрыты от индексации:
$ - знак доллара означает конец адреса и ограничивает действие знака «*», например:
Crawl-delay
Crawl-delay - директива, которая позволяет указать минимальный промежуток времени между окончанием загрузки одной страницы и началом загрузки следующей. Использовать ее следует в случаях, если сервер сильно загружен и не успевает обрабатывать запросы поискового робота.
С 22 февраля 2018 года Яндекс перестал учитывать директиву Crawl-delay. Чтобы задать скорость, с которой роботы будут загружать страницы сайта, используйте раздел «Скорость обхода сайта» в Яндекс.Вебмастере. Google также не поддерживает эту директиву. Для Google-бота установить частоту обращений можно в панели вебмастера Search Console. Однако роботы Bing и Yahoo соблюдает директиву Crawl-delay.
Clean-param
Директива используется только для робота Яндекса. Google и другие роботы не поддерживают Clean-param .
Директива указывает, что URL страниц содержат GET-параметры, которые не влияют на содержимое, и поэтому их не нужно учитывать при индексировании. Робот Яндекса, следуя инструкциям Clean-param , не будет обходить страницы с динамическими параметрами, которые полностью дублируют контент основных страниц.
Пример директивы Clean-param :
Данная директива означает, что параметр «s» будет считаться незначащим для всех URL, которые начинаются с /forum/showthread.php.
Подробнее прочитать о директиве Clean-param можно в указаниях от Яндекс, ссылка на которые расположена выше.
Sitemap
Sitemap - это карта сайта для поисковых роботов, которая содержит рекомендации того, какие страницы необходимо обходить в первую очередь и с какой частотой. Наличие карты сайта помогает роботам быстрее индексировать нужные страницы.
В robots.txt следует указать полный путь к странице, в которой содержится файл sitemap.
Пример правильно составленного файла robots.txt :
Как найти ошибки в robots.txt с помощью Labrika?
Labrika показывает наличие 26 видов ошибок в robots.txt – это больше, чем определяет сервис Яндекса. Отчет "Ошибки robots.txt " находится в разделе "Технический аудит" левого бокового меню. В отчете приводится содержимое строк файла robots.txt . При наличии в какой-либо директиве ошибки Labrika дает её описание.
Ошибки robots.txt, которые определяет Labrika
Сервис находит следующие виды ошибок:
Директива должна отделятся от правила символом ":".
Пустая директива и пустое правило.
Недопустимо делать пустую строку в директиве User-agent , поскольку она указывает, для какого поискового робота предназначены инструкции.
Не указан пользовательский агент.
Директивы Allow или Disallow задаются в формате: directive: [path], где значение [path] (путь к странице или разделу) указывать не обязательно. Однако роботы игнорируют директивы Allow и Disallow без указания пути. В этом случае они могут сканировать весь контент. Пустая директива Disallow: равнозначна директиве Allow: / , то есть "не запрещать ничего".
Пример ошибки в директиве Sitemap:
Не указан путь к карте сайта.
Перед правилом нет директивы User-agent
Правило должно всегда стоять после директивы User-agent . Размещение правила перед первым именем пользовательского агента означает, что никакие сканеры не будут ему следовать.
Найдено несколько правил вида "User-agent: *"
Должна быть только одна директива User-agent для одного робота и только одна директива вида User-agent: * для всех роботов. Если в файле robots.txt несколько раз указан один и тот же пользовательский агент с разными списками правил, то поисковым роботам будет сложно определить, какие из этих правил нужно учитывать. В результате возникает большая неопределенность в действиях роботов.
Неизвестная директива
Обнаружена директива, которая не поддерживается поисковой системой (например, не описана в правилах использования robots.txt Яндекса).
Причины этого могут быть следующие:
- была прописана несуществующая директива;
- допущены ошибки синтаксиса, использованы запрещенные символы и теги;
- эта директива может использоваться роботами других поисковых систем.
Директивы «Disalow» не существует, допущена ошибка в написании слова.
Количество правил в файле robots.txt превышает максимально допустимое
Поисковые роботы будут корректно обрабатывать файл robots.txt , если его размер не превышает 500 КБ. Допустимое количество правил в файле - 2048. Контент сверх этого лимита игнорируется. Чтобы не превышать его, вместо исключения каждой отдельной страницы применяйте более общие директивы.
Например, если вам нужно заблокировать сканирование файлов PDF, не запрещайте каждый отдельный файл. Вместо этого запретите все URL-адреса, содержащие .pdf, с помощью директивы:
Правило превышает допустимую длину
Правило не должно содержать более 1024 символов.
Некорректный формат правила
В файле robots.txt должен быть обычный текст в кодировке UTF-8. Поисковые системы могут проигнорировать символы, не относящиеся к UTF-8. В таком случае правила из файла robots.txt не будут работать.
Чтобы поисковые роботы корректно обрабатывали инструкции в файле robots.txt , все правила должны быть написаны согласно стандарту исключений для роботов (REP).
Использование кириллицы и других национальных языков
Использование кириллицы запрещено в файле robots.txt . Согласно утверждённой стандартом системе доменных имен название домена может состоять только из ограниченного набора ASCII-символов (буквы латинского алфавита, цифры от 0 до 9 и дефис). Если домен содержит символы, не относящиеся к ASCII (в том числе буквы национальных алфавитов), его нужно преобразовать с помощью Punycode в допустимый набор символов.
Возможно, был использован недопустимый символ
Допускается использование спецсимволов «*» и «$». Например:
Директива запрещает индексировать любые php файлы.
Если /*.php соответствует всем путям, которые содержат .php., то /*.php$ соответствует только тем путям, которые заканчиваются на .php.
Символ «$» прописан в середине значения
Знак "$" можно использовать только один раз и только в конце правила. Он показывает, что стоящий перед ним символ должен быть последним.
Правило начинается не с символа "/" и не с символа "*".
Правило может начинаться только с символов «/» и «*».
Если значение пути указывается относительно корневого каталога сайта, оно должно начинаться с символа слэш «/», обозначающего корневой каталог.
Правильным вариантом будет:
в зависимости от того, что вы хотите исключить из индексации.
Некорректный формат URL файла Sitemap
Некорректное имя главного зеркала сайта
Директива Host указывала роботу Яндекса главное зеркало сайта, если к веб-ресурсу был доступ по нескольким доменам. Остальные поисковые роботы её не воспринимали.
С марта 2018 года Яндекс отказался от директивы Host. Вместо неё используется раздел «Переезд сайта» в Вебмастере и 301 редирект.
Некорректный формат директивы Crawl-delay
При указании в директиве Crawl-delay интервала между загрузками страниц можно использовать как целые значения, так и дробные. В качестве разделителя применяется точка. Единица измерения – секунды.
К ошибкам относят:
- несколько директив Crawl-delay ;
- некорректный формат директивы Crawl-delay .
Некорректный формат директивы Clean-param
Labrika определяет некорректный формат директивы Clean-param , например:
В именах GET-параметров встречается два или более знака амперсанд "&" подряд:
Правило должно соответствовать виду "p0[&p1&p2&..&pn] [path]". В первом поле через символ «&» перечисляются параметры, которые роботу не нужно учитывать. Во втором поле указывается префикс пути страниц, для которых применяется правило. Параметры отделяются от префикса пути пробелом.
Имена GET-параметров должны содержать только буквы латинского алфавита, цифры, нижнее подчеркивание и дефис.
Префикс PATH URL для директивы Clean-param может включать только буквы латинского алфавита, цифры и некоторые символы: ".", "-", "/", "*", "_".
Ошибкой считается и превышение допустимой длины правила — 500 символов.
Строка содержит BOM (Byte Order Mark) — символ U+FEFF
BOM (Byte Order Mark - маркер последовательности байтов) — символ вида U+FEFF, который находится в самом начале текста. Этот Юникод-символ используется для определения последовательности байтов при считывании информации.
Стандартные редакторы, создавая файл, могут автоматически присвоить ему кодировку UTF-8 с BOM меткой.
BOM – это невидимый символ. У него нет графического выражения, поэтому большинство редакторов его не показывает. Но при копировании этот символ может переноситься в новый документ.
Использование маркера последовательности байтов в файлах .html приводит к сбою настроек дизайна, смещению блоков, появлению нечитаемых наборов символов, поэтому рекомендуется удалять маркер из веб-скриптов и CSS-файлов.
Избавиться от ВОМ довольно сложно. Один из простых способов это сделать - открыть файл в редакторе, который может изменять кодировку документа, и пересохранить его с кодировкой UTF-8 без BOM.
Например, вы можете бесплатно скачать редактор Notepad++, открыть в нём файл с ВОМ меткой и выбрать во вкладке меню «Кодировки» пункт «Кодировать в UTF-8 (без BOM)».
Блокировка для робота Googlebot возможности доступа к веб-сайту может непосредственно затруднить получение и сканировать его содержимого, и, следовательно, привести к снижению его рейтинга в результатах поиска Google.
Многие веб-мастера вводят такую блокировку случайно, и даже не осознают этого, а Googlebot нуждается в доступе на сайт, чтобы скачать файл robots.txt и следовать содержащимся в нем рекомендациям.
Диагностика проблем с доступом Googlebot
-
– содержит список ошибок, обнаруженных Googlebot во время недавней попытки индексации веб-сайта.
- Смотреть как Google – позволяет сканировать определенную страницу и быстро просмотреть результаты (в данном случае ошибки).
Вот некоторые типичные причины отсутствия доступа Google к веб-сайту.
Проблемы с DNS
При попытке доступа к сайту не удалось установить связь с сервером DNS. Это может быть связано с недоступностью DNS-сервера или проблемами маршрутизацией DNS для этого домена.
Чтобы устранить эту проблему, убедитесь, что ваш провайдер DNS не блокирует (возможно, непреднамеренно) Googlebot.
Брандмауэры
В некоторых случаях неправильно настроенный брандмауэр или система защиты от DoS-атак (а иногда система управления контентом сайта), запрещает роботу googlebot индексацию сайта.
Системы безопасности представляют собой важный элемент качественного хостинга и часто их конфигурация вызывает автоматическое блокирование адресов, с которых к серверу передается чрезвычайно большое количество запросов.
Робот google отправляет больше запросов, чем обычный пользователь, поэтому может вызвать реакцию системы защиты, которая его блокирует и не позволяет сканировать ваш сайт.
Чтобы решить проблему данного типа, проверьте элементы инфраструктуры веб-сайта, а затем удалите блокировку Googlebot. Если вы не имеете контроля над настройками брандмауэра, пожалуйста, свяжитесь со своим поставщиком услуг веб-хостинга.
Преднамеренная блокировка
Некоторые веб-мастера намеренно препятствуют роботе googlebot, используя, например, брандмауэр. Целью, как правило, является не полная блокировка Googlebot, а управление сканированием и индексированием веб-сайта.
В большинстве случаев, если вы заблокировали сканирование в своем файле robots.txt, это является очевидной проблемой. Но есть несколько дополнительных условий, которые могут вызвать эту проблему, поэтому давайте рассмотрим следующий процесс устранения неполадок, который поможет выявлять и исправлять существующие проблемы как можно более эффективно.
Как видите, первым делом нужно спросить себя, хотите ли вы, чтобы Google индексировал URL-адрес.
Если вы не хотите, чтобы URL-адрес индексировался…
Просто добавьте атрибут noindex в метатег robots и убедитесь, что сканирование разрешено, если адрес каноничный.
Если вы заблокируете сканирование страницы, Google все равно сможет проиндексировать ее, потому что сканирование и индексирование — это разные процессы. Если Google не может сканировать страницу, они не увидят атрибут noindex в метатеге и все равно смогут проиндексировать страницу, если на ней есть ссылки.
Если URL-адрес каноникализируется на другую страницу, не добавляйте атрибут noindex в метатег robots. Просто убедитесь, что настроены правильные сигналы каноникализации, включая атрибут canonical на канонической странице, и разрешите сканирование, чтобы сигналы проходили и консолидировались правильно.
Если вы хотите, чтобы URL-адрес индексировался…
Вам нужно выяснить, почему Google не может просканировать URL-адрес и снять блокировку.
Наиболее вероятная причина — блокировка сканирования в robots.txt. Но есть несколько других сценариев, которые могут вызывать предупреждение о том, что вы заблокированы. Давайте рассмотрим их в том порядке, в котором вам, вероятно, стоит их искать.
Проверьте наличие блокировки сканирования в robots.txt
Самый простой способ выявить эту проблему — использовать средство проверкиrobots.txt в GSC, которое покажет правило блокировки.
Директива может блокировать какой-то конкретный или все user-agent. Если ваш сайт новый или был запущен недавно, вы можете поискать:
Возможно, кто-то опередил вас и уже устранил блокировку robots.txt, чем и решил проблему. Это наилучший сценарий. Однако, если проблема выглядит исправленной, но появляется снова спустя какое-то время, возможно, вы испытываете проблемы из-за периодической блокировки.
Вам нужно удалить директиву disallow, вызывающую блокировку. Способ исправления проблемы зависит от используемой вами технологии.
WordPress
Если проблема затрагивает весь ваш веб-сайт, наиболее вероятная причина в том, что вы включили параметр в WordPress, отвечающий за запрет индексации. Эта ошибка часто встречается на новых веб-сайтах и после проведения миграции. Выполните следующие действия, чтобы проверить это.
- Нажмите “Настройки” (Settings)
- Нажмите “Чтение” (Reading)
- Снимите флажок “Видимость в поисковых системах” (Search Engine Visibility).
WordPress с Yoast
Если вы используете плагинYoast SEO, вы можете напрямую отредактировать файл robots.txt, чтобы удалить директиву блокировки.
- Нажмите на Yoast SEO
- Нажмите “Инструменты” (Tools)
- Нажмите “Редактор файлов” (File editor)
WordPress с Rank Math
Как и Yoast, Rank Math позволяет напрямую редактировать файл robots.txt.
- Нажмите на Rank Math
- Нажмите “Общие настройки” (General Settings)
- Нажмите “Редактировать robots.txt” (Edit robots.txt)
FTP или хостинг
Если у вас есть FTP-доступ к сайту, вы можете напрямую отредактировать файл robots.txt, чтобы удалить директиву disallow, вызывающий проблему. Ваш хостинг-провайдер также может предоставлять вам доступ к файловому менеджеру, с помощью которого вы можете напрямую обращаться к файлу robots.txt.
Проверьте наличие периодической блокировки
Периодические проблемы труднее устранить, поскольку условия, вызывающие блокировку, могут не присутствовать в момент проверки.
Я рекомендую проверить историю вашего файла robots.txt. Например, в средстве проверки robots.txt в GSC хранятся предыдущие версии файлов. Вы можете нажать на раскрывающийся список, выбрать версию и посмотреть ее содержимое.
Вы также можете воспользоваться бета-версией отчета “Изменения” (Changes), который позволяет легко просматривать изменения содержимого между двумя разными версиями файлов.
Процесс исправления периодической блокировки будет зависеть от того, что вызывает проблему. Например, одной из возможных причин может быть общий кэш между тестовой средой и действующей средой. Файл robots.txt может содержать директиву блокировки, когда кэш используется тестовой средой. А когда кэш используется действующей средой, сайт может разрешать сканирование. В таком случае вы захотите разделить кэш или, возможно, исключить из кэша файлы з разрешением .TXT в тестовой среде.
Проверьте наличие блокировки по user-agent
Блокировка по user-agent — это блокировка, при которой сайт блокирует определенный user-agent, такого как Googlebot или AhrefsBot. Другими словами, сайт определяет конкретного бота и блокирует соответствующий user-agent.
Если вы можете просматривать страницу в своем обычном браузере, но блокируетесь после смены user-agent, это означает, что используемый вами user-agent заблокирован.
Вы можете задать конкретный user-agent с помощью инструментов разработчика Chrome. Еще один вариант — использовать расширение браузера для смены user-agent, подобное этому.
Кроме того, вы можете проверить блокировку по user-agent с помощью команды cURL. Вот как это сделать в Windows.
- Нажмите клавиши Windows+R, чтобы открыть окно “Выполнить”.
- Введите “cmd” и нажмите “ОК”.
- Введите команду cURL, подобную этой:
К сожалению, это еще один случай, когда процесс исправления будет зависеть от того, где вы найдете блокировку. Бота может блокировать множество разных систем, в том числе .htaccess, конфигурация сервера, брандмауэр, CDN или даже что-то, к чему вас нет доступа. Например то, что контролирует ваш хостинг-провайдер. Лучше всего будет обратиться к вашему хостинг-провайдеру или CDN и спросить их, откуда происходит блокировка и как вы можете устранить ее.
Например, вот два разных способа блокировки по user-agent в .htaccess, которые вам, возможно, придется искать.
Проверьте наличие блокировки по IP-адресу
Если вы подтвердили, что не заблокированы файлом robots.txt, и исключили блокировку по user-agent, то, скорее всего, это блокировка по IP-адресу.
Блокировку по IP-адресу сложно отследить. Как и в случае с блокировкой по user-agent, лучше всего будет обратиться к вашему хостинг-провайдеру или CDN и спросить их, откуда происходит блокировка и как вы можете устранить ее.
Читайте также: