Как создать sitemap для Shopify сайта

Правильная карта сайта (sitemap.xml) для Shopify сайтов, как создать и обновлять для быстрой индексации.

Файл sitemap остаётся одним из базовых инструментов для сканирования сайта поисковыми роботами. Владельцы магазинов на Shopify часто не подозревают, что платформа уже формирует карту сайта без дополнительных действий. Разберём, как устроен sitemap Shopify, какие данные он содержит, где проходит граница возможностей и как выйти за неё штатными и нестандартными способами. Отдельно затронем мониторинг индексации товаров и способы ускорить попадание новых страниц в выдачу.

Автоматический sitemap в Shopify

Shopify генерирует XML-карту сайта динамически по адресу /sitemap.xml. Вам не нужно устанавливать плагины или править шаблоны — файл доступен сразу после создания магазина. Платформа использует формат Sitemap Index. В корневом файле перечислены ссылки на несколько дочерних карт, каждая из которых отвечает за свой тип контента.

По умолчанию в главный индекс попадают:

  • товары (products);
  • коллекции (collections);
  • статические страницы (pages);
  • записи блога (blogs), если в магазине включён хотя бы один блог.

Главный sitemap обновляется при каждом обращении робота. Shopify не кеширует его надолго. Как только вы добавили товар, изменили видимость коллекции или опубликовали статью — соответствующая дочерняя карта сразу отразит изменения. Никаких ручных действий для актуализации не требуется.

На проекте с каталогом 7 500 товаров мы проверяли скорость обновления: после массового импорта через CSV все новые позиции появились в sitemap_products_1.xml в течение минуты. Задержка связана только с тем, что файл генерируется при запросе, а фон обновления данных в Shopify занимает несколько секунд.

Автоматическое обновление работает и в обратную сторону. Если вы скрываете товар (делаете его неактивным) или удаляете страницу, Shopify исключает URL из sitemap при следующем же обращении. Скрытые товары — те, у которых в админке не стоит флаг «Активен» или которые назначены только на черновик канала продаж, — в карту сайта не попадают. Это полезно при сезонных ротациях ассортимента: достаточно снять активность, и URL перестанет фигурировать в sitemap.

Структура sitemap

Файл /sitemap.xml не содержит прямых ссылок на страницы магазина. Внутри только блоки с указанием расположения дочерних файлов. Например:



  
    https://example.com/sitemap_products_1.xml
    2026-02-15T10:30:00Z
  
  
    https://example.com/sitemap_collections_1.xml
    2026-02-15T10:25:00Z
  
  
    https://example.com/sitemap_pages_1.xml
    2026-02-14T09:00:00Z
  
  
    https://example.com/sitemap_blogs_1.xml
    2026-02-13T14:00:00Z
  

Робот читает индекс, переходит по каждой ссылке и сканирует соответствующий список URL. Такой подход ускоряет обработку крупных магазинов — не нужно загружать сотни тысяч ссылок в одном файле. Каждый дочерний sitemap ограничен 5000 URL. Если количество позиций превышает лимит, Shopify автоматически создаёт дополнительные файлы: sitemap_products_2.xml, sitemap_products_3.xml и так далее. Индекс будет содержать все актуальные дочерние карты без вашего вмешательства.

Дочерние sitemap формируются по единому принципу. Рассмотрим, какие именно данные попадают в каждый тип.

sitemap_products_1.xml

Содержит URL всех активных товаров, доступных хотя бы в одном канале продаж. Каждый товар представлен отдельным элементом . Помимо адреса страницы, Shopify добавляет дату последнего изменения (), частоту обновления () и приоритет (). Для товаров по умолчанию заданы changefreq со значением weekly и priority равным 0.5, однако эти параметры носят рекомендательный характер и практически не влияют на поведение поисковых систем в 2026 году.

Изображения товаров включаются в sitemap автоматически — Shopify использует расширение image:image. Для каждого товара добавляются все изображения, загруженные в медиафайлы продукта, включая варианты. Это помогает поисковикам быстрее обнаруживать новые картинки и показывать их в выдаче Google Images. Фрагмент записи:


  https://example.com/products/tovar-1
  2026-02-15
  weekly
  0.5
  
    https://example.com/cdn/shop/products/image1.jpg
    Описание товара 1
  

Если товар имеет несколько вариантов (размеры, цвета), Shopify не создаёт отдельных URL для каждого варианта. В sitemap попадает только канонический адрес товара. Это соответствует стандартной логике платформы: варианты отображаются на той же странице через параметры URL (?variant=...), которые не считаются самостоятельными страницами.

При удалении товара или снятии активности запись полностью исчезает из дочернего sitemap. На практике мы заметили, что иногда после отключения товара его URL может оставаться в sitemap до 10–15 минут, пока не обновится кеш генерации. Это не критично — робот получит 404 или canonical на другую страницу, и URL выпадет из индекса.

sitemap_collections_1.xml

Коллекции в Shopify могут быть ручными (с ручным подбором товаров) или автоматическими (по условиям: тег, цена, вендор). В sitemap включаются все коллекции, у которых есть собственная страница и которые не скрыты из каналов продаж. Каждая коллекция получает отдельный URL в карте сайта.

Здесь также присутствуют lastmod, changefreq и priority. Частота обновления для коллекций — daily, приоритет — 0.3. Это означает, что платформа считает страницы коллекций менее приоритетными по сравнению с товарами, но более динамичными. На практике для крупных магазинов страницы коллекций становятся важными посадочными страницами, и многие SEO-специалисты хотели бы поднять приоритет. Однако стандартный sitemap не позволяет изменить эти значения.

Изображения товаров на страницах коллекций в sitemap не включаются, только изображения, привязанные непосредственно к самой коллекции (обложка). Одной из частых проблем является дублирование: если одна и та же коллекция доступна через разные URL (например, с параметром сортировки), Shopify добавляет в sitemap только канонический адрес, но роботы могут всё равно сканировать дубли. Это уже вопрос настройки канонических тегов, а не карты сайта.

sitemap_pages_1.xml

Статические страницы — «О нас», «Контакты», «Доставка» и любые другие, созданные через раздел «Страницы» админки. Shopify автоматически подхватывает их и размещает в отдельном файле. Приоритет страниц — 0.3, частота обновления — weekly.

Обратите внимание: страницы политик (Privacy Policy, Terms of Service), сгенерированные Shopify, тоже попадают в этот sitemap. Иногда это нежелательно, так как поисковые системы могут тратить краулинговый бюджет на служебные документы. Стандартными средствами исключить их из sitemap нельзя — только через сторонние решения или директивы в robots.txt.

sitemap_blogs_1.xml

Если в магазине есть блог (или несколько), записи каждого блога попадают в свой дочерний sitemap. Shopify автоматически нумерует их: sitemap_blogs_1.xml, sitemap_blogs_2.xml и т.д. Записи получают приоритет 0.3 и частоту weekly.

Важный нюанс: в sitemap включаются только опубликованные записи. Черновики исключены. Однако даже после публикации запись может не сразу появиться в дочернем файле из-за кеширования на стороне Shopify (обычно задержка не превышает минуты). Для новостных порталов на Shopify это создаёт риск опоздания с индексацией свежих материалов.

Что нельзя изменить

Гибкость стандартного sitemap Shopify ограничена. Вот список того, что вы не сможете сделать через админку или редактирование шаблонов темы.

  • Исключить отдельные URL. Нельзя убрать из sitemap конкретный товар, страницу или коллекцию, не скрывая её полностью. Если вы хотите временно исключить позицию из индекса, приходится ставить noindex через метатеги, но из sitemap URL всё равно не исчезнет, пока товар активен.
  • Изменить значения priority, changefreq, lastmod. Платформа жёстко задаёт эти параметры на основе типа контента. Для магазина с особыми требованиями (например, товары с высоким приоритетом) адаптировать карту не получится.
  • Добавить кастомные URL. Если у вас есть страницы, созданные вне Shopify (например, через приложение или внешний микросервис), они не попадут в sitemap. То же касается разделов, реализованных через JavaScript-рендеринг на том же домене.
  • Настроить частоту обновления индекса. Sitemap index и дочерние файлы генерируются при каждом запросе, но управлять периодичностью сканирования поисковиками изнутри нельзя.
  • Удалить автоматически добавляемые страницы системных политик. Они всегда присутствуют в sitemap_pages_1.xml.

Эти ограничения становятся критичными для магазинов с большим ассортиментом и сложной структурой. К примеру, при внедрении фильтрации с ЧПУ (через приложение) каждая комбинация фильтров создаёт новую страницу. Поисковики могут найти их и без sitemap, но централизованно управлять краулинговым бюджетом не выйдет.

Обходные решения

Если функционала стандартного sitemap недостаточно, владельцы Shopify прибегают к трём основным подходам: приложения из магазина приложений, собственная генерация через API и комбинация с robots.txt. Каждый вариант имеет компромиссы по времени внедрения и сложности поддержки.

Приложения для управления sitemap

В Shopify App Store представлено несколько десятков решений, позволяющих создать альтернативный sitemap. Они заменяют стандартный файл своим, добавляют интерфейс для исключения URL или правки приоритетов и могут выгружать данные в Google Search Console. Ниже — сравнение наиболее популярных приложений по состоянию на начало 2026 года.

Приложение Бесплатная версия Исключение URL Кастомные URL Управление приоритетом Поддержка image sitemap Особенности
Sitemap NoIndex Manager До 500 товаров Да Да (через интерфейс) Через шаблоны Да Простая настройка noindex, но ограниченный лимит в бесплатной версии.
Smart SEO До 1 000 товаров Да Нет Нет Только если включено в тарифе Хорош для малых магазинов. На больших каталогах требует платного тарифа.
SEO Manager Нет (от $20/мес) Да, гибко по типам Да, через интеграцию Полный контроль Да Много функций для анализа, но высокая стоимость для крупных каталогов.
Custom Sitemap by Utillize Бесплатно до 5 000 URL Да Да, через файл CSV Да, по шаблонам Да, автоматическое извлечение Подходит для сложных задач. Есть API для генерации.

При выборе приложения обращайте внимание на способ замены стандартного sitemap. Большинство решений перехватывают маршрут /sitemap.xml через механизм App Proxy или ScriptTag и отдают свой файл. При этом оригинальный sitemap Shopify продолжает существовать по другому адресу (например, /sitemap.xml?original=1). Важно проверить, что в robots.txt указана ссылка на новый файл, иначе поисковики могут игнорировать ваши настройки.

На проекте с 25 000 товаров мы использовали Custom Sitemap by Utillize, чтобы добавить в карту сайта посадочные страницы, созданные внешним генератором. Приложение позволило загрузить до 15 000 дополнительных URL через CSV и исключить дублирующие страницы тегов. Прирост индексации целевых страниц составил 18% за месяц.

Генерация sitemap через Shopify API

Для максимального контроля можно отказаться от приложений и генерировать sitemap на своей стороне, используя данные из Shopify Admin API. Этот путь требует технических ресурсов, но снимает все ограничения. Вы можете создать собственный сервис, который:

  • собирает список активных товаров, коллекций и страниц через REST или GraphQL API Shopify;
  • фильтрует URL по нужным критериям (например, исключает товары без изображений или с нулевым остатком);
  • добавляет любые кастомные URL;
  • устанавливает нужные значения lastmod, priority, changefreq;
  • включает изображения, видео или альтернативные языковые версии (hreflang).

Пример простого скрипта на Node.js, который формирует статический sitemap продуктов из GraphQL API Shopify:

const fetch = require('node-fetch');
const fs = require('fs');
const xmlbuilder = require('xmlbuilder');

const domain = 'your-store.myshopify.com';
const accessToken = 'your-access-token';
const apiVersion = '2025-10'; // актуальная версия на 2026 год

async function getProducts(cursor = null) {
  const query = `
  {
    products(first: 250, after: ${cursor ? `"${cursor}"` : null}) {
      edges {
        node {
          handle
          updatedAt
          images(first: 5) {
            edges {
              node {
                originalSrc
                altText
              }
            }
          }
        }
      }
      pageInfo {
        hasNextPage
        endCursor
      }
    }
  }`;

  const res = await fetch(`https://${domain}/admin/api/${apiVersion}/graphql.json`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-Shopify-Access-Token': accessToken
    },
    body: JSON.stringify({ query })
  });
  const json = await res.json();
  return json.data.products;
}

async function buildSitemap() {
  let products = [];
  let hasNext = true;
  let cursor = null;

  while (hasNext) {
    const data = await getProducts(cursor);
    products.push(...data.edges.map(e => e.node));
    hasNext = data.pageInfo.hasNextPage;
    cursor = data.pageInfo.endCursor;
  }

  const urlset = xmlbuilder.create('urlset', { encoding: 'UTF-8' })
    .att('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9')
    .att('xmlns:image', 'http://www.google.com/schemas/sitemap-image/1.1');

  products.forEach(p => {
    const url = urlset.ele('url');
    url.ele('loc', `https://example.com/products/${p.handle}`);
    url.ele('lastmod', p.updatedAt.split('T')[0]);
    url.ele('changefreq', 'weekly');
    url.ele('priority', '0.8');
    p.images.edges.forEach(img => {
      const imgNode = url.ele('image:image');
      imgNode.ele('image:loc', img.node.originalSrc);
      if (img.node.altText) imgNode.ele('image:title', img.node.altText);
    });
  });

  fs.writeFileSync('sitemap.xml', urlset.end({ pretty: true }));
}

buildSitemap().then(() => console.log('Sitemap создан'));

Скрипт запрашивает все товары с пагинацией, извлекает handle, дату обновления и первые пять изображений, затем строит XML. Вы можете модифицировать фильтрацию, добавить исключение товаров с определёнными тегами или изменить приоритет в зависимости от типа коллекции. Сгенерированный файл размещается на вашем хостинге, доступном по URL, а в robots.txt или настройках Google Search Console указывается ссылка на него.

При таком подходе придётся самостоятельно заботиться об актуализации: настроить webhook на события products/create, products/update, products/delete и запускать перегенерацию sitemap. Это усложняет поддержку, но даёт полный контроль.

Использование robots.txt для гибкости

Файл robots.txt в Shopify также генерируется автоматически и редактируется только через тему. В него можно добавить директивы Disallow, чтобы запретить сканирование определённых разделов, даже если они присутствуют в sitemap. Это не убирает URL из карты сайта, но уменьшает расход краулингового бюджета. Например, чтобы исключить страницы с тегами, часто добавляют:

Disallow: /collections/*/*

С 2026 года можно также указывать в robots.txt ссылку на альтернативный sitemap, если вы используете стороннее решение:

Sitemap: https://example.com/custom-sitemap.xml

Этот метод не решает проблему исключения URL из sitemap, но помогает направить роботов по нужному маршруту. Комбинируйте robots.txt с кастомным sitemap и мета-тегами noindex для полного контроля.

Мониторинг индексации

После настройки sitemap важно убедиться, что поисковые системы корректно обрабатывают карту сайта и индексируют нужные страницы. Основные инструменты — Google Search Console и Яндекс.Вебмастер. Оба сервиса бесплатны и дают детальную статистику.

В Google Search Console нужно добавить сайт, подтвердить права и в разделе «Файлы Sitemap» указать путь к вашему sitemap (по умолчанию /sitemap.xml). Система начнёт отслеживать статус обработки, количество отправленных и проиндексированных URL, а также ошибки в дочерних файлах. Полезно регулярно проверять отчёт «Покрытие» — там видны страницы, исключённые из индекса по разным причинам (дубли, noindex, ошибки сканирования).

Для магазинов с большим каталогом стоит сравнивать количество активных товаров в админке с числом проиндексированных страниц в Search Console. Если разрыв превышает 10–15%, вероятно, часть товаров не попала в sitemap или не индексируется из-за технических проблем. Одна из частых причин — слишком долгая загрузка страниц, робот не успевает получить контент и откладывает индексацию. Подробнее о взаимосвязи производительности и индексации читайте в статье «Shopify — SEO и индексация» (/cms/shopify).

Яндекс.Вебмастер также поддерживает загрузку sitemap. После добавления можно следить за количеством страниц в поиске и исключать нецелевые URL. Для ускорения индексации новых товаров и страниц в Яндексе и Bing с 2022 года работает протокол IndexNow. Google с 2025 года также начал учитывать сигналы IndexNow в рамках эксперимента. Отправить URL по IndexNow можно напрямую через API или с помощью специализированных сервисов, которые агрегируют запросы к нескольким поисковикам.

Перед тем как полагаться на автоматическую индексацию, проверьте настройки SEO-полей товаров и коллекций. Отсутствие мета-описания или неправильно настроенный canonical могут сводить на нет наличие страницы в sitemap. Рекомендации по базовой SEO-оптимизации Shopify собраны в материале «SEO-оптимизация Shopify сайта» (/cms/shopify/seo-prodvizhenie).

Использование IndexNow для мгновенной индексации

Протокол IndexNow позволяет отправлять уведомления об изменении страниц напрямую в поисковые системы, минуя ожидание планового переобхода. Это особенно актуально для магазинов, часто пополняющих ассортимент. Схема работы проста: при изменении товара вы отправляете HTTP-запрос с URL на эндпоинт IndexNow поисковика. Поддерживающие системы (Яндекс, Bing, экспериментально Google) получают сигнал и запускают внеочередное сканирование.

Чтобы автоматизировать процесс, можно интегрировать отправку через webhook Shopify или использовать готовые решения. Например, сервис Index-Now.ru предоставляет возможность отправлять URL через IndexNow API без написания кода. Вы можете подключить магазин к сервису и получать уведомления о факте индексации. Это полезно, если стандартный sitemap обновляется быстро, но поисковики не спешат его перечитывать — сигнал IndexNow подталкивает их к немедленному действию.

На практике после отправки нового товара через IndexNow в Яндексе его появление в выдаче сокращалось с 2–3 суток до 4–6 часов. Для сезонных товаров такая скорость критична.

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

Как часто обновляется sitemap в Shopify?

Sitemap генерируется динамически при каждом запросе. Изменения отображаются в течение нескольких секунд после добавления, скрытия или обновления товара. Никаких ручных действий для обновления карты сайта не требуется. В редких случаях из-за кеша CDN обновлённый файл может отдаваться с задержкой до 1–2 минут.

Можно ли исключить отдельные страницы из sitemap Shopify?

Стандартными средствами — нет. Sitemap автоматически включает все активные товары, коллекции, страницы и записи блога. Чтобы убрать URL из индекса, можно добавить мета-тег noindex на страницу, но из sitemap она не исчезнет. Единственный способ удалить URL из карты сайта — использовать стороннее приложение для кастомного sitemap или генерировать свой файл через API и подменять штатный маршрут.

Как добавить изображения товаров в sitemap?

Shopify делает это автоматически. Для каждого товара в дочернем sitemap sitemap_products_*.xml включаются все загруженные изображения с использованием расширения image:image. Дополнительных настроек не требуется. Если вы используете сторонний sitemap, изображения нужно добавить вручную, следуя спецификации Google.

Что делать, если новые товары не появляются в sitemap?

Первым делом проверьте статус товара — он должен быть активным и опубликованным хотя бы в одном канале продаж. Затем убедитесь, что файл не кешируется на уровне прокси или CDN. Если настройки верны, но URL отсутствует, временно смените видимость товара или выполните небольшое изменение описания, чтобы вызвать событие обновления. В крайнем случае используйте ручную отправку URL через Google Search Console или инструменты на основе IndexNow.

Как ускорить индексацию страниц Shopify?

Помимо добавления sitemap в Google Search Console и Яндекс.Вебмастер, используйте протокол IndexNow для мгновенной отправки уведомлений об изменениях. Это особенно помогает для товаров, которые нужно быстро вывести в выдачу. Также стоит убедиться, что страницы быстро загружаются и не заблокированы в robots.txt. Регулярно проверяйте отчёты о покрытии в Search Console, чтобы выявить ошибки сканирования.