Colocar uma loja PrestaShop em HTTPS exige três passos: instalar um certificado SSL no seu servidor, ativar duas configurações em Shop Parameters, e redirecionar o tráfego HTTP antigo. O passo intermédio é onde a maioria das pessoas se engana, porque o PrestaShop tem duas configurações de SSL em vez de uma, e a segunda permanece bloqueada até a primeira ser guardada.
Resposta rápida: com um certificado funcional no seu servidor, abra Shop Parameters > General, clique na ligação que verifica se a sua loja suporta HTTPS, defina Enable SSL como Yes, depois defina Enable SSL on all pages como Yes, desloque-se até ao fundo da página e prima Save. Se o segundo interruptor estiver desativado (a cinzento), o primeiro ainda não foi guardado.
O SSL (abreviatura de Secure Sockets Layer, embora todos os certificados emitidos atualmente usem TLS) é o que ativa o cadeado na barra de endereços da sua loja e permite que os gateways de pagamento funcionem. Se quiser primeiro entender o contexto, leia o que é um certificado SSL. Estes passos abrangem o PrestaShop 8 e o PrestaShop 9.
Qual método se adequa à sua configuração PrestaShop
| A sua configuração | Como obter o certificado | Duração aproximada |
|---|---|---|
| Hospedagem gerida ou cPanel com AutoSSL | Emita o certificado gratuito no painel e, depois, ative o SSL no PrestaShop | 10 minutos |
| O seu próprio VPS, sem painel de hospedagem | Certbot para um certificado Let’s Encrypt | 20 minutos |
| Certificado pago (OV, EV ou wildcard) | Gerar um CSR, instalar manualmente | 30 minutos mais validação |
| Cloudflare em frente da loja | Certificado na origem, Cloudflare definido como Full (strict) | 15 minutos |
Faça uma cópia de segurança da loja e da base de dados antes de começar. Numa loja em produção, faça isto fora das horas de maior movimento: cada minuto em que o checkout está indisponível é um pedido perdido.
Que certificado SSL deve uma loja PrestaShop usar?
Um certificado gratuito encripta o tráfego exatamente tão bem quanto um pago, e para uma pequena loja é muitas vezes a resposta certa. O que difere entre um certificado SSL PrestaShop e outro é o que a autoridade certificadora verificou antes de o emitir, e o que o sustenta se algo correr mal.
| Tipo | O que a CA verifica | Emitido em | Adequado para |
|---|---|---|---|
| Domain Validation (DV) | Que controla o domínio | Minutos | Pequenas lojas, lojas que usam uma página de pagamento alojada externamente |
| Organization Validation (OV) | O domínio mais a sua empresa registada | 1 a 3 dias úteis | Lojas estabelecidas, B2B, sempre que os compradores verificam a quem estão a pagar |
| Extended Validation (EV) | Uma verificação legal e operacional completa da empresa | 1 a 3 dias úteis | Valores de pedido mais elevados, finanças, lojas que tratam dados de cartão diretamente |
O comércio eletrónico altera o cálculo gratuito versus pago de uma forma que não acontece num blogue. Os certificados pagos têm uma garantia que cobre perdas se o próprio certificado falhar, e um selo de site que pode colocar no checkout. Os certificados gratuitos não têm nenhum destes, e são apenas Domain Validation, pelo que não provam nada sobre quem gere a loja.
Mais duas coisas específicas do PrestaShop. Se executar multistore em subdomínios, um certificado wildcard cobre todos eles com um único certificado em vez de um por loja. E, seja qual for a sua escolha, o HTTPS não é opcional aqui: os gateways de pagamento não processam transações reais através de HTTP simples, e a norma PCI DSS exige criptografia forte, na prática TLS 1.2 ou superior, em qualquer página que transmita dados de cartão. Se não tiver certeza de qual tipo se aplica, o SSL Wizard ajuda a restringir a escolha.
Coloque o certificado no seu servidor
O PrestaShop não instala certificados. Isso acontece primeiro no servidor, e o PrestaShop nem sequer mostra o interruptor Enable SSL até que consiga aceder ao seu back office via HTTPS.
- A partir do seu painel de hospedagem. Procure por SSL/TLS, Let’s Encrypt ou AutoSSL. No cPanel encontra-se em Security. Emita o certificado tanto para o domínio principal como para a versão www.
- Num VPS. Use o Certbot, que emite o certificado a partir da linha de comandos e configura o seu próprio temporizador de renovação.
- Um certificado pago. Gere um CSR com o nosso gerador de CSR ou os guias de CSR, conclua a validação e, depois, instale o certificado, a chave privada e os certificados intermédios. No cPanel isso está em SSL/TLS > Manage SSL sites, abordado no guia de instalação para cPanel. Outras plataformas estão nos guias de instalação SSL.
Os certificados Let’s Encrypt duram 90 dias e renovam-se automaticamente cerca de 30 dias antes de expirarem. Quando essa automatização falha, a loja continua a funcionar durante semanas e depois torna-se insegura sem aviso, geralmente a meio de uma venda. Confirme que a renovação automática está ativa, e verifique o certificado após a primeira data de renovação esperada com o SSL Checker.
Uma armadilha que importa mais numa loja do que em qualquer outro sítio: instale o certificado sem os seus certificados intermédios e o seu navegador continuará a mostrar um cadeado, porque os navegadores de computador armazenam em cache os intermédios que já viram noutros sítios. O seu gateway de pagamento não fará isso. Uma loja que parece bem mas falha na chamada de retorno do pagamento é, muitas vezes, uma cadeia incompleta.
Como ativar o SSL no PrestaShop
O PrestaShop tem duas configurações de SSL, não uma, e a ordem importa:
- Enable SSL protege apenas as páginas de checkout e de conta. Este é o comportamento histórico padrão do PrestaShop, de uma época em que as lojas serviam a maioria das páginas via HTTP e apenas encriptavam as sensíveis.
- Enable SSL on all pages protege toda a loja. Permanece desativado (a cinzento) até que Enable SSL seja ativado e guardado.
Você quer os dois. Aqui está a sequência completa:
- Abra Shop Parameters > General no back office. Tutoriais escritos para o PrestaShop 1.6 chamam a isto Preferences > General; o menu foi renomeado na versão 1.7 e a configuração é a mesma.
- Clique em “Please click here to check if your shop supports HTTPS.” Essa ligação recarrega o back office via HTTPS. O PrestaShop apenas a mostra quando está a visualizar o back office via HTTP simples, portanto, se já administra a sua loja via HTTPS, não a verá, e pode avançar diretamente.
- Defina Enable SSL como Yes.
- Defina Enable SSL on all pages como Yes.
- Desloque-se até ao fundo da página.
- Prima Save. Nada tem efeito até o fazer.

Estas instruções aplicam-se ao PrestaShop 8 e ao PrestaShop 9. As versões 9.1.4 e 8.2.7 eram as versões atuais em junho de 2026. O PrestaShop 1.7 funciona da mesma forma, mas a sua manutenção terminou quando o PrestaShop 9.0 foi lançado em junho de 2025, pelo que já não recebe correções de segurança, e uma atualização deve estar na sua lista de prioridades. A versão 1.6 usa os nomes de menu mais antigos.
Porque é que o interruptor Enable SSL está desativado (a cinzento)
Este é o problema de SSL mais comum no PrestaShop. Antes de mais, verifique qual dos dois sintomas realmente tem.
Se o Enable SSL não estiver de todo na página, está a visualizar o back office via HTTP simples. O PrestaShop só mostra esse interruptor numa ligação segura, portanto, num back office http://, obtém a ligação de verificação HTTPS no seu lugar e nenhum interruptor. Aceda ao seu back office num endereço https://, clicando nessa ligação ou digitando o endereço, e o interruptor estará lá.
Se o Enable SSL on all pages estiver visível mas desativado (a cinzento), percorra estas três causas por ordem.
1. Ainda não guardou
De longe a causa mais frequente. Ativa o Enable SSL, olha para o Enable SSL on all pages, vê-o ainda desativado, e conclui que algo está avariado. Não está: a segunda configuração só se desbloqueia depois de a primeira ter sido guardada. Desloque-se até ao fundo da página, prima Save, e a página recarrega com o segundo interruptor ativo. O próprio sistema de gestão de problemas do PrestaShop tem isto registado sob o título “Enabling Https/ssl is quite confusing”, pelo que, se isto o apanhou desprevenido, está em boa companhia.
2. A verificação HTTPS falhou
Se o back office não carregar de todo via HTTPS, ou se o seu navegador avisar quando o faz, o problema é do certificado e não do PrestaShop. Motivos comuns: o certificado ainda não está instalado, cobre o www mas está a navegar no domínio principal (ou vice-versa), ou está instalado sem os seus certificados intermédios. Execute o SSL Checker contra o domínio exato do URL da sua loja e corrija o que ele reportar antes de voltar ao back office.
3. Defina-o na base de dados
Se o certificado estiver confirmado a funcionar e o interruptor ainda se recusar, ambas as configurações estão guardadas na tabela ps_configuration e podem ser definidas diretamente. No phpMyAdmin ou em qualquer cliente SQL:
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';
Ajuste o prefixo da tabela se o seu não for o padrão ps_, e depois limpe a cache. Para inverter, por exemplo se um certificado avariado o tiver bloqueado fora do seu próprio back office, execute as mesmas duas instruções com 0 em vez de 1.
Redirecionar HTTP para HTTPS no PrestaShop
Com ambas as configurações guardadas, o PrestaShop já responde aos pedidos HTTP para páginas da loja com um redirecionamento 301 para o seu endereço HTTPS, pelo que ligações antigas e URLs indexados não ficam abandonados. No entanto, isto só cobre pedidos que efetivamente chegam ao PrestaShop. Ficheiros servidos diretamente do disco, como imagens, PDFs e qualquer coisa em /img/ ou /upload/, não são redirecionados, e os pedidos POST também não. Uma regra a nível do servidor apanha tudo isso, e redireciona sem iniciar o PHP em cada vez.
Leia isto antes de editar qualquer coisa. O PrestaShop gera o seu próprio ficheiro .htaccess, e guardar em Shop Parameters > Traffic & SEO > SEO & URLs reescreve-o. Não elimina o ficheiro todo. O PrestaShop substitui apenas o bloco entre os seus dois comentários marcadores, # ~~start~~ e # ~~end~~, e mantém o que estiver acima ou abaixo deles, que é exatamente o que a própria linha marcadora lhe diz. Portanto, coloque as suas regras fora desse bloco e elas sobrevivem a todas as regenerações. Qualquer coisa colada dentro dele desaparece na próxima vez que guardar essa página.
No Apache, adicione isto ao .htaccess na raiz da sua loja, acima da linha # ~~start~~:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
A condição deve indicar off, significando “redirecionar quando o pedido ainda não é seguro”. A flag R=301 é o que torna isto permanente; sem ela obtém um redirecionamento temporário que diz aos motores de busca que nada foi movido.
No Nginx não existe .htaccess. Em vez disso, edite o bloco do servidor:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Teste com nginx -t, depois recarregue com systemctl reload nginx.
Corrija o que a mudança deixa por resolver
Limpe a cache do PrestaShop. Faça isto primeiro. Uma loja em cache continuará a servir páginas repletas de marcação HTTP e fará com que uma mudança concluída pareça avariada. Limpe também a sua CDN, se usar uma.
Corrija o conteúdo misto. Uma página servida via HTTPS que ainda carrega uma imagem, script ou folha de estilos via HTTP é conteúdo misto. Os navegadores atualizam silenciosamente alguns recursos, principalmente imagens e média, mas recusam outros por completo, razão pela qual uma página afetada pode aparecer sem estilo. No PrestaShop, as fontes habituais são URLs codificados diretamente em páginas CMS, configuração de módulos e descrições de produtos coladas de outro lugar. A consola do navegador identifica o ficheiro problemático. O nosso guia sobre como corrigir conteúdo misto aborda o diagnóstico em detalhe.
Regenere o seu sitemap para que liste URLs https, e verifique que nenhum módulo continua a escrever ligações http em emails ou faturas.
Resolução de problemas de SSL no PrestaShop
| Sintoma | Causa | Correção |
|---|---|---|
| Loop de redirecionamento infinito depois de ativar o SSL | Modo de encriptação Cloudflare definido como Flexible, pelo que envia HTTP para a sua origem enquanto a sua origem redireciona para HTTPS | Defina o Cloudflare para Full (strict) e mantenha um certificado válido na origem |
| Bloqueado fora do back office | SSL ativado enquanto o certificado está avariado ou ausente | Defina ambas as chaves para 0 em ps_configuration, corrija o certificado, tente novamente |
| Cadeado ausente apenas nas páginas de produto | Conteúdo misto, geralmente uma imagem de produto ou um recurso de módulo | Encontre o recurso HTTP na consola do navegador |
| A loja tornou-se insegura semanas depois | Um certificado Let’s Encrypt expirou porque a renovação falhou | Reemita e, depois, confirme a renovação automática. Veja certificados intermédios expirados |
| Navegador ok, checkout ou chamada de retorno de pagamento falha | Cadeia de certificados incompleta | Instale o pacote CA completo, verifique novamente com o SSL Checker |
| Incompatibilidade de nome no www ou no domínio principal | O certificado cobre apenas um dos dois nomes | Reemita cobrindo ambos. Veja nome comum inválido |
Se o certificado estiver instalado e a loja continuar a ser reportada como insegura, os guias de erros SSL tratam de códigos de erro específicos do navegador.
Depois da mudança: lista de verificação SEO
- Adicione a propriedade HTTPS no Google Search Console. Uma propriedade HTTP não reporta URLs HTTPS. Adicione a nova, ou use uma propriedade de Domínio que cubra ambas.
- Reenvie o sitemap com URLs https.
- Verifique se as etiquetas canonical apontam para https em todas as páginas de produto e categoria.
- Atualize os feeds do Merchant Center, a análise e qualquer integração de marketplace que armazene o URL da sua loja. Feeds de produtos com ligações http são uma falha comum negligenciada.
Espere alguma movimentação. O Google trata uma mudança de HTTP para HTTPS como uma mudança de site com alterações de URL, pelo que as impressões se dividem entre as suas duas propriedades do Search Console durante algum tempo e as classificações flutuam durante algumas semanas. Enquanto cada URL resolver e os redirecionamentos 301 estiverem em vigor, não há nada a corrigir.
Depois de o HTTPS estar estável durante algum tempo, considere o HSTS, que informa os navegadores para recusarem HTTP simples para o seu domínio. Deixe a diretiva preload desativada no início, uma vez que é difícil de revertê-la.
Perguntas Frequentes
Instale primeiro um certificado no seu servidor, depois abra Shop Parameters > General no back office, clique na ligação que verifica se a sua loja suporta HTTPS, defina Enable SSL como Yes, defina Enable SSL on all pages como Yes, e prima Save no fundo da página. O PrestaShop não emite certificados por si próprio.
Primeiro verifique se o interruptor está desativado (a cinzento) ou completamente ausente. Se o Enable SSL estiver ausente, está a visualizar o back office via HTTP simples e o PrestaShop só mostra esse interruptor numa ligação segura, pelo que deve recarregar o back office num endereço https://. Se o Enable SSL on all pages estiver desativado (a cinzento), há três motivos, por ordem de probabilidade. Não se deslocou até ao fundo e guardou, pelo que a segunda configuração ainda não se desbloqueou. Ou a verificação HTTPS do PrestaShop falhou porque o certificado está ausente, não cobre o domínio que está a usar, ou está instalado sem os seus certificados intermédios. Ou a configuração está bloqueada, caso em que pode definir PS_SSL_ENABLED e PS_SSL_ENABLED_EVERYWHERE como 1 diretamente na tabela ps_configuration.
O Enable SSL protege apenas as páginas de checkout e de conta de cliente, o que era a abordagem padrão quando as lojas serviam tudo o resto via HTTP. O Enable SSL on all pages protege toda a loja. A segunda opção não está disponível até a primeira ser ativada e guardada. Em qualquer loja moderna, quer ambas.
Shop Parameters > General no back office. Tutoriais mais antigos escritos para o PrestaShop 1.6 chamam ao mesmo ecrã Preferences > General, uma vez que o menu foi renomeado na versão 1.7.
Defina ambos os interruptores novamente para No em Shop Parameters > General e guarde. Se um certificado avariado o tiver bloqueado fora do back office, execute as mesmas duas instruções ps_configuration mostradas acima com 0 em vez de 1, e depois limpe a cache. Desativar o SSL é uma medida temporária enquanto corrige um certificado, não uma solução: os gateways de pagamento não funcionarão sem HTTPS.
Tecnicamente não. Um certificado Domain Validation gratuito encripta o checkout exatamente tão bem quanto um pago, e satisfaz os gateways de pagamento. Um certificado pago adiciona uma garantia que cobre perdas se o certificado falhar, um selo de site para o checkout, dados verificados da empresa dentro do certificado com OV ou EV, e cobertura wildcard mais fácil se executar multistore em subdomínios.
PrestaShop 8 e PrestaShop 9, com as versões 9.1.4 e 8.2.7 atuais em junho de 2026. O PrestaShop 1.7 usa as mesmas configurações no mesmo lugar, mas não é mantido desde que o PrestaShop 9.0 foi lançado em junho de 2025. O PrestaShop 1.6 chama ao ecrã Preferences > General em vez de Shop Parameters > General.
A mudar uma plataforma diferente para HTTPS, ou quer o procedimento geral? Consulte o nosso guia sobre como mudar um site de HTTP para HTTPS.
Economize 10% em certificados SSL ao fazer seu pedido hoje!
Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

