SKU-уровневая приоритизация краулинга (SKU-Level Crawl Prioritization)
1. Архитектура и принцип работы
Магазин делит весь каталог SKU на приоритетные тиры по бизнес-метрикам: маржинальность, наличие на складе, поисковый спрос, уникальность описания и наличие внешних ссылок. Для каждого тира формируется отдельный sitemap с приоритетом и частотой, задаётся разная глубина внутренней перелинковки от категорийных хабов, а низкоприоритетные SKU (out-of-stock, дубли, нулевой спрос) уводятся в noindex или за пределы основной навигации. Серверная логика через middleware или edge-функцию определяет бота по User-Agent и рефереру и отдаёт ему блок «рекомендуемые аналоги» с приоритетными SKU. Дополнительно настраивается динамический sitemap, пересобираемый по событиям изменения остатков и маржи, чтобы бот получал актуальную карту обхода без ожидания полной переиндексации.
2. Математическая механика и триггеры ранжирования
Ядро механики — согласование трёх контуров: бизнес-приоритета (маржа × спрос × остаток), технической доступности (глубина клика, вес внутренних ссылок, скорость ответа сервера) и сигналов качества (уникальность текста, наличие отзывов, микроразметка Product с Offer). Рассчитывается скор приоритета: P = w1·margin + w2·demand + w3·stock + w4·uniqueness − w5·clickDepth. Бот, попадая на хаб, получает ссылки на SKU с максимальным P, что ускоряет их обход и увеличивает частоту ре-краулинга. На уровне логов отслеживается доля обходов по тирам (crawl allocation ratio) и сопоставляется с долей выручки тира. При расхождении корректируется sitemap priority, частота changeFreq и вес ссылок. На edge-уровне можно отдавать ботам предрендеренный блок «топ-20 приоритетных SKU» без влияния на UX. Механика особенно критична для каталогов 50 000+ SKU, где краулинговый бюджет физически не покрывает весь каталог.
3. Специфика в Яндекс (YATI) vs Google
Яндекс в большей степени опирается на коммерческие факторы и качество карточки (наличие, цена, отзывы, доставка) и активнее переобхаживает страницы с хорошими ПФ и коммерческими сигналами — приоритизация по остатку и марже даёт быстрый отклик. Google опирается на sitemap-приоритеты, внутреннюю перелинковку и сигналы качества контента, а также на Indexing API и IndexNow-совместимые пинги; для Google важнее уникальность и структурированные данные, тогда как для Яндекса — актуальность цены и наличия. В Яндексе доля обхода по тирам сильнее коррелирует с видимостью в товарной выдаче, в Google — с попаданием в Shopping-граф через Merchant Center. Практика: для Яндекса усиливать сигналы наличия и коммерции, для Google — sitemap-сегментацию и JSON-LD.
4. Нормативы SLA и диагностическая матрица
| Параметр / Метрика | Эталон по SLA | Критическая ошибка |
|---|---|---|
| Crawl allocation ratio (high-tier) | ≥ 60% обходов на high-tier | < 30% — бюджет размазан |
| Click depth приоритетных SKU | ≤ 3 клика от хаба | > 5 кликов — медленный обход |
| Re-crawl latency high-tier | ≤ 48 часов | > 7 дней — устаревшие цены |
5. Пошаговый инженерный протокол внедрения
- Сегментируйте sitemap по тирам приоритета (high/mid/low) с разными priority и changeFreq, пересобирайте по событиям остатков через очередь.
- Внедрите middleware для ботов, отдающий блок приоритетных SKU-аналогов на карточках out-of-stock и в категорийных хабах.
- Считайте crawl allocation ratio из логов и сверяйте с долей выручки тира ежемесячно, корректируйте веса ссылок.
- Для SKU с нулевым спросом и нулевой маржой используйте canonical на родительскую модель или noindex, чтобы не тратить бюджет.
P = 0.35*margin_norm + 0.30*demand_norm + 0.20*stock_norm + 0.15*uniqueness_norm - 0.10*clickDepth_norm; sitemap_priority = round(P,1)
6. Типичные ошибки при оптимизации
- Приоритизировать по дате добавления или ID, а не по марже, спросу и остатку — бюджет уходит на мёртвые SKU.
- Закрывать низкоприоритетные SKU в robots.txt вместо noindex — бот не увидит noindex и будет обходить их повторно.
- Игнорировать edge/middleware-дифференциацию для ботов и отдавать всем одинаковый HTML — приоритетные SKU не получают ускоренного обхода.
