Привет! Хочу рассказать историю про то, как мы две недели искали, кто уронил наш сайт в Google, нашли, обрадовались, а потом выяснилось, что нашли не того.

Начну с того, что мы вообще делаем. Toolevia — это восемьдесят четыре инструмента для файлов, которые работают прямо в браузере: склеить PDF, убрать фон с фотографии, посчитать переплату по ипотеке, ну и дальше по списку. Файл при этом никуда не отправляется, потому что сервера в этой схеме просто нет — всё считается на вашем же компьютере. Писали мы это три месяца, а в августе за три недели выкатили всё разом: 84 инструмента на 58 языках, если перемножить, получается 5104 страницы.

И, что удивительно, оно сразу пошло. Восьмого августа Google держал в индексе 494 наших страницы, через десять дней уже 2218, а двадцатого числа сайт показался в поиске 1269 раз за сутки. Для домена, которому от роду две недели, это очень неплохо, и мы, чего уж скрывать, немножко возгордились.

А потом двадцать первого августа показов стало 1134, двадцать второго — 216, а двадцать третьего — три. Не три тысячи и не триста, а три штуки за целый день. И вот так, по одному‑семь показов в сутки, оно и протянулось до конца месяца, как будто кто‑то выкрутил ручку до упора и ушёл домой.

Столбцы — сколько страниц Google держал в индексе по своим же снимкам, линия — показы в сутки. Красный пунктир — тот самый день.
Столбцы — сколько страниц Google держал в индексе по своим же снимкам, линия — показы в сутки. Красный пунктир — тот самый день.

Первая мысль: наверное, мы что‑то сломали

Она же, кстати, самая приятная из всех возможных, потому что то, что сломал сам, можно и починить сам.

Полезли в Search Console. Ручные меры — «Проблем нет», безопасность — «Проблем нет», серверных ошибок ноль за всё время. Зато из индекса ушло 1337 страниц, а в статусе «Просканирована, но пока не проиндексирована» осело ещё 1406. Это, если вдуматься, особенно обидная формулировка: Google страницу скачал, прочитал и решил, что она ему не нужна. Не «не смог» — не захотел.

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

Что проверили

Сколько

Результат

Карты сайта

58 карт по 88 адресов

все отдают 200, дублей нет

Canonical

5162 страницы

везде самоссылочный

Кластер hreflang

59 альтернатив × 5104 страницы ≈ 300 000 ссылок

ни одной висячей

Структурированные данные (JSON‑LD)

19 952 блока

0 ошибок разбора

Хлебные крошки

5046 страниц

«Подтверждено», проблем 0

robots.txt, X‑Robots‑Tag, редиректы

лишнего не закрыто, www и http → 301

Ручные меры, безопасность

«Проблем нет»

Серверные ошибки за всё время

0

Правки SEO‑кода за две недели до и после

layout, seo.ts, генератор карты, конфиг хостинга

не трогали

Правились в это время только словари переводов да три компонента интерфейса.

Знаете, что хуже сломанной строчки в robots.txt? Её отсутствие. Сломанную строчку чинишь за минуту, жмёшь «запросить переобход» и спокойно идёшь пить кофе. А тут чинить оказалось нечего.

Две ошибки мы всё‑таки нашли, только не те

Раз уж полезли, то нашли и собственные грехи, и про них расскажу честно, потому что они поучительные.

Первый грех — мы меняли адреса уже опубликованных страниц. Все знают, что так делать нельзя, мы тоже знали, и всё равно сделали, причём с размахом: 159 адресов переименовали в один день, когда трём инструментам разом придумали названия получше, сразу на 57 языках. В итоге 208 мёртвых URL, из которых 122 Google уже успел записать себе как 404.

Второй грех ещё глупее. Генератор карты сайта, если у какого‑то языка перевода ещё не было, брал английский адрес и ставил его вместо недостающего. А между «выложили английский текст» и «доперевели на остальные 57» обычно проходило несколько часов, и всё это время в карте жили призраки вроде /bn/multiple-pages-per-sheet-pdf/, которые умирали ровно в тот момент, когда приезжал бенгальский. Google этих призраков почти не поймал, семь штук в выборке из тысячи, но механизм‑то срабатывал на каждом инструменте.

Обе ошибки мы закрыли: на мёртвые адреса теперь стоят 301, а смену слага и карту сторожат проверки, которые не дадут повторить. Но вот беда — объяснить ими обвал никак не получается. 208 из 5104 это четыре процента, а выпало у нас две трети.

Подозреваемый номер один: мы сами и наша последняя пачка

Тут придётся признаться. Эта версия была моя, и я в неё поверил сразу и целиком.

Смотрите, как красиво всё сходится. Волны 7 и 8, последние семнадцать инструментов, почти тысяча страниц, выкладывались с 22 по 29 августа. Обвал начался 22 августа. Молодой домен, на который за три недели приезжает пять тысяч страниц, где один и тот же текст размножен на 58 языков, — ну и Google, естественно, решает, что перед ним классический scaled content abuse, и обрубает всё разом. Даты совпадают, мотив есть, картина ясная.

Настолько ясная, что проверять её не хотелось. И как раз поэтому проверять стали так, чтобы версия могла провалиться, а не так, чтобы она подтвердилась.

Разбили все страницы на две группы: в группу A попали те, что существовали до 22 августа, в группу B — те, что появились 22-го и позже. Дату рождения каждой из 4872 пар «язык плюс инструмент» взяли из git, там она есть с точностью до минуты. Логика простая: если Google обвалил индекс из‑за новой пачки, то эта пачка должна была хотя бы существовать на момент обвала, и Google должен был успеть её прочитать.

У подозреваемого оказалось три алиби, и каждого хватило бы по отдельности.

Во‑первых, он ещё не приехал. На день обвала волны 7–8 составляли девять страниц из 4127 — девять, две десятых процента корпуса. Девяносто три процента их страниц выложены уже после того, как обвал закончился.

Во‑вторых, часы. Первый инструмент седьмой волны, remove-exif, закоммичен 22 августа в 22:58, причём с одним английским текстом, без единого перевода. А к этому моменту день 22 августа уже отдал свои 216 показов вместо 1134. Причина, как ни крути, не может быть позже следствия.

И в‑третьих, его никто не читал. Оценить можно только то, что скачал, а у страниц волн 7–8 ноль показов за всю жизнь сайта, и в выборках непроиндексированных из их девяноста двух страниц Google скачал ровно одну.

Версия умерла, и тут же стало видно, что выпало на самом деле — группа A. Из 800 страниц, которые хоть раз показывались в поиске, 359 лежат в «просканирована, не проиндексирована», и все 359 существовали до 22 августа. Если сделать поправку на то, что GSC отдаёт выгрузку не целиком, получается примерно две трети. То есть это не новые страницы, которые не успели войти в индекс, а старые, которые в нём уже были и которые оттуда вынесли.

Подозреваемый номер два: core update

Двадцать шестого августа Google начал раскатывать августовский core update, и соблазн повесить всё на него был огромный — удобно, и ничего не надо менять.

Только вот по датам не сходится, причём грубо. Дно достигнуто 23 августа, за три дня до старта апдейта, и три показа в день это уже дно в буквальном смысле, падать дальше некуда. Второй ступеньки в данных нет. Может, апдейт что‑то и добавил сверху, но увидеть это невозможно, потому что к его приходу ронять было уже нечего.

А кто тогда?

Осталось посмотреть, по какому признаку Google вообще выбирал, что снимать. Если он оценивал контент, то должен быть какой‑то градиент: короткие тексты вылетают чаще длинных, слабые страницы чаще сильных, что‑то в этом роде.

Градиента нет, вообще никакого. По длине текста доля выпавших 41–48%, что у страниц короче трёхсот слов, что у тех, где больше пятисот. По прежней видимости 44–50%, причём у самых заметных страниц, с тридцатью и больше показами, доля даже ниже, 33%. По позиции в выдаче 41–50%, хоть первая десятка, хоть «60+».

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

Есть, правда, одна зацепка. Что Google успел прочитать до обвала, так это волны с первой по шестую: корпус вырос с 880 до 4118 адресов с 7 по 19 августа, и у выпавших страниц 63% последний раз скачаны 16–19 августа. Но это корреляция, и объявлять её виновной мы не будем, потому что на таких уликах уже один раз обожглись.

Дело открыто

В итоге версий осталось две, и по данным одного сайта их не различить.

Кстати, в той же выгрузке есть ещё одно наблюдение, и оно тоже за «решение про сайт целиком»: ни один из 58 языков не выпал полностью. Google берёт все, просто очень по‑разному. Иврит — 23% страниц, латиница и кириллица — около 20%, а одиннадцать индийских языков, от хинди до тамильского, — 7%. Это, наверное, тема для отдельной статьи, но график слишком хорош, чтобы его не показать.

Доля страниц, получивших хотя бы один показ, по группам письменностей. Красным — та группа, где Google берёт меньше всего.
Доля страниц, получивших хотя бы один показ, по группам письменностей. Красным — та группа, где Google берёт меньше всего.

Первая — алгоритмическая переоценка сайта как размноженного контента. 84 текста на 58 языках это 4872 страницы с одинаковой ценностью, и мы, конечно, считаем, что перевод для разных аудиторий совсем не то же самое, что 4872 клона под одну аудиторию. Но Google, похоже, различает это хуже, чем нам хотелось бы.

Вторая версия мне нравится ничуть не меньше: домен молодой, Google дал страницам шанс показаться, замерил, что с ними происходит, и снял. Про такое пишут многие. Смущает разве что форма: обычно это описывают как плавный откат, а у нас за двое суток с тысячи с лишним показов до трёх, это не откат, это обрыв.

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

Что делаем дальше

Новых инструментов пока не выкладываем, потому что при индексе в 15,6% ещё десять страниц ничего не починят, а если верна первая версия, то ещё и повторят удар. Так что на время следствия стройка заморожена.

Свои две ошибки мы закрыли не памятью, которая, как выяснилось, подводит, а механизмом. Редиректы теперь генерируются из реестра опубликованных адресов, а сам реестр стоит проверкой, которая не даст ни сменить уже опубликованный слаг, ни выложить инструмент, переведённый не на все языки. Хочется верить, что в третий раз на эти грабли мы уже не наступим.

Ещё мы завели вот этот самый блог, и это тоже часть плана. Он только на двух языках и переводом не размножается — если Google действительно реагирует на однотипность, то тексты, которых больше нигде нет, это, пожалуй, единственное, что мы можем ему предложить.

Ну и ждём. Первого октября снимем Search Console тем же набором отчётов и сравним, база записана: 15,6% в индексе, 798 страниц с показами. Если что‑то сдвинется — расскажу, самому интересно.

А если у вас было похожее, молодой домен, большая многоязычная выкладка, обвал ступенькой без ручных мер, расскажите в комментариях, чем всё кончилось. Нам это правда важно, и не только из‑за нашего сайта.

Правило из этой истории я для себя записал такое: самая убедительная версия — та, которую надо проверять первой, потому что именно её проверять не хочется.

Оригинал этой статьи — в блоге Toolevia: https://toolevia.com/ru/blog/google‑snyal‑dve‑treti‑sajta/

Комментарии (1)


  1. netricks
    07.09.2026 08:08

    Хм. Идей нет. Шлю лучи бобра и техподдержки.Хм. Идей нет. Шлю лучи бобра и техподдержки.