SSL em WordPress: configurar HTTPS, renovar certificados e resolver erros comuns

HTTPS não é opcional — é um requisito de segurança, um factor de ranking no Google, e um pré-requisito para tecnologias web modernas como HTTP/2 e Service Workers. Para agências que lançam e mantêm sites WordPress, dominar a configuração de SSL e a resolução dos seus erros mais comuns é uma competência básica.

Tipos de certificado SSL relevantes para WordPress

Let's Encrypt (gratuito)

O certificado SSL mais utilizado em WordPress. Gratuito, automático, válido por 90 dias com renovação automática. Disponível em praticamente todos os hostings modernos. Para a maioria dos sites de clientes, é a escolha correcta — mesma encriptação que certificados pagos.

Certificados DV pagos (Domain Validated)

Validam apenas o domínio, como Let's Encrypt, mas têm validade de 1-2 anos e suporte do fornecedor. Úteis quando a renovação automática do Let's Encrypt não é suportada pelo hosting.

Certificados OV e EV (Organization/Extended Validation)

Validam a identidade da organização para além do domínio. Usados em bancos, e-commerce de grande escala, e sites onde a identidade da organização precisa de ser verificável. Para a maioria dos sites de agência, o overhead não justifica o custo.

Instalar SSL e configurar WordPress para HTTPS

Passo 1: Instalar o certificado no hosting

Via cPanel: SSL/TLS > Let's Encrypt SSL. A maioria dos hostings modernos tem isto com um clique. Em hostings com Cloudflare, activar HTTPS nas definições de SSL do Cloudflare.

Passo 2: Actualizar URLs no WordPress

Após instalar o certificado, actualizar as URLs do WordPress de http:// para https://. Em Definições > Geral, alterar "Endereço do WordPress" e "Endereço do site" para HTTPS.

Via WP-CLI:

wp option update siteurl 'https://exemplo.pt'
wp option update home 'https://exemplo.pt'

Passo 3: Forçar HTTPS via .htaccess

Adicionar ao .htaccess para redirecionar todo o tráfego HTTP para HTTPS:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Passo 4: Corrigir conteúdo misto (mixed content)

URLs http:// em imagens, scripts ou CSS carregados na página causam avisos de "mixed content" no browser e podem bloquear recursos. Usar o plugin Better Search Replace para substituir todas as ocorrências de http://exemplo.pt por https://exemplo.pt na base de dados.

Renovação de certificados Let's Encrypt

Let's Encrypt tem validade de 90 dias. A renovação automática deve estar configurada no hosting — verificar se está activa. Se o hosting não suporta renovação automática:

  • Configurar um cron job via Certbot: certbot renew executado duas vezes por semana é o standard
  • Usar Cloudflare como proxy — o certificado Cloudflare é gerido pela Cloudflare automaticamente
  • Monitorizar a data de expiração e renovar manualmente quando necessário (má prática — configurar automação)

Ferramentas de monitorização de SSL (como o SSL Labs ou serviços de uptime) podem enviar alertas quando um certificado está a 30 dias de expirar.

Erros SSL mais comuns em WordPress

ERR_SSL_PROTOCOL_ERROR

Problema de negociação TLS entre browser e servidor. Causas comuns: versão TLS desactualizada no servidor (TLS 1.0/1.1 — devem estar desactivadas), conflito de configuração no hosting após mudança de certificado.

NET::ERR_CERT_COMMON_NAME_INVALID

O certificado não cobre o domínio acedido. Comum quando o site está configurado em www.exemplo.pt mas o certificado cobre apenas exemplo.pt (ou vice-versa). Reinstalar o certificado cobrindo ambas as variantes.

Too many redirects

Loop de redirecionamentos — frequentemente causado por: WordPress configurado em HTTPS mas o servidor a enviar HTTP ao WordPress (comum atrás de load balancer ou proxy). Solução: adicionar ao wp-config.php antes do require de wp-settings.php:

$_SERVER['HTTPS'] = 'on';

Mixed content warnings

Recursos carregados em HTTP numa página HTTPS. Identificar com as DevTools do Chrome (tab Console, filtrar por "Mixed Content") e corrigir URLs na base de dados ou nos ficheiros de tema.

Certificados SSL dos sites dos seus clientes monitorizados?

O nosso serviço de monitorização 24/7 inclui alertas de expiração de certificado SSL e verificação de HTTPS em todos os sites sob gestão.

Monitorizar certificados SSL