A ocorrência de erros em seu site pode ser intimidante. Entretanto, a maioria dos erros lhe dá alguma pista sobre o que os causou, o que pode tornar a solução destes problemas comuns muito mais fácil. Infelizmente, o erro 503 não é tão educado assim e não oferece muita informação para que você consiga seguir em frente.

O que ajuda é saber quais são as causas mais comuns para o erro 503. Assim, você precisará ser metódico para lidar com a resolução do erro, o que significa seguir diversos passos para encontrar sua causa raiz.

Neste artigo, cobriremos o que é o erro 503 e como ele costuma se manifestar. Em seguida, te guiaremos ao longo de seis passos para solucioná-lo. Vamos ao trabalho!

Confira nosso guia em vídeo para corrigir diferentes tipos de erros 500

O que é o erro HTTP 503?

A Internet Engineering Task Force (IETF) define o Serviço 503 Não disponível como:

O código de status 503 (Service Unavailable) indica que o servidor está atualmente incapaz de lidar com a solicitação devido a uma sobrecarga temporária ou manutenção programada, que provavelmente será aliviada após algum atraso. O servidor PODE enviar um campo de cabeçalho Retry-After para sugerir um tempo apropriado para o cliente esperar antes de tentar novamente a solicitação.

Quando você encontra um erro 503, significa que o servidor em questão está indisponível. Isso pode ocorrer, por exemplo, porque ele está muito ocupado ou em manutenção. Ao contrário dos demais códigos de erros similares, 503 significa que seu website está online e rodando, mas não pode ser alcançado no momento.

O mais lamentável sobre esse erro em particular é que ele raramente te oferece alguma informação. Na maioria das vezes, apenas uma mensagem de “Serviço temporariamente indisponível” é exibida. Isso equivale a ligar para um restaurante e receber a resposta de que ele está fechado, mas se recusarem a te dizer quando estará aberto novamente.

Se estiver com sorte, o código de erro 503 terá ocorrido porque seu site está em manutenção. O WordPress coloca brevemente seu site no modo de manutenção quando você estiver atualizando um plugin, tema ou o núcleo do software:

Modo de manutenção
Modo de manutenção

Em geral, esse intervalo é tão curto que ninguém o percebe. No entanto, nos casos em que o erro 503 persiste, você terá um problema maior para tratar. Afinal, não só os usuários serão incapazes de acessar seu site, como você também perderá acesso à sua área de administração no WordPress. Isso significa que não conseguirá atualizar seu site de nenhuma forma e, para conseguir resolver a situação, precisará averiguar seus arquivos.

Código do Erro 503 service unavailable error
Tipo do Erro Erro do lado do servidor
Variações do erro 503 Service Unavailable
503 Service Temporarily Unavailable
HTTP Server Error 503
HTTP Error 503
Causas do erro Picos de tráfego inesperados
Problemas de comunicação do servidor
Exaustão de uso de recursos
Ataque DDoS
Incompatibilidade de plugin ou tema

Variações do Erro 503

O erro 503 pode surgir de muitas maneiras. No entanto, quase todas as variações vêm acompanhadas daquele código 503, facilitando sua identificação.

Aqui estão algumas variações que você pode encontrar, dependendo das configurações do seu servidor e navegador:

  • 503 Serviço Indisponível
  • 503 Serviço Temporariamente Indisponível
  • HTTP Erro de Servidor 503
  • HTTP Erro 503
  • Erro 503 Serviço Indisponível
  • O servidor é temporariamente incapaz de atender sua solicitação devido ao tempo de inatividade de manutenção ou a problemas de capacidade. Tente novamente mais tarde.

Seja qual for a aparência do código com o qual você se depara, significa que será necessário trabalhar rapidamente antes que ele afete negativamente seus usuários.

O que causa um erro HTTP 503?

Essas são as razões mais comuns pelas quais um servidor está temporariamente incapaz de lidar com uma solicitação:

  • Há um grande número de solicitações sendo enviadas para o servidor, esgotando todos os recursos disponíveis.
  • O servidor está passando por problemas técnicos ou trabalhos de manutenção.
  • O servidor pode estar sob um ataque de Negação de Serviço (DDoS).

Também podem haver outros problemas técnicos desencadeando o erro 503, como problemas com seus plugins ou temas. Mais sobre isso abaixo.

Como corrigir o Erro 503?

Como na maioria das vezes não é possível ter certeza do que causou o erro 503 em determinada situação, você precisará adotar uma postura metódica de resolução. Cada uma das seis seções a seguir cobre uma correção em potencial, cujo foco é resolver diferentes causas raiz em possíveis.

Após cada passo, reserve um momento para retornar ao seu website e veja se o erro 503 sumiu. Em caso positivo, você corrigiu o problema com sucesso. Do contrário, continue com o próximo passo do processo.

1. Desative Temporariamente Seus Plugins

Uma das causas mais comuns do erro 503 no WordPress são os problemas de compatibilidade de plugins. Para determinar se é isso que está acontecendo, você precisará desabilitar todos os plugins do seu site.

Como o erro 503 impede que você acesse a área de administração, será necessário usar um programa FTP para esse passo. Se não tiver um configurado, recomendamos que use o FileZilla.

Quando seu programa FTP estiver pronto, conecte-o ao seu website e navegue até a pasta raiz. Caso não consiga encontrá-la, saiba que costuma ser nomeada de public_html, public, www ou com o nome do seu site. Se você é um cliente Kinsta, o nome dela é public.

Pasta raiz do WordPress via SFTP
Pasta raiz do WordPress via SFTP

Abra essa pasta e navegue até o diretório wp-content. Dentro dele, você verá uma pasta chamada plugins, que contém subdiretórios individuais para cada um dos plugins instalados em seu site (tanto ativos quanto inativos).

Em seguida, deverá clicar com o botão direito na pasta plugins e renomeá-la. Recomendamos algo como plugins.velhos ou plugins.desativados para que possa reconhecê-la rapidamente mais tarde.

Pasta plugins do WordPress renomeada
Pasta plugins do WordPress renomeada

O WordPress não será mais capaz de encontrar nenhum dos seus plugins. Quando isso acontece, ele desabilita automaticamente todos eles.

Agora, tente acessar seu painel. Se o erro 503 tiver sumido, então é possível assumir que um dos seus plugins é o culpado. Tudo o que você precisa fazer é descobrir qual deles é o responsável.

Retorne ao diretório wp-content e renomeie corretamente sua pasta de plugins original. Em seguida, você precisará desabilitar cada um deles, um por um, até descobrir o culpado.

Para fazer isso, abra o diretório wp-content/plugins. Dentro dele, você encontrará uma pasta para cada um dos seus plugins. O processo será muito semelhante ao que fez anteriormente:

  1. Comece com a primeira pasta e a renomeie como quiser.
  2. Verifique seu website para ver se o erro sumiu.
  3. Se não tiver sumido, renomeie a pasta do plugin do passo anterior para seu nome original.
  4. Avance para o próximo plugin em sua lista, repetindo os passos acima.

Esse processo pode levar algum tempo se você tiver muitos plugins, mas é essencial verificar cada um deles por vez. Se em algum momento você identificar o plugin que está causando o erro, poderá desinstalá-lo ou substituí-lo por outra ferramenta.

Se chegar ao final desse passo sem encontrar uma solução, avance para o próximo estágio da resolução.

2. Desativar o tema de seu site

Agora que você descartou seus plugins como a causa do erro 503, chegou a hora de fazer o mesmo com seu tema ativo. Na verdade, seu tema também pode estar criando problemas de compatibilidade.

Infelizmente, o processo não funciona da mesma forma que o anterior. O WordPress não fará a reversão para o tema padrão se simplesmente renomearmos sua pasta. Você acabaria se deparando com um erro como “O diretório do tema “nome do tema” não existe”. Caso tentasse renomear a pasta inteira com o diretório do tema dentro, receberia a mensagem “ERRO: O diretório dos temas está vazio ou não existe. Por favor, verifique sua instalação”.

Erro – O diretório do tema não existe
Erro – O diretório do tema não existe

Portanto, você precisa acessar seu banco de dados do WordPress, fazendo login no phpMyAdmin. Se você é um cliente Kinsta, a ferramenta pode ser encontrada na seção “Informações” (“Info”) no painel MyKinsta.

Abrindo o phpMyAdmin no MyKinsta.
Abrindo o phpMyAdmin no MyKinsta.

Após acessar o phpMyAdmin, clique na tabela “wp_options” e, em seguida, clique na aba “Search”. Você deverá procurar na coluna “option_name” pelo termo “template“.

 

Tabela wp_options no phpMyAdmin
Tabela wp_options no phpMyAdmin

Na coluna “option_value”, você verá o nome atual do seu tema. Altere-o para um dos temas padrão, como “twentynineteen”.

Nome de template no wp_options
Nome de template no wp_options

Verifique seu website novamente para ver se o erro foi corrigido. Em caso positivo, significa simplesmente que havia um erro com o tema de seu website e que talvez você deva tentar reinstalá-lo ou reverter para seu backup mais recente.

3. Desative Temporariamente Sua Rede de Fornecimento de Conteúdo (CDN)

Por vezes, o erro 503 não será exibido por causa de um problema em seu website, mas por culpa da sua Rede de Fornecimento de Conteúdo (CDN). Se estiver usando uma CDN, uma maneira fácil de descobrir se esse é o caso é desabilitá-la temporariamente.

Toda CDN deve incluir um recurso que permita que você interrompa seus serviços. Se estiver na Kinsta, você pode desabilitar sua CDN Kinsta navegando até CDN → “Desabilitar CDN” (“Disable CDN”) dentro do seu painel MyKinsta:

Opção para habilitar/desabilitar CDN no MyKinsta
Opção para habilitar/desabilitar CDN no MyKinsta

O processo a ser seguido pode ser diferente dependendo de qual CDN estiver sendo usada. A Cloudflare também é conhecida por causar erros 503 às vezes. Se você não conseguir encontrar a opção para interromper a sua CDN, verifique a base de conhecimento do serviço, pois ela costuma conter instruções detalhadas.

Se você não usa uma CDN ou descobriu que interromper seu serviço não ajudou com o problema, ainda existem mais algumas correções para experimentar. Lembre-se de reativar a CDN antes de prosseguir.

4. Limite a API WordPress ‘Heartbeat’

WordPress Heartbeat é uma API incorporada ao WordPress utilizada pela plataforma para salvar automaticamente o conteúdo, exibir notificações de plugins, permitir que você saiba quando mais alguém está trabalhando em um post que está tentando acessar, entre outras ações.

Assim como verdadeiros batimentos cardíacos, a API funciona no plano de fundo em uma alta frequência para não perder nada. Como você pode imaginar, essa API consome recursos do servidor. Em geral, isso não é um problema. Mas, em alguns casos, pode levar ao erro 503 se seu servidor não conseguir suportar a carga.

A forma mais rápida de determinar se a API Heartbeat está no centro dos seus problemas é desabilitá-la temporariamente. Para fazer isso, conecte-se ao seu website WordPress via FTP mais uma vez, abra a pasta do seu tema atual e procure pelo arquivo functions.php nela:

Arquivo functions.php do tema WordPress
Arquivo functions.php do tema WordPress

Clique com o botão direito no arquivo e selecione a opção Ver/Editar, que o abrirá em seu editor de texto local. Uma vez aberto, você deverá adicionar o seguinte código nele:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Essas três linhas de código informam ao WordPress para desabilitar a API Heartbeat. Salve as alterações no arquivo functions.php, feche e tente acessar seu website novamente.

Se o erro 503 sumir, você saberá que a API era o problema.

No entanto, desabilitá-la totalmente removerá funcionalidades muito úteis. Ao invés disso, recomendamos que você ‘desacelere’ o Heartbeat, para que não cause mais problemas.

A forma mais fácil para fazer isso é instalar o plugin Heartbeat Control. Ative o plugin e vá até a seção Configurações > Heartbeat Control. Procure pela opção Modificar Heartbeat (Modify Heartbeat) e reduza a frequência para o número mais baixo possível:

Frequência no plugin Heartbeat Control
Frequência no plugin Heartbeat Control

Salve as alterações de suas configurações e retorne ao arquivo functions.php que você editou um pouco antes. Para que as mudanças acima funcionem, será necessário remover o código que foi adicionado e salvar as alterações no arquivo.

Nesse ponto, o erro 503 deverá ter sumido se a API Heartbeat era o problema. Se isso não aconteceu, então é hora de tentar algo diferente.

5. Aumente os Recursos do Seu Servidor

Se o erro 503 ainda está aparecendo apesar de todas as suas tentativas de correção, então existem boas chances de que o problema ocorra por falta de recursos no servidor. Isso quer dizer que você precisa fazer um upgrade em seu plano de hospedagem para ver se realmente corrige o problema. Isso vale especialmente se estiver usando hospedagem WordPress barata, já que elas tendem a suprimir recursos.

Não fazemos isso aqui na Kinsta. Nós oferecemos uma excelente Hospedagem Gerenciada de WordPress (assim como Hospedagem de Aplicativos e Hospedagem de Banco de Dados).

Entretanto, fazer um upgrade em seu plano é uma decisão importante. O movimento mais inteligente é entrar em contato primeiro com o serviço de suporte de sua hospedagem e discutir o erro 503 com eles, bem como informar os passos que você realizou para tentar corrigir o problema. A equipe de suporte deverá ser capaz de te ajudar a resolver o caso e te aconselhará se é necessário fazer o upgrade do plano ou não.

6. Analise Seus Registros e Habilite o WP_DEBUG

Você também deve tirar vantagem de seus registros de erros. Se você for um cliente Kinsta, poderá facilmente ver erros no visualizador de logs e ativar o modo de depuração do WordPress no painel do MyKinsta. Isso pode te ajudar a limitar os possíveis problemas rapidamente, especialmente se for resultado de um plugin em seu site.

Visualizando o arquivo error.log no painel de controle do MyKinsta.
Visualizando o arquivo error.log no painel de controle do MyKinsta.

Se sua hospedagem não disponibiliza uma ferramenta de registros, você também pode adicionar o seguinte código ao seu arquivo wp-config.php para habilitá-los:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Os registros costumam ficar localizados no diretório /wp-content. Dentro dele, procure por um arquivo chamado debug.log e o abra.

Outros provedores, como aqui na Kinsta, podem ter uma pasta dedicada chamada de “logs”.

Pasta de registros de erros no WordPress (SFTP)
Pasta de registros de erros no WordPress (SFTP)

Interpretar seu registro de depuração pode ser um pouco intimidador, mas não é tão difícil quanto você imagina. Em resumo, o registro contém cada erro que aparece em seu site em ordem cronológica. Ele exibe qual arquivo causou cada erro, bem como as linhas específicas de código que estiveram envolvidas.

Atenção: você não encontrará referências diretas ao erro 503 em seus registros. Mesmo assim, se todo o resto falhar, ele pode te apontar a direção certa, ao exibir quais arquivos estão causando problemas. Dessa forma, você saberá onde deverá concentrar seus esforços. Conforme mencionamos no passo anterior, agora é um bom momento para entrar em contato com seu provedor de hospedagem se precisar de mais assistência para resolver esse erro.

Você também pode verificar os arquivos de registros no Apache e Nginx, que costumam ficar localizados em:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Para saber mais, consulte nosso showdown do servidor web: Nginx vs Apache.

Se você é um cliente Kinsta, também pode se aproveitar de nossa ferramenta de analytics para receber um detalhamento do número total de erros 503 e observar com que frequência e quando eles ocorrem. Isso pode te ajudar a resolver esse problema, se for corriqueiro, ou talvez descobrir algo que tenha sido resolvido por conta própria.

Se o erro 503 estiver sendo exibido por causa de um erro fatal de PHP, você também pode tentar habilitar os relatórios de erros PHP. Basta adicionar o código a seguir no arquivo que está causando o erro. Em geral, é possível restringir o arquivo na aba de console do Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

E talvez também precise modificar seu arquivo php.ini com o seguinte código:

display_errors = on

Resumo

Se estiver com sorte, o erro 503 só aparecerá quando você colocar seu website em modo de manutenção. No entanto, se ele aparecer sem nenhum aviso, será necessário arregaçar as mangas e trabalhar na resolução.

Para chegar à causa raiz do erro 503, você precisará seguir esses passos corretivos:

  • Desative temporariamente seus plugins.
  • Desative o tema de seu site.
  • Desabilite temporariamente sua Rede de Entrega de Conteúdo (CDN).
  • Limite a API WordPress “Heartbeat”.
  • Aumente os recursos do seu servidor.
  • Analise seus registros e habilite o WP_DEBUG.

Você já se deparou com o erro 503? Compartilhe suas experiências conosco na seção de comentários abaixo!

Matteo Duò Kinsta

Editor-chefe da Kinsta e consultor de marketing de conteúdo para desenvolvedores de plugins do WordPress. Conecte-se com Matteo no Twitter.