Guia de tecnologias

Corrigir cURL Error 28 no WordPress — Guia passo a passo

7 min read WordPress Atualizado 12 Sep 2025
Corrigir cURL Error 28 no WordPress — Soluções práticas
Corrigir cURL Error 28 no WordPress — Soluções práticas

Como corrigir o cURL Error 28: tempo de conexão esgotado

O cURL (Client URL) trata as requisições HTTP/HTTPS que permitem ao seu site WordPress comunicar-se com APIs, serviços externos e (às vezes) com outros endpoints do próprio servidor. Quando uma dessas requisições demora mais do que o tempo limite configurado, o WordPress pode registrar o famoso “cURL error 28: Connection timed out”.

Principais causas:

  • Interferência de firewall ou plugin de segurança do WordPress.
  • Problemas no servidor DNS ou com um plugin mal comportado.
  • Timeout muito baixo configurado no servidor/hospedagem.
  • Problemas SSL/TLS ou configuração incorreta do certificado.

Importante: este artigo foca em diagnósticos práticos que qualquer administrador de site ou desenvolvedor pode executar. Se você usar hospedagem gerenciada, abra um chamado com o suporte e descreva os testes que realizou.

O que é o erro cURL 28 no WordPress?

Em uma linha: o WordPress não recebeu resposta de uma requisição externa dentro do tempo esperado.

Termos rápidos:

  • cURL: biblioteca que faz requisições HTTP/HTTPS.
  • Timeout: tempo máximo que a aplicação espera por uma resposta.
  • API: interface para comunicação entre serviços.

Verificações rápidas (antes dos passos avançados)

  1. Confirme que o servidor utiliza versões atualizadas de cURL, PHP e OpenSSL.
  2. Tente acessar o site e a área administrativa com outro navegador ou em modo incógnito.
  3. Verifique o relatório de saúde do site (Site Health) no WordPress: Ferramentas → Saúde do Site.

Passo a passo de solução

1) Desative temporariamente o firewall ou plugin de segurança

Se você usa firewall de aplicativo (plugin como Wordfence, Sucuri, etc.), desative-o temporariamente e refaça a ação que gerou o erro.

  1. Faça login no painel do WordPress. Desativar o plugin
  2. Vá em Plugins, localize o plugin de segurança e clique em Desativar.

Se o erro desaparecer, analise os logs do firewall para ver quais requisições foram bloqueadas e crie exceções seguras. Não deixe o site sem proteção por mais tempo do necessário.

2) Desative todos os plugins para isolar conflito

  1. Faça login no WordPress.
  2. Vá a Plugins → Plugins Instalados.
  3. Marque o checkbox para selecionar todos os plugins. Desativar plugins de uma vez - erro cURL 28
  4. Selecione Desativar no menu suspenso.

Ative os plugins um a um e teste após cada ativação para identificar qual causa o problema.

Nota: se você não conseguir acessar o painel, renomeie a pasta wp-content/plugins via FTP/SFTP para desativar todos os plugins.

3) Troque o servidor DNS (cliente Windows exemplo)

  1. Pressione Windows + R para abrir Executar. Comando ncpa.cpl - erro cURL 28
  2. Digite ncpa.cpl e OK para abrir Conexões de Rede.
  3. Clique com o botão direito na conexão ativa e vá em Propriedades. Propriedades da Conexão de Rede
  4. Selecione Protocolo IP Versão 4 (TCP/IPv4) e clique em Propriedades. Propriedades IPv4
  5. Escolha “Usar os seguintes endereços de servidor DNS” e insira 8.8.8.8 como Preferido e 8.8.4.4 como Alternativo. Servidor DNS
  6. Salve OK.

Trocar para DNS público (Google, Cloudflare 1.1.1.1) pode eliminar problemas de resolução que causam timeouts.

4) Limpe o cache do navegador

  1. Abra o navegador (ex.: Chrome). Configurações Chrome - erro cURL 28
  2. Clique no menu (três pontos) → Configurações → Privacidade e segurança → Limpar dados de navegação. Limpar dados de navegação
  3. Escolha “Todo o período”, marque Cookies e imagens em cache e clique em Limpar dados. Configurações - limpar dados

Isso elimina falsos positivos causados por recursos em cache.

5) Verifique a configuração SSL/TLS

Use a ferramenta SSL Labs (Qualys) para testar o certificado do seu site:

  1. Acesse SSL Labs Server Test. Teste de servidor SSL no Chrome
  2. Insira a URL do site e clique em Submit.

Se a ferramenta apontar erros, reinstale o certificado ou contate o emissor do TLS/SSL. Uma configuração SSL incorreta pode impedir conexões externas.

6) Verifique limites do servidor e versão do cURL

  1. No painel WordPress vá em Ferramentas → Saúde do Site → Informações → Servidor. Saúde do site - Info
  2. Verifique versões de cURL, OpenSSL e valores como memória, tempo máximo de execução (max_execution_time) e limites do PHP.

Também é útil checar diretamente no servidor (SSH) estes comandos:

curl --version
php -i | grep curl
php -i | grep OpenSSL

Se o cURL ou OpenSSL estiverem desatualizados, peça ao provedor de hospedagem para atualizar. Se o host impõe timeout muito baixo no firewall ou proxy, peça aumento temporário do limite.

7) Aumente o timeout das requisições HTTP no WordPress

Você pode aumentar o timeout global do HTTP no WordPress adicionando um filtro no arquivo functions.php ou em um plugin de snippets:

add_filter('http_request_timeout', function() { return 30; });

Também é possível ajustar o timeout em chamadas específicas:

$response = wp_remote_get($url, array('timeout' => 30));

Aumente o tempo com cautela. Um timeout muito alto mascara problemas reais de performance.

Checklist por função

  • Dono do site:

    • Desative temporariamente plugins de segurança.
    • Limpe cache do navegador e do site.
    • Teste fora do horário de pico.
  • Desenvolvedor:

    • Rode testes com wp_remote_get e aumente timeout se necessário.
    • Verifique logs do servidor e respostas HTTP (códigos e cabeçalhos).
  • Provedor de hospedagem / DevOps:

    • Verifique regras de firewall, proxy e limites de conexão.
    • Atualize cURL/OpenSSL e valide resolução DNS do servidor.

Mini-metodologia (SOP rápido)

  1. Reproduzir o erro e coletar timestamp, endpoint e rota afetada.
  2. Desativar firewalls/plugins em ambiente controlado.
  3. Testar resolução DNS e timeout do servidor.
  4. Aumentar timeout para teste (não em produção sem monitoramento).
  5. Registrar logs e voltar a ativar proteções com exceções específicas.

Quando estas soluções falham (contraexemplos)

  • O erro ocorre apenas para um endpoint externo que está de fato fora do ar. Nesse caso, não adianta mexer no seu servidor; o serviço externo está indisponível.
  • O problema é causado por regras de rede do provedor de hospedagem (NAT, proxy reverso) e só o host pode resolver.

Fluxo de decisão (Mermaid)

flowchart TD
  A[Erro cURL 28 detectado] --> B{Consegue reproduzir localmente?}
  B -- Sim --> C[Desativar plugins de segurança]
  B -- Não --> D[Testar de outra rede/dispositivo]
  C --> E{Erro sumiu?}
  E -- Sim --> F[Revisar regras do firewall e logs]
  E -- Não --> G[Testar DNS e SSL]
  G --> H{DNS/SSL OK?}
  H -- Não --> I[Corrigir DNS/SSL e retestar]
  H -- Sim --> J[Aumentar timeout / verificar servidor]
  J --> K{Resolveu?}
  K -- Sim --> L[Monitorar e documentar]
  K -- Não --> M[Acionar suporte do provedor de hospedagem]

Casos de teste / Critérios de aceitação

  • Teste 1: Após desativar o plugin de segurança, a requisição externa responde dentro do timeout. Resultado esperado: erro desaparece.
  • Teste 2: Após alterar DNS para 8.8.8.8, o site resolve o nome e a requisição externa funciona.
  • Teste 3: Após aumentar timeout para 30s, a mesma operação conclui com sucesso sem timeout.

Critério de aceitação final: a operação que antes lançava cURL error 28 retorna uma resposta HTTP válida ou um erro específico que permita nova ação corretiva.

Segurança e privacidade

  • Evite desabilitar regras de firewall por tempo indefinido.
  • Registre quais endpoints foram liberados e por qual motivo.
  • Se lidar com dados pessoais, verifique impacto GDPR antes de alterar fluxos que encaminham dados a terceiros.

Notas de compatibilidade / migração

  • Em hospedagens compartilhadas, algumas restrições de rede podem não ser alteráveis. Considere migrar para VPS ou hospedagem gerenciada se precisar de controle fino.
  • Em ambientes com proxy reverso (Cloudflare, Varnish), verifique regras e timeouts adicionais.

Resumo e próximos passos

  • Principais ações imediatas: desativar temporariamente firewall, desativar plugins para isolar, limpar cache e testar DNS público.
  • Se o problema persistir: verifique SSL/TLS, atualize cURL/OpenSSL, aumente timeout de teste e envolva o suporte da hospedagem.

Se precisar, copie a checklist acima e cole em um chamado de suporte. Inclua logs, horário exato e as etapas que já realizou.

Se você gostou deste guia, compartilhe a solução com sua equipe. Se tiver dúvidas específicas (logs, endpoint afetado), cole aqui nos comentários que eu ajudo a analisar.


Resumo do artigo:

  • O erro cURL 28 indica timeout em requisições externas.
  • Faça verificações básicas primeiro (firewall, plugins, cache, DNS).
  • Ajuste timeout com cautela e conte com o suporte do host quando necessário.
Autor
Edição

Materiais semelhantes

Monitoramento Apache Tomcat — contadores e regras
Monitoramento

Monitoramento Apache Tomcat — contadores e regras

Como se Proteger do Clickjacking
Cibersegurança

Como se Proteger do Clickjacking

Papéis de parede distintos por tela no Android
Android

Papéis de parede distintos por tela no Android

Como remover seus dados de corretores de dados
Privacidade

Como remover seus dados de corretores de dados

Papéis de parede por tela no Android
Tutoriais

Papéis de parede por tela no Android

Monitorar Apache Tomcat com Verax NMS
Monitoramento

Monitorar Apache Tomcat com Verax NMS