wordpress multisite: desenvolvendo portais com sites interligados
TRANSCRIPT
WORDPRESS MULTISITE: DESENVOLVENDO
PORTAIS COM SITES INTERLIGADOS
Nícholas André
www.nicholasandre.com.br
QUEM SOU EU?
Nícholas André
Servidor Público Federal – Ufersa
Técnico em Informáticapelo IFRN.
Graduando em Ciência da Computação - Ufersa
DesenvolvedorWordPress
Instrutor em CursosOnline: MX Cursos
OBJETIVO
O objetivo dessa palestra é apresentar o
WordPress Multisite de uma outra
perspectiva.
ROTEIRO
O Que é o WordPress Multisite
Quando usar e quando não usar
Como instalar
Usando o Multisite para criar portais com
sites interligados
Estudo de caso: Portal da UFERSA.
O QUE É O WORDPRESS MULTISITE
Uma rede Multisite é uma coleção de sites
em que todos eles compartilham a mesma
instalação do WordPress.
Antes era chamado de WordPress MU.
TERMINOLOGIA
WordPress Multisite: Se refere ao
WordPress com Multisite habilitado.
Site: Um site em que um usuário pode ser
associado.
Network: Grupo de sites, Multisite por padrão
só suporta uma Network.
Super Admin: Administrador com todos os
poderes em uma Network.
CARACTERÍSTICAS DO WORDPRESS MULTISITE
Compartilhamento de Plugins
Compartilhamento de Temas
Os sites individuais são sites virtuais (não
possuem o seu próprio subdiretório)
Possuem suas próprias tabelas
Possuem seu próprio subdiretório de upload
CARACTERÍSTICAS DO WORDPRESS MULTISITE (2)
Os sites de uma rede multisite são
logicamente separados.
Consequências:
Dificuldade de relacionar os sites
Dificuldade de interligar os sites
Dificuldade de manter um diretório de posts da rede
DASHBOARD
PAINEL DA REDE
PORQUÊ USAR?
Múltiplos sites em uma única instalação.
Facilidade de atualização: atualize todos os
sites de uma só vez.
Instale plugins uma só vez e utilize em todos
os sites.
Permitir que qualquer um crie seu próprio
blog em sua rede multisite.
QUANDO USAR?
No modelo tradicional o multisite só deve
ser utilizado para sites totalmente
separados.
Alguns cenários:
Wordpress.com
Blogs de colunistas de um jornal
Loja de temas para WordPress: O Preview do
tema pode ser um site em uma rede multisite.
QUANDO NÃO USAR?
O WordPress Multisite, no modelo
tradicional, não deve ser utilizado para
criação de sites interligados .
Mas nós iremos mudar isso.
“A coisas que queremos e parecem impossíveis só podem
ser conseguidas com uma teimosia pacífica”. (Mahatma Gandhi)
USAR OU NÃO USAR
Imagine o seguinte cenário:
Portal de uma universidade
Cada curso/departamento/setor precisa ter o seupróprio site com um subdomínio.
Cada curso/departamento/setor possuem seuspróprios menus, mas deve existir um menu global para todo e qualquer site do portal.
O cabeçalho e o rodapé deve ser o mesmo paratodos os sites do portal.
A página inicial do portal poderá exibir notícias de qualquer site do portal.
PRINCIPAIS PROBLEMAS DO MULTISITE
Muitos plugins não estão preparados para o
Multisite.
Poucos plugins permitem fazer
configurações “globais”.
Aumento na carga do sistema.
Funções switch_to_blog e
restore_current_blog consomem muito
recursos.
TIPOS DE UMA REDE MULTISITE
Com subdiretórios
Mais fácil de instalar
Mais rápido http://www.example.com/site1
http://www.example.com/site2
Com subdomínios
Mais amigável
Requer configuração no DNS (geralmente um wildcard) http://site1.example.com
http://site2.example.com
COMO INSTALAR
1. Decidir o tipo de instalação (subdomínios ou
subdiretórios)
2. Acesse o arquivo wp-config.php e adicione
a linha abaixo logo após o comentário
“That`s all, stop editing! Happy Blogging”.
3. Atualize o Browser
COMO INSTALAR (2)
4. Acesse Ferramentas -> Instalação da rede
COMO INSTALAR (3)
5. Escolha o tipo de instalação, preencha os
campos e clique em instalar.
6. O WordPress irá pedir para adicionar um
conjunto de linhas ao arquivo wp-
config.php e ao arquivo .htaccess.
CRIANDO PORTAIS COM SITES
INTERLIGADOS
QUAL A IDEIA?
Permitir interligação de sites em uma redemultisite.
Os sites virtuais estarão diretamente ligadose subordinados ao site principal da rede.
O site principal da rede terá a liberdade de “puxar” posts de qualquer site da rede.
Compartilhamento de informações entre ossites da rede (cabeçalhos, barras laterais, rodapé etc).
COMPARTILHANDO CABEÇALHOS E RODAPÉ
COMPARTILHANDO CABEÇALHOS E RODAPÉ
COMO FAZER?
Crie um tema base para a rede
Para os sites internos crie um tema filho e
modifique somente os arquivos necessários.
O ARQUIVO HEADER.PHP DO TEMA PAI
COMPARTILHANDO CATEGORIAS
Com alguns truques é possível compartilhar as
categorias do site principal com os sites
restantes da rede e retirar a permissão dos
administradores dos sites internos de gerenciar
as categorias.
Solução não tão elegante e susceptível a erros
em futuras versões, uma solução melhor seria
desenvolver um plugin especificamente para
isso.
Se houver necessidade de custom taxonomies
essa solução não deve ser utilizada.
COMPARTILHANDO CATEGORIAS
CATEGORIZANDO OS SITES DA REDE
Categorizar os sites da rede é importante
quando é possível agrupar os sites da rede
em categorias e quando é necessário listar
todos os sites de uma dada categoria.
Exemplo: listar todos os sites relativos a cursos
de graduação.
Gerar um mapa da rede.
CATEGORIZANDO OS SITES DA REDE (2)
CATEGORIZANDO OS SITES DA REDE (3)
CATEGORIZANDO OS SITES DA REDE (4)
O PLUGIN CENTRAL POSTS NETWORK
O Plugin Central Posts Network permite selecionar posts de
qualquer site da rede e exibí-los no site principal.
O PLUGIN CENTRAL POSTS NETWORK (2)
O PLUGIN CENTRAL POSTS NETWORK (3)
functions.php
O PLUGIN CENTRAL POSTS NETWORK (4)
index.php
O PLUGIN CENTRAL POSTS NETWORK (5)
partials/contents/lcontent-featured.php
O PLUGIN CENTRAL POSTS NETWORK (6)
Solicitação de Destaque
O PLUGIN CENTRAL POSTS NETWORK (7)
Solicitação de Destaque.
Ao solicitar destaque, um
super admin precisa
aprovar e publicar o post
na página principal.
O PLUGIN CENTRAL POSTS NETWORK (8)
E O DESEMPENHO?
O Multisite aumenta razoavelmente o consumo de recursos sobretudo com o usointensivo das funcões switch_to_blog e restore_current_blog.
Utilize um bom servidor.
Utilize no mínimo o PHP 5.4 (cache opcode).
Utilize soluções de cache.
Com o aumento da infraestrutura o cache passade otimização para necessidade (mas não é a solução para todos os problemas)
CONCLUSÃO
É preciso avaliar se realmente é necessário
utilizar o WordPress Multisite.
Com as técnicas e plugins demonstradas nessa
palestra é possível utilizar o WordPress
Multisite para desenvolver portais com sites
interligados.
É preciso levar em conta o desempenho e
escalabilidade.
A utilização de uma solução de cache pode ser
uma necessidade.
OBRIGADO!
Perguntas
?