Per clonare un sito in locale Local WP va benissimo. Il problema è che, a volte, comincia a diventare lento, persino fin dal primo momento e su computer potenti.
E ovviamente, quando è lento, esaspera parecchio. Perché si presume che, oltre che per sicurezza, tu stia lavorando in locale per andare più veloce, non per aspettare tre secondi ogni volta che apri una pagina dell’admin.
Nel progetto del mio nuovo sito mi succedeva, ma non volevo cambiare strumento. Non volevo configurare Docker, buttare via l’ambiente né ricominciare da zero. Volevo che Local WP tornasse a essere (molto) utilizzabile.
Dopo aver provato varie cose, questi sono i cinque passaggi che hanno funzionato davvero per me.
Ci sono diverse altre opzioni di ottimizzazione, ma io mi sono limitato a queste e ora il mio ambiente locale va come un razzo.
Índice de Contenidos del Artículo
- 1. Confermare che Xdebug fosse disattivato
- 2. Cambiare il dominio da .local a .test
- 3. Escludere le cartelle di Local WP dall’antivirus di Windows
- 4. Disattivare i plugin che non mi servivano in locale
- 5. Pulire il database dalla shell di Local
- Risultato
- Domande frequenti
- Perché Local WP va lento su Windows?
- È meglio usare .test invece di .local in Local WP?
- Xdebug può rallentare Local WP?
- È sicuro escludere cartelle di Local WP in Windows Defender?
- Quali cartelle conviene escludere dall’antivirus se uso Local WP?
- Disattivare plugin migliora le prestazioni di Local WP?
- Come posso pulire il database di WordPress in Local WP?
- Posso usare questi comandi di pulizia in produzione?
- Devo passare da Local WP a Docker se va lento?
- Qual è l’impostazione che può migliorare di più Local WP su Windows?
1. Confermare che Xdebug fosse disattivato
La prima cosa è stata controllare Xdebug.
Xdebug serve per fare debug di PHP. Se devi mettere breakpoint, ispezionare variabili e fare debugging serio, perfetto. È lì per quello.
Ma se non lo stai usando, può rallentare parecchio l’ambiente.
In Local WP si controlla dalla scheda del sito:
Local WP > il tuo sito > scheda Overview / Tools > Xdebug
Nel mio caso era già disattivato, quindi non ho dovuto toccare nulla. Ma per esperienza era il primo sospettato da escludere.
La regola è semplice: se non stai facendo debug attivo di PHP, Xdebug disattivato.
Qui non è stata “la soluzione” nel mio caso, perché era già spento, ma non costa nulla controllarlo prima di impazzire con altre cose.
2. Cambiare il dominio da .local a .test
Questo cambiamento si è notato.
Avevo il sito con un dominio che finiva in .local (yg.local) e l’ho cambiato in yg.test.
In Local WP si fa così:
- Apri Local WP.
- Selezioni il sito.
- Vai alla scheda Overview.
- Cerchi il campo Site domain.
- Premi Change.
- Cambi il dominio da .local a .test.
- Confermi la modifica.
- Riavvii il sito.
Poi accedi con il nuovo URL:
https://yg.test
Oppure, se non hai SSL attivo in Local:
http://yg.test
Perché funziona?
Perché .local può dare problemi in alcuni ambienti per come viene risolto a livello di rete. .test è molto più pensato per lo sviluppo locale ed evita parte di quell’assurda frizione.
È un cambiamento semplice che nel mio caso ha aiutato.
3. Escludere le cartelle di Local WP dall’antivirus di Windows
Un altro aggiustamento importante.
Se lavori con Windows, Windows Defender potrebbe controllare continuamente i file di WordPress, plugin, temi, upload, database, log, cache e servizi interni di Local.
E ovviamente, WordPress in locale muove moltissimi file piccoli. Se l’antivirus si mette a ispezionare ogni cosa toccata da PHP, MySQL o nginx, le prestazioni ne risentono.
Ovviamente non ho disattivato l’antivirus; ho semplicemente aggiunto delle esclusioni.
In Windows:
- Apri Sicurezza di Windows.
- Entra in Protezione da virus e minacce.
- Scorri fino a Impostazioni di Protezione da virus e minacce.
- Premi Gestisci impostazioni.
- Scorri fino a Esclusioni.
- Premi Aggiungi o rimuovi esclusioni.
- Aggiungi esclusioni di tipo Cartella.
La cartella importante è quella dei siti locali:
C:UsersTUO_UTENTELocal Sites
E anche le cartelle interne di Local, che di solito si trovano in percorsi come:
C:UsersTUO_UTENTEAppDataLocalProgramsLocal
E:
C:UsersTUO_UTENTEAppDataRoamingLocal
Nel mio caso, escludere Local Sites è stato particolarmente importante, perché lì si trova davvero il sito: WordPress, plugin, temi, upload e tutto ciò che Local tocca continuamente.
Dopo aver aggiunto le esclusioni, conviene fermare e riavviare il sito da Local WP.
4. Disattivare i plugin che non mi servivano in locale
Il passaggio successivo era abbastanza ovvio, ma a volte ce ne dimentichiamo o preferiamo non farlo per simulare meglio l’ambiente di produzione.
Ci sono plugin che fanno chiamate esterne, attività programmate, controlli di sicurezza, backup, log, cache, analisi SEO, integrazioni con newsletter, monitoraggio, ottimizzazione delle immagini e mille altre cose.
Tutto questo in locale può essere superfluo, a seconda di ciò che stai provando.
Così ho rivisto la lista dei plugin e ho disattivato quelli che non mi servivano per lavorare in quel momento.
La domanda era questa:
Mi serve questo plugin attivo per quello che sto facendo ora?
Se la risposta era no, lo disattivavo.
Nel mio caso:
- Plugin di backup.
- Plugin di Genesis.
- Plugin di sicurezza.
- Plugin di cache.
- Plugin di analytics.
- Plugin che avviano attività programmate
Meno plugin attivi significa meno carico, meno processi in background e meno cose che competono per le risorse.
Comunque, qui non ho notato un grande miglioramento, quindi forse conviene lasciare questo passaggio alla fine, se tutto il resto non basta.
5. Pulire il database dalla shell di Local
L’ultimo passaggio è stato pulire il database.
WordPress accumula spazzatura con grande facilità: revisioni, bozze automatiche, transients scaduti, commenti nel cestino, spam, metadati orfani e resti di plugin.
Per farlo, ho aperto la shell del sito da Local WP:
Local WP > il tuo sito > Open Site Shell
Prima di pulire, ho fatto un backup del database:
wp db export backup-before-cleanup.sql
Poi ho eseguito questo blocco di pulizia:
wp post delete $(wp post list --post_type='revision' --format=ids) --force
wp post delete $(wp post list --post_status='auto-draft' --format=ids) --force
wp post delete $(wp post list --post_status='trash' --format=ids) --force
wp comment delete $(wp comment list --status=spam --format=ids) --force
wp comment delete $(wp comment list --status=trash --format=ids) --force
wp transient delete --expired
wp db query "DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts p ON p.ID = pm.post_id WHERE p.ID IS NULL;"
wp db query "DELETE cm FROM wp_commentmeta cm LEFT JOIN wp_comments c ON c.comment_ID = cm.comment_id WHERE c.comment_ID IS NULL;"
wp db query "DELETE tm FROM wp_termmeta tm LEFT JOIN wp_terms t ON t.term_id = tm.term_id WHERE t.term_id IS NULL;"
wp db query "DELETE um FROM wp_usermeta um LEFT JOIN wp_users u ON u.ID = um.user_id WHERE u.ID IS NULL;"
wp db optimize
Attenzione a una cosa: questo presume che il prefisso delle tabelle sia wp_.
Se sei su Windows e quella sintassi di variabile non ti funziona, usa direttamente il prefisso che ti restituisce:
wp db prefix
e sostituiscilo a mano.
Questo passaggio non è da fare con leggerezza in produzione. In locale, con un backup precedente, sì.
Risultato
Dopo questi cinque passaggi, Local WP ha iniziato ad andare parecchio meglio. Logico, perché il mio Ryzen 7 2700 Pro con NMVE e 24GB è decisamente più potente del server di produzione.
Per questo avevo chiaro che valeva la pena dedicarci un po’ di tempo.
Ora va come deve e mi ha fatto risparmiare tanti piccoli momenti.
Il riassunto sarebbe:
- Controllare che Xdebug sia disattivato.
- Cambiare il dominio da .local a .test.
- Escludere le cartelle di Local WP in Windows Defender.
- Disattivare i plugin inutili in locale.
- Pulire il database dalla shell.
In pratica, togliere peso all’ambiente.
In questo caso Local WP non va lento per una sola causa, ma per la somma di piccole cose: risoluzione del dominio, antivirus che controlla ogni file, plugin di troppo e un database pieno di residui.
Non ho misurato ogni cosa con il cronometro, ma a sensazione. Per questo so cosa ha funzionato per me.
Ora ho la mia copia locale che va come un razzo, quindi sono rimasto senza scuse per lavorare in produzione e non testare.
E tu, continui a usare la stessa scusa?
Domande frequenti
Perché Local WP va lento su Windows?
Local WP può andare lento su Windows per varie cause accumulate: risoluzione del dominio locale, antivirus che controlla troppi file, Xdebug attivo, plugin inutili o un database locale pieno di residui. Non c’è sempre un unico colpevole.
È meglio usare .test invece di .local in Local WP?
In molti casi sì. Cambiare il dominio da.locala.testpuò migliorare la risoluzione del sito in locale ed evitare problemi di rete inutili. È un cambiamento semplice e, se Local WP è lento, vale la pena provarlo.
Xdebug può rallentare Local WP?
Sì. Xdebug è molto utile per fare debug di PHP, ma se non lo stai usando può aggiungere carico all’ambiente. Per questo conviene tenerlo disattivato, salvo quando fai davvero debugging.
È sicuro escludere cartelle di Local WP in Windows Defender?
Si può fare con attenzione. L’idea non è disattivare l’antivirus, ma escludere cartelle concrete dell’ambiente locale per evitare che Windows Defender ispezioni continuamente migliaia di piccoli file di WordPress. La cosa prudente è limitare le esclusioni ai percorsi di Local WP e ai tuoi siti locali.
Quali cartelle conviene escludere dall’antivirus se uso Local WP?
La più importante di solito èC:UsersTUO_UTENTELocal Sites, perché lì ci sono i tuoi siti locali, plugin, temi, upload e file che Local WP tocca continuamente. Può avere senso anche controllare le cartelle interne di Local inAppDataLocalProgramsLocaleAppDataRoamingLocal.
Disattivare plugin migliora le prestazioni di Local WP?
Può aiutare, anche se non sempre sarà il cambiamento più importante. In locale spesso sono superflui plugin di backup, sicurezza, cache, analytics, attività programmate o integrazioni esterne. Se non ti servono per quello che stai provando, meglio disattivarli.
Come posso pulire il database di WordPress in Local WP?
Puoi farlo dalla shell del sito usando WP-CLI. Prima di toccare qualsiasi cosa, conviene esportare un backup conwp db export. Poi puoi eliminare revisioni, bozze automatiche, spam, transients scaduti e metadati orfani, e finire conwp db optimize.
Posso usare questi comandi di pulizia in produzione?
Non con leggerezza. Questi comandi hanno senso in locale e con un backup precedente. In produzione bisogna controllare ogni azione con più attenzione, confermare il prefisso delle tabelle e assicurarsi che non venga eliminato nulla di necessario.
Devo passare da Local WP a Docker se va lento?
Non necessariamente. Prima di cambiare ambiente, vale la pena provare impostazioni semplici: disattivare Xdebug, usare.test, escludere cartelle dall’antivirus, ridurre i plugin attivi e pulire il database. In molti casi basta togliere peso all’ambiente.
Qual è l’impostazione che può migliorare di più Local WP su Windows?
Dipende dal caso. In questo articolo, i cambiamenti più chiari sono stati passare da.locala.tested escludere le cartelle di Local WP in Windows Defender. Il miglioramento di solito arriva dalla somma di vari aggiustamenti, non da una soluzione magica.

Lascia un commento