Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🛠 Guida completa a WordPress multisite

🛠 Guida completa a WordPress multisite

Dieci siti su WordPress, ciascuno con il proprio login, il proprio pannello di amministrazione, i propri aggiornamenti. Dopo un mese, l'amministrazione diventa un lavoro a tempo pieno.

WordPress Multisite risolve questo problema alla radice: una sola installazione, un solo login e tutti i siti che servono. Questa modalità è integrata nel core di WordPress dalla versione 3.0 e non richiede plugin di terze parti. Di seguito trovi una guida passo passo per configurare una rete multisite, dall'abilitazione nel file wp-config.php alla gestione della rete pronta all'uso.

💡 Panoramica rapida:

  • Prepara WordPress: installa un sito su un tuo hosting e ottieni l'accesso ai file via FTP o tramite un file manager. I piani WordPress.com non sono adatti al multisite.
  • Abilita il multisite: aggiungi define('WP_ALLOW_MULTISITE', true); al file wp-config.php. Dopo aver aggiornato il pannello di amministrazione, comparirà la voce «Configurazione rete».
  • Configura la struttura della rete: scegli tra sottodomini o sottodirectory e compila i parametri di base. Questa decisione determina il formato degli URL per tutti i siti della rete.
  • Attiva la rete: copia il codice fornito da WordPress in wp-config.php e in .htaccess, salva i file e accedi di nuovo al pannello di amministrazione. La rete è avviata.

Step 1: preparare l'installazione di WordPress

Il multisite può essere abilitato su un sito esistente o su una installazione WordPress nuova; non c'è una differenza sostanziale. Il requisito principale: WordPress deve essere installato su un hosting proprio (self-hosted). I piani WordPress.com non supportano il multisite.

Se il sito è già in funzione, disattiva temporaneamente tutti i plugin prima della configurazione. È una precauzione contro eventuali conflitti durante la fase di attivazione della rete. Una volta che il multisite è operativo, puoi riattivare i plugin; verranno riconosciuti correttamente.

Verifica di avere accesso ai file del sito via FTP o tramite il file manager dell'hosting. Dovrai modificare manualmente wp-config.php e.htaccess; non c'è alternativa all'accesso al file system.

Step 2: abilitare il multisite in wp-config.php

Apri il file wp-config.php che si trova nella root della tua installazione WordPress. Trova la riga:

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

Subito sopra, aggiungi:

1/* Multisite */
2define( 'WP_ALL_MULTISITE', true );

Salva il file. Questa singola riga attiva la funzionalità multisite nascosta nel core di WordPress. In questa fase la rete non è ancora stata creata; hai solo abilitato lo strumento per configurarla.

Aggiorna la pagina di amministrazione (oppure accedi di nuovo se il sistema ti ha disconnesso). Nel menu Strumenti comparirà una nuova voce: Configurazione rete.

Step 3: configurazione della rete, sottodomini o sottodirectory

Vai su Strumenti → Configurazione rete. Si aprirà la pagina «Crea una rete di siti WordPress»:

Pagina di configurazione multisite WordPress

Qui prendi una decisione architetturale fondamentale: la struttura degli indirizzi per i siti della rete:

  • Sottodomini: indirizzi come site1.yourdomain.com, site2.yourdomain.com. Sembrano siti indipendenti e sono migliori per la SEO. Richiedono un record DNS wildcard sul server.

  • Sottodirectory: indirizzi come yourdomain.com/site1, yourdomain.com/site2. Più facili da configurare, non richiedono configurazioni DNS aggiuntive. Funzionano su qualsiasi hosting.

Se il sito ha più di un mese, WordPress non ti permetterà di scegliere i sottodomini per un'installazione esistente, ma solo le sottodirectory. Non è una limitazione, ma una protezione contro i link non funzionanti (i vecchi URL delle pagine permanenti entrerebbero in conflitto con gli indirizzi dei nuovi siti nella rete).

Compila i campi: nome della rete e email dell'amministratore della rete. L'email del super admin non deve necessariamente coincidere con quella dell'amministratore del sito attuale, ma le notifiche sulle nuove registrazioni e sui problemi di rete arriveranno a questo indirizzo.

Clicca su Installa.

Step 4: attivare la rete, wp-config.php e.htaccess

Dopo aver cliccato su «Installa», WordPress mostrerà una pagina con le istruzioni e due blocchi di codice:

Istruzioni per l'attivazione della rete multisite

Prima di fare modifiche, crea un backup di wp-config.php e.htaccess. Se commetti un errore di battitura in uno dei due file, il sito andrà offline; un backup ti permette di tornare indietro in pochi secondi.

Aggiungi a wp-config.php (subito dopo la riga define('WP_ALLOW_MULTISITE', true); che hai già aggiunto nello step 2):

1define( 'MULTISITE', true );
2define( 'SUBDOMAIN_INSTALL', false );
3define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
4define( 'PATH_CURRENT_SITE', '/' );
5define( 'SITE_ID_CURRENT_SITE', 1 );
6define( 'BLOG_ID_CURRENT_SITE', 1 );

Prendi il valore di SUBDOMAIN_INSTALL dalla schermata di configurazione: true per i sottodomini, false per le sottodirectory. DOMAIN_CURRENT_SITE è il tuo dominio senza https:// e senza barra finale.

Sostituisci il contenuto di.htaccess. Se il file.htaccess non esiste, crealo nella root del sito, accanto a wp-config.php. Se il file esiste, sostituisci completamente il suo contenuto con il codice fornito dalla schermata di configurazione della rete. Esempio per le sottodirectory:

1RewriteEngine On
2RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3RewriteBase /
4RewriteRule ^index\.php$ - [L]
5
6#Rewrite rule: trailing slash for wp-admin
7RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
8
9RewriteCond %{REQUEST_FILENAME} -f [OR]
10RewriteCond %{REQUEST_FILENAME} -d
11RewriteRule ^ - [L]
12RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
13RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
14RewriteRule . index.php [L]

Nota: il codice che vedi sulla tua schermata di WordPress potrebbe differire leggermente dall'esempio sopra. Copia esattamente il codice fornito dalla tua installazione; è stato generato per la configurazione specifica del tuo server.

Dopo aver salvato entrambi i file, esci dal pannello di amministrazione e accedi di nuovo. WordPress rileggerà la configurazione e attiverà la rete.

Step 5: pannello di amministrazione della rete

Dopo aver effettuato di nuovo l'accesso al pannello di amministrazione, compare una nuova voce di menu: I miei siti → Amministrazione rete:

Menu a tendina dell'amministrazione rete WordPress

Il pannello di amministrazione della rete è una sezione separata da cui si gestiscono tutti i siti della rete. Qui puoi accedere a:

  • Siti: elenco, aggiunta, modifica ed eliminazione dei siti della rete.
  • Utenti: gestione degli utenti, assegnazione degli amministratori ai singoli siti.
  • Temi: installazione e attivazione dei temi per l'intera rete. Un tema diventa disponibile per i siti solo dopo l'attivazione a livello di rete.
  • Plugin: attivazione di rete dei plugin (collegati a tutti i siti contemporaneamente) o autorizzazione all'attivazione selettiva.
  • Impostazioni: parametri globali: registrazione di siti e utenti, email di benvenuto, limiti di upload.

Per tornare ad amministrare un sito specifico, selezionalo dal menu a tendina I miei siti e clicca su Bacheca:

Elenco dei siti multisite nel menu I miei siti

Il pulsante «Bacheca» ti porta al normale pannello di amministrazione del sito selezionato, lo stesso pannello di una singola installazione WordPress. Il passaggio da un sito all'altro è immediato, senza bisogno di un nuovo login.

Step 6: aggiungere il primo sito e amministrazione

La rete è creata. Aggiungiamo il primo sito secondario.

Nel pannello di amministrazione della rete, vai su Siti → Aggiungi nuovo. Compila i campi:

  • Indirizzo del sito: la parte dell'URL, ovvero il nome del sottodominio o della sottodirectory (solo lettere latine e trattini).
  • Titolo del sito: il nome visualizzato che il proprietario del sito vede nel pannello di amministrazione.
  • Email amministratore: l'utente con questa email diventerà l'amministratore del nuovo sito. Se un utente con questa email non esiste ancora nella rete, WordPress creerà automaticamente un account.

Clicca su Aggiungi sito e il gioco è fatto. WordPress creerà un nuovo sito con il tema predefinito, un database pulito e l'amministratore assegnato. Il proprietario del sito ottiene il pannello di amministrazione standard di WordPress, senza accesso alle impostazioni di rete. Se necessario, il super admin può entrare nella bacheca di qualsiasi sito della rete in qualsiasi momento tramite il pannello di amministrazione.

Alcuni punti importanti per l'amministrazione:

  • Gli aggiornamenti del core, dei temi e dei plugin si applicano una volta sola per l'intera rete. Il risparmio di tempo rispetto a N installazioni separate cresce linearmente con ogni nuovo sito.
  • Un utente può essere registrato su un solo sito della rete o su più siti. I permessi su ciascun sito vengono assegnati separatamente.
  • Temi e plugin sono installati dal super admin. I singoli siti vedono solo ciò che il super admin ha autorizzato a livello di rete.
  • I backup si fanno a livello di installazione: un solo database, un solo file system. Anche il ripristino è unico per tutti.
  • I limiti di upload si impostano globalmente nelle Impostazioni di rete: dimensione massima dei file e tipi di file consentiti. Per impostazione predefinita, WordPress multisite limita gli upload a 1500 KB per sito; questo valore va aumentato in base alle esigenze specifiche.
  • Il domain mapping (il plugin WordPress MU Domain Mapping o la funzionalità integrata nelle versioni moderne) permette di associare un dominio separato a qualsiasi sito della rete. Un sito con l'indirizzo network.com/site5 può essere raggiungibile al proprio dominio site5.com, mantenendo la gestione all'interno del multisite.

Quando si elimina un sito dalla rete, il suo contenuto (pagine, articoli, file multimediali) viene cancellato in modo permanente. WordPress mostra un avviso ma non crea un backup automatico. Prima di eliminare qualsiasi sito, esporta i suoi dati usando lo strumento di esportazione standard; richiede un minuto ma salva il contenuto per un eventuale recupero.

Tieni anche presente che wp-cron funziona in modo diverso nel multisite: le attività pianificate vengono eseguite quando un sito qualsiasi della rete viene visitato, non ciascuno separatamente. Se uno dei siti della rete ha poco traffico, le sue attività cron verranno comunque eseguite quando qualcuno visita un sito attivo.

Scrivania con codice WordPress sullo schermo

⁉️🤔 Domande frequenti

Posso convertire un sito esistente con contenuti in multisite?

Sì, è esattamente lo scenario descritto nei passaggi precedenti. Disattiva i plugin, aggiungi WP_ALLOW_MULTISITE a wp-config.php e segui la configurazione della rete. Il contenuto esistente diventerà il sito principale della rete con ID 1. Non si può tornare indietro: disabilitare il multisite e tornare alla modalità normale è più difficile che abilitarlo. Fai un backup completo del database e dei file prima di iniziare.

Sottodomini o sottodirectory: qual è la scelta migliore in pratica?

I sottodomini sembrano siti separati e non hanno il problema del «cosa succede se un plugin crea una pagina con lo stesso slug di un sito secondario». Ma i sottodomini richiedono un DNS wildcard e il supporto del provider di hosting. Le sottodirectory sono più semplici: funzionano subito, senza DNS. Lo svantaggio delle sottodirectory è il conflitto di slug. Se un plugin sul sito principale crea una pagina /contact e tu hai un sito secondario in yourdomain.com/contact, il sito secondario smetterà di aprirsi. Inizia con le sottodirectory e, quando la rete cresce, migra ai sottodomini modificando la configurazione.

Quanti siti può gestire concretamente un singolo multisite?

Non ci sono limitazioni tecniche; sono note installazioni con migliaia di siti. Il collo di bottiglia non è WordPress, ma il server: ogni sito della rete è servito da un singolo processo PHP e da un singolo database. Su un tipico VPS con 2 GB di RAM, 20-50 siti di medie dimensioni funzionano senza problemi. Quando il carico cresce, aggiungi RAM, configura una cache a oggetti (Redis) e passa a un server di database dedicato.

Posso dare a siti diversi temi e plugin diversi?

Sì, è esattamente così che funziona il multisite. Il super admin installa temi e plugin a livello di rete e l'amministratore di ciascun sito attiva quelli che gli servono dalla lista delle opzioni consentite. Puoi impostare l'attivazione forzata dei plugin per tutti i siti della rete; è comodo per gli strumenti di sicurezza e backup.

Cosa succede alla SEO quando si passa al multisite?

Gli indirizzi dei contenuti esistenti sul sito principale non cambiano; la SEO viene preservata. Per i nuovi siti della rete, i sottodomini sono percepiti dai motori di ricerca come domini separati (con autorità separata), mentre le sottodirectory ereditano l'autorità del dominio principale. La scelta tra le due opzioni dipende dal fatto che tu voglia far crescere l'autorità di un unico dominio o sviluppare piattaforme indipendenti.

Cosa scegliere: un piano d'azione pronto

WordPress Multisite non serve al proprietario di un sito singolo. Diventa giustificato quando ci sono più di tre siti e amministrarli separatamente consuma tempo che è meglio dedicare ai contenuti. Prendi la decisione di implementarlo non in base al numero di siti, ma al costo totale del loro mantenimento: se il tempo complessivo per aggiornamenti, backup e monitoraggio supera le due o tre ore a settimana, il multisite si ripaga nel primo mese di utilizzo.

  • Uno o due siti: lascia installazioni separate. Il sovraccarico del multisite (database condiviso, file system condiviso, impossibilità di disabilitare la modalità) non è giustificato.
  • Da tre a dieci siti: scegli il multisite con sottodirectory. Configurazione semplice, meno elementi in gioco.
  • Dieci o più siti, specialmente per clienti o marchi diversi: sottodomini con cache a oggetti e monitoraggio regolare.

Prima di lanciare una rete in produzione, fai pratica su un'installazione locale; MAMP o Local by Flywheel ti offrono un ambiente di test in circa 15 minuti, dove puoi eseguire tutti i passaggi senza il rischio di mandare offline un sito funzionante. Fai diventare una regola: se modifichi qualcosa in wp-config.php o.htaccess, prima fai il backup, poi modifica. Una volta configurata la rete, puoi lanciare nuovi siti in un paio di minuti senza ripetere da capo la routine di installazione e configurazione.