WordPress Multisite Subdirectory: Setup e Gestione

17 agosto 20267 minGuide
In breveAI

Guida completa per configurare WordPress Multisite in subdirectory: setup, gestione siti, plugin network, temi condivisi e troubleshooting problemi comuni per agenzie.

Perché scegliere Multisite in subdirectory

WordPress Multisite in modalità subdirectory (example.com/site1, example.com/site2) rappresenta una scelta strategica per agenzie che gestiscono portfolio di siti client su singola installazione. A differenza della configurazione subdomain, non richiede wildcard DNS e semplifica la gestione SSL con certificati singoli.

I vantaggi principali includono:

  • Gestione centralizzata di core, plugin e temi da un’unica dashboard
  • Condivisione risorse server ottimizzata (memoria PHP, connessioni database)
  • Backup unificato dell’intera rete con un solo processo
  • Nessuna configurazione DNS aggiuntiva richiesta
  • SSL singolo valido per tutti i siti della rete

Secondo i dati di utilizzo di AgencyPilot, le agenzie che gestiscono 10+ siti client in Multisite risparmiano in media il 40% del tempo dedicato agli aggiornamenti rispetto a installazioni separate.

Requisiti tecnici e prerequisiti

Prima di procedere con l’attivazione, verifica che l’ambiente hosting soddisfi questi requisiti:

  • WordPress 5.0 o superiore (consigliato 6.5+)
  • PHP 8.1 o superiore con estensioni mod_rewrite abilitate
  • MySQL 5.7+ o MariaDB 10.3+
  • Accesso FTP/SSH per modificare wp-config.php e .htaccess
  • Almeno 256MB di memoria PHP (512MB consigliati per network con 5+ siti)

Importante: Multisite può essere attivato solo su installazioni WordPress fresche o esistenti ma prima di aver pubblicato contenuti significativi. La conversione post-contenuti richiede migration complessa dei permalink.

Backup preventivo obbligatorio

Prima di qualsiasi modifica, esegui backup completo di:

  1. Database WordPress (via phpMyAdmin o mysqldump)
  2. Directory /wp-content completa
  3. File wp-config.php e .htaccess root

Procedura di attivazione step-by-step

Step 1: Attivazione network nel wp-config.php

Accedi via FTP/SSH e apri wp-config.php. Aggiungi questa riga prima del commento /* That's all, stop editing! */:

define('WP_ALLOW_MULTISITE', true);

Salva e ricarica la dashboard WordPress. Comparirà una nuova voce Strumenti → Configurazione rete.

Step 2: Configurazione tipo di rete

In Strumenti → Configurazione rete:

  • Seleziona Sottocartelle (subdirectory)
  • Inserisci titolo network (es. “Network Clienti Agenzia”)
  • Verifica email amministratore network
  • Clicca Installa

WordPress genererà codice da aggiungere a wp-config.php e .htaccess. Non chiudere questa pagina.

Step 3: Modifica wp-config.php

Copia il codice generato (simile a questo) e incollalo in wp-config.php sotto la riga WP_ALLOW_MULTISITE:

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);

Nota: SUBDOMAIN_INSTALL deve essere false per subdirectory.

Step 4: Modifica .htaccess

Sostituisci completamente il contenuto di .htaccess con il codice generato da WordPress. Esempio standard:

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]

Step 5: Rilogin e verifica

Effettua logout e login nuovamente. Nella dashboard apparirà il menu I miei siti in alto a sinistra con voci:

  • Amministratore di rete: gestione globale network
  • Dashboard: singoli siti

Creazione e gestione siti del network

Per aggiungere nuovi siti client:

  1. Vai in I miei siti → Amministratore di rete → Siti
  2. Clicca Aggiungi nuovo
  3. Compila:
    • Indirizzo sito: solo lo slug (es. “cliente-rossi” diventa example.com/cliente-rossi)
    • Titolo sito: nome del progetto client
    • Email amministratore: indirizzo admin specifico
  4. Clicca Aggiungi sito

Limitazioni URL da conoscere

WordPress riserva alcuni slug che non possono essere usati come percorsi siti:

  • wp-admin, wp-content, wp-includes
  • wp-login.php, wp-signup.php
  • Qualsiasi slug usato da plugin nel root (es. wc-api per WooCommerce)

Tentare di creare un sito con questi slug causerà conflitti 404 o redirect loop.

Plugin network-activated vs site-specific

Multisite introduce distinzione cruciale nella gestione plugin:

Network Activation

In Amministratore di rete → Plugin, attivando un plugin “per la rete”:

  • Si attiva automaticamente su tutti i siti esistenti e futuri
  • Non può essere disattivato dai singoli amministratori sito
  • Ideale per: sicurezza (Wordfence), backup, monitoring

Site-specific Activation

Entrando nel singolo sito e attivando da Plugin:

  • Attivo solo su quel sito specifico
  • Amministratori sito possono attivare/disattivare autonomamente
  • Ideale per: builder tematici, funzionalità custom per client

Best practice AgencyPilot: network-activate solo plugin core critici (sicurezza, performance, monitoraggio). Lascia plugin funzionali come site-specific per flessibilità client.

Gestione temi nel network

Per default, i temi caricati in /wp-content/themes sono visibili a tutti i siti ma non attivabili autonomamente dagli admin sito.

Abilitazione temi per siti specifici

  1. Vai in Amministratore di rete → Temi
  2. Clicca Abilita network sui temi che vuoi rendere disponibili
  3. I singoli admin potranno ora sceglierli in Aspetto → Temi

Alternativa: abilita tema per singolo sito specifico andando in Amministratore di rete → Siti → Modifica → Temi e spuntando i temi consentiti.

Troubleshooting problemi comuni

404 su pagine siti secondari

Causa: regole .htaccess non correttamente applicate. Verifica:

  • File .htaccess in root (non in subdirectory)
  • mod_rewrite abilitato in Apache (a2enmod rewrite)
  • AllowOverride All nella configurazione vhost

Se su Nginx, converti regole .htaccess in formato nginx e ricarica config.

Login loop infinito

Cause probabili:

  1. Cookie domain non corretto: verifica DOMAIN_CURRENT_SITE in wp-config corrisponda al dominio reale
  2. HTTPS mismatch: aggiungi define('FORCE_SSL_ADMIN', true); se usi SSL
  3. Cache plugin attiva durante setup: disabilita temporaneamente cache

Upload media fallisce su siti secondari

Controlla permessi directory:

chmod 755 /wp-content/uploads
chown -R www-data:www-data /wp-content/uploads

Multisite crea struttura /wp-content/uploads/sites/2/, /sites/3/ etc. Verifica che PHP possa scrivere in queste directory.

Performance e ottimizzazione network

Object caching condiviso

Implementa Redis o Memcached a livello network per cache condivisa tra tutti i siti:

define('WP_CACHE_KEY_SALT', 'mynetwork_');

Con plugin come Redis Object Cache, tutti i siti beneficiano di cache persistente unificata.

Limiti risorse per sito

Installa plugin come Limit Modified Date o custom code per limitare:

  • Numero massimo post/pagine per sito
  • Spazio upload disponibile (es. 500MB per sito)
  • Plugin attivabili simultaneamente

Questo previene che singoli siti degradino performance dell’intero network.

Monitoraggio centralizzato

Con AgencyPilot puoi monitorare tutti i siti del Multisite da unico pannello: uptime, errori PHP, utilizzo risorse per singolo site_id. La dashboard Network Health mostra metriche aggregate e alert automatici se un sito supera soglie memoria/CPU.

FAQ

Posso convertire un Multisite da subdirectory a subdomain dopo l’installazione?

Tecnicamente sì ma è complesso e sconsigliato in produzione. Richiede modifica SUBDOMAIN_INSTALL da false a true, configurazione wildcard DNS, aggiornamento tutte le URL nel database via wp search-replace per ogni sito, e riscrittura .htaccess. Per network con dati significativi, è più sicuro ricreare network da zero o usare plugin migration professionali come NS Cloner.

Quanti siti posso gestire in un singolo Multisite subdirectory?

Non esiste limite tecnico rigido imposto da WordPress. Network di produzione gestiscono 100+ siti. Il limite pratico dipende da risorse server: con VPS 8GB RAM e ottimizzazioni cache, 50-80 siti con traffico medio sono gestibili. Oltre questa scala, considera clustering database o separazione in più network. AgencyPilot gestisce network clienti fino a 120 siti con configurazioni server dedicate.

I plugin devono essere compatibili Multisite per funzionare?

La maggior parte dei plugin WordPress funziona in Multisite senza modifiche. Problemi possono verificarsi con plugin che assumono installazione singola per: gestione licenze (alcuni verificano dominio), tabelle database custom (potrebbero non supportare prefissi multipli), o file .htaccess modifiche (conflitti con regole Multisite). Prima di network-activate plugin critici, testa sempre su sito staging del network.

Come gestisco domini custom per siti del network in modalità subdirectory?

WordPress Multisite subdirectory di base non supporta domain mapping nativo. Devi usare plugin come WordPress MU Domain Mapping (deprecato ma funzionante) o Mercator (moderno, consigliato). Questi permettono di mappare example.com/cliente1 su www.clienteuno.com via configurazione DNS CNAME + regole plugin. Nota: richiede wildcard SSL o certificati multipli.

Posso migrare sito esistente standalone in un network Multisite subdirectory?

Sì, procedura standard: 1) Esporta contenuti sito standalone via Strumenti → Esporta, 2) Crea nuovo sito nel network, 3) Importa XML via Strumenti → Importa, 4) Migra manualmente tema e plugin specifici sito. Per siti complessi con custom post types, usa plugin come All-in-One WP Migration (addon Multisite richiesto) o copia manualmente tabelle database aggiungendo prefisso corretto (es. wp_2_posts per site_id 2). Testa sempre permalink e media library post-migrazione.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli