Com o certificado implementado você deverá adaptar o seu site para funcionar em HTTPS, este procedimento poderá ser feito realizando uma busca em seu template, procure por scripts e modelos CSS que comecem com “http://” e altere por somente “//”, isso fará com que o navegador incorpore elementos no mesmo protocolo que estará utilizando, isso evitará problemas de conteúdo misto.
Também é necessário ter em mente que você poderá ter links quebrados após o procedimento, para evitar estes problemas, certifique-se de usar somente links relativos em seu template.
Utilizando SSL no WordPress
Após todo o processo de implementação do certificado SSL estar corretamente configurado, é necessário entender que você poderá ter problemas caso não saiba se está utilizando um Proxy Reverso (load balancer) ou não, em muitas plataformas não há como saber, então continue realizando os seguintes passos, e caso o WordPress apresente um erro de “Esta página possuí um loop de redirecionamento”, significa que você está atrás de um Proxy Reverso, há algumas etapas para corrigir este problema, mas por enquanto apenas continue seguindo o tutorial.
Como fazer redirecionamento 301 no WordPress de HTTP para HTTPS
Vá até “Configurações” de seu WordPress, em “Geral” altere o “Endereço do WordPress (URL)” e “Endereço do site (URL)” para “https://www.seudominio.com”, caso não use o WWW coloque apenas “https://seudominio.com”, após salvar você poderá perder o acesso temporariamente ao seu WordPress, não faça nada, apenas continue.
Faça login no FTP de seu site e insira o seguinte código na segunda linha do arquivo wp.config.php
define(‘FORCE_SSL_CONTENT’, true);
define(‘FORCE_SSL_ADMIN’, true);
|
Agora no arquivo .htaccess, insira antes do “# BEGIN WordPress”
# BEGIN SSL
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
# END SSL
|
Salve as alterações e certifique-se que você fez tudo corretamente, caso tenha feito tudo correto e você não consiga acessar o seu site, significa que seu servidor está atrás de um Proxy Reverso.
Configurando SSL no WordPress através de um Proxy Reverso
Infelizmente a função is_ssl(); do WordPress não é compatível com Proxy Reverso, então você terá que fazer algumas alterações para conseguir acessar o seu site.
Assumindo que ninguém poderá acessar seu site por outra forma que não seja HTTPS, volte no arquivo wp-config.php e insira o código após os códigos inseridos anteriormente.
define(‘FORCE_SSL_CONTENT’, true);
define(‘FORCE_SSL_ADMIN’, true);
$_SERVER[‘HTTPS’]=‘on’;
|
No arquivo .htaccess modifique o código anterior por este:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X–Forwarded_Proto} ^http$
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [L,R=301]
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond $1 ^(index\.php)?$ [OR]
RewriteCond $1 \.(gif|jpg|css|js|ico)$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} –f [OR]
RewriteCond %{REQUEST_FILENAME} –d
RewriteRule ^(.*)$ – [S=1]
RewriteRule . /index.php [L]
</IfModule>
|
Em alguns casos os servidores não passam a variável “HTTP:X-Forwarded_Proto”, neste caso insira o código a seguir no arquivo header.php de seu tema.
<script>
if (document.location.protocol != “https:”) {document.location =document.URL.replace(/^http:/i, “https:”);}
</script>
<?php
if ((is_single()==true) or (is_page()==true)) {$url = get_permalink();}
else {$url = ‘https://www.seudominio.com/’;}
?>
<link rel=‘canonical’ href=“<?php echo $url; ?>”
|
Vale lembrar que algumas vezes não será possível retornar o erro 301, o que pode fazer com que você perca o posicionamento de algumas páginas ou o CPC delas, neste caso é recomendado procurar soluções com seu provedor de hospedagem.
Considerações finais
Mover um site para HTTPS pode ser trabalhoso, porém após estar funcionando você não terá mais problemas, utilizando o recurso de URL canônica você não precisará se preocupar com conteúdo duplicado, e caso o servidor não passe a variável para seu WordPress, o Javascript irá fazer o redirecionamento, caso você não tenha esses problemas com seu servidor, apenas o primeiro passo é necessário para tudo estar funcionando perfeitamente.