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

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE