Перевод магазина PrestaShop на HTTPS занимает три шага: установка SSL-сертификата на сервере, включение двух настроек в разделе Shop Parameters и перенаправление старого HTTP-трафика. Именно средний шаг чаще всего сбивает пользователей с толку, так как в PrestaShop есть две настройки SSL, а не одна, и вторая остаётся заблокированной, пока не сохранена первая.
Краткий ответ: если на сервере уже установлен рабочий сертификат, откройте Shop Parameters > General, нажмите на ссылку, которая проверяет, поддерживает ли ваш магазин HTTPS, установите Enable SSL в значение Yes, затем установите Enable SSL on all pages в значение Yes, прокрутите страницу вниз и нажмите Save. Если второй переключатель неактивен (серый), значит первый ещё не был сохранён.
SSL (сокращение от Secure Sockets Layer, хотя все выдаваемые сегодня сертификаты используют TLS) — это то, что включает значок замка в адресной строке вашего магазина и позволяет платёжным системам работать. Если вы хотите сначала разобраться в основах, прочитайте статью что такое SSL-сертификат. Эти инструкции подходят для PrestaShop 8 и PrestaShop 9.
Какой способ подходит для вашей конфигурации PrestaShop
| Ваша конфигурация | Как получить сертификат | Примерное время |
|---|---|---|
| Управляемый хостинг или cPanel с AutoSSL | Выпустить бесплатный сертификат в панели управления, затем включить SSL в PrestaShop | 10 минут |
| Собственный VPS без панели управления хостингом | Certbot для получения сертификата Let’s Encrypt | 20 минут |
| Платный сертификат (OV, EV или wildcard) | Создать CSR, установить вручную | 30 минут плюс проверка |
| Cloudflare перед магазином | Сертификат на origin-сервере, режим Cloudflare — Full (strict) | 15 минут |
Перед началом работы сделайте резервную копию магазина и базы данных. Если магазин работает в реальном режиме, выполняйте это вне часов пиковой нагрузки: каждая минута недоступности оформления заказа означает потерянный заказ.
Какой SSL-сертификат использовать для магазина PrestaShop?
Бесплатный сертификат шифрует трафик точно так же, как и платный, и для небольшого магазина это часто оптимальный вариант. Разница между одним SSL-сертификатом PrestaShop и другим заключается в том, что именно проверил центр сертификации перед выдачей, и что гарантирует его в случае проблем.
| Тип | Что проверяет CA | Срок выдачи | Подходит для |
|---|---|---|---|
| Domain Validation (DV) | Что вы контролируете домен | Минуты | Небольшие магазины, магазины с хостированной платёжной страницей |
| Organization Validation (OV) | Домен и зарегистрированную компанию | 1-3 рабочих дня | Устоявшиеся магазины, B2B, там, где покупатели проверяют, кому платят |
| Extended Validation (EV) | Полную юридическую и операционную проверку компании | 1-3 рабочих дня | Высокие суммы заказов, финансовая сфера, магазины, обрабатывающие данные карт напрямую |
В электронной коммерции соотношение бесплатного и платного сертификата меняется по сравнению с блогом. Платные сертификаты предоставляют гарантию, покрывающую убытки в случае отказа самого сертификата, а также сайт-печать (site seal), которую можно разместить на странице оформления заказа. Бесплатные сертификаты не имеют ни того, ни другого, и являются только Domain Validation, то есть не подтверждают, кто именно управляет магазином.
Ещё два момента, специфичных для PrestaShop. Если вы используете мультимагазин (multistore) на поддоменах, wildcard-сертификат покроет их все одним сертификатом вместо отдельного для каждого магазина. И какой бы вариант вы выбрали, HTTPS здесь не опционален: платёжные системы не будут обрабатывать реальные транзакции по обычному HTTP, а стандарт PCI DSS требует надёжной криптографии — на практике TLS 1.2 или выше — на любой странице, передающей данные карт. Если вы не уверены, какой тип вам подходит, SSL Wizard поможет определиться.
Установка сертификата на сервер
PrestaShop не устанавливает сертификаты самостоятельно. Это происходит сначала на сервере, и PrestaShop даже не покажет переключатель Enable SSL, пока вы не сможете открыть панель управления по HTTPS.
- Из панели управления хостингом. Найдите раздел SSL/TLS, Let’s Encrypt или AutoSSL. В cPanel он находится в разделе Security. Выпустите сертификат как для основного домена, так и для версии с www.
- На VPS. Используйте Certbot, который выпускает сертификат из командной строки и настраивает собственный таймер автопродления.
- Платный сертификат. Создайте CSR с помощью нашего генератора CSR или по руководствам по CSR, пройдите проверку, затем установите сертификат, приватный ключ и промежуточные сертификаты. В cPanel это делается в разделе SSL/TLS > Manage SSL sites, что описано в руководстве по установке для cPanel. Другие платформы описаны в руководствах по установке SSL.
Сертификаты Let’s Encrypt действуют 90 дней и автоматически продлеваются примерно за 30 дней до истечения срока. Когда этот автоматический процесс ломается, магазин продолжает работать неделями, а затем внезапно становится незащищённым без предупреждения — обычно в самый разгар продаж. Убедитесь, что автопродление включено, и проверьте сертификат после первой ожидаемой даты продления с помощью SSL Checker.
Одна ловушка особенно важна именно для магазина: установите сертификат без его промежуточных сертификатов, и в вашем браузере всё равно появится замок, потому что настольные браузеры кэшируют промежуточные сертификаты, увиденные где-то ещё. А вот ваша платёжная система — нет. Магазин, который выглядит нормально, но не срабатывает на этапе обратного вызова платежа, очень часто страдает именно от неполной цепочки сертификатов.
Как включить SSL в PrestaShop
В PrestaShop есть две настройки SSL, а не одна, и порядок важен:
- Enable SSL защищает только страницы оформления заказа и учётной записи. Это исторический стандарт PrestaShop, когда магазины обслуживали большинство страниц по HTTP и шифровали только конфиденциальные.
- Enable SSL on all pages защищает весь магазин. Она остаётся неактивной, пока Enable SSL не включена и не сохранена.
Вам нужны обе настройки. Вот полная последовательность действий:
- Откройте Shop Parameters > General в панели управления. В обучающих материалах для PrestaShop 1.6 этот раздел называется Preferences > General; меню было переименовано в версии 1.7, а настройка осталась той же.
- Нажмите «Please click here to check if your shop supports HTTPS.» Эта ссылка перезагружает панель управления по HTTPS. PrestaShop показывает её только тогда, когда вы просматриваете панель управления по обычному HTTP, поэтому если вы уже управляете магазином через HTTPS, вы не увидите эту ссылку и можете переходить к следующему шагу.
- Установите Enable SSL в значение Yes.
- Установите Enable SSL on all pages в значение Yes.
- Прокрутите страницу до конца.
- Нажмите Save. Ничего не применится, пока вы не сделаете этого.

Эти инструкции применимы к PrestaShop 8 и PrestaShop 9. Версии 9.1.4 и 8.2.7 являлись актуальными релизами по состоянию на июнь 2026 года. PrestaShop 1.7 работает по тому же принципу, но её поддержка завершилась с выходом PrestaShop 9.0 в июне 2025 года, поэтому она больше не получает исправлений безопасности, и обновление стоит включить в ваш список задач. В версии 1.6 используются старые названия меню.
Почему переключатель Enable SSL неактивен (серый)
Это самая распространённая проблема с SSL в PrestaShop. Прежде всего проверьте, какой именно из двух симптомов у вас наблюдается.
Если Enable SSL вообще отсутствует на странице, значит вы просматриваете панель управления по обычному HTTP. PrestaShop отображает этот переключатель только при защищённом соединении, поэтому в панели с http:// вместо переключателя вы увидите ссылку для проверки HTTPS. Откройте панель управления по адресу с https://, нажав эту ссылку или введя адрес вручную, и переключатель появится.
Если Enable SSL on all pages видна, но неактивна (серая), разберите эти три причины по порядку.
1. Вы ещё не сохранили изменения
Самая частая причина. Вы включаете Enable SSL, смотрите на Enable SSL on all pages, видите, что она всё ещё неактивна, и делаете вывод, что что-то не работает. Это не так: вторая настройка разблокируется только после сохранения первой. Прокрутите страницу вниз, нажмите Save, и страница перезагрузится с активным вторым переключателем. В собственной системе отслеживания ошибок PrestaShop эта проблема зафиксирована под заголовком «Enabling Https/ssl is quite confusing», так что если вы попались на этом, вы не одиноки.
2. Проверка HTTPS не прошла
Если панель управления вообще не загружается по HTTPS, или ваш браузер выдаёт предупреждение при загрузке, проблема в сертификате, а не в PrestaShop. Распространённые причины: сертификат ещё не установлен, он покрывает только www, а вы обращаетесь к основному домену (или наоборот), либо он установлен без промежуточных сертификатов. Запустите SSL Checker для точного домена, используемого в URL вашего магазина, и исправьте всё, что он покажет, перед возвращением в панель управления.
3. Установите значение непосредственно в базе данных
Если сертификат подтверждённо работает, а переключатель всё равно не включается, обе настройки хранятся в таблице ps_configuration и могут быть изменены напрямую. В phpMyAdmin или любом SQL-клиенте:
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';
Скорректируйте префикс таблицы, если у вас он отличается от стандартного ps_, затем очистите кэш. Чтобы отменить изменения, например, если из-за неработающего сертификата вы оказались заблокированы в собственной панели управления, выполните те же два запроса, но с 0 вместо 1.
Перенаправление с HTTP на HTTPS в PrestaShop
После сохранения обоих параметров PrestaShop уже отвечает на HTTP-запросы к страницам магазина кодом 301, перенаправляя их на HTTPS-адрес, поэтому старые ссылки и проиндексированные URL не остаются без внимания. Однако это касается только запросов, которые действительно доходят до PrestaShop. Файлы, отдаваемые прямо с диска, такие как изображения, PDF-файлы и всё, что находится в /img/ или /upload/, не перенаправляются, как и POST-запросы. Правило на уровне сервера обрабатывает всё это и перенаправляет без запуска PHP каждый раз.
Прочитайте это, прежде чем что-либо редактировать. PrestaShop генерирует собственный файл .htaccess, и сохранение раздела Shop Parameters > Traffic & SEO > SEO & URLs перезаписывает его. Однако это не стирает весь файл. PrestaShop заменяет только блок между двумя маркерными комментариями, # ~~start~~ и # ~~end~~, и сохраняет всё, что находится выше или ниже них — именно об этом говорит сама строка маркера. Поэтому размещайте свои правила за пределами этого блока, и они сохранятся при каждой регенерации. Всё, что вставлено внутрь него, будет удалено при следующем сохранении этой страницы.
В Apache добавьте это в .htaccess в корне вашего магазина, выше строки # ~~start~~:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Условие должно быть равно off, что означает «перенаправлять, когда запрос ещё не защищён». Флаг R=301 делает перенаправление постоянным; без него вы получите временное перенаправление, которое сообщает поисковым системам, что ничего не переместилось.
В Nginx нет файла .htaccess. Вместо этого отредактируйте блок server:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Проверьте конфигурацию с помощью nginx -t, затем перезапустите сервис командой systemctl reload nginx.
Что нужно исправить после перехода
Очистите кэш PrestaShop. Сделайте это первым делом. Кэшированный интерфейс магазина продолжит отдавать страницы с HTTP-разметкой и создаст впечатление, что завершённый переход не сработал. Также очистите CDN, если вы его используете.
Устраните смешанный контент. Страница, доставляемая по HTTPS, но всё ещё загружающая изображение, скрипт или таблицу стилей по HTTP, содержит смешанный контент. Браузеры незаметно повышают уровень безопасности некоторых ресурсов, в основном изображений и медиа, но полностью отказываются загружать другие, из-за чего страница может отображаться без стилей. В PrestaShop типичными источниками являются жёстко закодированные URL-адреса на CMS-страницах, настройки модулей и описания товаров, вставленные из других источников. Консоль браузера укажет проблемный файл. Наше руководство как исправить смешанный контент подробно описывает диагностику.
Перегенерируйте карту сайта (sitemap), чтобы она содержала https-адреса, и проверьте, что ни один модуль не продолжает записывать http-ссылки в письма или счета.
Решение проблем с SSL в PrestaShop
| Симптом | Причина | Решение |
|---|---|---|
| Бесконечный цикл перенаправлений после включения SSL | Режим шифрования Cloudflare установлен на Flexible, поэтому он отправляет HTTP на ваш origin-сервер, а тот перенаправляет на HTTPS | Установите Cloudflare в режим Full (strict) и сохраните действующий сертификат на origin-сервере |
| Заблокирован доступ к панели управления | SSL включён, а сертификат неисправен или отсутствует | Установите оба параметра в 0 в таблице ps_configuration, исправьте сертификат, попробуйте снова |
| Замок отсутствует только на страницах товаров | Смешанный контент, обычно изображение товара или ресурс модуля | Найдите HTTP-ресурс в консоли браузера |
| Магазин стал незащищённым спустя несколько недель | Истёк срок действия сертификата Let’s Encrypt из-за сбоя продления | Перевыпустите сертификат, затем убедитесь в работе автопродления. См. просроченные промежуточные сертификаты |
| Браузер работает нормально, но оформление заказа или обратный вызов платежа не срабатывает | Неполная цепочка сертификатов | Установите полный набор CA, проверьте повторно с помощью SSL Checker |
| Несовпадение имени на www или основном домене | Сертификат покрывает только одно из двух имён | Перевыпустите сертификат, покрывающий оба имени. См. недопустимое общее имя |
Если сертификат установлен, а магазин всё равно сообщает о незащищённости, руководства по ошибкам SSL помогут разобраться с конкретными кодами ошибок браузера.
После перехода: чек-лист по SEO
- Добавьте HTTPS-ресурс в Google Search Console. HTTP-ресурс не предоставляет отчётов по HTTPS-адресам. Добавьте новый ресурс или используйте доменный ресурс, охватывающий оба варианта.
- Повторно отправьте карту сайта с https-адресами.
- Проверьте канонические теги, чтобы они указывали на https на страницах товаров и категорий.
- Обновите фиды Merchant Center, аналитику и любые интеграции с торговыми площадками, где хранится адрес вашего магазина. Фиды товаров с http-ссылками — распространённая, но часто упускаемая из виду проблема.
Ожидайте некоторых изменений. Google рассматривает переход с HTTP на HTTPS как перемещение сайта с изменением URL-адресов, поэтому показы на некоторое время разделяются между двумя вашими ресурсами в Search Console, а позиции в течение нескольких недель могут колебаться. Пока каждый URL корректно разрешается и на месте установлены редиректы 301, исправлять ничего не нужно.
После того как HTTPS стабильно работает некоторое время, рассмотрите возможность использования HSTS, который указывает браузерам отклонять обычный HTTP для вашего домена. Изначально оставьте директиву preload отключённой, поскольку её сложно отменить.
Часто задаваемые вопросы
Сначала установите сертификат на сервере, затем откройте Shop Parameters > General в панели управления, нажмите на ссылку, проверяющую поддержку HTTPS вашим магазином, установите Enable SSL в значение Yes, установите Enable SSL on all pages в значение Yes и нажмите Save в конце страницы. PrestaShop не выпускает сертификаты самостоятельно.
Сначала проверьте, неактивен ли переключатель или он отсутствует вовсе. Если Enable SSL отсутствует, значит вы просматриваете панель управления по обычному HTTP, а PrestaShop показывает этот переключатель только при защищённом соединении, поэтому перезагрузите панель управления по адресу с https://. Если Enable SSL on all pages неактивна, есть три причины по порядку вероятности. Вы не прокрутили страницу вниз и не сохранили изменения, поэтому вторая настройка ещё не разблокирована. Либо проверка HTTPS в PrestaShop не прошла, потому что сертификат отсутствует, не покрывает используемый домен или установлен без промежуточных сертификатов. Либо настройка застряла, в этом случае вы можете установить PS_SSL_ENABLED и PS_SSL_ENABLED_EVERYWHERE в значение 1 непосредственно в таблице ps_configuration.
Enable SSL защищает только страницы оформления заказа и учётной записи клиента, что было стандартным подходом, когда магазины обслуживали всё остальное по HTTP. Enable SSL on all pages защищает весь магазин. Второй вариант недоступен, пока первый не включён и не сохранён. Для любого современного магазина нужны обе настройки.
В разделе Shop Parameters > General панели управления. В более старых руководствах для PrestaShop 1.6 этот же экран называется Preferences > General, так как меню было переименовано в версии 1.7.
Установите оба переключателя обратно в значение No в разделе Shop Parameters > General и сохраните. Если из-за неисправного сертификата вы заблокированы в панели управления, выполните те же два запроса к ps_configuration, показанные выше, но с 0 вместо 1, затем очистите кэш. Отключение SSL — это временная мера на время устранения проблем с сертификатом, а не решение: платёжные системы не будут работать без HTTPS.
Технически нет. Бесплатный сертификат Domain Validation шифрует оформление заказа точно так же, как и платный, и удовлетворяет требованиям платёжных систем. Платный сертификат добавляет гарантию, покрывающую убытки в случае отказа сертификата, сайт-печать для страницы оформления заказа, проверенные данные компании внутри сертификата при OV или EV, а также более простое покрытие wildcard, если вы используете мультимагазин на поддоменах.
К PrestaShop 8 и PrestaShop 9, при этом актуальными версиями на июнь 2026 года являются 9.1.4 и 8.2.7. PrestaShop 1.7 использует те же настройки в том же месте, но её поддержка прекратилась после выхода PrestaShop 9.0 в июне 2025 года. В PrestaShop 1.6 этот экран называется Preferences > General вместо Shop Parameters > General.
Переносите другую платформу на HTTPS или хотите узнать общую процедуру? См. наше руководство как перевести сайт с HTTP на HTTPS.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

