WordPress: Come creare una rete di siti?

In questo articolo vedremo un’utile e poco conosciuta caratteristica di WordPress: l’installazione network o multisite (MU). L’installazione network permette di gestire un numero indefinito di siti tramite un’unica installazione di WordPress. Questi siti avranno poi “vita propria”.
Temi diversi, plugin diversi, utenti diversi, impostazioni diverse; ma un unico core e un unico database.

Si può fare un parallelismo con un computer che pur montando un solo sistema operativo, può gestire diversi account, con diverse configurazioni.

A partire dalla versione 3.0, questa caratteristica é supportata nativamente da WordPress (prima era disponibile una versione separata), bisogna solo attivarla.

Quali applicazioni può avere l’installazione network?

Le applicazioni sono molteplici; proviamo ad immaginare un paio di situazioni.

  • Sei uno sviluppatore di temi WordPress; per ogni tema sviluppato vorresti mostrare la live preview. Se disponi di un’installazione network sarà sufficiente creare un nuovo sito ed installare il tema che intendi mostrare senza dover installare xx volte WordPress.
  • Sei Pikadilly e gestisci una quindicina di blog. E’ veramente più comodo farlo con il sistema network.

Quali vantaggi ha un’installazione network?

Vediamo alcuni vantaggi di un’installazione network di WordPress:

  • Razionalità: Non è razionale installare una copia di WordPress ogni volta che ci serve WordPress. 10Mb di files e un database sprecati ogni volta; questo sarebbe il risultato.
  • Mantenibilità: Con un’installazione network devi eseguire una sola volta gli aggiornamenti; se c’é un problema lo dovrai risolvere una sola volta.
  • Gestione: Grazie al ruolo di amministratore di rete puoi gestire tutti i siti direttamente senza doverti loggare a ciascuno di essi. Puoi anche decidere chi vede cosa e chi può disporre di cosa.

Ma adesso iniziamo?

Puoi lavorare su una nuova installazione di WordPress oppure su un sito già esistente e in produzione (in questo caso ti consiglio chiaramente di fare un backup dei files e del database).
La prima cosa che faremo è creare la cartella blogs.dir all’interno della cartella wp-content. Questa cartella sarà utilizzata da WordPress per salvare le immagini caricate, dunque dovrà essere scrivibile.

Ora editiamo il file wp-config.php ed aggiungiamo questa riga di codice prima del commento che dice “Finito, interrompere le modifiche!”

define('WP_ALLOW_MULTISITE', true);

Ora accediamo come amministratore (se eri già connesso fai il logout e riconnettiti).
Nel menù Strumenti è ora presente la voce Configurazione della rete; clicchiamo su quella voce.

Visualizzeremo una finestra come questa:

Nei dettagli della rete, la prima voce dice “Installazione in sotto-directory”. In locale è l’unico tipo di installazione possibile, mentre in remoto si può scegliere di utilizzare i sotto-domini. Tuttavia questa procedura è piuttosto complessa e rinuncio a descriverla.
Installare in sotto-directory significa che i sotto-siti avranno questa forma:

www.sito.com/sottosito1

In realtà, creando un nuovo sito non verrà creata nessuna directory; il tutto viene gestito con l’url rewrite.

L’indirizzo email dell’amministratore corrisponde all’utente che vogliamo impostare come l’amministratore della rete (super-admin).

Procediamo pure con l’installazione. A questo punto apparirà a video questa finestra.

Bene, adesso eseguiamo quanto richiesto:

  • Copiamo l’elenco di costanti nel file wp-config.php nel punto dove in precedenza avevamo già aggiunto la costante WP_ALLOW_MULTISITE.
  • Sostituiamo il contenuto del file .htaccess (o se non esiste creiamolo) con le regole indicate nel punto 3 della figura mostrata sopra.
  • Eseguiamo il logout e riconnettiamoci.

Adesso il nostro WordPress è in modalità multisite

Ma apparentemente non è successo nulla se escludiamo che nel menù bacheca è comparsa la voce i miei siti (e che oltretutto questa voce sembra non servire a molto).

Ma se clicchiamo in alto a destra, proprio dove c’è scritto Salve [utente], ecco che…

Da qui abbiamo accesso alla modalità di amministrazione della rete con i suoi menù specifici.

Come creare un nuovo sito con WordPress multisite?

Beh, è semplicissimo: dal menù Siti, scegliamo la voce aggiungi nuovo.

È sufficiente indicare il nome della sotto-cartella (virtuale), il titolo e l’email dell’amministratore di questo sito. L’email può corrispondere a quella di un utente già registrato, oppure anche ad un nuovo utente, in questo caso al nuovo utente sarà inviata un’email dal sistema con i dati di autenticazione e l’utente sarà creato automaticamente.

Ora abbiamo due siti completamente indipendenti tra di loro:

www.miosito.com
www.miosito.com/sottosito1

Come gestire i temi e plugin?

Come rendere disponibile un tema per la rete?

L’amministratore di un sito non ha la facoltà di installare un nuovo tema né di editarlo.
È  infatti l’amministratore di rete l’unico a poter eseguire questa operazione.
Una volta caricato il tema dovrà anche attivarlo per la rete. In questo modo sarà disponibile in tutti i sotto-siti.

Come rendere disponibile un plugin per la rete?

Anche i plugin possono essere installati unicamente dall’amministratore di rete.
In questo caso però, i plugin saranno disponibili in tutti i siti del network e i vari amministratori potranno decidere se attivarli o meno. Se invece l’amministratore di rete dovesse scegliere l’opzione attiva rete, il plugin sarà attivo in tutti i siti senza possibilità di essere disattivato singolarmente.

Ora non voglio dilungarmi troppo nel presentare tutte le funzionalità della gestione multisito in quanto, una volta installato è tutto molto intuitivo; basterà “giocarci” un po’ per capirlo perfettamente. Ma prima di concludere…

Diamo uno sguardo al database

Se ti occupi anche di sviluppo è importante comprendere come il multi-site viene gestito a livello di database.
Alla creazione di un nuovo sito, WordPress genera delle nuove tabelle per i post, i commenti, ecc.. modificando il prefisso da wp_ a wp_n_ (dove n sarà un numero progressivo che indica l’id del sito).

Come puoi vedere, vengono create delle nuove tabelle per gestire i contenuti dei nuovi siti. La tabella che gestisce gli utenti invece è una sola. Questo perché un utente può essere abilitato su diversi siti. Le relazioni tra utenti e siti sono gestite dalla tabella wp_usermeta.

A livello di programmazione, la corretta gestione dei prefissi delle tabelle è affidata alle database API di WordPress. Se ad esempio in sotto-sito1 stampassimo a video.

$wpdb->users
$wpdb->posts

otterremmo

wp_users
wp_2_posts

Conclusione

Come hai potuto vedere, l’installazione di WordPress in modalità multisite è relativamente semplice e presenta numerosi vantaggi.
Il back-end amministrativo è molto intuitivo e permette di gestire la rete di siti senza problemi assegnando diverse configurazioni ai sottositi.
Conoscevi questa caratteristicha di WordPress? L’hai già utilizzata? In che circostanza?

Master per Web Designer Freelance
In tutti questi anni abbiamo ricevuto centinaia di richieste di approfondimento sulle numerose tematiche del web design vissuto da freelance. Le abbiamo affrontate volta per volta. Ma ci siamo resi conto che era necessario fare qualcosa di più. Ecco perché è nato One Year Together, un vero e proprio master per web designer freelance che apre finalmente le porte al mondo del lavoro.
Scopri One Year Together »
Tag: ,

L'autore

Maurizio è sposato con la triade PHP - MySql - Apache e, non pago, ha un'amante chiamata jQuery. Ha un blog dove cerca di descrivere nei minimi particolari sia la moglie che l'amante. La sua vera specialità è la realizzazione di gestionali complessi anche se non rifiuta mai un sito web. +

Sito web dell'autore | Altri articoli scritti da

Articoli correlati

Potresti essere interessato anche ai seguenti articoli:

131 commenti

  1. vik
  2. wido
  3. Shennon
  4. Shennon
  5. Shennon
  6. Gianluca
  7. carlo
  8. francesco
  9. francesco
  10. Paolo
  11. Paolo
  12. vincenzo
  13. Francesca
  14. Francesca
  15. Francesca
  16. Francesca
  17. Davide
  18. marte
  19. Mattia
  20. Paolo
  21. Claudio
  22. Nico
    • Nico
    • Nico
    • Matw
  23. Andrea
  24. Giuseppe
    • Matw
  25. Roby
  26. Zoi
  27. Zoi
  28. Luigi
  29. Davide
  30. Edy
  31. tonia
  32. Silverio
  33. Ale
  34. Davide
    • Silverio
    • Davide
  35. Vincenzo Corsaro
  36. jlsweb
  37. jlsweb
  38. Francesca
  39. Francesca
  40. Tommaso
  41. Francesca
  42. Francesca
  43. Maicol
  44. manuel
  45. max
  46. marco
  47. Leandro
  48. Grafvel
  49. Andrea

Trackback e pingback

  1. Articoli della settimana 18/12/2011 | Saverio Gravagnola
    [...] Come creare una rete di siti? (Your Inspiration [...]
  2. » Blog multilingue con Wordpress
    [...] [...]

Lascia un Commento

Current day month ye@r *