WordPress multisito: 2 strutture, sottodominio e sotto directory
WordPress multisito (WordPress Multisite) è una funzione che riunisce più siti in un network e li gestisce con una sola installazione di WordPress. Su un WordPress con configurazione Nginx + Apache abbiamo attivato il multisito dalla schermata di configurazione del network, aggiunto un sottosito e controllato i percorsi di menu e le righe da inserire nei file di configurazione.
1️⃣ WordPress multisito e la Gestione network
Nel multisito tutti i siti del network usano insieme una sola installazione di WordPress. Anche i file del core, i plugin e i temi sono condivisi, quindi sul server non si crea una cartella WordPress per ogni sito.
Ciò che ogni sito ha separatamente sono le tabelle del database e la cartella di caricamento dei media, mentre solo le tabelle degli utenti sono condivise da tutto il network. Il primo sito usa la cartella esistente [/wp-content/uploads/], e dal sito successivo ognuno usa la cartella con il proprio numero di sito dentro [/wp-content/uploads/sites/].
L’utente che gestisce tutto il network è il Super Admin. Le schermate della Gestione network compaiono dopo la creazione del network e sono visibili solo ai Super Admin.
Gli utenti vengono creati come account del network, ma per accedere a un sito devono ricevere un ruolo su quel sito. Anche i permessi degli amministratori dei siti si riducono: solo il Super Admin può installare temi e plugin o modificare il profilo di altri utenti.
Nel diagramma qui sotto puoi vedere come una sola installazione si divide in più siti attraverso il network, insieme agli indirizzi dei siti per ogni tipo di indirizzo.
2️⃣ Differenza tra sottodominio e sotto directory: formato dell’indirizzo e limiti di scelta
Quando configuri il network, scegli il tipo di indirizzo dei siti tra sottodominio e sotto directory. Un sottodominio è un indirizzo come site1.example.com, una sotto directory (sottocartella) un indirizzo come example.com/site1.
| Voce | Sottodominio | Sotto directory |
|---|---|---|
| Indirizzo del sito | site1.example.com | example.com/site1 |
| Nome nella documentazione ufficiale | Basato sul dominio (domain-based) | Basato sul percorso (path-based) |
| Preparazione lato server | Puntare i sottodomini alla cartella di installazione di WordPress nel DNS e sul server | Nessuna impostazione in più se i permalink funzionano |
| Quando gli utenti creano da sé i propri siti | Servono sottodomini wildcard | Nessun requisito in più |
| Quando non si può scegliere | Quando l’indirizzo di WordPress contiene un percorso, oppure è localhost o un indirizzo IP | Siti con articoli pubblicati da più di un mese |
| Indirizzo degli articoli del sito principale | Nessun cambiamento | /blog/ aggiunto prima dell’indirizzo degli articoli |
Con le sotto directory non c’è altro da impostare su un server dove i permalink funzionano, ma questo tipo non si può scegliere su un sito con articoli pubblicati da più di un mese. È un limite per evitare conflitti tra gli indirizzi degli articoli esistenti e quelli dei nuovi siti, e questi siti vengono quindi configurati con i sottodomini.
In un network con sotto directory, agli indirizzi degli articoli del sito principale si aggiunge [/blog/]. Serve a evitare che si sovrappongano agli indirizzi dei sottositi, e non viene aggiunto agli indirizzi delle pagine.
Cambiare in seguito il tipo scelto richiede diversi passaggi. Secondo la documentazione ufficiale, cambiare solo il valore di [SUBDOMAIN_INSTALL] e le regole di riscrittura non sposta gli indirizzi dei siti esistenti, e anche DNS e certificati vanno impostati a parte.
3️⃣ Preparazione prima della configurazione del network: backup, permalink e requisiti del server
La configurazione del network modifica i file e il database di un sito esistente, quindi la documentazione ufficiale consiglia di fare prima un backup, a meno che non sia un sito appena installato.
Fai il backup del database e dei file, controlla che i permalink funzionino e poi disattiva tutti i plugin attivi. Riattiva i plugin dopo aver creato il network.
Se pensi di far girare WordPress da una cartella dedicata, completa quel passaggio prima di attivare il multisito. Se usi un indirizzo con www con i sottodomini, rendi uguali [Indirizzo WordPress (URL)] e [Indirizzo sito (URL)], e completa anche l’eventuale cambio di dominio prima della configurazione.
Se l’indirizzo di WordPress ha un numero di porta diverso da :80 o :443, non puoi creare il network.
Il server deve gestire le regole di riscrittura del multisito, e Apache ha bisogno di mod_rewrite.
Con la configurazione Nginx + Apache, Nginx passa le richieste ad Apache e Apache legge il file .htaccess. Dopo aver sostituito il .htaccess con le regole mostrate nella schermata di configurazione del network, gli indirizzi del sottosito si sono aperti, e sul lato Nginx non abbiamo aggiunto regole.
Sui server che usano solo Nginx, WordPress non crea le regole di riscrittura, quindi devi aggiungere direttamente la configurazione Nginx della documentazione ufficiale al file di configurazione del server.
Negli ambienti in cui non puoi modificare da solo la configurazione del server, come l’hosting condiviso, requisiti come i sottodomini wildcard vanno concordati con il provider di hosting (secondo la documentazione ufficiale).
4️⃣ Passaggi della configurazione del network
La costante [WP_ALLOW_MULTISITE] inserita in wp-config.php mostra solo il menu [Strumenti] › [Configurazione network]; da sola non attiva il multisito. Il network si attiva solo dopo averlo installato in quella schermata e aver aggiunto a wp-config.php e .htaccess le righe mostrate lì.
Apri wp-config.php e aggiungi sopra il commento di fine modifica una riga che definisce [WP_ALLOW_MULTISITE] come true. Il commento di fine modifica è la riga /* That’s all, stop editing! Happy publishing. */; dopo aver salvato, ricarica il browser.
define( 'WP_ALLOW_MULTISITE', true );Dopo il ricaricamento, nel menu [Strumenti] sotto [Elimina dati personali] compare [Configurazione network], e cliccandolo si apre la schermata [Creare un network di siti WordPress].

Un WordPress installato in una sottocartella non mostra il campo per scegliere il tipo di indirizzo, ma solo la riga [Installazione con sotto directory]. Il testo di quella riga è [Dato che la tua installazione è in una directory, i siti nel tuo network WordPress devono utilizzare le sotto directory.]
Controlla [Nome del network] ed [Email amministratore network], poi clicca su [Installa].
Secondo la documentazione ufficiale, nelle installazioni in cui si può scegliere il tipo di indirizzo, scegliendo i sottodomini compare un avviso sul DNS wildcard, e questo requisito serve solo nei network in cui gli utenti creano da sé i propri siti.
Dopo l’installazione, la schermata mostra le righe di wp-config.php e le regole di .htaccess adattate a quel sito. Fai il backup dei due file, incolla le righe in wp-config.php sotto la riga [WP_ALLOW_MULTISITE] e, nel .htaccess, sostituisci le regole di WordPress esistenti con quelle nuove.

Nelle istruzioni della schermata dopo l’installazione, il commento di fine modifica compare tradotto nella lingua della bacheca, ma il commento dentro wp-config.php resta in inglese.
Le righe aggiunte a wp-config.php sono sei costanti, tra cui [MULTISITE] e [SUBDOMAIN_INSTALL]. Il valore di [SUBDOMAIN_INSTALL] è true con i sottodomini e false con le sotto directory.
In [DOMAIN_CURRENT_SITE] e [PATH_CURRENT_SITE] ci sono il dominio e il percorso di installazione del sito. Qui sotto trovi le righe di un’installazione nella radice di example.com con sotto directory.
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );Nello stesso caso, le regole di WordPress nel .htaccess si sostituiscono con le seguenti, e nella riga [RewriteBase] va il percorso di installazione.
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]Dopo aver salvato i due file, accedi di nuovo con il link [Accedi] della schermata: nella barra di amministrazione, sotto [I miei siti], compare [Gestione network]. Se non riesci ad accedere, cancella cache e cookie del browser e accedi di nuovo.

[Gestione network] ha sei menu: Bacheca, Siti, Utenti, Temi, Plugin e Impostazioni, e cliccando su [Siti] si apre l’elenco dei siti del network.

I sottositi si aggiungono da [Aggiungi sito] accanto al titolo dell’elenco, oppure da [Siti] › [Aggiungi sito] a sinistra.

In [Indirizzo sito (URL)] puoi inserire solo lettere minuscole, numeri e trattini, e se l’[Email amministratore] non è nel database, viene creato un nuovo utente.
Dopo aver aggiunto un sottosito, nella cartella dei caricamenti è comparsa la cartella [sites/2], e nel database sono state aggiunte 10 tabelle con il numero del sito dopo il prefisso, come [wp_2_].
I permalink di un sottosito non seguono le impostazioni del sito principale e partono dalla struttura predefinita con anno, mese, giorno e nome dell’articolo, quindi vanno impostati a parte nelle impostazioni permalink del sottosito.
Nel simulatore qui sotto puoi cliccare in ordine il percorso da [Strumenti] › [Configurazione network] fino ad [Aggiungi sito].
네트워크 설치 절차에 오신 것을 환영합니다!
아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.
다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.
- /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:wp-config.php에 대한 네트워크 환경설정 규칙define( 'MULTISITE', true );define( 'SUBDOMAIN_INSTALL', false );define( 'DOMAIN_CURRENT_SITE', 'example.com' );define( 'PATH_CURRENT_SITE', '/wp/' );define( 'SITE_ID_CURRENT_SITE', 1 );define( 'BLOG_ID_CURRENT_SITE', 1 );
- 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:.htaccess에 대한 네트워크 환경설정 규칙RewriteEngine OnRewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /wp/RewriteRule ^index\.php$ – [L]# add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ – [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L]
이 단계를 완료하고나면, 네트워크를 활성화하고 구성합니다. 다시 로그인해야 합니다.
위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.
5️⃣ Quando il multisito non è adatto
Il multisito è adatto quando, come nei siti regionali, temi e plugin sono condivisi e i contenuti sono gestiti separatamente. Se i siti devono condividere strettamente dati o utenti, la documentazione ufficiale avverte che il multisito potrebbe non essere la soluzione migliore.
Se solo il design deve apparire diverso, puoi risolvere su un singolo sito con un plugin che cambia tema o foglio di stile. Anche quando ogni gruppo di utenti deve vedere solo informazioni diverse, puoi gestirlo su un singolo sito con plugin che modificano permessi e menu.
Controlla prima anche i plugin che usi. Non tutti i plugin della directory dei plugin funzionano sul multisito, quindi la documentazione ufficiale consiglia di verificare il supporto sulla pagina del plugin o con lo sviluppatore.
🔢 FAQ & contenuti consigliati
Server
Impostazioni di base di htaccess in WordPress
Un articolo che raccoglie separatamente le regole di base di .htaccess per i siti normali e per il multisito.
SEO
Sottodominio VS sottocartella
Un articolo che confronta sottodomini e sottocartelle per capire quale favorisce di più la SEO.
Impostazioni
Permalink e slug in WordPress
Spiega la struttura dei permalink e gli slug impostati a parte per ogni sottosito.
ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.