Como corrigir Maximum Execution Time Exceeded no WordPress
O que é o erro Maximum Execution Time Exceeded?
O erro Maximum Execution Time Exceeded acontece porque o PHP tem a diretiva max_execution_time, que define quantos segundos um único script pode rodar antes de ser interrompido. O padrão da maioria das hospedagens é 30 segundos. Quando uma importação, atualização ou backup demora mais que isso, o PHP mata o processo e o WordPress mostra “Fatal error: Maximum execution time of 30 seconds exceeded”. É um limite de segurança contra scripts que travam o servidor, não um defeito do seu site.
Como identificar
- A mensagem “Fatal error: Maximum execution time of 30 seconds exceeded” aparece em uma página em branco ou no log.
- Importações de conteúdo (XML, demo de tema) ou backups param sempre por volta do mesmo tempo.
- A atualização de um plugin ou tema grande falha no meio e deixa o site em modo de manutenção.
- O erro cita um arquivo dentro de wp-content (ex.: wp-content/plugins/…/arquivo.php on line X) onde o script estourou o tempo.
Como prevenir
- Mantenha o max_execution_time em pelo menos 120s em sites que fazem importações ou backups regulares
- Use plugins de backup e migração que processam em lotes, em vez de uma única requisição longa
- Otimize o banco de dados periodicamente para que consultas lentas não prendam scripts até o limite de tempo
Causa
- max_execution_time do PHP baixo (30s) para tarefas longas como importação ou geração de miniaturas em lote.
- Importação de demo de tema ou arquivo XML grande que leva mais de 30 segundos para concluir.
- Plugin de backup ou migração processando muitos arquivos em uma única requisição.
- Consulta lenta ao banco de dados (tabela inchada, sem índice) que prende o script além do limite.
- Servidor compartilhado sobrecarregado, deixando cada requisição PHP mais lenta e estourando o teto de tempo.
Como resolver
- Confirme o limite atual: no wp-admin, vá em Ferramentas > Saúde do site > Informações > Servidor e veja "Tempo máximo de execução do PHP". Isso mostra de quantos segundos você está partindo.
- Aumente o limite no php.ini: via FTP, edite (ou crie) o php.ini na raiz do site e suba o valor para 300 segundos (5 minutos):
max_execution_time = 300 - Se não tiver acesso ao php.ini, use o .htaccess: no servidor Apache, adicione a diretiva ao .htaccess da raiz para forçar o novo limite:
php_value max_execution_time 300 - Como último recurso, ajuste pelo wp-config.php: alguns hosts respeitam o set_time_limit do PHP. Adicione a linha ao wp-config.php antes de /* That's all, stop editing! */:
@set_time_limit( 300 ); - Quebre a tarefa se nada subir o limite: se a hospedagem trava o teto, divida o trabalho: importe o conteúdo em partes menores ou use um plugin de migração que processa em lotes em vez de uma requisição única.
; php.ini — eleva o tempo maximo de execucao de um script PHP
; Padrao tipico de hospedagem = 30; 300 (5 min) cobre importacoes e backups longos
max_execution_time = 300
; Sobe junto o tempo de leitura do corpo da requisicao (uploads grandes)
max_input_time = 300














