Resumo: O erro 28 do cURL significa que o WordPress atingiu o tempo limite ao se conectar a um servidor remoto — mais comumente durante atualizações de plugins, instalações de temas ou requisições da API HTTP. Desative primeiro o firewall do seu plugin de segurança; se isso não resolver, percorra as verificações do limite de memória do PHP e de SSL abaixo.
Lidar com «cURL error 28: Connection timed out» no seu site WordPress pode ser frustrante. Esse erro ocorre quando uma requisição do seu site demora demais para receber uma resposta, resultando em um tempo limite. Ele pode deixar o seu site lento e impactar negativamente a experiência do usuário.
Nos tickets de suporte que atendemos, o firewall do plugin de segurança — em particular as regras de limitação de taxa do Wordfence — bloqueia a chamada cURL de saída em uma parcela considerável dos casos. Este artigo esclarece o erro 28 do cURL, explica por que ele acontece e oferece soluções passo a passo.
Contents
O que é o erro 28 do cURL?
O cURL é um utilitário de software que o WordPress usa para transferir dados por meio de vários protocolos. O «cURL error 28: Connection timed out after X milliseconds» ocorre quando uma requisição cURL não é concluída dentro do período de tempo limite especificado. Esse erro indica que o servidor não conseguiu responder com rapidez suficiente, levando a um tempo limite.

Motivos comuns do erro 28 do cURL
Sintomas diferentes apontam para causas raiz diferentes. Use a tabela abaixo para identificar a sua situação e ir para a solução correta.
| Sintoma | Causa raiz | Método de solução |
|---|---|---|
| Erro apenas em atualizações ou instalações de plugins | O firewall do plugin de segurança bloqueia as requisições de saída | Método 1: Desativar o firewall do plugin de segurança |
| Erro em todas as chamadas externas, não apenas nas atualizações | Conflito de plugin ou tema interferindo na API HTTP | Método 2: Desativar os plugins em conflito |
| Erro em requisições HTTPS; HTTP funciona | Configuração de SSL incorreta ou certificado expirado | Método 3: Resolver problemas de conteúdo não seguro de SSL |
| Erro persiste após desativar todos os plugins | Versão do cURL desatualizada incompatível com o PHP | Método 4: Verificar a sua versão do cURL |
| Erro após operações de dados pesadas ou instalações de plugins | Limite de memória do PHP baixo demais para as requisições cURL | Método 5: Aumentar o limite de memória do PHP |
| Erro em um host gerenciado ou compartilhado quando tudo o mais falha | Limitação de taxa ou regras de firewall em nível de servidor | Método 6: Contatar o seu provedor de hospedagem web |
6 métodos para corrigir o erro 28 do cURL: Connection Timed Out After X Milliseconds
- Desativar o firewall do plugin de segurança
- Desativar os plugins em conflito
- Resolver problemas de conteúdo não seguro de SSL
- Verificar a sua versão do cURL
- Aumentar o limite de memória do PHP
- Obter ajuda do seu provedor de hospedagem web
Observação: É uma boa ideia fazer um backup do seu site antes de fazer qualquer alteração. Se algo der errado, você pode restaurar o site rapidamente ao seu estado anterior. Você pode usar o WP Staging para backups automáticos fáceis. Consulte o guia de backup e restauração para mais ajuda.
1. Desativar o firewall do plugin de segurança
Um plugin firewall no WordPress adiciona uma camada extra de segurança bloqueando tráfego nocivo. No entanto, ele às vezes pode ser cauteloso demais e bloquear requisições cURL legítimas, levando ao erro «Operation Timed Out». Nos tickets de suporte que atendemos, as regras de limitação de taxa do Wordfence são uma causa frequente — verificar o firewall primeiro é quase sempre o caminho mais rápido para a solução.
Para ver se o seu plugin de segurança está causando o problema:
- Desative o firewall: Desligue o recurso de firewall no seu plugin de segurança ou desative o plugin.

- Teste o site: Verifique se o erro persiste após desligar o firewall.
- Reative o firewall: Ligue o firewall novamente após uma breve espera.

- Experimente um plugin de segurança diferente: Se o erro voltar, considere usar outro plugin de segurança ou contate o suporte do plugin para obter ajuda. Alguns plugins podem exigir que você adicione os endereços IP deles à sua lista de permissões para evitar que requisições legítimas sejam bloqueadas.
Seguindo estes passos, você pode identificar se o seu firewall está causando o erro do cURL e manter o seu site seguro sem bloquear dados necessários.
2. Desativar os plugins em conflito
Quando você enfrenta problemas ou conflitos com plugins específicos no seu site WordPress, pode ser necessário desativá-los temporariamente.
Ao desativar todos os plugins, você pode isolar e solucionar o problema sem afetar a funcionalidade geral do seu site.
Veja como fazer:
- Acesse o seu painel de administração do WordPress fazendo login no seu site.
- Vá em «Plugins» no menu da barra lateral e clique nele. Você verá uma lista dos plugins instalados.

- Selecione os plugins que deseja desativar clicando nas caixas de seleção ao lado dos nomes deles. Você pode escolher vários plugins de uma vez.

- Depois de selecionar os plugins, procure o menu suspenso «Bulk Actions» no topo da lista e selecione «Deactivate».
- Clique no botão «Apply» ao lado do menu suspenso.

Após desativar os plugins, atualize o seu site para ver se as mudanças aparecem instantaneamente. Em seguida, reative os plugins um a um, atualizando o seu site a cada vez para identificar o problemático.
Repita esse processo até encontrar o culpado, e considere atualizar, substituir ou contatar o desenvolvedor do plugin para obter ajuda.
3. Resolver problemas de conteúdo não seguro de SSL
Um certificado SSL (Secure Sockets Layer) é essencial para proteger os dados entre o seu site e os visitantes. Ele garante que todos os dados transmitidos sejam criptografados, evitando o acesso não autorizado e reforçando a confiança no seu site.
Implementar o SSL corretamente permite que o seu site use o protocolo HTTPS, protegendo a conexão entre o seu servidor e os navegadores dos usuários.
Verifique o status do SSL no painel do provedor Hostinger:
Faça login no painel do seu provedor de hospedagem (por ex., Hostinger) para verificar o status do seu certificado SSL. Certifique-se de que ele está ativo e corretamente configurado, como mostrado na imagem abaixo:

Se o certificado aparecer como expirado ou inválido, renove-o pelo painel de controle da sua hospedagem ou contate o suporte do seu provedor. Após a renovação, limpe o cache do seu servidor e navegador e execute novamente Ferramentas → Saúde do site para confirmar que o problema de SSL foi resolvido antes de testar o cURL de novo.
4. Verificar a sua versão do cURL
- Navegue até a página Saúde do site no seu painel do WordPress.
- Selecione a aba «Informações» e encontre a seção «Servidor».
- Procure ali as informações de versão do PHP e do cURL.

Faça suas versões de cURL e PHP coincidirem para um melhor desempenho: Para garantir um funcionamento tranquilo, certifique-se de que a sua versão do cURL atenda aos requisitos da sua versão do PHP.
Por exemplo, se o seu site usa PHP 8.1, você deve ter pelo menos o cURL 7.2.

Se a sua versão do cURL estiver desatualizada, contate o seu provedor de hospedagem e solicite uma atualização. A maioria das hospedagens WordPress gerenciadas pode atualizar a biblioteca cURL do servidor sem tempo de inatividade.
5. Aumentar o limite de memória do PHP
Os plugins do WordPress exigem requisições cURL para muitas funções, que podem consumir muita memória, especialmente com dados extensos ou tarefas complexas. Se os limites de memória ou de tempo forem baixos demais, você pode ver erros como o erro 28 do cURL, que indica um tempo limite.
Para prevenir esses problemas, verifique e ajuste os limites de PHP do seu servidor pela página Saúde do site. Você também pode aumentar esses ajustes no arquivo .htaccess ou wp-config.php para melhorar o desempenho do seu site e evitar tempos limite.
Use um cliente FTP como o FileZilla ou o gerenciador de arquivos do seu host web para acessar o diretório raiz da sua instalação do WordPress.

Localize o arquivo wp-config.php, clique com o botão direito e escolha a opção «Edit».

Adicione a seguinte linha de código antes da linha que diz /* That's all, stop editing! Happy blogging. */, e depois clique no botão «Save Changes».
define('WP_MEMORY_LIMIT', '256M');
Após salvar, visite novamente Ferramentas → Saúde do site → Informações → Servidor para confirmar que o novo valor do limite de memória do PHP está ativo antes de testar de novo a operação que falhava.
6. Obter ajuda do seu provedor de hospedagem web
Se você tentou de tudo e ainda enfrenta problemas, é hora de contatar o seu provedor de hospedagem para obter ajuda. Eles podem investigar outras causas potenciais, como conflitos em módulos de segurança, limitação de taxa em nível de servidor ou regras de firewall que bloqueiam conexões de saída.
Ao contatar o suporte, inclua a mensagem de erro exata, a versão do WordPress e do PHP da sua página Saúde do site e os passos que você já tentou. Isso os ajuda a diagnosticar o problema mais rápido.
Conclusão
Os passos-chave para resolver o erro 28 do cURL incluem desligar temporariamente o firewall do WordPress e desativar os plugins para verificar conflitos. Além disso, é essencial revisar as configurações de SSL e garantir que os limites de recursos do servidor sejam suficientes.
Manter o WordPress e os plugins atualizados é fundamental para prevenir esses erros. Se o problema persistir, busque ajuda do seu provedor de hospedagem web.
A solução não funcionou? Solução de problemas avançada
Se nenhum dos seis métodos acima resolveu o erro, os passos abaixo ajudam a identificar a causa específica.
Ativar o registro WP_DEBUG
Adicione as seguintes linhas ao wp-config.php para capturar o contexto exato do erro do cURL:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Após salvar, dispare a operação que falha (por exemplo, execute uma atualização de plugin), depois verifique no wp-content/debug.log as linhas que contêm cURL error 28. A entrada do registro mostrará qual URL atingiu o tempo limite, ajudando você a identificar se o problema é com um servidor remoto específico ou afeta todas as requisições de saída.
O erro volta após o aumento da memória do PHP
Se aumentar o limite de memória do PHP não parou o erro:
- Verifique o seu ajuste do PHP
max_execution_timenophp.iniou viawp-config.php. Um valor baixo pode fazer o script atingir o tempo limite antes que o tempo limite da conexão cURL dispare. Aumente-o e teste novamente. - Verifique se o novo valor de
WP_MEMORY_LIMITfoi aplicado navegando até Ferramentas → Saúde do site → Informações → Servidor e confirmando que o limite de memória do PHP mostra o valor esperado.
SSL limpo mas o erro persiste
Se o seu certificado SSL é válido mas o cURL ainda atinge o tempo limite:
- Verifique se o servidor remoto (por exemplo,
api.wordpress.org) está temporariamente inacessível testando a conexão a partir de uma rede diferente. - Peça ao seu provedor de hospedagem para confirmar que as conexões HTTPS de saída não estão bloqueadas no nível do firewall do servidor. Alguns ambientes de hospedagem compartilhada restringem as conexões de saída por padrão.
Identificar o plugin específico que causa o bloqueio do cURL
Para restringir qual plugin dispara o bloqueio sem desativar tudo em massa:
- Ative o registro WP_DEBUG como mostrado acima.
- Desative os plugins um a um, começando pelos de segurança e cache.
- Após cada desativação, verifique no
wp-content/debug.logse há novas entradas de erro 28 do cURL. - O plugin cuja desativação para as novas entradas do registro é aquele que inicia a requisição bloqueada.