WordPress Multisite: Desenvolvendo Portais com Sites Interligados.

Post on 20-Jul-2015

462 views 1 download

transcript

WORDPRESS MULTISITE: DESENVOLVENDO

PORTAIS COM SITES INTERLIGADOS

Nícholas André

nicholas@iotecnologia.com.br

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

?