Региональный SEO-аудит каталога Битрикс: как один запрос к базе показал, что каталог разрезан пополам

Евгений Урядов

Региональный SEO-аудит каталога Битрикс: как один запрос к базе показал, что каталог разрезан пополам

Structured Answer: Региональный SEO в 1С-Битрикс (в решениях Аспро — через свойство привязки карточек к регионам) ломается молча: со стороны витрины ошибку не видно, а региональный поддомен недополучает ассортимент. На реальном проекте — магазин с сетью из 25 региональных поддоменов — один аналитический запрос к базе показал: из 158 активных карточек полных только 70, у 38 не хватает ровно одного конкретного региона, и ещё 50 привязаны к единственному региону и наполняются фидами. Чинится точечно — одной операцией для «дырявой» группы, без массовой правки. Мораль: региональность — не настройка «сделал и забыл», а данные, которые нужно периодически сверять.

Региональность — одна из самых дорогих механик B2B-интернет-магазинов на Битриксе: сеть поддоменов по городам, у каждого свои товары, цены и выдача. И одна из самых хрупких: привязка карточек к регионам живёт в свойстве инфоблока, и когда контент-менедж завёл товар мимо, фид перезалил данные или регион добавили позже остальных — карточка просто исчезает с поддомена. Без ошибок в админке, без писем от мониторинга.

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

В решениях Аспро карточки каталога привязываются к регионам через свойство инфоблока (типа «список» или привязка к инфоблоку регионов). Витрина поддомена показывает карточки, у которых в этом свойстве есть её регион. Логика простая — и именно поэтому дыры в ней не видны:

  • карточка активна, у неё есть цена, она в поиске основного домена;
  • на региональном поддомене её просто нет;
  • никто не ошибся — просто регион не проставили, проставили не весь или фид перезаписал привязку.

Клиент видит симптом третьими руками: «а почему у нас в Самаре нет вот этих позиций?» — или не видит вообще, потому что не знает, что должно быть.

Кейс: 158 карточек и три состояния

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

Результат:

ГруппаКарточекРегионов у каждойЧто это значит
Полные70все 25Здоровая часть каталога
«Дырявая» ветка3824У всех не хватает ровно одного региона
Региональная ветка50только 1Наполняются фидами, регион один и тот же

Итого 158 активных карточек — и каталог фактически разрезан пополам по одному региону: у 38 карточек «основной» ветки не хватает именно его, а 50 карточек «региональной» ветки существуют только в нём. Симптом «в половине карточек нет текста» от контент-менеджера — это те же 50 фидовых позиций: фид приносит товар и цену, но не описания.

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

Сам запрос

Идея аудита — считать не товары, а число регионов на карточку. Концептуально для Битрикса это выглядит так:

SELECT
  cnt.regions,
  COUNT(*) AS cards
FROM (
  SELECT be.ID, COUNT(bep.VALUE) AS regions
  FROM b_iblock_element be
  JOIN b_iblock_element_property bep
    ON bep.IBLOCK_ELEMENT_ID = be.ID
   AND bep.IBLOCK_PROPERTY_ID = :REGION_PROPERTY_ID
  WHERE be.ACTIVE = 'Y'
    AND be.IBLOCK_ID = :CATALOG_IBLOCK_ID
  GROUP BY be.ID
) cnt
GROUP BY cnt.regions
ORDER BY cnt.regions;

На выходе — таблица из кейса выше: сколько карточек с 25 регионами, сколько с 24, сколько с 1. Дальше уточняющий запрос по конкретной группе — и видно, какого именно региона не хватает (сравнив со справочником регионов) и какие именно карточки затронуты. Весь аудит занимает минуты; ручная проверка витрины не дала бы ничего — с поддомена «неправильные» карточки просто не видны.

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

Чинить — точечно, а не массово

У решения этого кейса есть нюанс, который спас от большой ошибки. Интуитивное «проставим все регионы всем 88 не-полным карточкам» здесь было бы вредным:

  • 38 «дырявых» — правятся одной операцией: добавить недостающий регион. Ровно одна INSERT-операция по списку ID, список — из уточняющего запроса.
  • 50 фидовых — трогать нельзя: при следующей загрузке фид перезапишет ручную привязку, и работа пропадёт. Их судьба решается на уровне фида или постановкой задачи поставщику данных.

То есть половина «проблемных» карточек вообще не чинится руками — и без аудита это неочевидно.

Что это даёт SEO

Прямые следствия дыры в привязке:

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

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

Вывод

Региональность в Битриксе — это данные, а не настройка. Данные дрейфуют: фиды, новые ветки каталога, человеческий фактор. Аудит в один запрос дешевле, чем месяц недобора трафика по региону, — а делается за минуты, если знать, куда смотреть.

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

📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale

ИП Урядов Евгений Евгеньевич · ИНН 645112058391 · ОГРНИП 312645301900058 Работаем по России, Беларуси и Казахстану

Частые вопросы

Как часто нужно проверять региональную привязку каталога?

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

Можно ли решить проблему массово — скопировать все регионы во все карточки?

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

Почему это не находит обычный SEO-аудит?

Аудитор со стороны видит витрину и выдачу, а дыра живёт в данных: карточка существует, активна, но на конкретном поддомене её нет. Нужен доступ к базе и один аналитический запрос — тогда картина видна целиком, за минуты.

Что нужно, чтобы провести такой аудит на своём проекте?

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

📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale · 🌐 automata.sale

ИП Урядов Евгений Евгеньевич · ИНН 645112058391 · ОГРНИП 312645301900058
Работаем по России, Беларуси и Казахстану