Другая ошибка в Google: Как пропустив 1 галочку, искать баг 10 дней, поставив в ступор 5 программистов

Со мной случилась крайне неприятная - но поучительная история, что нужно быть внимательным во всем, что ты делаешь!

На одном из проектов с которыми я работаю ТехноРейтинг (tehno-rating.ru) в какой-то момент, я случайно заметил кучу ошибок в Google Search Console и смежных сервисах компании, которые поставили меня в ступор:

Другая ошибка в Google: Как пропустив 1 галочку, искать баг 10 дней, поставив в ступор 5 программистов

Множество ошибок, что поисковой бот не может получить доступ к ресурсам страницы.

Другая ошибка, что это?

Если кратко, то это все ситуации когда бот не получает содержимое переданное ему по ссылке. Никакого более точного описания и классификаций не существует. Ходит много теорий, слухов - но никакой точности.

В чем проблема с исправлением?

1 день. Мы проверили все ответы сервера, доступы, разрешение к индексированию - проблем никаких не возникает. Ошибка не статическая - иногда там 10 файлов, иногда 20, а порой и 30. Нет никакой зависимости в форматах (jpg, png, webp, css, js и тд.)

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

3-5 день. Может мы туповаты? Начинаю искать программистов и вебов по знакомству, прошу помочь и многим становится интересно, соглашаются проверить свои идеи. Антибот, ошибка в каком-то js, смена хостинга, уменьшение картинок до 1 байта и куча разных вариантов - все не помогает. Сохраняю через браузер статическую версию страницы, таскаю по разным серверам, хостингам - теория что проблема с CMS и хостингом отпадает, ошибки везде.

6-7 день. Нашел человека который полностью погружен в техническое seo, оптимизацию, скорость, настройку серверов, делаем статическую копию пары страниц, он тестирует на своем сервисе и ищет ошибку. P.S. - я сдался, принял что я тупой и решил доверится человеку.

8 день. Созвон, много теории, слов, показывает тестовую страницу - гордо сказав что баг побежден. Я на радости начинаю смотреть код, чтобы понять где мы протупили. Оказывается он удалил все картинки и svg заменив на нерабочее lazy - нет картинок, нет ресурсов и запросов - нет проблем. Поэтому все тестилки Google не выдают ошибки на созвоне (проверял раза 2-3). Ресурсов отдавалось так мало, что просто по теории вероятности процент ошибок был мелким и я этого сразу не заметил.

Начинаю проверять раз 10, даже всего 40+- запросов, которые остались на странице порой 1-2 попадет в ошибки - теория с перегрузкой, количеством файлов идет в трубу окончательно. Понимаю что меня кинули, и человек которого все считают 1 из главных специалистов по техническому seo тоже ничего не нашел. Кстати, как я предоставил ему скриншот его же тестовой страницы с ошибками он пропал (и уже дней 14 не читает даже сообщения).

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

Другая ошибка в Google: Как пропустив 1 галочку, искать баг 10 дней, поставив в ступор 5 программистов

То-есть бот видит часто сломанные страницы (в ошибку иногда падают css и js файлы). Снова таскаю статику по другим серверам, играю с кешем - все тупые теории по кругу. Все сдались, идей нету, ну думаю ладно, (TTFB) получение 1 байта 600-900 мс, думаю хотя бы это увеличу, раз увидел косяк, а тот исправить не могу.

Техническая часть вылизана, начинаю писать хостеру в чем проблема, включаем профайлер, ищем проблему - не, все быстро работает, хостер говорит показать как настроен cloudflare, высылаю скрин и просит тестово отключить его, отключаю, скорость получения 1 байта 300 мсек, понимаю что проблема с Cloudflare, но отключать не хочется.

10 день. СЛУЧАЙНО, уже по привычке искать ошибки и проверять их, захожу в тестилку и ОШИБОК НЕТ. Я в шоке, мы ведь делали статический файл и проверяли на сайтах и серверах на которых небыло Cloudflare, что за магия?

Открываю переписку с хостером и смотрю как у меня было включено проксирование, выставляю те же самые значения, ошибка возвращается. У меня сайтов 10, а ошибка с Cloudflare подобная только тут, да и статическую версию ведь проверял.

Начинаю сверять все вкладки, настройки на всех сайтах (может я включил что-то лишнее), пара часов проверок, толку не дают. Ошибка на месте.

Я чуть не спалил стул. Возвращаюсь в раздел DNS в Cloudflare и понимаю, я проверял все галочки, настройки, но на данном сайте есть CNAME записи imap, smtp (которых небыло на всех остальных сайтах (не знаю почему)), и галочки напротив проксирования там не включены (я ведь сверял на рабочих сайтах что включено там, и даже не обращал внимания на то, чего там небыло).

Другая ошибка в Google: Как пропустив 1 галочку, искать баг 10 дней, поставив в ступор 5 программистов

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

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

Никто не нашел ее, да и не нашел бы наверное, странный баг - тупое решение, чутка магии за кадром. В прочем, думаю так часто бывает. Главное что проблема решилась, если доверяете сторонним CDN или плагинам даже долю управления проектом, при этом не понимая дословно как именно они работают - ищите проблемы в первую очередь не в своем коде, а в сторонних решениях!

1
3 комментария