Arquivo WP-Config Vitaminado: Não se conforme com o padrão, Otimize-o

Arquivo WP-Config Vitaminado: Não se conforme com o padrão, Otimize-o

Como o próprio nome sugere, o arquivo wp-config é responsável por conter os detalhes de configuração do WordPress. Quando instalamos um site, esse arquivo é criado com uma configuração básica, mas por que se contentar com isso? Vamos ver como você pode criar seu arquivo wp-config vitaminado.

Neste artigo, eu gostaria de:

  1. Explicar o que é o arquivo wp-config e para que serve.
  2. Mostre as diferentes maneiras de criá-lo.
  3. Veja como é um arquivo wp-config em uma instalação limpa do WordPress.
  4. Mostre alguns truques de configuração para melhorar o desempenho e a segurança do seu site.

O que é o arquivo wp-config e para que serve?

Bem, como eu disse no começo do artigo, é o arquivo em que as configurações do WordPress são salvas. Este arquivo pode ser encontrado na pasta raiz do seu site, depois de instalar o WordPress. Ou seja, se você acabou de fazer o download, mas ainda não o instalou, ele não aparecerá.

Como você pode criar o arquivo wp-config?

Bem, muito fácil, como em tudo na vida, você tem duas opções: automaticamente (que é como 99% dos usuários fazem isso, inclusive eu) e manualmente.

A maneira automática é criá-lo através da instalação do WordPress. Ao inserir o URL do seu site pela primeira vez, você obtém a tela de configuração do WordPress. Depois de preencher todas as informações solicitadas, o arquivo wp-config é gerado.

A outra maneira é duplicar o arquivo wp-config-sample.php, renomeá-lo com wp-config.php e editá-lo com sua configuração.

Quais dados de configuração o arquivo wp-config.php possui em uma instalação limpa do WordPress?

Parâmetros de acesso ao banco de dados
Esta é a primeira coisa que você verá ao abrir seu arquivo wp-config.

define( 'DB_NAME', 'your-database-name' );
define( 'DB_USER', 'your-database-user' );
define( 'DB_PASSWORD', 'your-database-password' );

define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );

Como você pode ver, essas constantes se referem ao nome do banco de dados, ao usuário e à senha de acesso, ao servidor no qual está instalado, à codificação de caracteres e ao agrupamento.

Quando você instala o WordPress, esses parâmetros são preenchidos automaticamente, desde que você tenha escolhido criar o arquivo wp-config automaticamente. Caso contrário, você precisará preenchê-los manualmente.

As informações dos três primeiros variarão dependendo do banco de dados do seu site, a menos que você tenha todas as instalações do WordPress no mesmo banco de dados (o que eu não recomendo), enquanto as informações dos três últimos geralmente é comum para todos os bancos de dados.

Chaves de autenticação exclusivas
Sob os parâmetros de configuração do banco de dados, você encontrará as chaves de autenticação exclusivas. Essas chaves podem ser definidas como senhas com elementos que tornam sua descriptografia mais difícil e, portanto, mais difícil de quebrar a barreira de segurança de um site.

define ('AUTH_KEY', 'sua-frase-aleatória-criptografada-aqui');
define ('SECURE_AUTH_KEY', 'sua-frase-aleatória-criptografada-aqui');
define ('LOGGED_IN_KEY', 'sua-frase-aleatória-criptografada-aqui');
define ('NONCE_KEY', 'sua-frase-aleatória-criptografada-aqui');

define ('AUTH_SALT', 'sua-frase-aleatória-criptografada-aqui');
define ('SECURE_AUTH_SALT', 'sua-frase-aleatória-criptografada-aqui');
define ('LOGGED_IN_SALT', 'sua-frase-aleatória-criptografada-aqui');
define ('NONCE_SALT', 'sua-frase-aleatória-criptografada-aqui');

Se você optou pela configuração manual do arquivo wp-config, precisará gerar as chaves para inseri-las aqui. Para isso, o WordPress coloca à sua disposição um gerador online, para que você não precise pensar em todos esses personagens.

Por outro lado, também é recomendável que você altere essas chaves de tempos em tempos (um mês, por exemplo) e, assim, evite a possibilidade de que algo inteligente possa ser feito com elas.

Prefixo do banco de dados
Abaixo, você pode encontrar o prefixo das tabelas do banco de dados.

$table_prefix = 'wp_';

O WordPress é composto de 13 tabelas básicas, além de todas as que podem ser criadas ao instalar plugins … e algum outro tema. O prefixo é usado para que, no caso de querer usar o mesmo banco de dados para várias instalações (o que eu já disse para você não seja recomendado), as tabelas não se sobrescrevam.

Por outro lado, o fato de alterar o prefixo padrão também pode nos ajudar a evitar possíveis ataques.

Modo de depuração do WordPress
Este é um parâmetro muito útil, especialmente se você se dedicar ao desenvolvimento de plugins ou temas para o WordPress, pois ele pode ocultar (ou mostrar) erros de operação e compatibilidade, com outros plugins ou com o próprio núcleo.

define ('WP_DEBUG', false);

Por padrão, o modo de depuração está desativado (e também deve estar em produção). Mas para testar no seu ambiente de trabalho local, o ideal é ativá-lo, definindo a constante como TRUE e limpar seu código de incidentes.

Caminho da instalação do WordPress e o arquivo em que as variáveis ​​e outros arquivos usados ​​são definidos
Embora essas informações também sejam definidas no arquivo wp-config.php, você seguirá o que diz algumas linhas acima e interromperá a edição do arquivo a partir daí. Editar esses arquivos e até mesmo essas linhas, sem conhecimento, pode fazer com que você carregue a web (e, se você tiver conhecimento, crie melhor seu próprio CMS / Framework e não brinque com o núcleo do WordPress).

As informações de que estou falando são as seguintes:

if (! definido ('ABSPATH'))
define ('ABSPATH', nome do diretório (FILE). '/');

require_once (ABSPATH. 'wp-settings.php');

Bem, até agora você conseguiu ver o que o arquivo serial wp-config traz, mas você não veio aqui para isso, certo? Vamos ver como você pode vitaminar o seu arquivo:

Truques de configuração para melhorar o desempenho e a segurança da Web (aprimorando o arquivo wp-config)

Evite atualizações automáticas
O WordPress, por padrão, ele se atualiza automaticamente se você não fizer isso sozinho. Embora seja sempre necessário atualizar o kernel, os plugins e os temas, há momentos em que isso pode causar conflitos.

Por esse motivo, prefiro sempre atualizar manualmente, fazendo um backup anterior, para que, em caso de falha, você tenha a opção de retornar a um estado anterior. Para desativar as atualizações automáticas do WordPress, você pode usar a seguinte constante:

define ('AUTOMATIC_UPDATER_DISABLED', true);

Ativar e desativar o cache do WordPress
Embora quando você trabalha localmente, ter o cache ativado possa ser um truque ao exibir as alterações na frente, é verdade que na produção isso ajuda muito, para que a Web seja carregada mais rapidamente. Com essas três constantes, você pode ativar (ou desativar o cache) do seu, conforme necessário.

//Ativar o caché
define( 'WP_CACHE', true );
define( 'ENABLE_CACHE', true );

//Desativar o caché
define( 'WP_CACHE', false );
define( 'DISABLE_CACHE', true );

Limitar (ou desativar) comentários do WordPress
Não sei se você percebeu que toda vez que você escreve uma entrada e salva, uma mensagem aparece logo acima do botão de publicação, que diz «X revisões». Bem, essas são cópias da entrada que são salvas no banco de dados, como um controle de versão. Agora pense no número de vezes que você pode clicar em “Salvar” ao escrever uma entrada. Colocamos uma média de 10? Supondo que você tenha 100 entradas em seu blog, e considerando que para cada uma você salvou cópias 10 vezes, você possui 1000 registros no banco de dados. 1000 registros para apenas 100 entradas. Você tem mais de 900. 900 registros ocupando um espaço valioso no seu banco de dados. O que você pode fazer então?

Com essa constante, você pode limitar o número de revisões criadas para o número que você indicar. Dessa forma, quando você exceder esse número, excluirá automaticamente as cópias.

define ('WP_POST_REVISIONS', 5);

Você também pode dizer para não salvar nenhum, definindo a constante como FALSE.

define ('WP_POST_REVISIONS', false);

Esvaziar o lixo automaticamente
Outra coisa que enche o banco de dados de lixo é o conteúdo que está no lixo. Você achou que, ao eliminá-los, eles deixaram de existir? Bem, não, eles simplesmente desaparecem da sua vista, mas ainda estão lá, ocupando espaço.

Mas é claro que quando você as exclui, como não as vê, você esquece e deixa de esvaziar o lixo. E então o que acontece, o banco de dados fica cheio e você liga para o serviço técnico, dizendo “Mas se eu só tenho 20 páginas no meu site, como é possível que eu não tenha mais espaço no banco de dados?”

Mas tenha certeza, se você também tem uma memória de peixes como eu, há uma solução. Ao adicionar esta linha em nosso arquivo wp-config, você pode dizer ao WordPress para esvaziar o lixo automaticamente a cada X dias (eu recomendo colocar uma semana ou mais, para que você tenha tempo para reconsiderar se realmente deseja excluir esse conteúdo ou não).

define ('EMPTY_TRASH_DAYS', 7);

Desativar o editor de código do WordPress
Você também sabe que o WordPress incorpora um editor de código em seu wp-admin, a partir do qual você pode acessar e modificar o código do tema e os plugins que você instalou. Embora a priori possa parecer confortável, uma vez que poupa a necessidade de fazer o download de um arquivo para editá-lo, em mãos ruins pode tornar seu site muito fácil, portanto, desativá-lo ajudará a proteger seu site contra más mãos. Para desativá-lo, inclua a seguinte linha.

define ('DISALLOW_FILE_EDIT', false);

Evite a possibilidade de instalar, desinstalar e atualizar plugins
E se, além de editar o código, você deseja evitar a instalação de novos plug-ins e atualizar ou desinstalar os existentes, você pode usar essa constante definida como TRUE.

Essa configuração, eu recomendo apenas se você é dedicado à manutenção na Web e deseja impedir que os clientes quebrem alguma coisa. Caso contrário, não o coloque, para que o usuário possa atualizar seus plugins sempre que desejar.

define ('DISALLOW_FILE_MODS', true);

A propósito, adicionando essa linha, a anterior não seria necessária.

Definir limite de memória para PHP
O WordPress, como qualquer outro aplicativo desenvolvido com PHP, consome memória do servidor. Há ocasiões em que, dependendo do processo, se a memória máxima necessária for atingida, o servidor lançará um erro e interromperá a execução do aplicativo.

Para evitar isso, você pode aumentar o limite de memória do servidor, incluindo a constante a seguir no seu arquivo wp-config (mas lembre-se, isso se aplicará apenas ao WordPress, não a outros aplicativos que você possa ter no seu servidor).

define ('WP_MEMORY_LIMIT', '128M');

Também podemos definir um limite máximo de memória, para não abusar.

define ('WP_MAX_MEMORY_LIMIT', '256M');

Desativar o CRON do WordPress
As tarefas do CRON permitem automatizar os processos do site, como criar um backup ou publicar uma entrada em um determinado momento. O WordPress, por padrão, traz seu próprio sistema de tarefas CRON. No entanto, ele só funciona se a web receber uma visita naquele dia. O que acontece se isso não acontecer? Bem, naquele dia, o site não seria copiado ou a entrada não seria publicada.

Para evitar isso, o que eu recomendo é desativar o sistema CRON do WordPress com esta linha …

define ('DISABLE_WP_CRON', true);

… E crie uma tarefa no seu servidor que execute o arquivo wp-cron do WordPress X vezes por dia. Dessa forma, você não apenas impedirá a execução de algo em seu site, mas também não retardará sua operação.

Otimizar banco de dados WordPress
Muitos plugins e temas, depois de desinstalados (ou até atualizados), deixam resíduos no banco de dados que ocupam um espaço valioso que eu falei antes. Para eliminar esses resíduos, é recomendável fazer uma otimização do banco de dados toda vez X (eu costumo fazer isso uma vez por mês).

Mas como você pode fazer isso? Bem, muito fácil. Primeiro, você deve adicionar esta linha ao arquivo wp-config.

define ('WP_ALLOW_REPAIR', true);

Em seguida, digite o seguinte URL (substitua “seudominio.com” pelo domínio do seu site): http://www.seudominio.com/wp-admin/maint/repair.php

Depois de fazer a otimização, defina a constante como FALSE e TRUE novamente na próxima vez que desejar fazer outra otimização do banco de dados.

Compactar arquivos
Para finalizar, mostrarei três linhas que podem ajudá-lo a melhorar a velocidade do seu site:

O primeiro deles servirá para compactar os arquivos CSS.
define ('COMPRESS_CSS', true);
O segundo, tem a mesma operação, mas para arquivos JavaScript na web.
define ('COMPRESS_SCRIPTS', true);
E o terceiro ativará a compactação GZIP para a web.
define ('ENFORCE_GZIP', true);
Com essas três linhas, você pode evitar a instalação de um plug-in de compactação de arquivos.

Bonus extra
Por último, y como he visto que te has tomado la molestia de llegar hasta aquí, te voy a enseñar un truquillo. No sé si te has fijado, pero algunas de las constantes que te he ido enseñando son para entornos de desarrollo y otras para entornos de producción.

Sin ir más lejos, los propios parámetros de la base de datos, pueden variar del servidor local al de la web, por lo que dependiento del entorno en el que estés trabajando, habrá que añadir líneas, quitar otras, y cambiar valores.

¿Qué es lo que hago yo para evitarme tanto jaleo? Pues muy fácil. Me defino una constante y le asigno el entorno en el que estoy ahora mismo (yo los he llamado «local» y «website», pero los puedes llamar como quieras).

define( 'WORKING_IN', 'local' );

Luego, mediante un switch, añado las constantes que necesito con sus respectivos valores. De esta forma, con solo un par de cambios en el código, consigo configurar el entorno que necesito.

switch( WORKING_IN )
{
case 'local':
//escreva aqui suas configurações local
break;
case 'website':
//escreva aqui suas configurações de produção
break;
}

Rolar para o topo