[WP] Configurações WP-CONFIG: Multisite e customizações

📘 Aula (Parte 2): Configurações Multisite e customizações no wp-config.php

No post anterior, explicamos a estrutura básica do arquivo wp-config.php. Agora vamos nos aprofundar nas configurações exclusivas para Multisite e nas customizações reais que usamos no portanova.com.br.

Importante: As constantes mostradas aqui só devem ser usadas em uma rede Multisite. Em um site WordPress normal (single site) elas não existem ou devem ser omitidas.


🌐 Configurações do Multisite

Para transformar um WordPress comum em uma rede de sites (Multisite), você precisa adicionar as seguintes constantes no arquivo wp-config.php (na seção de configurações customizadas):

// ===============================================
// ATIVAR O MODO MULTISITE
// ===============================================
define('WP_ALLOW_MULTISITE', true);   // Permite a criação da rede

// Após instalar a rede, o WordPress gera estas constantes automaticamente:
define('MULTISITE', true);             // Declara que a rede está ativa
define('SUBDOMAIN_INSTALL', false);    // false = usa subdiretórios (ex: site.com/notebook/); true = subdomínios (ex: notebook.site.com)
define('DOMAIN_CURRENT_SITE', 'www.portanova.com.br'); // Domínio principal da rede
define('PATH_CURRENT_SITE', '/');      // Caminho da raiz da rede
define('SITE_ID_CURRENT_SITE', 1);     // ID do site principal na rede
define('BLOG_ID_CURRENT_SITE', 1);     // ID do blog principal (sinônimo de SITE_ID)

🧠 Explicação de cada constante

  • WP_ALLOW_MULTISITENecessária antes da instalação. Sem ela, o WordPress não exibe as opções de rede. Depois que a rede é criada, você pode mantê-la ou removê-la (mas é seguro manter).
  • MULTISITE → Indica que o WordPress está rodando em modo rede. É gerada automaticamente após a instalação.
  • SUBDOMAIN_INSTALL → Define a estrutura de URLs. false = subdiretórios (ex: portanova.com.br/notebook/). true = subdomínios (ex: notebook.portanova.com.br).
  • DOMAIN_CURRENT_SITE → Domínio principal da rede (com ou sem www). Todos os sub-sites herdam esse domínio.
  • PATH_CURRENT_SITE → Caminho raiz da rede. Geralmente '/'.
  • SITE_ID_CURRENT_SITE e BLOG_ID_CURRENT_SITE → Identificadores do site principal (geralmente 1).

📌 Nota para sites normais (single site): Em uma instalação comum do WordPress, nenhuma dessas constantes deve estar presente. Se você adicionar WP_ALLOW_MULTISITE ou MULTISITE em um site single, poderá causar erros ou comportamentos inesperados.


⚙️ Configurações customizadas reais do portanova.com.br

Abaixo estão as configurações adicionais que usamos no nosso Multisite, incluindo ajustes de desempenho, segurança e compatibilidade com plugins.

🔧 Debug (ambiente de desenvolvimento)

define('WP_DEBUG', true);          // Ativa exibição de erros
define('WP_DEBUG_LOG', true);      // Salva erros em /wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // Não mostra erros na tela
@ini_set('display_errors', 0);     // Força ocultação de erros

🔧 Cron (tarefas agendadas)

define('DISABLE_WP_CRON', true);   // Desativa o cron nativo (usamos cron do servidor)

🔧 Segurança e performance

define('WPCOM_API_KEY', '983e0f6c595e');     // Chave da API Akismet
define('WP_MEMORY_LIMIT', '512M');           // Aumenta a memória do PHP
define('WPSC_READABLE_WARNING', false);     // Remove aviso do WP Super Cache

🔧 Query Monitor (desativado no Elementor)

if ( isset( $_GET['action'] ) && $_GET['action'] === 'elementor' ) {
    define('QM_DISABLED', true);            // Desliga o Query Monitor ao editar com Elementor
}

🔧 Outras constantes usadas (opcionais)

// define('WP_ALLOW_MULTISITE', true);  // já está na seção Multisite
// define('MULTISITE', true);          // já está na seção Multisite
// define('WP_MEMORY_LIMIT', '256M');  // valor menor, se necessário

🧪 Como fica a seção customizada no wp-config.php

No arquivo real do portanova.com.br, essas configurações aparecem organizadas entre os comentários /* Add any custom values... */ e /* That's all, stop editing... */.

/* Add any custom values between this line and the "stop editing" line. */

// 1. ATIVAÇÃO DO MULTISITE (PRÉ-INSTALAÇÃO)
define('WP_ALLOW_MULTISITE', true);

// 2. CONFIGURAÇÕES DA REDE (GERADAS PELO WORDPRESS)
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'www.portanova.com.br');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

// 3. CRON E CACHE
define('DISABLE_WP_CRON', true);
define('WPSC_READABLE_WARNING', false);

// 4. AKISMET
define('WPCOM_API_KEY', '983e0f6c595e');

// 5. MEMÓRIA
define('WP_MEMORY_LIMIT', '512M');

// 6. DEBUG (ATIVO APENAS EM DESENVOLVIMENTO)
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

// 7. QUERY MONITOR (DESATIVADO NO ELEMENTOR)
if ( isset( $_GET['action'] ) && $_GET['action'] === 'elementor' ) {
    define( 'QM_DISABLED', true );
}

/* That's all, stop editing! Happy publishing. */

✅ Resumo para o caderno de estudos

  • Site normal (single site): Nenhuma constante de Multisite presente.
  • Multisite: Obrigatório definir WP_ALLOW_MULTISITE e depois incluir as constantes geradas (MULTISITE, SUBDOMAIN_INSTALL, etc.).
  • Configurações customizadas: Use a seção entre os comentários indicados para adicionar constantes sem bagunçar o resto do arquivo.
  • Cuidado: Nunca remova as constantes geradas automaticamente após a instalação da rede, pois isso quebra o Multisite.

Com esta aula, você já consegue diferenciar um arquivo wp-config.php de um site normal de um Multisite e também sabe customizar seu próprio arquivo de forma segura.

Próximo passo: (opcional) podemos criar uma terceira parte explicando como migrar um site normal para Multisite ou como adicionar outras constantes úteis (como WP_SITEURL, WP_HOME, COOKIE_DOMAIN etc.).

Média: 2.7 (35 votos)