Cos’è LocalWP e perché è essenziale per le agenzie
LocalWP (precedentemente noto come Local by Flywheel) è attualmente lo strumento di sviluppo locale WordPress più diffuso tra le agenzie professionali. A differenza di soluzioni come MAMP, XAMPP o Docker custom, LocalWP offre un approccio one-click che elimina la configurazione manuale di Apache/Nginx, MySQL e PHP.
Per un’agenzia che gestisce decine di siti client, LocalWP risolve tre problemi critici:
- Isolamento completo: ogni sito vive in un ambiente containerizzato separato con la propria versione di PHP e database
- Setup istantaneo: creare un nuovo ambiente WordPress richiede letteralmente 60 secondi
- Compatibilità garantita: funziona nativamente su macOS, Windows e Linux senza conflitti con servizi di sistema
Nel 2026, LocalWP ha raggiunto oltre 3 milioni di installazioni attive ed è diventato lo standard de facto per lo sviluppo WordPress professionale, sostituendo progressivamente soluzioni più complesse come Lando o DDEV per la maggior parte dei casi d’uso.
Installazione e configurazione iniziale
L’installazione di LocalWP è straightforward ma richiede alcune accortezze per ottimizzare le performance su macchine di sviluppo aziendali.
Download e primi passi
Scarica LocalWP dal sito ufficiale localwp.com. La versione attuale (9.x) richiede:
- macOS 11+ (Apple Silicon nativo supportato)
- Windows 10/11 con WSL2 attivo
- Linux: Ubuntu 20.04+, Fedora 35+, Arch
- Minimo 8GB RAM (16GB consigliati per gestire 4+ siti contemporaneamente)
- 10GB spazio disco per l’applicazione + 2-5GB per sito
All’avvio, LocalWP chiede di scegliere tra due modalità di virtualizzazione:
- Preferita (Recommended): usa Docker sotto il cofano, ottima per performance ma richiede Docker Desktop installato
- Legacy: usa VirtualBox, più lenta ma funziona senza dipendenze esterne
Per agenzie, la modalità Docker è obbligatoria: offre tempi di avvio 3-4x più rapidi e consumi RAM inferiori del 40% nei test benchmark.
Configurazione performance-oriented
Dopo l’installazione, accedi alle preferenze (Preferences > Advanced) e modifica:
- Router Mode: imposta “Site Domains” su localhost con porta randomica per evitare conflitti con altri servizi
- File System: su macOS, disabilita “Virtual Machine for File Sharing” e usa direttamente il filesystem nativo (riduce latenza I/O del 60%)
- PHP Memory Limit: aumenta a 512M o 1G per siti complessi con WooCommerce o builder pesanti
- Shared Databases: attiva questa opzione per condividere un’unica istanza MySQL tra più siti (risparmio RAM significativo)
Modifica anche la cartella di default dei siti: evita percorsi con spazi o caratteri speciali, preferisci ~/Sites/local su Mac o C:\Dev\LocalWP su Windows.
Creare e gestire ambienti di sviluppo
Setup di un nuovo sito
Click su “+ Create a new site” e scegli tra:
- Create a new site: WordPress vanilla con versione personalizzabile
- Create from Blueprint: template preconfigurati con plugin e temi già installati
- Import site: da backup, .zip o pull da staging/produzione
Per agenzie, i Blueprint sono game-changer: crea un template con il tuo stack standard (Elementor/Bricks/Oxygen, ACF PRO, WP Rocket, etc.) e riutilizzalo per ogni nuovo progetto. Risparmio medio: 45 minuti per setup iniziale.
Configurazione PHP e web server
LocalWP permette di switchare versioni PHP per sito con un click. Dal tab “Site Settings”:
- PHP Version: supporta dalla 7.4 alla 8.3 (importante per testare compatibilità plugin)
- Web Server: scegli tra Nginx (default, più veloce) o Apache (necessario per .htaccess complessi)
- Database: MySQL 8.0 o MariaDB 10.6
Esempio pratico: stai sviluppando un sito che andrà su un server con PHP 8.1 e Apache? Imposta esattamente quelle versioni localmente per evitare sorprese in produzione.
Gestione multi-sito e workflow agenzia
Un developer medio di agenzia lavora su 5-8 progetti contemporaneamente. LocalWP gestisce questo scenario con:
- One-click start/stop: arresta i siti non in uso per liberare risorse (un sito idle consuma ~300MB RAM)
- Instant Clone: duplica un sito completo in 20 secondi per creare staging o varianti
- Bulk operations: con la funzione “Site Actions” avvia/ferma/elimina multipli siti
Pro tip: usa la convenzione di naming cliente-progetto-env, esempio: acme-ecommerce-dev, acme-ecommerce-staging. Rende immediatamente chiaro su cosa stai lavorando.
Strumenti avanzati integrati
Accesso database e phpMyAdmin
Click su “Database” nel menu laterale del sito per accedere a:
- Adminer: interface SQL leggera integrata (preferibile a phpMyAdmin per velocità)
- Credenziali dirette: host, username, password per connessioni esterne (utile per TablePlus, Sequel Ace, DBeaver)
- Export/Import: dump SQL con un click per backup o migration
Per query pesanti o data manipulation massiva, usa client desktop esterni: Adminer va in timeout su operazioni oltre i 300 secondi.
WP-CLI integrato
LocalWP include WP-CLI preinstallato. Click destro sul sito > “Open Site Shell” per accedere a un terminale con contesto del sito già attivo.
Comandi essenziali per agenzie:
# Aggiornamento bulk plugin
wp plugin update --all
# Search/replace per migration
wp search-replace 'oldomain.local' 'newdomain.local' --all-tables
# Import database da produzione
wp db import production-backup.sql
# Rigenerazione thumbnail dopo cambio tema
wp media regenerate --yes
# Export contenuti per staging
wp export --dir=./exports
Automatizza queste operazioni con script bash salvati nella cartella del progetto: esegui routine di sync, sanitizzazione dati o setup post-clone con un solo comando.
SSL e Live Links
Ogni sito LocalWP ottiene automaticamente un certificato SSL self-signed per testare funzionalità HTTPS.
La feature “Live Links” (disponibile nel tab “Tools”) permette di:
- Esporre temporaneamente il sito locale su URL pubblico tramite tunnel Cloudflare
- Condividere progress con clienti senza deployment su staging
- Testare webhook, API esterne o payment gateway che richiedono HTTPS pubblico
Limitazione: i Live Link scadono dopo 24 ore e hanno bandwidth limitato (sufficiente per review, non per load testing).
Integrazione con workflow professionali
Version control e Git
La cartella app/public di ogni sito LocalWP è la document root WordPress standard. Inizializza Git direttamente lì:
cd ~/Local Sites/nome-sito/app/public
git init
git add wp-content/themes/tema-custom
git add wp-content/plugins/plugin-custom
git commit -m "Initial commit"
Best practice agenzia:
- Traccia solo
wp-content/themesewp-content/pluginscustom - Escludi
wp-content/uploadstramite .gitignore (usa rsync o S3 per media) - Non committare core WordPress, gestiscilo con Composer o WP-CLI
- Includi
wp-config-local.phpnel .gitignore ma crea unwp-config-sample.phpdocumentato
Deploy verso staging/produzione
LocalWP non include deploy nativo, ma si integra con:
- WP Pusher: push automatico Git-to-FTP al commit
- DeployHQ: pipeline CI/CD con build automatici
- SSH/rsync manual: script custom per sync selettivo
Per agenzie che usano AgencyPilot, la sincronizzazione è semplificata: esporta il sito da LocalWP, caricalo tramite dashboard AgencyPilot e il sistema gestisce automaticamente migration URL, permission fixing e cache clearing sui server di produzione.
Testing e debugging
LocalWP espone Xdebug preconfigurato. Per attivarlo:
- Vai in Site Settings > PHP
- Abilita “Xdebug”
- Configura il tuo IDE (VS Code, PHPStorm) per ascoltare sulla porta 9003
Per debugging query lente:
- Installa Query Monitor plugin
- Attiva
define('SAVEQUERIES', true)in wp-config.php - Monitora slow queries nel tab “Queries” di Query Monitor
LocalWP include anche log centralizzati: menu “Utilities” > “View Logs” mostra errori PHP, MySQL e Nginx in tempo reale.
Troubleshooting problemi comuni
Performance degradate
Se LocalWP diventa lento dopo settimane di utilizzo:
- Troppi siti attivi: ferma quelli non in uso, LocalWP non ha limiti hard ma oltre 6 siti simultanei su 16GB RAM inizia a swappare
- Docker disk usage: esegui
docker system pruneper rimuovere container e immagini obsolete (può liberare 10-20GB) - Log giganti: i log di siti vecchi possono raggiungere GB, eliminali da
~/Library/Application Support/Local/logs(Mac) o%APPDATA%\Local\logs(Windows)
Errori di connessione database
Se WordPress mostra “Error establishing database connection”:
- Verifica che il sito sia effettivamente avviato (status verde)
- Apri Site Shell ed esegui
wp db checkper diagnosticare corruzione - Se MySQL non parte: ferma tutti i siti, esci da LocalWP, riavvia l’app
- Caso estremo: elimina
~/Library/Application Support/Local/run(perdi dati non backuppati!)
Conflitti di porta
LocalWP usa porte dinamiche ma può confliggere con:
- Altri server locali: Apache, Nginx o MySQL di sistema
- VPN aziendali: alcuni corporate VPN bloccano range di porte alte
- Antivirus: Bitdefender e Kaspersky a volte bloccano Docker
Soluzione: vai in Preferences > Advanced > Router Mode e passa da “localhost” a “Site Domains”, che usa un sistema di routing interno più robusto.
Alternative e quando considerarle
LocalWP è ottimo ma non universale. Considera alternative se:
- DDEV: serve configurazione custom avanzata (Elasticsearch, Redis, Solr), multi-CMS (Drupal, Laravel, Magento), o preferisci approccio 100% open source
- Lando: devi replicare stack Pantheon/Acquia esatti, o gestisci progetti con configurazioni wildly different
- Docker Compose custom: massimo controllo, ma richiede competenze DevOps e manutenzione continua
- VVV (Varying Vagrant Vagrants): ormai legacy, utile solo per retrocompatibilità con workflow pre-2020
Per il 90% delle agenzie WordPress, LocalWP offre il miglior rapporto semplicità/potenza. Solo progetti enterprise con requisiti infrastrutturali complessi richiedono tooling più avanzato.
Blueprint e automazione per team
La feature Blueprint di LocalWP è sottovalutata ma critica per scalare il team development.
Creare un Blueprint agenzia standard
- Crea un nuovo sito con la configurazione ideale (PHP 8.2, Nginx, MySQL 8.0)
- Installa lo stack plugin standard: ACF PRO, WP Rocket, Wordfence, etc.
- Configura theme boilerplate o starter theme custom
- Setup .gitignore, wp-config.php ottimizzato, constants utili
- Click destro sul sito > “Save as Blueprint”
- Esporta il Blueprint come file .zip
Distribuisci il Blueprint al team via repository interno o cloud storage. Ogni developer importa il Blueprint (Preferences > Blueprints > Import) e può creare siti standard in 60 secondi.
Automazione con script post-creation
LocalWP supporta hook post-creazione sito. Crea uno script post-create.sh nella cartella del Blueprint:
#!/bin/bash
# Attiva tema custom
wp theme activate tema-agenzia
# Configura permalink structure
wp rewrite structure '/%postname%/'
# Disabilita plugin inutili
wp plugin deactivate hello akismet
# Crea pagine standard
wp post create --post_type=page --post_title='Home' --post_status=publish
wp post create --post_type=page --post_title='Chi siamo' --post_status=publish
# Import menu e widget predefiniti
wp import ./setup/default-content.xml --authors=create
Questo script gira automaticamente alla creazione del sito, eliminando 15-20 minuti di setup manuale ripetitivo.
FAQ
LocalWP funziona offline senza connessione internet?
Sì, una volta installato LocalWP funziona completamente offline. Non richiede connessione per avviare siti, modificare codice o accedere al database. L’unica funzione che necessita internet è Live Links per condividere temporaneamente il sito. Anche il download di nuove versioni PHP o l’installazione di WordPress avviene tramite pacchetti già inclusi nell’app.
Posso usare LocalWP su più macchine sincronizzando i siti via cloud?
Non nativamente, ma è fattibile con workaround. La soluzione più pulita è usare Git per theme/plugin custom e sincronizzare il database via export/import manuale o script automatizzato. Sincronizzare l’intera cartella del sito (5-10GB) via Dropbox/Google Drive causa problemi di lock sui file database. Meglio: sviluppa localmente, committa su Git, pull sull’altra macchina e rigenera il database con WP-CLI migrate.
LocalWP consuma troppa RAM, come ottimizzare?
Tre strategie immediate: (1) ferma i siti non in uso invece di lasciarli running, ogni sito attivo usa 300-500MB; (2) abilita Shared Databases in Preferences > Advanced per condividere un’unica istanza MySQL tra siti, risparmia 200MB per sito; (3) su Mac, disabilita Virtual Machine File Sharing e usa filesystem nativo. Se gestisci 10+ siti, valuta upgrade a 32GB RAM o passa a DDEV che offre controllo più granulare su resource allocation.
Come migro un sito da LocalWP a produzione senza downtime?
Workflow professionale in 5 step: (1) esporta database da LocalWP via Adminer o WP-CLI; (2) carica file via SFTP o Git (solo wp-content custom); (3) importa database su produzione; (4) esegui search-replace con WP-CLI per aggiornare URL (da .local a dominio reale); (5) testa e poi switcherà DNS. Per zero downtime: setup prima tutto su staging con dominio temporaneo, testa, poi fai atomic swap DNS. Tool come WP Migrate DB Pro automatizzano search-replace e possono pushare direttamente da local a remote.
LocalWP supporta sviluppo WordPress Multisite?
Sì, ma richiede configurazione manuale. Crea un sito standard, poi abilita Multisite aggiungendo in wp-config.php: define('WP_ALLOW_MULTISITE', true). Vai in Strumenti > Configurazione rete e segui la procedura WordPress standard. LocalWP riconosce automaticamente la configurazione Multisite e espone correttamente i subsites. Funziona sia con subdirectory che subdomain setup, ma per subdomain devi configurare wildcard DNS manualmente editando hosts file o usando strumenti come dnsmasq.