Руководства/Руководство по индексации CMS

Индексация PrestaShop в Google: полное руководство по тому, как вывести магазин в результаты поиска

Разберитесь с мультиязычной архитектурой URL PrestaShop и сложностью товарных комбинаций для чистой индексации в Google

Обновлено: 1 апр. 2026 г.

На PrestaShop работают более 300 000 магазинов по Европе и Латинской Америке, однако его мощные возможности — товарные комбинации, мультиязычная маршрутизация URL и глубокая расширяемость модулями — создают специфические проблемы индексации. Каждая комбинация может генерировать свой URL, заваливая Google дубликатами. Мультиязычная поддержка создаёт параллельные структуры URL, требующие правильной настройки hreflang. Сторонние модули генерируют страницы, отсутствующие в картах сайта.

Это руководство охватывает PrestaShop 1.7.x и 8.x, проходя через панель SEO в админке, модуль GSitemap, дружественные URL, настройку .htaccess, мультиязычность, управление URL комбинаций и аудит страниц, создаваемых модулями.

IndexBolt добивается, чтобы Google просканировал Ваши URL менее чем за 24 часа — без ручных отправок и недель ожидания.

Панель конфигурации SEO & URLs в PrestaShop

Основные SEO-настройки PrestaShop живут в админке в Shop Parameters → Traffic & SEO → SEO & URLs (в PrestaShop 8.x) или Preferences → SEO & URLs (в PrestaShop 1.7.x). Эта панель содержит несколько критических настроек, влияющих на структуру URL Вашего магазина и восприятие Google.

Первая важнейшая настройка — «Friendly URL». Её нужно включить (значение Yes), чтобы преобразовать стандартные URL PrestaShop с параметрами (index.php?id_product=42&controller=product) в чистые читаемые пути (/en/shoes/42-running-shoe.html). Без friendly URL URL Вашего магазина уродливы, хуже ранжируются и менее кликабельны в результатах поиска.

Настройка «Accented URL» определяет, сохраняются ли в URL символы вне ASCII. Для магазинов на языках с диакритикой (французский, испанский, немецкий, португальский) её включение создаёт более естественные URL (/fr/chaussures-de-course.html). Однако некоторые старые серверы и конфигурации CDN плохо работают с акцентированными URL. Тестируйте перед включением.

Настройка «Redirect disabled product» критически важна для SEO электронной коммерции. Когда товар отключается (снимается с продажи), эта настройка определяет, что произойдёт с его URL. Варианты: «No redirect» (возвращает 404), «Permanent redirect (301) to the product's category» или «Permanent redirect (301) to a specific URL». Для товаров, которые никогда не вернутся, выбирайте 301-редирект на категорию товара. Для временно отсутствующих в наличии товаров отключайте товар с «No redirect» и планируйте включить позже — а лучше держите товар включённым с сообщением «нет в наличии».

В разделе «URL structure» можно настроить шаблон URL для товаров, категорий и CMS-страниц. По умолчанию URL товара в PrestaShop включает ID товара: /{category}/{id}-{rewrite}.html. Включение ID обеспечивает уникальность URL, но это не идеально для SEO (числа в URL выглядят менее профессионально). PrestaShop 8.x позволяет убрать ID из URL, но имейте в виду, что для этого нужны уникальные slug-и товаров по всему каталогу — если у двух товаров одинаковый slug, к одному автоматически добавится суффикс.

Ниже настроек структуры URL находится раздел управления мета-тегами. PrestaShop позволяет задать мета-заголовки и описания по умолчанию для типов страниц (страницы товаров, категорий, CMS-страниц, главной) через переменные вроде {name}, {price}, {category}. Кастомизируйте эти шаблоны, чтобы генерировать насыщенную ключами уникальную метаинформацию в масштабе.

Модуль GSitemap и управление картой сайта

В базовой установке PrestaShop нет генератора карты сайта. Самое распространённое решение — модуль GSitemap, доступный бесплатно в маркетплейсе PrestaShop Addons. После установки GSitemap (Modules → Module Manager → найти GSitemap) настройте его на странице параметров модуля.

GSitemap генерирует XML-карту сайта, включающую товары, категории, CMS-страницы и опционально страницы, создаваемые модулями. Ключевые параметры конфигурации: какие типы контента включать (товары, категории, CMS-страницы, страницы поставщиков, страницы производителей), частота обновления для каждого типа и включать ли изображения в карту сайта.

После настройки нажмите «Generate Sitemap», чтобы создать первоначальный файл по адресу /1_index_sitemap.xml (или /sitemap.xml в зависимости от конфигурации). GSitemap создаёт sitemap-индекс, ссылающийся на отдельные файлы для каждого типа контента. Для магазинов с большим количеством товаров он разбивает товарные карты сайта на файлы до 25 000 URL каждый.

GSitemap можно настроить на автоматическую регенерацию через систему cron PrestaShop. Модуль предоставляет cron-URL, который Вы добавляете в crontab сервера. Запускайте его ежедневно (0 3 * * * wget -q -O /dev/null «https://yourstore.com/modules/gsitemap/gsitemap-cron.php?token=YOUR_TOKEN»), чтобы карта сайта оставалась актуальной по мере добавления и удаления товаров.

Существенное ограничение GSitemap: модуль не включает автоматически страницы, создаваемые сторонними модулями. Если Вы установили модуль блога (вроде PrestaShop Blog от Starter Theme), модуль FAQ или модуль кастомных лендингов, эти страницы не появятся в карте сайта, сгенерированной GSitemap. Нужно либо найти модуль карты сайта, поддерживающий такие типы страниц, либо добавлять их в карту вручную, либо настроить конкретный модуль на собственную карту сайта, которую Вы отдельно отправите в Google Search Console.

После генерации карты сайта отправьте её в Google Search Console. Сначала откройте URL карты сайта в браузере, чтобы убедиться, что это валидный XML и в нём ожидаемые URL. Проверьте на дубликаты, URL с сессионными параметрами и страницы, которые Вы намеренно ставили на noindex и которых там быть не должно.

Забудьте о ручной работе — IndexBolt отправляет Ваши URL прямо в очередь сканирования Google. Начните со 100 бесплатных кредитов.

100 бесплатных кредитов. Без банковской карты.

Настройка мультиязычных URL и hreflang

Встроенная мультиязычная поддержка PrestaShop — одна из его сильнейших сторон для международной электронной коммерции. Когда Вы устанавливаете языковой пакет (International → Localization → Languages), PrestaShop создаёт параллельную структуру URL для каждого языка. Английские товары живут на /en/category/product-name.html, французские — на /fr/categorie/nom-du-produit.html, испанские — на /es/categoria/nombre-del-producto.html и так далее.

У каждого товара, категории и CMS-страницы есть отдельное поле переписывания URL для каждого установленного языка. При редактировании товара переключайте селектор языка в редакторе, чтобы увидеть и настроить slug для каждого языка. Это необходимо: PrestaShop автоматически переводит slug-и при использовании авто-перевода, но автоматически переведённые slug-и часто неуклюжи или некорректны. Просмотрите вручную и оптимизируйте URL slug для каждого языка, включив ключи, релевантные поведению поиска на этом языке.

Hreflang-теги сообщают Google, какую языковую версию страницы показать пользователям в разных регионах. PrestaShop 1.7.7+ включает встроенную поддержку hreflang, выводящую теги <link rel=«alternate» hreflang=«xx» href=«…»> в head HTML для каждой языковой версии страницы. Однако реализация имеет известные проблемы в некоторых версиях PrestaShop, где hreflang-теги отсутствуют или некорректны. Проверьте, просмотрев исходник страницы товара и убедившись, что hreflang-теги присутствуют для всех активных языков.

Если hreflang-теги отсутствуют, установите специализированный SEO-модуль, занимающийся генерацией hreflang. В маркетплейсе PrestaShop Addons есть несколько модулей, специально решающих задачи мультиязычного SEO: генерация hreflang-тегов, языкоспецифичные canonical-URL и поддержка мультиязычной карты сайта.

Для магазинов в нескольких странах, где один язык используется в разных странах (например, английский для США и Великобритании, испанский для Испании и Мексики), hreflang нуждается и в коде языка, и в коде страны: hreflang=«en-us» и hreflang=«en-gb». Встроенный hreflang PrestaShop может не справляться с таргетингом по странам. Возможно, потребуется модуль или кастомная разработка для генерации hreflang с указанием страны.

Мультиязычная структура URL также взаимодействует с картой сайта. GSitemap генерирует URL для всех языков в одной карте сайта (или с разбиением по языкам в зависимости от конфигурации). Убедитесь, что карта сайта включает URL для каждого языка и что каждый URL корректно разрешается.

Товарные комбинации и раздувание URL

Система товарных комбинаций PrestaShop позволяет одному товару иметь несколько вариантов на основе атрибутов: размер, цвет, материал, ширина, длина и т. д. Базовая обувь с 8 размерами и 5 цветами генерирует 40 комбинаций. Конфигурируемый электронный товар с опциями памяти, накопителя, цвета и гарантии легко превышает 100 комбинаций.

Влияние на индексацию зависит от конфигурации. По умолчанию PrestaShop не создаёт отдельных URL для каждой комбинации — страница товара открывается с комбинацией по умолчанию, а пользователи выбирают предпочтительную через выпадающие списки или свотчи. URL остаётся прежним (/en/shoes/42-running-shoe.html) независимо от выбранной комбинации. Это идеальное поведение для SEO, потому что весь вариативный трафик консолидируется на одном индексируемом URL.

Однако некоторые темы и модули PrestaShop меняют это поведение. Фреймворки тем вроде Starter Theme или коммерческие темы могут добавлять атрибуты комбинаций в URL как якорные фрагменты (#size-10-color-red) или параметры запроса (?size=10&color=red). Якорные фрагменты Google не индексирует (он игнорирует всё после #), а вот параметры запроса могут попасть в индекс. Если Ваша тема добавляет выбор комбинаций как параметры запроса, каждая комбинация создаёт уникальный URL, который Google может попытаться проиндексировать.

Чтобы проверить поведение магазина, откройте товар с комбинациями и переключайте опции. Смотрите на адресную строку браузера. Если URL меняется с каждым выбором комбинации, у Вас потенциальная проблема раздувания индекса. Исправьте это на уровне темы, обеспечив обработку выбора комбинаций через JavaScript без изменения URL, или используя якорные фрагменты вместо параметров запроса.

Если URL комбинаций с параметрами запроса уже в индексе Google, добавьте canonical-теги на все URL с параметрами комбинаций, указывающие на базовый URL товара (без параметров). Также можно заблокировать параметры комбинаций в robots.txt: Disallow: /*?size=, Disallow: /*?color= и т. д. Самое тщательное решение — модификация темы, полностью убирающая параметры URL.

Для магазинов, которые намеренно хотят отдельные проиндексированные страницы для каждой комбинации (редко, но иногда используется в моде, где у каждого варианта цвета уникальные изображения и описания), обеспечьте уникальные title, мета-описание и контент для каждой страницы комбинации. Страница «Беговые кроссовки — красный размер 10», идентичная «Беговые кроссовки — синий размер 8», кроме текста опций, будет помечена как дублирующийся контент.

Session ID, .htaccess и техническая гигиена URL

В старых установках PrestaShop (особенно обновлённых с версий до 1.7) к URL могут добавляться session ID. Session ID создаёт уникальный URL для каждой сессии посетителя: /en/shoes/42-running-shoe.html?PHPSESSID=abc123xyz. Google рассматривает каждый URL с параметром сессии как отдельную страницу, потенциально индексируя тысячи дублей, отличающихся только session ID.

PrestaShop 1.7+ и 8.x обрабатывают сессии через cookies по умолчанию, и session ID не должны появляться в URL. Однако если в PHP-конфигурации сервера session.use_only_cookies установлено в 0, PHP откатывается к URL-сессиям, когда cookies недоступны. Проверьте конфигурацию PHP и убедитесь, что session.use_only_cookies = 1 и session.use_trans_sid = 0.

Файл .htaccess в корневой директории PrestaShop управляет переписыванием URL, правилами редиректов и директивами безопасности. PrestaShop генерирует этот файл автоматически при включении Friendly URLs. Сгенерированный .htaccess включает RewriteRules для чистой маршрутизации URL, правила блокировки доступа к чувствительным директориям (/config/, /download/, /mails/, /modules/) и правила обработки MultiViews.

Кастомизируйте .htaccess осторожно. Добавляйте кастомные правила редиректов (301-редиректы для старых URL, паттерны блокировки нежелательного сканирования) выше автогенерируемого раздела PrestaShop, помеченного комментариями # ~~start~~ и # ~~end~~. Правила внутри автогенерируемого раздела перезаписываются при изменении настроек в админке.

Добавьте в .htaccess следующее для SEO-гигиены: принудительный HTTPS (RewriteCond %{HTTPS} off / RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]), принудительный консистентный домен (либо с www, либо без, но не оба) и блокировку известных паттернов параметров ботов. Эти правила обеспечивают Google единственную каноническую версию каждого URL.

Для серверов Nginx PrestaShop не использует .htaccess. Эквивалентная конфигурация идёт в Ваш server block Nginx. PrestaShop предоставляет примеры конфигураций Nginx в своей документации, включая правила переписывания для friendly URL, директивы безопасности и заголовки кеширования статики.

Страницы, создаваемые модулями, и SEO-«слепые зоны»

Экосистема модулей PrestaShop добавляет функциональность через устанавливаемые расширения, и многие модули генерируют публично доступные страницы, которые не включены в основную карту сайта и не покрываются стандартными SEO-настройками. Эти страницы становятся SEO-«слепыми зонами» — они существуют, Google может их найти, но у них может не быть надлежащей метаинформации, canonical-тегов или включения в карту сайта.

Частые примеры: модули блога, создающие страницы вида /blog/post-title (как популярный Smart Blog), модули FAQ по адресу /faq, модули списков производителей, страницы поставщиков, страницы брендов и конструкторы кастомных лендингов. Каждый из этих модулей может или не может корректно обрабатывать SEO. У одних есть собственное управление мета-тегами и генерация карты сайта; другие выводят страницы со стандартной или пустой метаинформацией.

Проведите аудит установленных модулей, перейдя по URL каждой публичной страницы модуля и проверив исходник. Проверьте: тег <title>, специфичный для страницы (а не стандартный для всех заголовок темы PrestaShop), мета-описание, описывающее содержимое, canonical-URL и структурированные данные, если применимо. Если какой-то модуль выводит страницы со стандартной или отсутствующей метаинформацией, проверьте конфигурацию модуля на наличие SEO-настроек. Если модуль не поддерживает кастомные метаданные, у Вас три варианта: найти более качественный модуль с этой поддержкой, изменить файлы шаблонов модуля и добавить мета-теги или попросить разработчика модуля добавить SEO-поля.

Для включения в карту сайта проверьте, появляются ли страницы модуля в выводе GSitemap. Если нет, можете: установить более продвинутый модуль карты сайта, обнаруживающий страницы модулей, вручную добавить URL модуля в дополнительный sitemap-файл или проверить, генерирует ли модуль собственную карту сайта (некоторые модули блогов это делают, обычно по адресу /modules/modulename/sitemap.xml).

PrestaShop 8.x ввёл систему хуков, позволяющую модулям интегрироваться с фреймворком SEO чище. Модули, реализующие хук actionGetPageSeoInfo, могут предоставлять основной системе SEO URL своих страниц и метаинформацию. При выборе модулей предпочитайте те, что разработаны для PrestaShop 8.x и используют эти современные хуки, а не унаследованные модули, обходящие SEO-фреймворк.

Пошаговое руководство

1

Включите Friendly URLs и настройте структуру URL

Войдите в админку PrestaShop и перейдите в Shop Parameters → Traffic & SEO → SEO & URLs. Установите «Friendly URL» в Yes. Перед сохранением убедитесь, что на сервере включён mod_rewrite (Apache) или настроены соответствующие правила переписывания (Nginx). Сохраните настройки и протестируйте магазин, открыв страницу товара — URL должен стать чистым (например, /en/shoes/42-running-shoe.html вместо index.php?id_product=42). Если страницы возвращают 404, файл .htaccess мог сгенерироваться некорректно. Удалите существующий .htaccess и снова сохраните настройки SEO, чтобы перегенерировать его. Просмотрите шаблоны структуры URL для товаров, категорий и CMS-страниц и кастомизируйте их при желании (например, убрав числовой ID для магазинов на PrestaShop 8.x).

2

Установите и настройте GSitemap

Перейдите в Modules → Module Manager и найдите «GSitemap». Если не установлен, скачайте его из маркетплейса PrestaShop Addons и установите. Откройте конфигурацию модуля и выберите типы контента для включения: Products (Yes), Categories (Yes), CMS Pages (Yes). Установите Manufacturers и Suppliers в No, если только у этих страниц нет содержательного контента. Включите карты сайта для изображений, если у Ваших изображений товаров описательные имена файлов и alt-текст. Нажмите «Generate Sitemap» и проверьте вывод по адресу /1_index_sitemap.xml (или по настроенному пути). Настройте cron-задание для ежедневной регенерации, используя cron-URL, предоставленный модулем. Отправьте URL карты сайта в Google Search Console.

3

Кастомизируйте мета-теги для всех типов страниц

В Shop Parameters → Traffic & SEO → SEO & URLs прокрутите до раздела управления мета-тегами. Для каждого типа страницы (главная, товар, категория, CMS, результаты поиска и т. д.) PrestaShop перечисляет текущие мета-заголовок и описание. Нажмите «Edit», чтобы кастомизировать. Для главной напишите уникальный заголовок и описание с названием бренда и основными ключами. Для страниц товаров кастомизируйте шаблон с переменными: «{name} — {price} | {shop_name}» для заголовков и «{description_short} — купить {name} в {shop_name}» для описаний. Для страниц категорий используйте «{name} — {shop_name}» и шаблон описания, включающий описание категории. Для страниц, которые не должны индексироваться (результаты поиска, личный кабинет, подтверждение заказа), добавьте noindex через специфичные для страниц мета-настройки.

4

Настройте мультиязычное SEO (если применимо)

Для магазинов с несколькими языками перейдите в International → Localization → Languages и убедитесь, что у всех активных языков корректные ISO-коды. Для каждого товара откройте редактор товара и переключайте селектор языка, чтобы убедиться, что у каждого языка кастомизирован URL rewrite (slug), название товара и описание. Не полагайтесь на авто-перевод для slug-ов — проверьте и оптимизируйте каждый вручную на релевантность ключевым словам этого языка. Проверьте вывод hreflang-тегов, посмотрев исходник страницы товара — Вы должны увидеть <link rel=«alternate» hreflang=«xx» href=«…»> для каждого активного языка. Если hreflang-теги отсутствуют, установите специализированный мультиязычный SEO-модуль из маркетплейса PrestaShop Addons.

5

Проведите аудит и исправьте поведение URL комбинаций товаров

Откройте товар с несколькими комбинациями (например, с опциями размера и цвета) и переключайте комбинации, следя за адресной строкой браузера. Если URL меняется с каждым выбором (добавляя параметры запроса вроде ?size=10&color=red), у Вас потенциальная проблема дублирующегося контента. Сначала проверьте конфигурацию темы на настройку «URL update» или «combination URL» и отключите её. Если такой настройки нет, исправление требует редактирования JavaScript страницы товара темы, чтобы предотвратить добавление параметров в URL. Как временную меру добавьте в robots.txt правила, блокирующие паттерны параметров комбинаций: Disallow: /*?size= и Disallow: /*?color=. Убедитесь, что у базового URL товара есть самоссылающийся canonical-тег.

6

Настройте правила .htaccess для гигиены URL

Откройте файл .htaccess Вашего магазина (в корне PrestaShop) и добавьте правила выше автогенерируемого раздела (перед комментарием # ~~start~~). Добавьте принудительный HTTPS: RewriteCond %{HTTPS} off / RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]. Добавьте консистентность www (принудительный www или принудительный без www, но не оба). Добавьте блокировку session ID: RewriteCond %{QUERY_STRING} PHPSESSID / RewriteRule .* %{REQUEST_URI}? [R=301,L]. Убедитесь, что в PHP-конфигурации session.use_only_cookies = 1, чтобы session ID вообще не появлялись в URL. Протестируйте все правила, посетив магазин с разными паттернами URL и подтвердив правильность редиректов через DevTools браузера.

7

Отправьте приоритетные URL через IndexBolt и отслеживайте результат

После завершения всех технических SEO-настроек используйте IndexBolt, чтобы отправить в Google самые приоритетные страницы товаров, категорий и CMS-страницы. Для магазинов PrestaShop приоритезируйте лучшие товары, сезонные коллекции и новинки. Если магазин мультиязычный, сначала отправьте версии на основном языке, затем — другие языковые версии, чтобы Google проиндексировал корректные связи hreflang. Instant mode IndexBolt ценен для запусков товаров, флэш-распродаж и сезонных акций, где задержанная индексация означает упущенные продажи. Отслеживайте результаты в Google Search Console, обращая внимание на отчёт Index Coverage на предмет неожиданных исключений или дублей. Убедитесь, что для запросов на каждом целевом рынке появляется корректная языковая версия.

Закончили ручные шаги? Ускорьте процесс.

IndexBolt отправляет Ваши URL прямо в Google — большинство сканируется менее чем за 24 часа.

Частые проблемы и способы их решения

Параметры товарных комбинаций создают тысячи дублирующихся URL

Причина: Некоторые темы PrestaShop добавляют выбор атрибутов товара (размер, цвет, материал) как параметры запроса к URL товара. Товар с 40 комбинациями создаёт 40 уникальных URL с одним и тем же контентом. Google обнаруживает их через JavaScript-обработчики, меняющие URL при выборе комбинации, или через внутренние ссылки в разметке страницы товара.

Решение: Модифицируйте тему так, чтобы выбор комбинаций обрабатывался через JavaScript без изменения URL, или используйте якорные фрагменты (#) вместо параметров запроса (?). Добавьте canonical-теги на URL с параметрами, указывающие на базовый URL товара. В качестве резерва заблокируйте параметры комбинаций в robots.txt. Для PrestaShop 8.x проверьте, предлагает ли тема опцию отключения обновления URL при смене комбинации.

Мультиязычный контент воспринимается Google как дубли

Причина: Hreflang-теги отсутствуют или некорректно реализованы, из-за чего Google рассматривает французскую, испанскую и английскую версии одного товара как дублирующийся контент, а не как языковые варианты. Встроенная поддержка hreflang в PrestaShop имеет известные баги в некоторых версиях (особенно 1.7.6.x — 1.7.7.x), выводящие некорректные аннотации hreflang.

Решение: Проверьте hreflang-теги, просмотрев исходник страниц товаров на каждом языке. У каждой страницы должны быть hreflang-теги для всех языковых версий, включая самоссылающийся. Если теги отсутствуют или некорректны, обновите PrestaShop до последней версии (8.x), где обработка hreflang улучшена, или установите специализированный мультиязычный SEO-модуль. Убедитесь, что у каждого товара корректно переведённые URL rewrite для каждого языка — автогенерируемые slug-и часто содержат ошибки кодировки.

Стандартные мета-теги не кастомизированы, создавая шаблонную метаинформацию по магазину

Причина: Стандартные шаблоны мета-тегов PrestaShop производят универсальные заголовки и описания вроде «Buy [Product Name] at [Store Name]» для каждого товара и «[Category Name] - [Store Name]» для каждой категории. Когда сотни товаров делят один шаблон с минимальной дифференциацией, Google может счесть их метаинформацию низкокачественной.

Решение: Кастомизируйте шаблоны мета-тегов в Shop Parameters → Traffic & SEO, включив дифференцирующие переменные: цену, ключевые атрибуты и контекст категории. Для приоритетных товаров (топ-20% по выручке) напишите полностью кастомные заголовки и описания в редакторе товара. Для категорий напишите уникальные описания и мета-описания, включающие специфический ассортимент категории и её ценностное предложение.

Страницы, создаваемые модулями, отсутствуют в карте сайта и без метаинформации

Причина: Сторонние модули (блог-модули, FAQ-модули, конструкторы лендингов) генерируют публичные страницы, которые GSitemap не обнаруживает. У них могут быть стандартные или пустые мета-заголовки и описания, потому что модули не интегрируются с системой мета-тегов PrestaShop. Google обнаруживает эти страницы через внутренние ссылки и индексирует с плохой метаинформацией.

Решение: Проведите аудит всех установленных модулей на наличие публичных страниц. Для каждого модуля проверьте конфигурацию на SEO-настройки и настройте мета-теги. Если у модуля нет SEO-возможностей, отредактируйте файлы его шаблонов напрямую, добавив правильные теги <title> и meta description. Для включения в карту сайта проверьте, генерирует ли модуль собственный sitemap или предоставляет хук для интеграции с GSitemap. Если ни того, ни другого, вручную добавьте URL страниц модуля в дополнительный sitemap-файл и отправьте его в Google Search Console.

Session ID в URL вызывают массовое дублирование

Причина: В PHP-конфигурации сервера session.use_only_cookies отключено, из-за чего PHP откатывается к отслеживанию сессий через URL, когда браузер посетителя блокирует cookies. Это добавляет ?PHPSESSID=уникальная-строка к каждому URL. Поскольку каждый session ID уникален, Google видит каждое посещение как новую страницу, создавая потенциально миллионы дублирующих записей.

Решение: Обновите PHP-конфигурацию сервера: установите session.use_only_cookies = 1 и session.use_trans_sid = 0. Добавьте правило в .htaccess, удаляющее PHPSESSID из URL через 301-редирект: RewriteCond %{QUERY_STRING} PHPSESSID / RewriteRule .* %{REQUEST_URI}? [R=301,L]. После исправления используйте инструмент «Удаления» в Google Search Console, чтобы запросить удаление URL с параметрами сессии, уже находящихся в индексе.

Страницы поставщиков и производителей создают тонкий контент

Причина: PrestaShop автоматически генерирует страницы для каждого поставщика и производителя в каталоге по адресам /supplier/[name] и /manufacturer/[name]. Эти страницы содержат только сетку товаров без описательного контента. Магазины с десятками поставщиков получают десятки тонких страниц, размывающих общее качество сайта.

Решение: Либо добавьте содержательные описания на каждую страницу поставщика и производителя (Products → Suppliers → [Name] → редактирование описания), либо установите эти типы страниц на noindex. Чтобы поставить noindex на все страницы поставщиков/производителей, добавьте директиву noindex в файл шаблона для этих типов страниц (templates/catalog/supplier.tpl и manufacturer.tpl) или используйте SEO-модуль, позволяющий правила noindex на уровне типов страниц. Также исключите эти страницы из конфигурации GSitemap.

Советы профи

Обновитесь до PrestaShop 8.x ради Product Page V2 — лучшие canonical и более чистые URL комбинаций.
Блокируйте параметры URL Product Customization в robots.txt, чтобы предотвратить индексацию по сессиям.
В мультимагазинах генерируйте отдельные GSitemap для каждого магазина и отправляйте каждую в Search Console.
Установите модуль SEO Internal Linking, чтобы Googlebot автоматически обнаруживал глубокие страницы каталога.
Всегда 301-редиректьте отключённые товары на их страницу категории, чтобы сохранить накопленный поисковый «вес».
Включите кеш Smarty и CCC в Advanced Parameters → Performance ради ускорения сканирования Googlebot.

Глубокие каталоги PrestaShop и мультиязычные структуры означают, что Google нужны недели на полное обнаружение и индексацию магазина. Используйте IndexBolt, чтобы фасттреком отправить самые ценные страницы товаров и новые коллекции на всех языковых версиях — никакого ожидания органических циклов сканирования.

100 бесплатных кредитов. Без банковской карты. Результаты менее чем за 24 часа.

Часто задаваемые вопросы

Есть ли в PrestaShop встроенный генератор карты сайта?+

В базовой установке PrestaShop генератора карты сайта нет. Самое распространённое решение — модуль GSitemap, бесплатно доступный в маркетплейсе PrestaShop Addons. После установки Вы настраиваете, какие типы контента включать, генерируете карту сайта и настраиваете cron-задание для автоматической ежедневной регенерации. Некоторые платные SEO-модули предлагают более продвинутые возможности карты сайта, включая автоматическое обнаружение страниц, создаваемых модулями, и мультиязычные варианты карты сайта с аннотациями hreflang.

Как включить friendly URL в PrestaShop?+

Перейдите в Shop Parameters → Traffic & SEO → SEO & URLs и установите «Friendly URL» в Yes. На сервере должен быть включён Apache mod_rewrite (или эквивалентные правила переписывания Nginx). PrestaShop автоматически генерирует необходимый файл .htaccess при включении friendly URL. Если после включения получаете ошибки 404, удалите файл .htaccess и заново сохраните настройки SEO, чтобы перегенерировать его. На shared-хостинге свяжитесь с провайдером, чтобы убедиться, что mod_rewrite включён.

Как PrestaShop обрабатывает SEO для мультиязычных магазинов?+

PrestaShop создаёт URL с префиксом языка для каждого установленного языка (например, /en/, /fr/, /es/). У каждого товара, категории и CMS-страницы свои отдельные slug-и для каждого языка, которые можно кастомизировать в редакторе. PrestaShop 1.7.7+ включает встроенную поддержку hreflang-тегов, сообщающих Google о связи языковых версий. Однако реализация hreflang имеет известные проблемы в некоторых версиях, поэтому проверьте теги в исходнике страницы и установите специализированный мультиязычный SEO-модуль, если их нет или они некорректны.

Почему URL комбинаций товаров создают дублирующийся контент в моём магазине PrestaShop?+

Некоторые темы PrestaShop обновляют URL в браузере, когда покупатель выбирает комбинации товара (размер, цвет и т. д.), добавляя параметры запроса вроде ?size=10&color=red. Каждая комбинация параметров создаёт уникальный URL с тем же содержимым. Чтобы это исправить, модифицируйте тему так, чтобы выбор комбинаций обрабатывался через JavaScript без изменения URL, добавьте canonical-теги, указывающие с URL с параметрами на базовый URL товара, и заблокируйте параметры комбинаций в robots.txt. Ядро PrestaShop не создаёт URL комбинаций — это поведение на уровне темы.

Как работать с SEO для снятых с продажи товаров PrestaShop?+

В Shop Parameters → Traffic & SEO → SEO & URLs настройте параметр «Redirect disabled product». Для перманентно снятых товаров установите редирект на страницу категории товара (301 permanent). Это переносит накопленный поисковый «вес» страницы товара на страницу категории. Для временно отсутствующих в наличии товаров держите товар включённым с сообщением «нет в наличии», а не отключайте — это сохраняет индексацию и ранжирование страницы, ясно сообщая покупателям о недоступности.

Может ли IndexBolt помочь с мультиязычной индексацией PrestaShop?+

Да, IndexBolt особенно полезен для мультиязычных магазинов PrestaShop, потому что каждая языковая версия товара — отдельный URL, который Google должен обнаружить и проиндексировать независимо. У магазина с 500 товарами на 4 языках 2000 URL товаров для индексации. Вместо того чтобы ждать, пока Google естественным образом просканирует все языковые версии, можно сначала отправить URL основного языка, затем — других языков. Это особенно ценно при запуске на новом рынке: отправьте все URL товаров на новом языке через IndexBolt, чтобы ускорить выход на рынок, не дожидаясь органического обнаружения через сканирование.

Бесплатные инструменты для этого

Дополнительные материалы

Готовы проиндексировать свои URL?

Начните со 100 бесплатных кредитов. Без банковской карты.