Назад

Технический аудит и план доработки интернет-магазина homeharvest.ru

Задача

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

Заказчик

HomeHarvest — интернет-магазин оборудования для выращивания растений: светодиодное освещение, гидропонные системы, субстраты, удобрения, вентиляция, приборы контроля pH и EC. В каталоге более трёх тысяч товаров и почти шестьсот разделов. Сайт работает на 1С-Битрикс.

Главная страница магазина
Главная страница магазина

Что сделали

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

Результат оказался неожиданным для всех участников.

Детектив с пропавшим каталогом

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

Сверка карты сайта с базой данных: каждый четвёртый адрес не открывается
Сверка карты сайта с базой данных: каждый четвёртый адрес не открывается
  • Карта сайта вела в никуда. Файл не обновлялся полтора года, и 1200 адресов из 4109 отдавали ошибку 404. Магазин сам сообщал поисковику о тысяче двухстах несуществующих страниц.
  • 318 живых товаров в карту не попали вовсе. Их не было ни в карте, ни в доступных роботу ссылках.
  • Причина оказалась банальной. Сбой генератора: более пятисот адресов разделов записывались без завершающего слеша и поэтому не открывались. Половина проблемы решалась не тысячей редиректов, а одной настройкой.

А дальше выяснилось, что и обходного пути у поисковика нет.

Переход на вторую страницу раздела запрещён в robots.txt, а подгрузка товаров работает на JavaScript
Переход на вторую страницу раздела запрещён в robots.txt, а подгрузка товаров работает на JavaScript

Запрет на адреса страниц пагинации в robots.txt вместе с подгрузкой товаров через JavaScript означал одно: робот видит первую страницу раздела, а дальше каталог для него заканчивается.

Поиск, который не находит

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

Запрос «TS 1000»: сначала уценённый экземпляр, затем гроубокс, и только третьей — нужная модель
Запрос “TS 1000”: сначала уценённый экземпляр, затем гроубокс, и только третьей — нужная модель

Товар находился, но порядок результатов работал против магазина: основная модель в выпадающем списке оказывалась ниже уценки и ниже другого типа товара, в описании которого упоминалась та же модель.

“Все товары в наличии”. Все три тысячи

Затем мы открыли шаблон карточки товара и увидели, что данные для поисковых систем записаны прямо в коде константами.

Четыре строки, которые одинаково выводились на всех карточках магазина
Четыре строки, которые одинаково выводились на всех карточках магазина

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

В каталоге статус «в наличии» стоит у всех позиций подряд
В каталоге статус “в наличии” стоит у всех позиций подряд

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

Фильтр, в котором нечего фильтровать

В магазине оборудования покупатель выбирает по мощности, площади освещения, диаметру, объёму. Сайт предлагал фильтровать только по цене.

Свойства в каталоге есть, но к фильтру не подключено ни одно из них
Свойства в каталоге есть, но к фильтру не подключено ни одно из них

Причина нашлась в базе данных. Свойств у каталога оказалось 1025, но 929 из них — свободные текстовые строки, а у 833 не было даже символьного кода. Для фильтра “200 Вт”, “200вт” и “200 w” — три разных значения.

Вывод неприятный, но важный: включить фильтр “за пару часов” нельзя. Сначала свойства нужно привести в порядок и только потом строить на них посадочные страницы под запросы вида “светодиодный светильник 200 вт купить”.

Телефон: половину экрана занимает баннер

Значения взяты из таблицы стилей сайта
Значения взяты из таблицы стилей сайта

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

Главный вывод: переписывать сайт не нужно

К этому моменту на столе лежало предложение перевести магазин на отдельную витрину — с обещанием, что сайт станет “в разы быстрее” и поднимется в выдаче.

Мы измерили скорость по частям. Сервер отдавал готовую страницу за 0,5—0,9 секунды: серверная часть работала нормально. Вся задержка возникала уже в браузере.

Изображения выводятся в исходном размере — такими, какими их загрузили в админку
Изображения выводятся в исходном размере — такими, какими их загрузили в админку
  • На главную загружалось 72 изображения общим весом 14,1 МБ, в подборках выводились оригиналы до 4422 × 2948 пикселей.
  • На сервере хранилось 5 ГБ неоптимизированных оригиналов.
  • Тринадцать файлов стилей блокировали отрисовку, объединение и минификация были отключены.
  • Кэширование не было настроено вообще, хотя лицензия магазина это позволяет.
  • Защита форм загружалась на каждой странице сайта, а не при заполнении формы.

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

Переписывание витрины потребовало бы заново собрать корзину и оформление заказа и добавило бы второй контур поддержки
Переписывание витрины потребовало бы заново собрать корзину и оформление заказа и добавило бы второй контур поддержки

Мы рекомендовали сайт не переписывать.

Решение

Вместо общих рекомендаций заказчик получил план работ из конкретных задач с часами, выстроенный по приоритету.

  • Сначала деньги, а не трафик. Проверка и восстановление поиска товаров, оформления заказа и выбора города. Пока покупатель не может завершить заказ, любой привлечённый трафик не окупается.
  • Затем видимость. Открытие пагинации, перенастройка карты сайта, обработка удалённых адресов, склейка зеркал, canonical, исправление шаблонов мета-тегов. Самая дешёвая часть плана и самая результативная для поиска.
  • Потом данные о товарах. Замена констант в разметке на реальные наличие, цену и состояние.
  • Скорость. Миниатюры вместо оригиналов, современные форматы изображений, кэширование, оптимизация стилей и скриптов.
  • Удобство. Мобильная версия, нормализация свойств и запуск полноценного фильтра, релевантность поиска по сайту: порядок результатов должен быть правильным и в выпадающем списке, и в карточках товаров на странице результатов, особенно на мобильном.
  • Фундамент. Тестовый стенд, обновление версий PHP и MySQL до поддерживаемых платформой, заголовки безопасности.

Результаты

  • Точная картина вместо предположений. Все выводы подтверждены данными сервера и базы: не “карта сайта устарела”, а 1200 конкретных битых адресов с разбором причин по каждой категории.
  • План на 193 часа вместо 550—820. Заказчик получил детальную смету работ по текущему сайту — втрое дешевле переписывания витрины и без риска потерять позиции на переезде.
  • Отказ от лишних трат. Из предложений, которые рассматривал владелец, отсеяно то, что не даёт эффекта или создаёт риск санкций поисковых систем.
  • Понятный порядок действий. Работы выстроены так, что каждый следующий этап опирается на результат предыдущего, а эффект можно измерить.

Заключение

Сайту на 1С-Битрикс редко нужна замена платформы. Гораздо чаще ему нужен человек, который откроет исходники, сверит карту сайта с базой и посчитает, сколько страниц поисковик на самом деле может увидеть.

В случае HomeHarvest именно это и решило вопрос: вместо дорогой переделки — точный список задач, который возвращает магазину видимость в поиске и работающую покупку.

Оставьте заявку, и мы подготовим вам предложение
Заказать
такие работы
Заказать звонок
Заказать звонок