HTTPS/SSL e Segurança do Site
O que é HTTPS/SSL?
HTTPS (HTTP Secure) é um protocolo que criptografa a troca de dados entre um site e o navegador do visitante. Essa criptografia é garantida por meio de um certificado SSL/TLS do site; o certificado funciona como um documento digital que confirma a identidade do site ao navegador. O ícone de cadeado na barra de endereço do navegador indica que a conexão está criptografada e que o certificado é válido.
Os dados enviados por HTTP são transmitidos em texto simples (plaintext); isso significa que um terceiro na mesma rede (por exemplo, em uma rede Wi-Fi pública) pode ler esses dados. O HTTPS criptografa esses dados, tornando-os legíveis apenas para o remetente e o destinatário.
Os certificados SSL geralmente são válidos por um determinado período (por exemplo, um ano) e precisam ser renovados quando expiram; atualmente, muitos provedores de hospedagem automatizam esse processo, garantindo que o certificado seja renovado automaticamente, o que reduz a necessidade de acompanhamento manual.
Por que isso é importante?
O HTTPS garante a proteção dos dados do usuário (dados inseridos em formulários, informações de sessão, dados de pagamento) contra ataques do tipo “man-in-the-middle”. O Google considera o uso do HTTPS um leve fator de classificação, e os navegadores exibem o aviso “Não é seguro” para sites em HTTP; isso afeta diretamente a confiança do usuário.
Um site não seguro diminui a disposição dos visitantes em permanecer nele; especialmente usuários que estão preenchendo formulários ou efetuando pagamentos podem sair do site sem concluir a transação ao verem o aviso “Não é seguro”. Isso representa um problema de confiança que afeta diretamente a taxa de conversão.
Além disso, a maioria dos recursos dos navegadores modernos (por exemplo, serviços de localização, notificações, algumas APIs de pagamento) funciona apenas via HTTPS; um site que permanece em HTTP não pode se beneficiar desses recursos e se torna cada vez mais limitado do ponto de vista técnico.
Como resolver isso?
- Instale um certificado SSL válido no seu site e configure a renovação automática para evitar que ele expire.
- Redirecione todas as solicitações HTTP para a versão HTTPS por meio de um redirecionamento 301.
- Elimine os avisos de conteúdo misto (mixed content): certifique-se de que todos os arquivos de imagem, script e CSS da página sejam carregados via HTTPS; caso contrário, o navegador poderá marcar a página como “parcialmente segura”.
- Se possível, adicione o cabeçalho HSTS (HTTP Strict Transport Security) para obrigar o navegador a se conectar ao site sempre via HTTPS.
- Reduza as cadeias de redirecionamento (como HTTP → HTTPS → www → não-www, ou seja, vários redirecionamentos consecutivos) a uma única etapa; cada redirecionamento adicional adiciona um pequeno atraso ao tempo de carregamento da página.
- Verifique se os recursos fornecidos por serviços de terceiros (como CDN de imagens, provedor de formulários, widget de chat) também são servidos via HTTPS; esses são geralmente a fonte do problema de conteúdo misto que passa despercebida.
Exemplo
# Exemplo de .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Exemplo ruim: esquecer de atualizar as conexões HTTP absolutas antigas <img src="http://exemplo.com/logo.png"> ; isso gera um aviso de conteúdo misto no navegador, mesmo que a página pareça segura como um todo.
Erros comuns
- Deixar a versão HTTP ativa sem desativá-la; assim, o site permanece acessível tanto por HTTP quanto por HTTPS, e o conteúdo fica duplicado em dois endereços diferentes.
- Deixar na página imagens ou scripts que ainda são carregados via HTTP, mesmo sob HTTPS (conteúdo misto).
- Deixar o certificado SSL expirar; nesse caso, o navegador pode mostrar o site como totalmente inacessível.
- Criar cadeias de redirecionamento desnecessárias compostas por várias etapas.
- Adquirir o certificado apenas para o domínio principal e deixar os subdomínios (por exemplo, blog.exemplo.com) fora da cobertura.
- Continuar usando endereços HTTP antigos em links internos (menu, rodapé, links internos); isso aciona um redirecionamento 301 desnecessário a cada clique e retarda ligeiramente o carregamento da página.
- Ainda referenciar os endereços HTTP antigos no mapa do site e nas tags canônicas; isso envia sinais confusos ao mecanismo de busca.
- Transferir acidentalmente o certificado autoassinado (self-signed) usado no ambiente de desenvolvimento local (localhost) para a configuração do ambiente de produção; os navegadores não consideram esse tipo de certificado confiável.
- O relatório do Seoraporu.co destaca a ausência de HTTPS ou os avisos de conteúdo misto como prioridades na seção de conclusões técnicas, pois isso afeta simultaneamente a confiança e o desempenho.