Erros de infra com WordPress, ou qualquer outro CMS, são comuns. O assunto é recorrente por não tratarmos de uma ciência exata.
Há uma série de variáveis envolvendo a aplicação e o servidor, sendo que algumas delas são corriqueiras e suas possíveis causas já são conhecidas.
O WP de forma nativa tem um sistema de debug que, por padrão, vem desativado.
Além da possibilidade da ativação, temos capacidades ocultas para um poderio e segurança além do mecanismo.
O debug do WordPress é um grande aliado para insights e direcionamento dos problemas ocorridos.
Se você não é técnico, ou quer ganhar tempo nas análises, conheça as falhas frequentes.
Os erros mais comuns de infra com WP
Selecionei quatro desacertos corriqueiros entre os usuários do CMS mais popular da atualidade.
- Error establishing database connection (Erro ao estabelecer conexão com o banco de dados);
- Internal Server Error (Erro interno de servidor);
- Maximum execution time exceeded error (Erro de tempo máximo de execução excedida) e
- Memory exhausted error (Erro de esgotamento de memória).
Esses erros de infra com WordPress são aqueles que impedem a execução do seu site.
Cada uma dessas imprecisões tem sua particularidade e desafio.
Error establishing database connection
Antes de imaginar algo relacionado a infraestrutura do seu projeto, certifique algumas questões as quais você é o responsável.
As informações de conexão ao banco de dados contidas no arquivo wp-config.php estão corretas?
Me refiro ao nome de usuário, senha, nome do banco de dados, prefixo das tabelas e hostname.
Valide essas informações, salve o arquivo novamente e realize novos testes.
Ao estabelecer conexão com o banco de dados, se o erro permanecer, analise outras possíveis causas.
A instância do banco de dados está ligada? Se o serviço não estiver operante a conexão com ele, não será realizada.
Há alguma tabela no banco de dados corrompida? Talvez algum processo ocasionou o travamento ou o corrompimento de dados.
Há espaço suficiente para mais dados a serem escritos nas tabelas do banco?
O serviço está com processamento o suficiente?
Observe o seu consumo.
Esgotadas estas análises para se livrar do Error establishing database connection, entre em contato com sua hospedagem.
Internal Server Error
O Erro interno de servidor talvez seja um dos mais complicados para depurarmos.
Embora você imagine que no primeiro momento o erro seja no servidor, a causa provável pode ser, e na maioria das vezes é, na aplicação.
O primeiro passo é ter ciência do que aconteceu diferentemente para ocasionar o erro.
Qual ação acabara de ser executada?
O tema foi trocado? Algum plugin foi ativado?
O arquivo .htaccess foi alterado?
Alguma mudança foi realizada nas configurações do servidor?
As pastas e arquivos do WordPress estão acessíveis?
Quem utiliza servidores Apache comumente aplica diretrizes no arquivo .htaccess.
Um caractere errado nas instruções desse arquivo vai ocasionar erro.
Sua primeira tentativa pode ser localizar esse arquivo – que fica na raiz da instalação – e renomeá-lo.
Se o Internal Server Error deixar de acontecer, você precisará localizar qual instrução está errada neste arquivo.
O erro pode estar relacionado a uma instrução errada, ou com o uso de módulo inexistente, por exemplo.
Esgotado as possibilidades com o arquivo .htaccess, siga para os plugins e temas.
Os temas e/ou plugins recentemente ativados estão com todos os seus arquivos necessários?
Quem ainda faz uso de FTP para a transferência de arquivos, deve validar se todos os arquivos realmente foram enviados, ou se nenhum deles foi corrompido.
Na dúvida, reenvie os arquivos.
Estressado as possibilidades com plugins e temas, siga para o próprio WordPress.
Envie novamente os arquivos do core, mais especificamente os arquivos da raiz da instalação e as pastas /wp-content/ e /wp-includes.
Ainda não é nada disso? Procure ajuda de um especializada em WordPress ou ao suporte da sua hospedagem.
Maximum execution time exceeded error
Os scritps PHP, ou qualquer outra linguagem, tem um tempo máximo para sua execução.
Quando esse tempo é alcançado, acontece o “erro de tempo máximo de execução excedida”.
Algum processamento está tão lento, que está exigindo um tempo além do aceitável.
Algumas tarefas realmente são custosas e exigem muito da infra. Por exemplo, as tarefas relacionadas as imagens (crop, aplicar filtros e etc).
O problema pode ser mascarado alterando uma diretiva de configuração do PHP.
O tempo padrão da instalação da linguagem é de 30 segundos.
O valor pode ser alterado através de uma função PHP, nas configurações do servidor ou com o arquivo .htaccess, por exemplo.
- No PHP, a função é a set_time_limit;
- No servidor a diretiva é a max_execution_time;
- No .htaccess a diretiva é a apresentada abaixo.
php_value max_execution_time 60
Memory exhausted error
O Erro de esgotamento de memória também pode ocasionar o Internal Server Error.
Processamentos longos, além de causar o Maximum execution time exceeded error, causa também o Memory exhausted error.
Esse tipo de erro não vai acontecer do nada.
Algo atípico aconteceu com seu site para isso acontecer.
Provável que algum plugin recentemente instalado está excedendo a memória disponível.
Provável, também, que alguma nova funcionalidade no tema cause o erro.
Ou, nesse caso, é super válido verificar se a sua audiência cresceu e a quantidade de acessos está consumindo mais do servidor.
Nesse último caso é o famoso “problema” bom.
Mas antes de pensar em realizar um upgrade de plano, considere adicionar uma constante no arquivo wp-config.php da sua instalação WordPress.
define('WP_MEMORY_LIMIT', '64M');
Através dela o WordPress tentará usar mais memória para concluir os processamentos necessários.
Se ainda não conseguir resolver o Memory exhausted error, o único conselho que te dou é atualizar seu plano de hospedagem será requerido.
Conclusão
Servidor e aplicação web estão suscetíveis a erros por uma série de fatores.
O mais importante é ficar atento às coisas atípicas que aconteceram recentemente. A origem pode estar nelas.
Essa percepção ajudará nas análises e solução rápida do problema.
Além dos 4 erros mais comuns de infra com WordPress, há outros, menos recorrentes, mas a provável solução pode ser semelhante aos casos aqui apresentados.
Quais os erros de infra com WP você tem enfrentado?