Configurações adicionais no wp-config.php

O wp-config.php é o arquivo de configuração do WordPress, onde definimos basicamente as informações de conexão com o banco de dados e algumas outras coisinhas. Vamos mostrar que há muita coisa útil para o seu site que pode ser definida aqui.

A princípio, o arquivo original ‘wp-config-sample.php’ contém apenas algumas constantes que precisamos ou podemos definir.

As que precisamos definir são apenas as da conexão com o MySQL (DB_* – especificamente NAME, USER e PASSWORD), a variável $table_prefix, se há mais de um WP usando o mesmo banco de dados e a constante WPLANG, que define a linguagem do site. Ainda há por padrão as chaves de encriptação, mas o WP vai funcionar se você não alterar o valor padrão e é o que acaba acontecendo na maior parte das vezes. Mas, naturalmente, isso não é indicado por óbvias razões de segurança. O fato é que além dessas, há outras! e bastante úteis.

Todas devem der definidas com a função define, assim: define('NOME_DA_CONSTANTE', 'valor da constante'); e devem ser colocados no final, antes de "/* Isto é tudo, pode parar de editar! :) */

Tradução

Em par com a WPLANG, podemos definir um local diferente do padrão (wp-contents/languages) para colocar nosso arquivo de tradução, bastando definir a constante LANGDIR com o caminho para o novo diretório.

Otimização

Os valores retornados por

bloginfo('url');
get_bloginfo('url');
// ,
bloginfo('home');
get_bloginfo('home');
// ,
bloginfo('stylesheet_directory');
get_bloginfo('stylesheet_directory');
get_stylesheet_directory();
// e
bloginfo('template_directory');
get_bloginfo('template_directory');
get_template_directory();

podem ser definidos no wp-config como (na mesma sequência)

WP_SITEURL
WP_HOME
STYLESHEETPATH
TEMPLATEPATH

Evitamos assim chamadas constantes ao banco – se esses valores já estão definidos, o WP não executa as queries necessárias para resgatá-los. Isso pode melhorar um pouco o desempenho do site.

As tabelas do MySQL às vezes precisam ser reparadas para recuperarmos o desempenho máximo possível. Isso pode ser feito diretamente no prompt do MySQL ou através do PhpMyAdmin, mas o WordPress pode fazer isso automaticamente, basta autorizar isso com a constante WP_ALLOW_REPAIR, com o valor boleano true.

Posts

Podemos também definir o tempo que um post permanece na Lixeira antes de ser eliminado. O padrão é 30 dias, mas podemos aumentar ou diminuir este prazo, definindo a constante EMPTY_TRASH_DAYS.

define('EMPTY_TRASH_DAYS', 60); // define para 60 dias

A funcionalidade de revisão de posts pode ser um problema pois aumenta o tamanho do banco exponencialmente. A constante WP_POST_REVISIONS existe para definir esse comportamento.

define('WP_POST_REVISIONS', false); // desabilita a funcionalidade
define('WP_POST_REVISIONS', 2); // define um máximo de 2 revisões por post

Personalização

A funcionalidade auto save na página de edição de posts pode ser configurada. Podemos definir o intervalo de tempo entre os salvamentos automáticos (em segundos):

define('AUTOSAVE_INTERVAL', 220);

Você pode optar por mudar os diretórios wp-contents e wp-contents/plugins de lugar (não imagino um porquê para isso, mas…) bas definir as seguintes constantes:

WP_CONTENT_DIR
WP_CONTENT_URL
WP_PLUGIN_DIR
PLUGINDIR // para preservar compatibilidade com versões mais antigas
WP_PLUGIN_URL

Debug

Há algumas opções para debugar o sistema, todas aceitando valores boleanos apenas.

WP_DEBUG // mostra informações sobre funções desatualizadas e outras
SCRIPT_DEBUG // habilita um debug para javascript (limitado)
SAVEQUERIES // força o sistema a armazenar as queries enviadas ao banco
// se você definiu SAVEQUERIES para true, todas as queries estarão disponíveis em $wpdb->queries
// use algo como isso no footer.php para ver as queries
<?php
  if(current_user_can('administrator')){
  global $wpdb;
  echo "<pre>";
  print_r($wpdb->queries);
  echo "</pre>";
  }
?>

E ainda há mais algumas (veja aqui), mas acredito que o que foi dito já aumenta incrivelmente as possibilidades do wp-config.php.

8 Comments

  1. Muito boas as dicas… vou começar a aplicar agora mesmo!
    Só tenho uma dúvida quanto à chave de encriptação.
    Eu posso definir qualquer chave? Como eu habilito a encriptação?
    Outra coisa que ví no meu config.php é:
    define('AUTH_KEY', 'coloque sua frase única aqui');
    define('SECURE_AUTH_KEY', 'coloque sua frase única aqui');
    define('LOGGED_IN_KEY', 'coloque sua frase única aqui');
    define('NONCE_KEY', 'coloque sua frase única aqui');
    é neste ponto que faço minhas alterações para encriptação? Para que serve estas Key's?
    Desde já agradeço pela ajuda! =)

  2. @jontaioba: essas chaves de encriptação serão usadas em diversos lugares e não há o que habilitar. Mas como o sistema usa essas strings como chaves para encriptação e como  todos conhecem a string original 'coloque sua frase única aqui', teoricamente fica mais fácil de quebrar a segurança se você não mudar. Use o serviço que é sugerido no próprio wp-config para gerar chaves aleatórias: http://api.wordpress.org/secret-key/1.1/

  3. Entendi!
    Vlw pela dica kra, ótimo post!
    ;)

  4. Bom dia,
    Eu quero saber se vc conhece algum meio de instalar um plugin e ele nao aparecer na lista de plugins no painel administrativo??
    Estou querendo isso porque achei um plugin para desabilitar as atualizacoes do wordpress e de seus plugins.
    Porem o usuario nao pode ir la e ativar, porque o os plugins foram traduzidos ou seja, os plugins  atualizados ficarão em inglês.
    Desde já agradeço.
     

    • Diego,

      Os usuários registrados em seu blog não poderão desativar os plugins a menos que você os transforme em “Administrador” do blog.. olhe em suas configurações qual nível de usuário vc está automaticamente registrando seus usuários, ok ?

      Abraços

  5. Diego, o que o Guga disse é fato e só isso resolve seu problema…
    Mas o legal é fazer a tradução de modo a não interferir nessas coisas. Veja aqui: https://tudoparawp.com.br/dicas-wordpress/como-traduzir-temas-e-plugins/

    Abraço

  6. Pessoal eu gostaria de saber se tem possibilidades de alterar os diretórios do wordpress, tipo assim, onde estão wp-admin, wp-content, será que tem como eu alterar para outro nome tipo wp-admin para adm e wp-content para site algo assim, por que o pessoal ja sabem os caminhos dos diretórios, será que alguém pode me orientar como fazer isso, ou se tem algum plugin que faça isso, por que na maioria dos portais ninnguém sabe onde ficam a área administrativa, fico no aguardo isso é o que eu mais quero pra fugir dos invejosos, valeu galera….

Deixe uma resposta