Como um certificado SSL vencido tirou sua loja do Google em 48 horas
Um certificado vence numa quarta-feira às 03:14. Na sexta de manhã o tráfego orgânico despencou. Não foi azar — foi negligência mensurável.
Uma loja de equipamento de escritório no Porto perdeu 78% do tráfego orgânico entre quarta e sexta. Ninguém tinha mexido no site havia semanas. O problema cabia numa linha de log: o certificado SSL tinha vencido às 03:14 de quarta-feira.
Quando o Googlebot voltou a passar pelo site naquela manhã, encontrou ERR_CERT_DATE_INVALID. Não indexou nada. Pior, marcou o domínio como inseguro para os usuários que clicassem nos resultados ainda em cache. Em 48 horas, o Chrome estava mostrando a tela vermelha de aviso antes da home.
Por que o Google reage tão mal
Desde 2014 que o HTTPS é sinal de ranking. Desde 2018 que o Chrome marca HTTP como "não seguro". Um certificado vencido é pior que HTTP — é HTTPS quebrado. O browser interpreta isso como tentativa de impersonation, mesmo que seja só o acme.sh que falhou ao renovar.
O Googlebot trata um TLS handshake falho como erro de crawl. Tenta de novo, falha, tenta, falha. Depois de algumas horas começa a desindexar. As páginas não somem do índice na hora, mas perdem ranking porque o sinal de confiança caiu a zero.
O que aconteceu na prática
- 03:14 quarta — certificado Let's Encrypt vence. O cron de renovação tinha falhado três vezes nos 30 dias anteriores. Ninguém viu o email.
- 08:00 quarta — primeiros usuários no celular veem o aviso vermelho. Bounce rate dispara.
- 11:30 quarta — Googlebot passa, falha o handshake, registra soft 404 em massa.
- Quinta de manhã — Search Console envia alerta de "cobertura". Ninguém abre o Search Console.
- Sexta 09:00 — vendas paradas. Cliente liga pro programador. Programador descobre o problema em quatro minutos.
A renovação em si levou 90 segundos. A recuperação do ranking levou 23 dias. Nesse tempo o concorrente ganhou as primeiras posições nas keywords principais e nunca mais soltou de vez.
Por que o cron falhou
O servidor tinha mudado de IP em janeiro. O DNS apontava certo, mas o desafio HTTP-01 do Let's Encrypt batia num firewall novo que bloqueava requisições vindas do range da ISRG. Cada tentativa de renovação registrava um erro num log que ninguém lia.
Esse é o padrão. O certificado não vence porque é difícil renovar. Vence porque a renovação automática falha em silêncio e ninguém tem alarmes apontando pros logs certos.
O que você precisa fazer hoje
- Monitoramento externo do certificado, não do cron. Use um serviço como UptimeRobot ou StatusCake configurado pra alertar 14 dias antes do vencimento.
- Alertas no Telegram ou SMS, não email. Os emails de aviso do Let's Encrypt vão pra uma caixa que ninguém olha.
- Confira o Search Console toda semana. Se o Googlebot está falhando, está escrito lá.
- Teste a renovação manualmente uma vez por trimestre. Se o cron funciona em produção mas não em staging, é porque você tem drift de configuração.
- Documente o procedimento de renovação de emergência. Quando o site cai na sexta às 18h, você não quer estar aprendendo acme.sh.
Um certificado vencido é o jeito mais barato de perder seis meses de SEO. Custa zero reais prevenir e custa três salários recuperar.— Auditoria interna pós-incidente, cliente Porto
O custo real
A loja faturou 31 mil euros a menos naquele mês ante a média trimestral. O programador que montou o servidor cobrou 180 euros pra resolver. O custo da prevenção tinha sido zero — um cron job extra de health check e um webhook pro Telegram.
Se você vende online e ainda não tem monitoramento independente do seu próprio servidor vigiando o certificado, está a uma renovação falha de perder o trimestre. Não é alarmismo. É aritmética.
A regra é simples. Não confie no cron que renova. Confie no monitor externo que verifica que o cron renovou.