Arquivo wp-config.php do WordPress: o que faz e como editar
O wp-config.php guarda o login do banco de dados, as chaves de segurança e as configurações do WordPress. Veja onde fica, o que faz e como editá-lo.
O wp-config.php é o arquivo que diz ao WordPress como se conectar ao banco de dados e como funcionar. Normalmente ele fica na pasta raiz da instalação, ao lado de wp-admin e wp-content. Você pode adicionar ou alterar configurações com segurança acima da linha “That’s all, stop editing!” (em português: “é só isso, pare de editar!”), e deve deixar quietos os dois blocos de código abaixo dela. Faça um backup antes, porque um único erro de digitação pode derrubar o site inteiro.
Resumo
- O arquivo guarda a senha do banco de dados e as chaves de segurança, então trate-o como uma senha e nunca publique o conteúdo dele em um fórum ou chat de suporte.
- Configurações personalizadas ficam acima da linha “stop editing”. A última linha abaixo dela carrega o WordPress, e uma configuração depois dessa linha chega tarde demais.
- O WordPress que você baixa inclui o
wp-config-sample.php. Owp-config.phpde verdade é criado durante a instalação.- Não altere
$table_prefixem um site no ar editando apenas essa linha. O WordPress vai agir como se não estivesse instalado.
Onde encontrar o wp-config.php
Conecte-se por SFTP ou abra o gerenciador de arquivos da hospedagem e vá até a pasta que contém wp-admin, wp-includes e wp-content. A documentação do WordPress chama essa pasta de raiz do diretório de arquivos do WordPress.
Se ele não estiver lá, procure uma pasta acima. O carregador do WordPress verifica primeiro a pasta da instalação e depois a pasta superior, e ignora a superior se ela tiver o próprio wp-settings.php, porque isso indica que outra instalação do WordPress está ali.
Se nenhum dos dois lugares tiver o arquivo, o WordPress envia os visitantes para a tela de instalação. Essa tela cria o arquivo a partir do wp-config-sample.php. Quando não consegue gravar na pasta, ela mostra o texto para você colar à mão em um arquivo novo.
O que cada seção padrão faz
O wp-config-sample.php é o modelo, e tem estas partes nesta ordem:
| Seção | O que contém | Dá para alterar? |
|---|---|---|
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST | O login do banco de dados. O modelo usa localhost como host, e sua hospedagem pode informar os valores reais. | Sim, quando os dados do banco mudarem. Um valor errado causa o erro ao estabelecer conexão com o banco de dados. |
DB_CHARSET, DB_COLLATE | Como o texto é armazenado no banco. Os padrões são utf8mb4 e um valor vazio. | O próprio comentário do modelo sobre DB_COLLATE diz para não alterar em caso de dúvida. |
De AUTH_KEY até NONCE_SALT | Oito chaves e salts de segurança usados nos cookies de login. | Sim. Alterá-los desconecta todos os usuários. |
$table_prefix | O texto no início do nome de cada tabela do banco, wp_ por padrão. | Só na instalação, a menos que você também renomeie as tabelas e atualize as entradas salvas no banco cujos nomes usam o prefixo. |
WP_DEBUG | O modo de depuração, definido como false no modelo. | Sim. O guia de localização do log de depuração mostra como enviar os erros para um arquivo. |
| O comentário “custom values” (valores personalizados) | Um espaço vazio para suas configurações, que termina na linha “stop editing”. | Sim, é aqui que entram seus acréscimos. |
ABSPATH e a linha wp-settings.php | O caminho até o WordPress e, depois, a linha que carrega o restante. | Não. Deixe como estão. |
Chaves novas estão a um clique: o serviço de chaves secretas do WordPress.org gera um conjunto novo a cada carregamento. Substitua as oito linhas pelo novo conjunto.
Arquivos mais antigos podem não ter o comentário “custom values” e dizer “Happy blogging” em vez de “Happy publishing”. Os dois funcionam, e a regra é a mesma: adicione suas configurações acima dessa linha.
Configurações mais alteradas
Cada uma delas ocupa uma linha. Todas vêm da documentação do wp-config.php, e os valores padrão vêm do default-constants.php do WordPress.
// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );
// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );
// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );
// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );
// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
Copie só as linhas de que precisa. Algumas têm detalhes que vale conhecer:
- Memória: o padrão do WordPress é 40M, ou 64M em multisite, e 256M para o wp-admin, a menos que o PHP já permita mais. Se a hospedagem não permitir alterar o limite, o WordPress usa o limite que o PHP já tem. O guia de memória esgotada explica o que fazer nesse caso.
- Revisões: vêm ativadas por padrão. Use
falsepara desativá-las ou um número para limitá-las. - Salvamento automático e lixeira: os padrões são 60 segundos e 30 dias. Definir
EMPTY_TRASH_DAYScomo0desativa a lixeira, e a documentação avisa que o WordPress então não pede confirmação quando alguém clica em “Delete Permanently” (Excluir permanentemente). - Editor de arquivos: o guia de proteção diz que isso não impede um invasor de enviar arquivos maliciosos, embora possa impedir alguns ataques.
DISALLOW_FILE_MODSvai além e também bloqueia a instalação e a atualização de plugins e temas. - HTTPS: quando a configuração “Endereço do WordPress” já começa com
https, o WordPress defineFORCE_SSL_ADMINcomotruepor conta própria. Esta linha só muda algo quando o endereço não começa comhttps. - Endereços do site: substituem os valores salvos sem alterar o que está no banco de dados. Inclua a parte
https://.
Uma configuração exige mais planejamento. define( 'DISABLE_WP_CRON', true ); impede que as visitas às páginas iniciem tarefas agendadas, então configure um cron job no servidor para o wp-cron.php antes de ativá-la, ou posts agendados e outras tarefas programadas não vão rodar.
Como editar o wp-config.php com segurança
- Baixe uma cópia primeiro. Guarde-a no seu computador. Uma cópia deixada no servidor com um nome como
wp-config.php.bakpode ser lida no navegador, porque o servidor deixa de tratá-la como PHP. - Abra o arquivo em um editor de texto simples. O guia de edição de arquivos do WordPress aceita Notepad++, Sublime Text e Visual Studio Code, e desaconselha Google Docs e Microsoft Word, porque processadores de texto alteram as aspas e podem adicionar código que quebra os arquivos.
- Encontre a linha “stop editing” e coloque suas novas linhas logo acima dela. Se a configuração já estiver definida mais acima, altere essa linha.
- Salve, envie o arquivo e abra o site em uma janela privada do navegador, junto com uma página do wp-admin.
- Se algo quebrar, restaure sua cópia. Isso desfaz a edição mesmo quando o wp-admin não carrega.
Mover o arquivo para fora da raiz da web
O guia de proteção diz que o wp-config.php pode ficar uma pasta acima da instalação do WordPress, e o código do carregador lida com isso sem configurações extras. Mova o arquivo e verifique se o site continua carregando. A mudança tem dois limites:
- A pasta superior não pode ter outra instalação do WordPress. O carregador ignora uma pasta superior que tenha o próprio
wp-settings.php. - Um nível acima só é privado se o WordPress estiver na raiz da web. Se o WordPress estiver em uma subpasta como
/blog/, um nível acima geralmente continua público.
O mesmo guia diz que algumas pessoas defendem que essa mudança traz benefícios mínimos de segurança e que pode criar vulnerabilidades sérias se for feita sem cuidado. Por isso, trate-a como opcional. No Apache, o guia também traz este bloco para o início do arquivo .htaccess, que nega pedidos diretos ao arquivo:
<Files "wp-config.php">
Require all denied
</Files>
Nosso guia de segurança do .htaccess trata dessa regra junto com outras.
Permissões do arquivo wp-config.php
A documentação do WordPress traz números um pouco diferentes, dependendo da situação:
- O guia de proteção diz que só você e o servidor web devem poder ler o arquivo, o que, segundo ele, geralmente significa 400 ou 440.
- O guia de permissões de arquivos indica 440 ou 400 em hospedagem compartilhada com suexec, para impedir que outros usuários do servidor o leiam. Ele também mostra 600 como exemplo protegido.
- Para arquivos comuns do WordPress, esse guia indica 644 ou 640.
O número que funciona depende do usuário do sistema com que o servidor web roda. O servidor web precisa conseguir ler o arquivo, então, se o site parar de carregar depois de uma mudança, volte ao valor anterior e pergunte à hospedagem qual se encaixa na configuração dela.
Erros comuns
- Colar uma configuração depois da linha
wp-settings.php. Essa linha carrega o WordPress e define os padrões. Uma constante do PHP não pode mudar durante a execução de um script, então sua linha não tem efeito. - Definir a mesma configuração duas vezes. A primeira linha define o valor e a segunda não pode mudá-lo. O manual do PHP diz que redeclarar uma constante está obsoleto desde o PHP 8.5, então também pode aparecer uma mensagem. Procure o nome no arquivo antes de adicioná-lo.
- Colocar aspas em volta de true ou false.
'false'é uma string não vazia, e o PHP a trata como true. Escrevafalsesem aspas. Tamanhos como'256M'precisam delas. - Aspas curvas de um processador de texto ou de uma página da web. O PHP precisa de aspas retas, então as curvas causam um erro que impede o site de carregar.
- Mostrar erros de depuração em um site no ar.
WP_DEBUG_DISPLAYétruepor padrão, então, se você ativar só oWP_DEBUG, os erros aparecem na página para os visitantes. O guia de localização do log de depuração mostra como enviá-los para um arquivo. - Deixar
WP_ALLOW_REPAIRativado. A documentação diz para ativá-lo só quando necessário e desativá-lo assim que o problema for resolvido.
Perguntas frequentes
O que é o wp-config.php no WordPress?
É o arquivo de configuração que o WordPress carrega ao iniciar. Ele guarda o login do banco de dados, as chaves de segurança e o prefixo das tabelas, e é onde você adiciona configurações como WP_DEBUG ou WP_MEMORY_LIMIT.
Onde fica o arquivo wp-config.php?
Normalmente na raiz da instalação do WordPress, a pasta que também contém wp-admin, wp-includes e wp-content. O WordPress também o aceita uma pasta acima da instalação, desde que essa pasta não tenha wp-settings.php.
Onde adiciono código no wp-config.php? Acima da linha That’s all, stop editing! Happy publishing. Arquivos mais antigos dizem Happy blogging. A última linha abaixo dela carrega o WordPress, então uma configuração colocada depois dessa linha chega tarde demais.
É seguro editar o wp-config.php? Sim, se você mantiver um backup e usar um editor de texto simples. Um único erro de digitação pode impedir o site inteiro de carregar, incluindo o wp-admin, então baixe uma cópia antes. Se o site quebrar depois da edição, restaure a cópia.
O que acontece se eu excluir o wp-config.php? O WordPress não encontra mais o login do banco de dados e inicia o processo de instalação, pedindo para criar um arquivo de configuração. Seu conteúdo continua no banco de dados, então restaurar o backup ou recriar o arquivo com os mesmos dados reconecta o site.
Quais permissões o wp-config.php deve ter? O guia de proteção do WordPress diz que só você e o servidor web devem poder lê-lo, o que geralmente significa 400 ou 440. O guia de permissões de arquivos também mostra 600. O servidor web ainda precisa ler o arquivo, então consulte sua hospedagem se o site parar de carregar.
Fontes
- WordPress Advanced Administration: wp-config.php, Hardening WordPress, File permissions, Editing files
- Código-fonte do WordPress: wp-config-sample.php, wp-load.php, default-constants.php, setup-config.php, cron.php
- Manual do PHP: Constants, Booleans
Monte as configurações de que precisa sem digitar à mão, incluindo chaves de segurança novas, com o gerador gratuito de wp-config.php.
FAQ
Perguntas
O que é o wp-config.php no WordPress?
É o arquivo de configuração que o WordPress carrega ao iniciar. Ele guarda o login do banco de dados, as chaves de segurança e o prefixo das tabelas, e é onde você adiciona configurações como WP_DEBUG ou WP_MEMORY_LIMIT.
Onde fica o arquivo wp-config.php?
Normalmente na raiz da instalação do WordPress, a pasta que também contém wp-admin, wp-includes e wp-content. O WordPress também o aceita uma pasta acima da instalação, desde que essa pasta não tenha wp-settings.php.
Onde adiciono código no wp-config.php?
Acima da linha That's all, stop editing! Happy publishing. Arquivos mais antigos dizem Happy blogging. A última linha abaixo dela carrega o WordPress, então uma configuração colocada depois dessa linha chega tarde demais.
É seguro editar o wp-config.php?
Sim, se você mantiver um backup e usar um editor de texto simples. Um único erro de digitação pode impedir o site inteiro de carregar, incluindo o wp-admin, então baixe uma cópia antes. Se o site quebrar depois da edição, restaure a cópia.
O que acontece se eu excluir o wp-config.php?
O WordPress não encontra mais o login do banco de dados e inicia o processo de instalação, pedindo para criar um arquivo de configuração. Seu conteúdo continua no banco de dados, então restaurar o backup ou recriar o arquivo com os mesmos dados reconecta o site.
Quais permissões o wp-config.php deve ter?
O guia de proteção do WordPress diz que só você e o servidor web devem poder lê-lo, o que geralmente significa 400 ou 440. O guia de permissões de arquivos também mostra 600. O servidor web ainda precisa ler o arquivo, então consulte sua hospedagem se o site parar de carregar.