wp_options Tabella – Opzioni di pulizia automatica

wp_options Tabella – Opzioni di pulizia automatica

Cos’è la directory wp_options?

La directory wp_options contiene ogni tipo di dati per il tuo sito WordPress, ad esempio:

-Sito – URL, Home – URL, Amministratore – Email, Categoria predefinita, Post per pagina, Formato orario, ecc.
-Impostazioni per plugin, temi, widget
-Dati temporaneamente memorizzati nella cache

wp options 01d

wp_options Directory
wp_options Directory

La directory contiene i seguenti campi, uno dei quali pone maggiore enfasi sulle prestazioni:

option_id
option_name
option_value
Autocaricamento

wp options 02d

La tabella wp_options è un fattore di performance critico in WordPress perché tutte le voci con autoload = ‘sì’ vengono caricate in memoria a ogni visualizzazione pagina. Se vecchi residui di plugin e strutture dati inutilmente grandi si accumulano lì, il tuo sito sarà visibilmente più lento.

Nozioni di base: Comprendere wp_options e autoload

Tabella wp_options contiene impostazioni globali di WordPress, temi e plugin; Le colonne option_name, option_value e autoload sono particolarmente rilevanti. Il valore di autoload determina se questa opzione viene caricata in ogni chiamata (“sì”) o solo quando necessario (“no”), motivo per cui grandi dati di autocaricamento rappresentano un rischio immediato per le prestazioni.

La prima cosa che puoi fare è controllare la dimensione attuale dell’autoloaded sul tuo sito WordPress. Nel tuo phpMyAdmin, clicca sul tuo database a sinistra e poi sulla scheda SQL. Poi digita il seguente comando e premi “Go”.

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';

Potresti dover ottimizzare la query sopra se il tuo sito WordPress utilizza un prefisso diverso da wp_.

Puoi anche usare una query più lunga come quella qui sotto. Questo mostrerà i dati autocaricati, il numero di voci nella directory e le prime 10 voci per dimensione.

SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 10;

Il autoload_size è riportato in byte. Una KB è composta da 1024 byte, una MB da 1024 KB. Nel nostro esempio, 939.774 byte corrispondono a circa 0,91 MB, che è un valore non critico per questa pagina. Se il valore è inferiore a 1 MB, di solito non è necessario intervenire. Tuttavia, se il risultato è significativamente più alto, dovresti continuare con i passaggi successivi di questo tutorial.

wp options 03d

Un avvio tipico è una panoramica della dimensione dei dati caricati automaticamente. Ad esempio, in phpMyAdmin o in un altro client MySQL, puoi usare la seguente query per vedere la dimensione totale e il numero e identificare i blocchi più grandi:

SELECT 'autoload_size_kb' AS label,
ROUND(SUM(LENGTH(option_value))/1024) AS value
FROM wp_options
WHERE autoload = 'yes'
UNION ALL
SELECT 'autoload_count',
COUNT(*)
FROM wp_options
WHERE autoload = 'yes'
UNION ALL
SELECT option_name,
LENGTH(option_value) AS value
FROM wp_options
WHERE autoload = 'yes'
ORDER BY value DESC
LIMIT 10;

Come regola generale, 300-1000 KB di dati di autocaricamento sono considerati sani; Diversi megabyte di solito indicano la necessità di pulizia.

Cause tipiche di autocarichi gonfiati

I blocchi di autoload grandi sono principalmente creati da plugin che scrivono molti dati di configurazione o log su wp_options e impostano l’autoload su “sì”. Spesso, le loro voci rimangono nel database anche dopo la disinstallazione, perché il plugin non si pulisce correttamente durante la rimozione o i lavori cron di WP falliscono.

Gli array serializzati con molte voci (ad esempio dati di cache, log, informazioni di tracciamento) o vecchi transitori mai cancellati sono particolarmente problematici. Queste voci non sono più necessarie, ma continuano a caricarsi ogni volta che la pagina viene caricata, rallentando le query MySQL e l’esecuzione di PHP.

Una buona pratica è analizzare specificamente i valori critici di option_name che compaiono nella “top 10” delle voci di autoload più grandi. Puoi cliccare su “Modifica” in phpMyAdmin e visualizzare il contenuto – spesso puoi capire quale plugin è responsabile dallo schema di denominazione (ad esempio prefissi come transiente, plugin_xyz_, rankmath_, wpseo_, ecc.).

Analisi manuale e pulizia tramite SQL

Se ti senti a tuo agio con SQL, puoi cercare specificamente grandi opzioni di autoload e segnalare voci sospette. Ad esempio, un semplice elenco di tutte le opzioni autocaricate ordinate per dimensione appare così:

SELECT option_id,
option_name,
LENGTH(option_value) AS size_bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size_bytes DESC
LIMIT 100;

Prima di modificare o cancellare qualsiasi cosa, è fondamentale creare un backup completo del database e idealmente testarlo in un ambiente di staging. Per le voci di cui sei sicuro contenga solo cache, transitori scaduti o vecchi dati di plugin, ci sono due passaggi relativamente sicuri:

  1. Imposta prima l’Autoload su “no” e vedi se qualcosa si rompe:
UPDATE wp_options
SET autoload = 'no'
WHERE option_name = 'DEIN_OPTION_NAME';
  1. Se tutto è stabile dopo qualche giorno, elimina la voce:
DELETE FROM wp_options
WHERE option_name = 'DEIN_OPTION_NAME';

Per i transitori che dovrebbero comunque scadere, puoi anche rimuovere interi gruppi di imprevedibili, come:

DELETE FROM wp_options
WHERE option_name LIKE '\_transient\_%'
OR option_name LIKE '\_site\_transient\_%';

Dovresti usare questi comandi di massa solo se sai che il tuo sistema cache/transitorio può gestirli, dato che molti dati devono essere ricostruiti dopo.

Esempi di pulizia ricorrente di WP-CLI

WP-CLI è adatto per la pulizia regolare perché puoi usarlo per scrivere liste, filtrare e cancellare comandi. Un esempio di panoramica delle opzioni di autocaricamento più grandi:

Bashwp option list \
  --autoload=on \
  --fields=option_name,autoload,size \
  --format=json \
  --orderby=size \
  --order=desc \
  --field=option_name \
  --page=1 --per-page=20

Per eliminare un’opzione, puoi usare WP-CLI in questo modo:

Bashwp option delete DEIN_OPTION_NAME

Oppure puoi impostare l’autoload su “no” tramite WP-CLI senza eliminarlo direttamente:

Bashwp db query "UPDATE wp_options SET autoload='no' WHERE option_name='DEIN_OPTION_NAME';"

Tali comandi possono essere confezionati in uno script cron o in un piccolo script di manutenzione che viene eseguito una volta al mese, ad esempio, dopo che è stato creato un backup.

Uso di plugin per la pulizia automatica

Se non vuoi lavorare direttamente nel database, puoi usare plugin speciali di ottimizzazione. Strumenti come Advanced Database Cleaner, WP-Optimize o funzioni corrispondenti nei plugin di performance analizzano la tabella wp_options e forniscono interfacce per rimuovere vecchi transitori, revisioni e alcune opzioni.

Questi plugin possono creare routine automatizzate, ad esempio la pulizia regolare di transitori scaduti o la rimozione di voci di plugin orfani. Tuttavia, non riconoscono sempre tutte le opzioni problematiche; Per sistemi complessi o critici per il business, si raccomanda un controllo manuale delle voci di autoload più grandi.

Supporto visivo: diagrammi e screenshot

Per comunicare meglio la situazione, una semplice visualizzazione vale la pena. Un grafico a barre che mostra le 10 principali opzioni di autoload per dimensione chiarisce agli stakeholder perché certi plugin o opzioni sono problematici. Un diagramma del genere può essere generato dai risultati SQL (option_name vs. size_bytes) in uno strumento BI o in una dashboard autocostruita.

Anche gli screenshot di phpMyAdmin o Adminer, che mostrano la vista wp_options con filtri WHERE autoload = 'yes' e dimensioni ordinate, sono utili. Le linee segnate (ad esempio con commenti colorati nella documentazione o nelle presentazioni) rendono più facile assegnarli a plugin e misure specifiche in seguito.

Migliori pratiche e rete di sicurezza

Indipendentemente dal metodo, ci sono alcune regole di base: creare un backup completo prima di qualsiasi pulizia, idealmente testare in un ambiente di staging e programmare una finestra di manutenzione per i sistemi di produzione. Inoltre, dopo le principali operazioni di cancellazione, dovrebbero essere eseguiti il monitoraggio delle prestazioni, i log degli errori e funzioni importanti (login, negozio, moduli di contatto) per identificare rapidamente eventuali opzioni mancanti.

A lungo termine, vale la pena ripulire a livello di plugin: disinstallare davvero i plugin e i temi inutilizzati, non solo disattivare i temi, e prestare attenzione a come gestiscono wp_options quando si scelgono nuove estensioni. Soprattutto con i page builder, gli strumenti SEO, i plugin di sicurezza e le integrazioni complesse, vale la pena dare un’occhiata alla documentazione per vedere se grandi quantità di dati finiscono nell’area di autoload – e se esistono impostazioni che riducano questa situazione.

Con una tale combinazione di analisi, azioni CLI SQL/WP mirate, plugin di supporto e processi clear, la tabella wp_options può essere mantenuta snella o riportata a uno stato sano. Il risultato è una query sul database più rapida, meno consumo di memoria e prestazioni complessivamente migliori della tua installazione WordPress.

Come posso identificare i residui di plugin in wp_options dati caricati automaticamente su WPML e WooCommerce integrati?

I plugin caricati automaticamente in wp_options possono essere facilmente rilevati tramite una combinazione di SQL/WP-CLI, modelli di denominazione e alcune competenze WPML/WooCommerce.

Principio base: analizzare le opzioni di autocaricamento

Il primo passo è sempre trovare le opzioni più grandi di autocaricato, perché è lì che i residui dei plugin e le configurazioni errate sono più evidenti. In uno strumento SQL (o tramite WP-CLI) puoi ottenere le voci principali come questa, ad esempio:

SELECT option_id,
option_name,
LENGTH(option_value) AS size_bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size_bytes DESC
LIMIT 100;

Molti residui possono essere riconosciuti dal prefisso del option_name:

  • WPML memorizza opzioni con pattern come icl_%, wpml_%, , cache di traduzione, indici stringhe e altro ancora.
  • WooCommerce e gli add-on spesso woocommerce_%usano , _transient_wc_% oppure prefissi specifici per plugin come wcs_, yith_%.

Se qui compaiono grandi voci di plugin che hai disinstallato da tempo, o ovviamente dati in cache/log, questi sono tipici candidati a “avanzi di plugin”.

Modelli specifici di WPML e WooCommerce

Per i siti con WPML e WooCommerce, vale la pena dare un’occhiata più attenta alle opzioni relative alle traduzioni e alle funzioni del negozio. WPML può generare molte opzioni autocaricate per la mappatura linguistica e la traduzione delle stringhe; Ad esempio, dati fiscali, di spedizione, sessioni o reportistica dei negozi WooCommerce.

I filtri secondo i modelli dei nomi sono utili, come ad esempio:

SELECT option_id, option_name, LENGTH(option_value) AS size_bytes
FROM wp_options
WHERE autoload = 'yes'
AND (option_name LIKE 'icl\_%'
OR option_name LIKE 'wpml\_%'
OR option_name LIKE 'woocommerce\_%'
OR option_name LIKE '\_transient\_wc\_%')
ORDER BY size_bytes DESC;

Se trovi voci che appartengono a add-on che non sono più nel sistema (ad esempio vecchi gateway di pagamento, vecchi strumenti di traduzione), puoi classificarle come residui di plugin. È importante prima verificare se il plugin associato non è più attivo, poi fare il backup e solo allora impostare l’autoload su “no” o eliminarlo.

Supporto automatizzato tramite strumenti di analisi

Per maggiore comodità, esistono plugin di ottimizzazione speciali che scansionano automaticamente le opzioni caricate e cercano di assegnarle a plugin o temi specifici. Esempi sono:

  • Controllo di autocaricamento o “Option Optimizer”: mostra il numero, la dimensione e il nome di tutte le opzioni di autoload, segna le opzioni orfane e fornisce indizi sull’origine.
  • Advanced Database Cleaner: scansiona la tabella wp_options, elenca le opzioni per dimensione, stato di autocaricamento e sospetta mappatura dei plugin, e consente la cancellazione filtrata.

Tuttavia, questo compito non è infallibile: le opzioni vengono spesso assegnate ai plugin sbagliati o marcate come “orfane” anche se sono ancora in uso. Ecco perché vale quanto segue: usa gli strumenti per trovare candidati, ma prendi sempre decisioni manualmente – soprattutto in un setup con WPML e WooCommerce.

Procedura nella pratica

Un flusso di lavoro pragmatico si presenta così:

  • Determina la dimensione totale e le voci di autoload superiori, raggruppa le option_name sospette per prefissi del plugin.
  • Controlla quali plugin (soprattutto moduli WPML, add-on di WooCommerce) sono effettivamente ancora attivi.
  • Segna i plugin alternativi ovvi e annota i nomi delle opzioni.
  • Per prima cosa, imposta l’autoload di queste voci su “no”, testa la pagina (frontend, checkout, traduzione).
  • Se dopo qualche giorno non ci sono errori, elimina le opzioni in questione.

In questo modo, i residui di plugin possono essere estratti da wp_options in modo mirato senza compromettere la funzionalità di WPML o WooCommerce.

FAQ – Tabella wp_options – pulizia automatica dei dati caricati

Una tabella wp_options ordinata è una delle leve più importanti per rendere WordPress visibilmente più veloce e stabile. Questa FAQ raccoglie le domande tipiche su “dati caricati automaticamente” (autoload).

Cosa significa “dati caricati automaticamente” nella tabella wp_options?

Nella tabella wp_options, WordPress memorizza le impostazioni globali di core, temi e plugin. Ogni opzione ha un campo di autocaricamento che determina se il valore viene caricato automaticamente in ogni visualizzazione pagina (“sì”) o solo quando necessario (“no”). Tutte le opzioni di autoload vengono richiamate in memoria con ogni richiesta e quindi influenzano direttamente le prestazioni e i requisiti di memoria.

Perché troppi autoloadpossono rallentare il mio sito web?

Più sono grandi e più grandi sono le voci autoload, più dati il database deve leggere e passare a PHP ogni volta che la pagina è accessibile. Soprattutto array serializzati di grandi dimensioni (ad esempio log, cache, vecchi plugin dati) possono far sì che le richieste diventino visibilmente più lente, anche se la pagina appare “leggera” in superficie.

Come posso scoprire quanto sono grandi i miei dati di autoload?

Il modo più semplice per farlo è tramite una query SQL in uno strumento come phpMyAdmin o Adminer. Un esempio che mostra le opzioni più grandi di autocaricamento sarebbe:


SELECT option_id, option_name, LENGTH(option_value) AS size_bytes FROM wp_options WHERE autoload = 'yes' ORDER BY size_bytes DESC LIMIT 50

Questo ti mostrerà quali opzioni occupano più spazio e potrebbero essere candidate per la pulizia.

Di che dimensione dovrei preoccuparmi?

Come guida approssimativa, qualche centinaio di kilobyte di dati autoload sono comunque considerati normali, a seconda della configurazione. Se la somma delle opzioni di autocaricamento è nell’ordine di diversi megabyte o se le singole voci sono diverse centinaia di kilobyte, vale la pena un’analisi e una pulizia più dettagliate.

Quali tipi di voci sono spesso inutili o problematiche?

Spesso si tratta di vecchi avanzi di plugin, grandi cache, log, dati di debug o transitori scaduti che non sono mai stati cancellati. Spesso possono essere riconosciuti dai prefissi presenti nel option_name (ad esempio abbreviazioni transitorie, site_transient, plugin_spezifische) e dal fatto che il plugin corrispondente non è più attivo.

WPML, WooCommerce o i page builder possono anche gonfiare il wp_options?

Sì, plugin estesi memorizzano molte impostazioni e dati nella cache in wp_options. Questo è sostanzialmente normale, ma diventa un problema quando i dati vecchi non vengono ripuliti o le grandi strutture vengono memorizzate in modo errato con autoload = ‘sì’. Allora vale la pena controllare specificamente i modelli di denominazione di questi plugin.

Come posso pulire in sicurezza i dati autoload senza distruggere la pagina?

Regole di base importanti: crea sempre prima un backup completo del database e idealmente testarlo su un ambiente di staging. Poi procedi in tre fasi:
– Identificare i candidati tramite SQL (dimensioni superiori e evidenti avanzi di plugin).
– Per prima cosa, imposta il valore di autocaricamento da “sì” a “no” e testa la pagina a fondo.
– Solo quando nulla si rompe, elimina le opzioni in questione.

Posso semplicemente eliminare tutte le voci di autoload grandi?

No, è rischioso. Alcune voci grandi sono importanti (ad esempio le impostazioni di plugin essenziali o cache che vengono immediatamente ricostruite). La cancellazione “per sospetto” può paralizzare le funzioni. È meglio controllare ogni voce grande (vedere il contenuto, riconoscere il prefisso), poi prendere una decisione mirata.

Ci sono plugin che mi aiutino a pulire?

Sì, esistono plugin di ottimizzazione del database che analizzano le voci autoload, le ordinano per dimensione e rilevano alcune opzioni orfane. Facilitano la ricerca dei candidati, ma non sostituiscono un esame professionale: la decisione su cosa viene effettivamente eliminato o impostato su “no” dovrebbe sempre essere presa consapevolmente.

Come posso automatizzare la pulizia regolare?

Gli utenti avanzati utilizzano script o strumenti da riga di comando che eliminano regolarmente transitori scaduti e opzioni note e non critiche. Anche qui vale quanto segue: prima calcola manualmente quali voci possono essere rimosse in sicurezza, poi automatizza.

Come posso evitare che la tabella wp_options “ingombri” di nuovo?

Alcune semplici regole aiutano:
– Disinstalla davvero i plugin e i temi di cui non hai bisogno, non solo disabilita i temi.
– Quando si tratta di nuovi plugin, presta attenzione a una buona reputazione e a una gestione pulita delle opzioni.
– Regolarmente (ad esempio semestrale) si esaminano le maggiori voci di autocaricamento.
– Stabilire una routine di manutenzione fissa per configurazioni complesse (officina, multilinguismo).

Quando dovrei invece lasciare che lo faccia uno specialista?

Non appena il tuo sistema diventa critico per il business (ad esempio un negozio WooCommerce, integrazioni complesse) o non sei sicuro di quali opzioni siano importanti, il supporto professionale ha senso. Un’opzione eliminata in modo errato può influire sui processi di ordinazione, la logica di traduzione o le funzioni di login – spesso questo è più costoso di un ordine di manutenzione pianificato correttamente.

Agenzia WordPress JoeWP

Dovremmo pulire la tabella wp_options con i dati caricati automaticamente per te? Siamo qui per aiutarti!