Пингвин, панда (с дочкой) и другая санкционка за бугром — «зверополис» в Google

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

Пингвин, панда (с дочкой) и другая санкционка за бугром — «зверополис» в Google

От кого: Егор Иванов, частный SEO‑специалист.

Задача: Увеличение поискового трафика на сайт, и как следствие, увеличение количества заказов по всем категориям товаров.

Ниша: Табаки, жижи, кальяны, электронные сигареты (Польша)

Срок работ над проектом: 01.09.2024 по н.в.

Создание саспенса

Очередной скучный кейс по продвижению интернет‑магазина… Нет, на этот раз в рамках своей истории я развею несколько SEO‑мифов. Покажу сообществу оптимизаторов моменты, которые многие уже давно считают неважными. Но они до сих пор являются фундаментом любого процесса оптимизации. Повествование в кейсе пойдёт под лозунгом — техничка наше всё.

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

Именно поэтому я сосредоточил свой оптимизационный скилл исключительно на интернет‑магазинах на платформе InSales. Сразу же стал сертифицированным партнером SaaS решения для e‑commerce — Иванов Егор SEO. И вы спросите: «Зачем нам это в кейсе?». И будете правы — затем, чтобы до конца проникнуться сутью истории, которая далеко не в решении возникших проблем.

Вводные данные

В мои оптимизационные руки попадает проект https://warszawahookahhub.pl/ — интернет‑магазин по продаже табака, жиж для вейпов, электронных сигарет и кальянов в Польше.

Домену уже год (на момент начала работ), сайт имеет какой‑то трафик — начинаю не с 0. Но в плане оптимизации не сделано ничего (хотя нет, в Google Search Console он был добавлен :) ). Сайт просто создан и наполнен. Поэтому мне предстоял обыденный и тернистый путь развития сайта.

«Первичка» или первичная оптимизация

Не все специалисты начинают свою работу с проектами с данного этапа. Кто‑то перво‑наперво собирает семантику, кто‑то бежит за ссылками, а кто‑то готовится делать счёт‑отчёт. Моя механика работы — это всегда начинать с проверки и решения базовых технических моментов:

  • добавление сайта в вебмастеры (неочевидное добавление сайта в вебмастер «Яндекса», т.к. в Польше тоже пользуются этим поисковиком);

  • проверка и привязка регионов (Я.Бизнес, Google My Business);

  • проверка метатегов title и description на дубли, и их шаблонная уникализация;

  • проверка верстки в рамках наличия множества заголовков h1 на страницах сайта;

  • правка 3ХХ и 4ХХ ошибок;

  • поиск и избавление от дублей страниц как на сайте, так и в индексе с помощью robots.txt, meta robots и других механик;

  • проверка XML‑карты и добавление в вебмастеры Google и «Яндекс»;

  • проверка индексации сайта и внедрение рекомендаций по её улучшению;

  • и т.д., и т.п.

Предвижу ваши возражения: «Банальщина! Скукота! Да зачем это нужно?». Это да, но после этого анализа были выявлены некоторые ключевые проблемы сайта, которые мешали ему как‑то расти.

Мультиязычность: беда или Победа

Сайт имеет 3 языковых версии, которые реализованы с помощью переключения по get‑параметру в URL:

  • https://warszawahookahhub.pl/ — основной русский язык. Почему именно русский? В Польше достаточно много экспатов с нашей родины и в первую очередь именно они были основной ЦА данного магазина;

  • https://warszawahookahhub.pl/?lang=pl — польский язык. Ну это чтобы и основное население страны не терять;

  • https://warszawahookahhub.pl/?lang=en — английский язык. Для планов по захвату всей Европы.

Проблема №1 и её решение

Как вы догадались, языковые версии на польском и английском были практически на 80% русскоязычными. Мы имели кучу дублей страниц и могли пойти разными путями:

  • закрытие от индексации всех вариантов других языков (или вообще жестко выпилить их из кода);

  • перевод контента под нужные нам языки.

Я выбрал второй вариант, т.к. он сулит нам более богатые перспективы. И не пожалел об этом. Работы по переводу не заняли много времени.

Изначально в рамках работы с шаблонными элементами сайта я задал переменные для их перевода. Это чистая работа с кодом. Благо это не первый опыт работы с мультиязычным сайтом на InSales, поэтому данная задача была быстро решена.

Далее перевод основного контента страниц. Здесь пришлось потратить больше времени:

  1. Основной контент тела сервисных страниц типа https://warszawahookahhub.pl/page/payment пришлось переводить ручками.

  2. Все товары я выгрузил в .xls, загнал его в DeepL и получил готовые выгрузки для 2‑х других языковых версий, где были переведены названия и краткие/полные описания товаров.

Проблема решена очень быстро. Теперь мы имеем больше уже готовых страниц для получения трафика. Но нужно забить их в индекс:

Увеличение количества страниц в индексе Google.
Увеличение количества страниц в индексе Google

Проблема №2 и её решение

Hreflang — сколько бы не говорили, что Google уже настолько умный, что ему этот ваш «хрефлэнг» и не «нуЖон». Но это далеко не так.

Думаю кто-то из читателей вспомнит этот мем
Думаю кто‑то из читателей вспомнит этот мем

Хотите сделать всё идеально — заморочьтесь. Для изучения темы тегов hreflang и вариантов её реализации рекомендую статью Ильи Горбачева. Также рекомендую его инструмент проверки тегов hreflang в Rocket Tools (но сам я юзал «лягуху»).

В InSales не всё так просто с реализацией этих тегов. И вариант только один — через HTML‑код. XML‑карты и HTTP заголовки на платформе не имеют возможности кастомизации под конкретный проект.

Пример для страницы https://warszawahookahhub.pl/collection/e-hookah:

<link rel="alternate" href="https://warszawahookahhub.pl/collection/e-hookah" hreflang="ru" />
<link rel="alternate" href="https://warszawahookahhub.pl/collection/e-hookah?lang=pl" hreflang="pl" />
<link rel="alternate" href="https://warszawahookahhub.pl/collection/e-hookah?lang=en" hreflang="en" />
<link rel="alternate" hreflang="x‑default" href="https://warszawahookahhub.pl/collection/e-hookah" />

А ещё, чтобы у всех оптимизаторов с большим стажем свело «олдскулы», вставлю скриншот инструмента «Параметры URL», который был доступен в Google Search Console до 2‑го квартала 2022 года.

Скриншот старого интерфейса Google Search Console, инструмент «Параметры URL»
Скриншот старого интерфейса Google Search Console, инструмент «Параметры URL»

Вот новость об его отключении — здесь. В каком‑то отношении он мог избавить от «технического геморроя» в рамках работы с языковыми параметрами. Но увы — я всё реализовывал самостоятельно через код.

Обычный метод бустинга интернет‑магазина или раскачиваем Google без ссылок

Такс, с техничкой порешали. Можем двигаться дальше и искать точки роста проекта.

Рядовой оптимизатор сказал бы: «Ну и где мой бюджет на ссылки? Ведь Google — это про ссылки, и без них никуда!». Отчасти соглашусь, но изначально в не очень конкурентной тематике под ваше ГЕО можно работать и без ссылочного. А как? Да классические SEO‑фильтры (или как многим привычнее — «Плитка тегов») работают для интернет‑магазинов и в бурже.

Тут даже Илья Исерсон из MOAB писал большой кейс по «Озону», где ключевой момент развития маркетплейса был в создании теговых страниц со спросом. Всё же на поверхности и велосипед давно изобретён.

Берём семантику, здесь я юзал Ahrefs, ищем по маркеру категорий сочетания запросов «тип товара» + «характеристика». Если их хотя бы несколько и они имеют адекватную частоту, и в тоже время у нас есть ассортимент, то делаем такой SEO‑фильтр.

Дисклеймер: напомню, никакой автоматизации. Мы не OZON, чтобы просто брать и открывать для индексации страницы результатов поиска. А вот эти автоматизированные механики создания страниц тегов, которые всех на всё перемножают, это примерно тоже самое в масштабах небольшого интернет‑магазина. Поэтому здесь только РУЧНАЯ проработка!

Поиск запросов в Ahrefs
Поиск запросов в Ahrefs

Таким образом мы получили множество страниц подобных этой — https://warszawahookahhub.pl/collection/e-hookah/5000 (а ещё напомню у нас парочка дополнительных языковых версий. Это ещё семант, поэтому идея‑фикс полностью оправдана)

Дополнительная языковая семантика
Дополнительная языковая семантика

Зачем я это всё делал?

Все проделанные манипуляции в первые месяцы работ над сайтом помогли нам раскачать проект и увеличить общую посещаемость с ~ 50 кликов из поиска в день до ~135. Почти в 2,5 раза мне удалось увеличить поисковый трафик за счёт самой базовой оптимизации, без регистрации и без смс (ну т.е. без ссылок под Google — напомню, продвигаем бурж).

Скриншот из GSC, первичный рост трафика в Google
Скриншот из GSC, первичный рост трафика в Google

Крах империи или мисс Барашкис наносит ответный удар

Будем считать в этой истории, что мисс Барашкис это Google
Будем считать в этой истории, что мисс Барашкис это Google

После данного успеха я уже пью «Боржоми», готовлюсь к отдыху на Мальдивах (нет) — вообщем успокоился и думаю, что ситуация у меня под контролем и нужно только масштабировать успех. Но настал день «X» — 20.12.2024 года.

Открываю я GSC данного проекта и вместо какой‑то средней величины кликов за день вижу цифру в 27 кликов за день! 27 кликов, Карл! Не верю своим глазам и бегу всё перепроверять. Перепроверять именно глюки показаний GSC, т.к. в конце октября 2024 года там уже было что‑то подобное. Данные не считались за текущий день — пруф на пост Андрея Буйлова в его телеграмм‑канале.

Ничего такого не обнаружил по информации в сети и решил подождать пару‑тройку дней — может действительно глюк. Клиенту также об этом ничего не сказал.

Проходит 1‑2 дня и я вновь захожу в GSC — там продолжается та же история от 10 до 20 кликов в день. Ситуация патовая и я решаю написать об этом заказчику:

  • может что с ассортиментом случилось;

  • может забыл оплатить платформу (но сайт работал, это я уж так);

  • может внутри страны какие события и всем не до вейпов с кальянами (даже такое я предполагал);

Может не может — передумал всё что можно, пока ждал ответ от клиента. И он меня очень успокоил.

Переписка с клиентом по поводу проблемы падения трафика
Переписка с клиентом по поводу проблемы падения трафика

Ну думаю раз рождество и все празднуют, то значит и мне переживать не из‑за чего.

Дисклеймер: конечно я сразу снял позиции и ужаснулся. Не хотел в это верить и искал всевозможные оправдания тому, что позиции снялись неверно или это просто какой‑то баг. Но это не так — Топвизор не врёт!

Скриншот из Топвизора. Вылет позиций сайта за ТОП‑100
Скриншот из Топвизора. Вылет позиций сайта за ТОП‑100

Как видно из скриншота проверки позиций — из ТОП‑100 вылетели все запросы, кроме брендовых. Они просто упали. Ну и здесь я сразу понимаю, что это ФИЛЬТР! И это был мой первый фильтр под Google в оптимизаторской роли — сразу скажу, это очень страшно.

Начинаю методично копать информацию о том, за что нам могло это всё прилететь:

  • это не Penguin — я ссылки не закупал, конкуренты ссылок не накидывали

Ссылочный профиль сайта интернет‑магазина warszawahookahhub.pl в Ahrefs
Ссылочный профиль сайта интернет‑магазина warszawahookahhub.pl в Ahrefs
  • это не песочница, т.к. домену больше года и он уже имел какой‑то трафик и позиции;

  • ну и остаётся Panda, т.к. с другими фильтрами в Google я вообще в принципе не знаком (которые официальные).

За что же у нас накладывается Panda — дублирующий низкокачественный и нерелевантный контент. Проще говоря спам на сайте. Но у нас то этого нет (думал я до момента запуска лягушки).

И вот в рамках краулинга сайта с помощью SF SEO Spider я понимаю, в чём проблема.

Основная проблема любого SaaS решения, а в моём конкретном случае это InSales, то, что в рамках сайта может что‑то отвалиться/измениться/перестать работать всё что угодно без вашего ведома в связи с какими‑то обновлениями платформы. Мой случай — это как раз тот самый случай.

Пагинация на данной платформе реализована через GET‑параметр ?page. Для страниц языковых версий она выглядит вот так https://warszawahookahhub.pl/collection/e-hookah?lang=pl&page=2 (т.е. сразу 2 параметра в URL — язык и страница). И это работало как часы, до 20.12.2024 года. Переменная смены языка начала вести себя по‑другому и я начал получать бесконечное количество ссылок вида, отображаемого ниже, на сайте интернет‑магазина.

  • /collection/BlackBurn-100g?page=2lang=enlang=enlang=pllang=pllang=enlang=pl&lang=en;

  • /collection/classic-line?page=2lang=enlang=pllang=pllang=pllang=pllang=enlang=pllang=enlang=pllang=pllang=pllang=enlang=pllang=en&lang=en/collection/420?page=2lang=enlang=enlang=pllang=enlang=pllang=enlang=enlang=enlang=pllang=enlang=enlang=en&lang=en;

  • /collection/420?page=2lang=enlang=enlang=enlang=pllang=enlang=enlang=enlang=pllang=enlang=pl&lang=en.

Таких ссылок в отчёте о краулинге сайта было бесконечно много. Они создавались циклически и парсинг не останавливался. И это всё начало залетать в индекс с молниеносной скоростью, что совсем не похоже на Google (к слову в «Яндекс» вообще ничего из этих кривых URL не зашло в индекс).

Выход из данной ситуации

  1. Правка технической части. Здесь я просил своего друга программиста из студии ProSales помочь мне в том, чтобы остановить это «колесо Сансары». После проверки «Фрогом» проблема ушла.

  2. Максимально расширил https://warszawahookahhub.pl/robots.txt, как точечными правилами для закрытия от индексации конкретных URL, так и общим правилом:

  • Disallow: *lang=enlang=pl*

  • Disallow: *lang=pllang=en*

  • Disallow: *lang=enlang=en*

  • Disallow: *lang=pllang=pl*

  1. Начал вручную удалять «мусорные» URL из индекса Google с помощью инструмента в GSС. Парсил индекс и по одной ссылке вставлял в этот инструмент. Другого Google нам не подвёз.

  2. Remove.js — до столкновения с этой проблемой я пользовался только Indexing API от Google в режиме Index.js. То есть только отправлял на переобход новые страницы или не проиндексированные ранее. К слову, отличная инструкция по настройке Indexing API под Google есть у «Пиксель Плюс» Димы Севальнева — здесь. А мне нужен был такой же инструмент массового удаления страниц из индекса Google. После подробного изучения документации по Indexing API, я нашёл, что эта фича может и на удаление работать. Но как это реализовать у себя на компе? (отмечу, что Indexing API работает локально на конкретном компьютере, где вы его настроили).

Ну и здесь на помощь приходит DeepSeek, с которым я смог без проблем накодить новый файл Remove.js, который вы можете скачать по ссылке — здесь. Итого, вы настраиваете Indexing API по инструкции от «Пиксель Плюс». Далее кидаете в папку со скриптами мой файлик и в терминале юзаете команду node remove.js.

Здесь такая же квота на 200 URL в день для одного хоста. Поэтому дальше я просто постоянно обновлял файл парсинга индекса Google по этим мусорным URL. Кстати с этой задачей идеально справлялся плагин для Google Chrome — Instant Data Scraper. Спасибо Игорю Бакалову за открытие для меня этого плагина в своём телеграмм‑канале.

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

Сохранение лояльности клиента

Наступает январь 2025 года и ситуация не налаживается. Я напрямую пишу клиенту всё как есть: «У нас фильтр, когда вылечимся не знаю». И параллельно выкатываю предложение о том, что я буду работать без оплаты до того момента, пока не сниму этот фильтр и ситуация с трафиком не наладится.

Опрометчивый ход (ведь фильтр может и не сняться в принципе), но я был уверен в лучшем исходе событий. Также у меня на продвижении был второй сайт этого клиента, но уже другой тематики, где дела шли куда лучше. Ну и чтобы сохранить лояльность заказчика, я решил пойти на такой шаг.

Снятие фильтра или победа Хопс

Я в этом «Зверополисе» выступаю за Джуди Хопс
Я в этом «Зверополисе» выступаю за Джуди Хопс

Из недели в неделю я повторял идентичные итерации с парсингом выдачи Google на «мусорные» URL и их удаление как через Indexing API, так и мануальным способом через интерфейс Google Search Console.

Отчёт об удалённых URL в GSC. Ограничение вебмастера больше 1000 результатов не показывает, но их было удалено гораздо больше даже в ручном режиме
Отчёт об удалённых URL в GSC. Ограничение вебмастера больше 1000 результатов не показывает, но их было удалено гораздо больше даже в ручном режиме

Большая радость пришла ко мне 09.04.2025, когда я в очередной раз зашёл в GSC и увидел огромный скачок по показам и кликам. Я подумал про себя: «Вот она победа! Фильтр снят!».

Восстановление былого уровня трафика на сайт из отчёта в GSC
Восстановление былого уровня трафика на сайт из отчёта в GSC

Потом я пошёл чекать позиции в Топвизор. Там тоже меня всё радовало зеленым цветом.

Восстановление позиций по семантическому ядру
Восстановление позиций по семантическому ядру в Топвизоре

Ну и конечно со всех ног (а точнее пальцев рук) бегу радовать заказчика данной новостью. Получаю в свой адрес слова благодарности за проделанную работу по восстановлению трафика на интернет‑магазин и снятию фильтра.

Ну и после этого этапа мы продолжаем оптимизацию данного интернет‑магазина на тех же финансовых условиях, что были до попадания под фильтр.

Дисклеймер: я считаю, что поступил правильно в данной ситуации. Возникшая техническая проблема на сайте и следствие попадания под фильтр не являлось моей ошибкой или халатностью — просто так сложились обстоятельства. Но чтобы бизнес мог вам платить, ему нужны клиенты/заказы/трафик. Поэтому период без оплаты был моей инвестицией в дальнейшую оплату работ по данному проекту.

Приятные сюрпризы не заканчиваются

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

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

Рост поискового трафика из Google после выхода из под фильтра
Рост поискового трафика из Google после выхода из под фильтра

Общая картина всей этой истории выглядит вот так. Рад, что получилось повернуть данную ситуацию в положительное русло. Хотя гарантий выхода из под фильтра нельзя дать никаких.

Общая динамика роста поискового трафика в Google
Общая динамика роста поискового трафика в Google

Заключение

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