Como forçar HTTPS nas páginas do seu site WordPress

A decisão

Por um apelo popular, eu decidi deixar todo o meu blog em WordPress seguro através de uma conexão HTTPS. Adicional ao apelo, também li que os mecanismos de busca como o Google recompensam proprietários de sites que estão em HTTPS.

Neste guia, vamos mostrar como mostrar deixar seguro toda a aplicação WordPress, incluindo as páginas administrativas. Para simplificar, o guia será dividido nas seguintes partes:

1 – Forçar o SSL para administrador e páginas logadas

2 – Segurar todas as páginas que não são de administrador com HTTPS

3 – Arrumar o .htaccess para processar os recursos como CSS e JavaScript sob HTTPS

4 – Realizar uma limpeza de qualquer coisa perdida como caching

Quando todos os itens forem realizados você seu site WordPress ou blog tirando todas as vantagens do HTTPS.

Forçar SSL para administrador e páginas logadas

Quando eu instalei meu certificado SSL, meu objetivo inicial era por somente o administrador e outras páginas protegidas atrás do HTTPS. Isto pode ser feito abrindo seu arquivo wp-config.php no diretório root do diretório WordPress e incluindo a linha abaixo:

define(‘FORCE_SSL_ADMIN’, true);

Muitos outros tutoriais podem orientar para incluir define(‘FORCE_SSL_LOGIN’, true); mas no meu entendimento isto está ultrapassado. Usando FORCE_SSL_ADMIN parece o suficiente para mim.

Neste ponto, todas as vezes que visitar http://blog.exemplo.com.br/wp-admin você deverá ser redirecionado para a versão https.

Segurar todas as páginas que não são de administrador com HTTPS

Eu li não muito tempo atrás que o Google está recompensando proprietários de sites que colocam todo o site atrás de um HTTPS. O quanto é verdade, não sei, mas em todo caso meu leitores querem isso e eu cuido muito mais deles.

No seu quando geral do administrador WordPress, acesse Configurações → Geral e altere ambas as URLs para ter https:// no lugar de http://. Isso se parece com alguém como segue abaixo:

Depois de alterar ambos WordPress e endereço do site, todos os links internos da sua aplicação estarão com https no início. Entretanto, isto deixará com alguns recursos quebrados como CSS e JavaScript.

Arrumando .htaccess para processos os recursos CSS e JavaScript com HTTPS

Esse é o tipo de coisa que complicou quando fui fazer a transição para HTTPS do meu blog. Depois de alterar o nome do site, todos os meus recursos de CSS e JavaScript continuaram vindo como HTTP no caminho da URL ao invés de HTTPS. Isto fez o meu site aparecer todo quebrado em todos os navegadores.
Estes arquivos de recursos podem ser facilmente corrigidos através da correção das regras de reescrita (rewrite rules) no seu arquivo .htaccess localizado no diretório raiz da aplicação do WordPress.

# BEGIN WordPress
<IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

Observe as linhas em negrito no código acima. Estamos dizendo que se a porta corrente não for 443, então reescreva a URL usando HTTPS com um 301 redirect. O resto do código já deve existir no seu arquivo .htaccess do WordPress. Usualmente isto será encontrado no final do arquivo.

Fazendo a limpeza de qualquer coisa perdida como cache

Se for como eu, está usando um plugin de cache como W3 Total Cache ou Super Cache para melhorar o desempenho de carregamento dos dados do seu blog. Estas são grandes ferramentas, entretanto, isso pode causa um atraso no caso de grande alterações na sua aplicação. Simplesmente limpe todo o cache da sua aplicação e isso fará seu site carregar os recursos e páginas corretamente com HTTPS.

Seja o primeiro a comentar

Deixe uma resposta