Кейс: как правильный robots.txt сайт из Google удалил
Таки-здрасьте!
Пишу тут пост впервые, так что пинайте как можно сильнее и сопровождайте пинки как можно более сильными криками.
В данном посте я расскажу о том, как robots.txt, который на первый взгляд составлен правильно, полностью выбил сайт из поисковой системы Google.
Дано.
Сайт по велотуризму. Клиент у нас совсем недавно, поэтому на сайте пока что всё плохо. Клиент пожаловался, что сайт полностью вылетел из поисковой выдачи Google. Также заказчик сказал, что кто-то из его программистов что-то делал с robots.txt. ОК, будем посмотреть.
Задача.
Вернуть сайт обратно в Google. Не обязательно в ТОП, достаточно чтобы он просто индексировался.
Что было сделано.
Самое первое, что я сделал - глянул текущий robots. На момент вмешательства он выглядел вот так (версия от 11 августа):
User-agent: *
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Disallow: *utm*=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Sitemap: https://velotour-asia.ru/sitemap_index.xml
Как видите, никаких правил, которые запрещают индексирвание всего сайта ( или, скажем, главной страницы) тут нету. Подозрительно, однако!
OK, Google, расскажи же, что не так! Идём в Search Console и пытаемся разобраться. И "от оно чо, Михалыч!" Противоречие однако!
Обратите внимание, что попытка сканирования была 19го числа, т.е. спустя несколько дней после последнего редактирования robots'а. Эй, какого яруса?! Роботс, вроде, в порядке, но Google на него ругается. Как так-то?
В коде страницы я никаких noindex'ов тоже не нашел, т.е. вариант с тегами отпадает.
Далее я просканировал сайт Screaming Frog'ом, предварительно выставив в настройках смартфонный гуглбот (именно смартфонный, т.к. Николай Васильевич Гуголь сканировал сайт именно им). Также в настройках было выставлено Respect robots, чтобы содержимое robots.txt не игнорировалось.
Как видите, все строки (кроме первой) отдают код 200 ОК и имеют статус Indexable. Т.е. со сканированием Фрог проблем не выявил. Странно.
ОК, тогда воспользуемся штатным инструментом Google для проверки robots.txt. Самое первое, что бросилось в глаза - все строки были помечены как ошибочные.
Всё страннее и страннее... Томить не буду. Проблему я, кстати, заметил далеко не сразу. Всё внимание на первую строку роботса:
Что это за символ - не понятно. Удаляем и...
... и все 26 ошибок исчезли. Далее я напрямую из Консоли скачал исправленный роботс, затем скачал с сайта исходный и стал сравнивать.
Если их просто открыть в блокноте, то они выглядят абсолютно идентично. Как говорится, "найдите 10 отличий". Если вместо Блокнота открывать через Notepad++ - будет то же самое.
Однако, размер файлов отличается, пусть даже всего на 3 байта:
Вот блин просто охренеть! Всего 1 символ, который не отображается ни в браузере, ни в блокноте, ни в Notepad++, и сайт вылетел из индекса Google! Как тебе такое, Илон Маск?
Мой любимый utf bom bom?
скриншот из HEX-редактора выше))
ага :)
Это был копипаст текста файла со статьи с рекомендациями как его настраивать 🤣💪
кстати, может быть и так
Не, скорее предыдущий программист просто стал редактировать этот файл в стандартном Блокноте, который этот BOM и добавил.
Видать не заплатили челику
Миллениалы открыли для себя BOM :)
всё когда-то бывает впервые))
Для меня это не успело быть болью, мне поведали о её существовании в начале пути. Трудноуловимый баг, если не понимать куда копать и не использовать профессиональные редакторы кода. Много наших полегло 😆
...changefreq>daily...
из каких соображений?
по курсу для чего это и как поисковик работает?
BOM символ часто портит всю малину, но не знал, что Google посчитает сайт закрытым из-за этого. Надо провести эксперимент, чтобы уж наверняка убедиться в проблеме. Спасибо, Станислав, что поделились историей!
Кстати, в документации гугла написано, что BOM игнорируется
https://developers.google.com/search/reference/robots_txt?hl=ru
ну написано-то оно может и написано, но после исправления роботса сайт потихоньку начал возвращаться в индекс
Либо BOM, но это сказали выше. Либо тот кто последний редактировал сайт, делал это через что-то, что корявит файл. Какой-нибудь редактор на Маке, например или какие-то мутки с авто-преобразованием кодировок, что-то такое.
Вообще взял за правило. Если правишь robots.txt - проверь файл в проде через веб-консоли. Мало ли что (а как показывает статья, не так уж и мало).
... его нужно проверить только через vim! 😈
Дама, bom конечно та ещё дрянь)
Очень интересный случай, не встречался с таким.
Правда, у меня однажды тоже сайт в Гугле с корректным роботсом внезапно упал в позициях и не поднимался.
Оказалось, что к сайту был закрыт доступ для всех, кто заходит не из России или СНГ, и Гугл не смог просканировать сайт, т.к. его боты заходят с других регионов, и Гугл выкинул сайт из индекса
надо взять на заметку
И в итоге что это за символ был?
вот честно - фиг знает.
Вероятно UTF BOM. Точнее нужно смотреть в HEX-редакторе.
в исправленном файле этого нет
Именно. Это UTF-8 BOM.
many pieces of software on Microsoft Windows such as Notepad treat the BOM as a required magic number rather than use heuristics. These tools add a BOM when saving text as UTF-8, and cannot interpret UTF-8 unless the BOM is present or the file contains only ASCII.ребята, ситуация у меня тоже очень интересная, вроде нормально сделанный сайт, ни каких скаченных шаблонов и тд тп, по пейджспиду красота, по сеочекеру тоже. Но, как обычно, одна пс в топе, вторая в шопе... Может кто-то подсказать на примере одного из сайтов?
какая в топе какая в шопе?
Был такой же опыт ещё два с половиной года назад. Правда проверил сразу после заливки и дал по рукам разработчикам, сайт из индекса вылететь не успел, так что история была бы менее интересной :)
BOM
Станислав, большое спасибо за разъяснение проблемы простыми словами!!! Теперь мне стало понятно, что это за проблема и как ее можно решить.
Все SEO состоит из таких вот мелочей.
Что характерно, в robots давно уже нет смысла закрывать от индексации и указывать sitemap. Я вообще думал что он нужен только под Яндекс. И вот тебе на...