O que é WordPress Multisite?
No núcleo do WordPress, existe um recurso chamado ‘Multisite’ que remonta a 2010, com o lançamento do WordPress 3.0. Desde então, ele passou por várias revisões com o objetivo de introduzir novos recursos e aumentar a segurança.
Em essência, um multisite do WordPress pode ser pensado assim: Uma Universidade mantém uma única instalação do WordPress, mas cada faculdade mantém seu próprio site do WordPress.
O que é exatamente o WordPress Multisite?
Multisite é um recurso do WordPress que permite que vários sites compartilhem uma única instalação do WordPress. Quando o multisite é ativado, o site WordPress original é convertido para suportar o que geralmente é chamado de rede de sites.
Esta rede compartilha o sistema de arquivos (o que significa que plugins e temas também são compartilhados), o banco de dados, os arquivos principais do WordPress, o wp-config.php, etc.
Isso significa que as atualizações do WordPress, tema e plugin precisam ser feitas apenas uma vez para todos os sites da sua rede, já que eles compartilham os mesmos arquivos no sistema de arquivos.
Este fato é uma das grandes vantagens do multisite, pois permite que você aumente o número de sites que gerencia enquanto mantém o número de tarefas que precisa realizar para manter os sites dos seus clientes o mesmo.
Subdomínio ou Subdiretório?
Existem dois modos de rodar um WordPress multisite – e você precisa escolher um quando converte sua instalação regular do WordPress em uma instalação multisite:
Subdomínio: ex.: site.domain.com
…ou
Subdiretório: ex.: yourdomain.com/site
Cada modo tem vantagens e desvantagens que você precisa considerar ao tomar essa decisão.
Uma coisa importante é notar, no entanto: uma vez que você toma a decisão, mudar sua rede de subdiretório para subdomínio ou vice-versa é realmente difícil – especialmente se você já tiver um punhado de sites criados.
Antes de tomar essa decisão, aqui estão alguns pontos para ter em mente:
Modo Subdiretório é o modo mais fácil em termos de configuração e manutenção. Isso acontece porque todos os sites são apenas caminhos anexados ao domínio principal (exemplo: seu-dominio.com/subsite). Como resultado, você só precisa de um certificado SSL para o domínio principal e ele cobrirá toda a rede.
Ao mesmo tempo, devido à sua estrutura de URL, o Google e a maioria dos outros mecanismos de busca considerarão todos os subsites em uma rede baseada em subdiretório como um único site gigante. Como resultado, o conteúdo adicionado aos subsites pelos seus clientes pode afetar o desempenho do SEO do seu site principal, por exemplo. O nível de impacto é debatível e há um argumento a ser feito de que ter tal arranjo pode até ser benéfico para o desempenho do SEO.
Modo Subdomínio é um pouco mais complexo de configurar, mas sua estrutura de URL (exemplo: subsite.sua-rede.com) geralmente é percebida como "mais profissional".
Um dos principais desafios ao configurar o modo de subdomínio é a cobertura SSL (HTTPS) para toda a rede. Isso acontece porque os navegadores consideram subdomínios entidades isoladas. Como resultado, você precisará de um certificado SSL diferente para cada subdomínio na sua rede, ou de um tipo especial de certificado chamado certificado Wildcard SSL. Nos últimos anos, provedores de hospedagem e painéis têm melhorado muito no fornecimento de certificados SSL e alguns oferecem certificados wildcard com apenas um clique, diminuindo a diferença entre os dois modos em termos de complexidade de configuração.
Em contraste com o modo de subdiretório (subdirectory mode), os subsites em uma rede baseada em subdomínios são considerados pelos mecanismos de busca como sites separados, o que significa que o conteúdo presente em um subsite não interfere no desempenho de SEO dos outros subsites.
O Super Administrador
Instalações do WordPress de site único permitem que você adicione um número ilimitado de usuários e dê a esses usuários diferentes funções com permissões distintas.
No WordPress Multisite, um novo tipo de usuário é desbloqueado: o super administrador – e um novo painel de administração é liberado: o painel de administração da rede.
Como o nome sugere, o super administrador tem superpoderes sobre a rede, sendo capaz de gerenciar todos os seus subsites, plugins, temas, tudo!
Assim que você converte sua instalação do WordPress de site único em multisite, o administrador original do site único será automaticamente promovido a super administrador.
Plugins e temas só podem ser instalados ou desinstalados pelo painel de administração da rede pelos super administradores. Os administradores dos subsites podem então optar por ativar ou desativar esses plugins ou temas, a menos que o super administrador da rede ative um plugin, o que força ele a permanecer ativo em todos os subsites o tempo todo.
Nota: como você pode ver, convidar alguém para sua rede e conceder a ela o status de super administrador dá a esse usuário controle total sobre sua rede. Por exemplo, outros super administradores podem até remover seu status de super administrador, efetivamente bloqueando você do painel de administração da sua própria rede. Para permitir que os clientes Ultimate Multisite tenham um controle granular sobre o que outros super administradores podem fazer, temos um add-on chamado Support Agents (Agentes de Suporte). Este add-on permite que você crie outro tipo de usuário – um agente – com apenas as permissões que ele pode precisar para realizar suas tarefas na rede.
O que é compartilhado entre subsites e o que não é
Como mencionamos antes, uma das grandes vantagens do WordPress multisite é que todos os subsites compartilham as mesmas configurações, arquivos principais, temas, plugins, arquivos principais do WordPress, etc.
No entanto, existem elementos que são bem definidos para cada subsite.
- Por exemplo, cada subsite recebe sua própria pasta de uploads (uploads). Como resultado, os uploads feitos por usuários de um subsite específico não podem ser acessados em outro subsite.
- Cada subsite tem seu próprio painel de administração dedicado e pode ativar ou desativar plugins ou temas, a menos que eles estejam ativos na rede por um super administrador.
- A maioria das tabelas do banco de dados é criada para cada subsite, o que significa que posts, comentários, páginas, configurações e muito mais são definidos para cada subsite.
Gerenciamento de usuários no WordPress Multisite
Um assunto delicado no WordPress multisite é o gerenciamento de usuários. A tabela de usuários do WordPress é uma das poucas que é compartilhada entre todos os subsites.
Essa organização pode gerar alguns problemas dependendo do que você planeja construir com sua rede. O exemplo abaixo ajuda a ilustrar o mais urgente.
Imagine o seguinte cenário:
Você cria uma rede multisite do WordPress e começa a oferecer subsites por uma taxa mensal para pessoas que querem ter uma loja de e-commerce.
Você recebe seu primeiro cliente pagante – John. Você cria um site para John na sua rede, instala todos os plugins necessários e então cria um usuário para John para que ele possa gerenciar sua loja.
Depois chega uma segunda cliente – Alice. Você faz o mesmo para ela e agora ela também tem uma loja na sua rede.
John e Alice são ambos seus clientes, mas eles não se conhecem. Mais importante, se um deles visitar o site da loja do outro, não há como saber que esta loja está hospedada na mesma rede de sites.
Um dia, John precisa comprar um par de sapatos novo e encontra os perfeitos na loja de Alice. Quando ele tenta finalizar a compra, ele recebe uma mensagem de erro "e-mail já em uso", o que é bizarro, pois John tem certeza de que esta é a primeira vez que ele visita o site de Alice.
O que aconteceu aqui é que o usuário do John está compartilhado em toda a rede, então quando ele tenta criar uma conta para finalizar a compra no site de Alice, o WordPress detecta que um usuário com o mesmo endereço de e-mail já existe e lança um erro.
Nota: Percebemos o quão ruim isso pode ser dependendo do seu caso de uso, então o Ultimate Multisite tem uma opção que ignora as verificações normais para um usuário existente, permitindo a criação de múltiplas contas usando o mesmo endereço de e-mail. Cada conta está vinculada a um subsite, então o risco de colisão é mantido no mínimo. No exemplo acima, John não receberia uma mensagem de erro e conseguiria comprar esses sapatos sem problemas. Esta opção chama-se Habilitar Múltiplas Contas (Enable Multiple Accounts) e pode ser ativada em Ultimate Multisite → Settings → Login & Registration.
Mesmo que a tabela de usuários seja compartilhada, os administradores dos subsites ou o super administrador podem adicionar e remover usuários dos subsites, e eles podem ter papéis de usuário diferentes em subsites diferentes.
Considerações de desempenho
O WordPress multisite é realmente poderoso quando se trata do número de sites que ele pode suportar. Isso pode ser testado pelo fato de que WordPress.com, Edublogs e Campuspress são serviços baseados em multisite, e cada um hospeda milhares de sites.
Embora teoricamente não haja um número máximo de sites que você pode hospedar em uma única instalação WordPress multisite, na prática o número de sites que você pode gerenciar satisfatoriamente pode variar muito dependendo de vários fatores: quão dinâmicos são os sites, quais plugins estão disponíveis nos subsites, etc.
Como regra geral, quanto mais simples for sua rede, melhor. Priorizar sites onde o conteúdo não é muito dinâmico (o que os torna ótimos candidatos a estratégias agressivas de cache) e manter o conjunto de plugins o mais leve possível (quanto menor o número de plugins ativos, melhor) pode aumentar drasticamente o número de subsites que você pode hospedar.
A melhor parte é que, como tudo é WordPress aqui, as mesmas ferramentas que você já conhece e ama para melhorias de desempenho também funcionarão em uma rede multisite.
O principal gargalo para multisite é o banco de dados, mas se tudo mais estiver configurado corretamente, pode levar alguns milhares de sites antes que você precise se preocupar com isso. Mesmo assim, existem soluções que podem ser adicionadas progressivamente nesse ponto (como soluções de sharding de banco de dados, por exemplo).