AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

В 2019 году мы вели сайт федеральной сети аптек «Ригла». Из-за переезда на новый движок с технологией AJAX несколько миллионов страниц пропали с радаров поисковых роботов. Трафик на сайт упал в 4 раза, что отразилось на продажах. Максим Варанкин, SEO-специалист Rush Agency, расскажет, как мы вытащили проект и смогли прирасти по трафику и выручке.

Какую задачу перед нами поставили

«Ригла» — крупнейшая аптечная сеть в России, которая объединяет три бренда:

  • «Ригла» (премиальный сегмент);
  • «Будь здоров!» (средний сегмент);
  • «Живика» (дискаунтер).

В 2019 году представители «Риглы» обратились в Rush Agency, чтобы вернуть трафик после падения. Сайты компании переезжали на движок Magento. Он работает по технологии динамической подгрузки данных — AJAX. Кто сталкивался с этим подходом к разработке, знает, что он совсем не дружит с индексацией поисковых систем.

Сайт «Риглы» уже переехал, на очереди был «Будь здоров!». Но в погоне за красотой фронтенда и скоростью загрузки разработчики забыли про «побочный эффект» AJAX — из-за этого сайт исчез с радаров поисковых систем и перестал индексироваться. SEO-показатели рухнули, за ними последовали продажи.

Немного боли:

  • количество визитов снизилось и в 4,3 раза;
  • число транзакций — в 2,6 раз.

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

Поэтому главная задача, которую перед нами поставили, — вернуть показатели по трафику и заказам для «Риглы» и обеспечить плавный (и контролируемый) переезд на Magento сайта «Будь здоров!».

Раньше по SEO у нас работал один штатный специалист. Очень скоро мы поняли, что его экспертизы недостаточно. Одновременно с этим переезжали на новую платформу Magento и сильно потеряли трафик. Нам срочно понадобилась команда, которая быстро погрузится в проект, исправит ситуацию и в конечном счете поможет достичь главной цели — увеличить долю онлайн-продаж.

Иван Гудков, Руководитель группы продвижения «Риглы»

Как мы планировали ее решать

Наши работы можно разделить на три направления:

  • Восстановление видимости сайта для поисковиков. Это больше техническая, чем творческая задача. Собирать семантику нет смысла, если поисковики не увидят контент.
  • Стандартная SEO-работа: доработка метатегов, заголовков, меню, тексты по собранной семантике.
  • Точечные улучшения после анализа конкурентов. Добавляем новые элементы или пилим новые страницы, чтобы добраться до целевых топов.

Будем объяснять нашу работу на примере «Риглы», для сайта «Будь здоров!» все сделано по аналогии с учетом ассортимента и небольших особенностей. Поехали.

Почему AJAX совсем не герой для поискового продвижения

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

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

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

Обнаружить проблему можно двумя способами:

  • Вбить в поисковую строку Яндекса домен и открыть сохраненную копию. В открывшемся окне будет видно, как поисковая система видит сайт (и видит ли его вообще).
AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации
  • Посмотреть код сайта с помощью комбинации ctrl+u. Если в коде всего 13 строк, среди которых пара символов кириллицы, скорее всего, перед вами AJAX.
AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Внезапный перевод сайта «Риглы» на движок AJAX скрыл от робота большинство блоков сайта и почти 5 млн страниц.

Пользователи видели полноразмерную главную страницу, а поисковики — белый лист.
Пользователи видели полноразмерную главную страницу, а поисковики — белый лист.

Побороли некорректную индексацию

Единственный надежный метод продвижения сайтов на AJAX — настроить обработку запросов таким образом, чтобы робот получил HTML-версию сайта. Это можно сделать с помощью пререндера. Если просто (и условно), пререндер — искусственный «слепок» страницы для поисковиков, который они могут увидеть и проиндексировать. Не будем останавливаться подробно на технической части вопроса — информации в сети много.

Работа с кодом — это обязанность разработчиков. Но они не знают, что добавить на страницу для успешного ранжирования. А мы знаем. Поэтому взяли на себя роль проектного бюро при заводе — составляли ТЗ с учетом SEO, а разработчики писали страницы по нашим инструкциям.

Техническое задание содержит набор элементов для страницы, чтобы она могла высоко ранжироваться:

  • какие элементы должны быть на странице;
  • сколько товаров выводить;
  • что вписать в меню;
  • какие должны быть метатеги и теги: title, description, заголовки H1-H4;
  • оптимизированный текст.

Таких ТЗ нужно много, точнее ОЧЕНЬ МНОГО. Необходимо написать инструкцию для скриптов по каждому типу страниц сайта (страница категории, карточка товара, статья). Схалтурить или скопировать нельзя — важно не просто добиться индексации, но и опередить конкурентов. У которых, напомню, таких проблем нет.

Еще одна сложность — адаптировать контент под требования каждого поискового робота (Яндекс и Google Mobile). На каждую правку мы писали сразу три ТЗ.

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

Как это выглядело на практике:

  • Смотрим, как поисковые роботы видят страницу (Яндекс, Google Mobile отдельно).
  • Составляем ТЗ программистам, где указываем, что некорректно работает.
  • Программист внедряет доработку и возвращает задачу на проверку.
  • Снова переходим к шагу 1: смотрим, как поисковые роботы видят страницу, все ли соответствует нашему ТЗ, все ли роботы видят одинаковый контент.
  • Если все ок — задачу закрываем. Но чаще мы проходили как минимум три итерации.

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

Доработали карточки товаров

Отдельно расскажу по работу над карточками — это последний рубеж перед покупкой, поэтому контент должен сверкать как Breguet патриарха. На сайте было 40 000 товаров и 59 поддоменов — было важно их сделать лидерами по поисковым запросам. Здесь нас встретили сложности регионального продвижения.

Часть страниц не попадала в индекс из-за неуникального контента. Это нельзя назвать ошибкой, потому что часть карточки не меняется — название и состав аспирина не отличаются в Москве и Саратове. Цена и название населенного пункта остались уникальными, но этого было мало. Поисковики считали страницы дублями и не индексировали.

Мы разработали ТЗ, где указали информацию о пунктах выдачи. Это усилило уникализацию товарных страниц в регионах.

Интересно посмотреть, что решения для пользователя и поискового робота отличаются.

Пользователь видит элемент доставки как карту:

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Поисковику не нужна красота, поэтому для него сделали блок с описанием:

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Теперь контент на карточках товаров в разных регионах считается уникальным и индексируется.

Расширили семантику

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

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

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Мы до сих пор не обработали всю семантику, и кажется, что эта музыка будет вечной. Сейчас у нас уже более 30 000 запросов на отслеживании (в уме гораздо больше), и ежемесячно они пополняются.

Информационные запросы

Помимо коммерческих запросов не забывали и про информационные. Мы видим, что блоги конкурентов жируют на трафике, и хотим так же. На сайте «Риглы» был информационный раздел, но его посещаемость оставляла желать лучшего — 300 визитов в месяц.

Принцип работы с информационными запросами как с коммерцией — ищем, кластеризуем, составляем ТЗ на текст. У нас очень крутой копирайтер по медицинской тематике, поэтому страницы сразу заходили в топ и приносили трафик.

300 000 визитов с одной статьи — это не предел
300 000 визитов с одной статьи — это не предел

Разобрались с дублями страниц

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

Ирония судьбы: в борьбе за видимость сайта нам пришлось спрятать часть страниц. Лучший способ это сделать — добавить в код оригинальной страницы тег rel = "canonical". Работа рутинная и простая, но лежит на стороне разработки, которая, как мы помним, уже завалена нашими ТЗ.

Дублирование страниц приводит сразу к нескольким SEO-проблемам:

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

Обычно дублирующие страницы не удаляются, а закрываются от индексации.

Но это того стоило: посещаемость из блога выросла с 300 визитов до 1 млн в месяц.

За 1,5 года блог привел 5,5 млн визитов
За 1,5 года блог привел 5,5 млн визитов

Заказчику важно видеть, что команда заинтересована. Помимо основной поставленной задачи специалисты видят узкие места и проявляют инициативу по их устранению. С самого начала Rush Agency расставили правильные приоритеты. Начали с задач, которые принесут трафик, а потом занимались рутинными дотирками.

Иван Гудков, Руководитель группы продвижения «Риглы»

Результаты проекта

Мы выполнили все цели клиента и смогли справиться с провалом из-за AJAX. Трафик из поисковых систем достиг докризисной отметки и превысил ее.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации
AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Категории, которые мы продвигали, постепенно выходят в топ.

Основные категории (витамины, БАДы, медицинские изделия) (1500 запросов): количество запросов в топ-10 Google с 1,8% до 41,3%

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Категория «Лекарственные формы» (15 000 запросов): количество запросов в топ-10 Google выросло c 2 до 33,8 %.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Солянка (запросы из разных категорий, по которым ранее были переходы) (4000 запросов): количество запросов в топ-10 Google выросло c 50 до 77 %.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Яндекс более требователен к контенту, поэтому ситуация развивается с переменным успехом. Например, категории «Лекарственные формы» пока не прирастают в видимости.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

А вот основные категории (витамины, БАДы, медицинские изделия) постепенно растут.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Сайт «Будь здоров!» мы взяли еще до переезда, поэтому краха удалось избежать. Здесь показатели по трафику на пике выросли в 6,7 раз.

AJAX и пара костылей. Как мы уберегли трафик аптек «Ригла» и «Будь здоров!» от нулевой индексации

Клиент доволен нашей работой и планирует продолжать.

Rush Agency несколько раз доказали, что их предложения приводят к результату. Ребята успешно подняли «Риглу» и помогли переехать сайтам «Будь здоров!» и «Живики». Последние не потеряли ни в трафике, ни в конверсии. За время работы число транзакций с сайта увеличилось в 3,2 раза, а выручка — в 3,4 раза. Пока мы абсолютно довольны.

Иван Гудков, Руководитель группы продвижения «Риглы»

Что не получилось

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

Вот как видят страницу поисковики. Слева нет меню, вместо него — слепое белое пятно. Его только предстоит внедрить
Вот как видят страницу поисковики. Слева нет меню, вместо него — слепое белое пятно. Его только предстоит внедрить

Самым большим ограничением была разработка, задачи могли лежать до года и лежали бы так дальше. Даже минимальные корректировки вносятся не с первого и даже не со второго раза, есть ошибки. Дошло до того, что мы перерабатываем особо древние ТЗ из бэклога, потому что выдача и конкуренты уже поменялись.

Недавно за проект взялась новая команда разработчиков, и мы надеемся, что дело пойдет бодрее.

О чем следует помнить, продвигая сайты на AJAX

  • Убедитесь, что проблема именно в разработке. Сайты с динамическим отображением контента идентифицируются двумя способами: с помощью сохраненной копии или кода.
  • Посоветуйтесь с SEO-специалистом перед любыми серьезными апдейтами сайта. Разработчики топят за красоту и работоспособность сайта, но иногда забывают про требования поисковых систем.
  • Обеспечьте выполнение всех ТЗ, которые присылает оптимизатор — в SEO не бывает неважных задач.
  • Нанимайте людей, которые умеют разговаривать с разработчиками на одном языке — сэкономите кучу нервов.

***

Если вам интересна тема SEO, подписывайтесь на наш телеграм-канал — там мы рассказываем о лайфхаках от наших лучших экспертов.

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

2626
25 комментариев

А ведь проблем с индексацией Client Side Render у Google особо нет. У нас сайт только на него нацелен - никаких проблем. Видимо, другим поисковикам нужно еще 10 лет, чтобы внедрить такую индексацию.

3
Ответить

Видимо, вы смотрите только в разрезе вашего сайта.
Гуглбот хоть и использует 74-й Chromium движок для рендеринга, однако есть ограничения для JS сайтов, про которые они сами же и говорят.
На моей практике 2/3 сайтов на SPA рендерятся Гуглом криво. Либо какие-то части рендерятся криво.

Поэтому лучше настраивать SSR. Инструментов и сервисов достаточно.

3
Ответить

вы год пытались внедрить пререндер? почему так долго восстанавливался трафик?

Ответить

В больших компаниях всегда большие интервалы принятия решений.

4
Ответить

SEO-гуру-кейс!
То есть вы просто настроили пререндер, после косяка с ajax.

Ок! Молодцы! Титанический труд! 

1
Ответить

Мы просто настроили пререндер, просто отдаем по нескольку десятков ТЗ в месяц разработчикам и просто контролируем, чтобы все нормально индексировалось. В процессе просто расширяем семантику и очень просто гоним информационный трафик. А в итоге просто приросли по посещаемости в отрасли с огромной конкуренцией и и просто в разы увеличили выручку для клиента. А потом просто написали кейс.

А вы просто пишете комментарии на VC. Каждому своё)

1
Ответить

Классно работают хлебные крошки...

Ответить