Automatisch geladen opties – Automatisch geladen opties
Heb je een probleem met je WordPress-installatie met het volgende bericht?
Automatisch geladen opties kunnen de prestaties beïnvloeden. Automatisch geladen opties zijn configuratie-instellingen voor plug-ins en thema’s die automatisch worden geladen telkens wanneer een pagina in WordPress wordt geladen. Als er te veel automatisch geladen opties zijn, kunnen ze uw site vertragen. Uw site heeft 1900 automatisch geladen opties (grootte: 1500 kB) in de optietabel, waardoor uw site traag kan zijn. U kunt de opties bekijken die automatisch door uw database worden geladen en alle opties verwijderen die uw site niet meer nodig heeft.
Hier is de procedure om het probleem vast te leggen en op te lossen:
Om de automatisch geladen opties in WordPress te optimaliseren, is het van cruciaal belang om de wp_options tabel regelmatig te controleren en op te schonen, zodat deze niet te veel of te grote optiewaarden laadt bij elk paginaverzoek. Te veel automatisch geladen opties veroorzaken prestatieproblemen omdat ze elke keer dat een pagina wordt geladen in het geheugen worden geladen, ongeacht of ze daadwerkelijk nodig zijn.
Wat zijn automatisch geladen opties?
- In tabel wp_options is er een veld voor automatisch laden (“ja” of “nee”) dat regelt of een optie in het geheugen wordt geladen telkens wanneer een pagina wordt geladen.
- Instellingen voor plugins en themes, maar ook tijdelijke caches zoals transiënten, eindigen vaak met “ja” in de autoload.
- Als de hoeveelheid van deze gegevens (>1 MB, kritiek bij >3-5 MB) te groot is, heeft dit een negatief effect op de prestaties.
Maatregelen voor optimalisatie
- Met SQL-query’s in phpMyAdmin of via een plugin (bijv. Autoload Checker, AAA Option Optimizer) kan de grootte en het aantal autoloaded opties worden geanalyseerd en specifiek worden beperkt.
- Verwijder verouderde of onnodige plugin-/thema-items uit wp_options en zet het autoload-attribuut op “nee” voor zelden gebruikte opties (bijv. via SQL:
UPDATE wp_options SET autoload = 'no' WHERE option_name = 'NAME';). - Ruim regelmatig verlopen transiënten op met SQL:
DELETE FROM wp_options WHERE autoload = 'yes' AND option_name LIKE '%transient%';.
Best practices voor ontwikkelaars
- Alleen opties die op elke pagina nodig zijn, moeten echt automatisch worden geladen (bijv. algemene thema-instellingen).
- Het is beter om grote arrays of zelden benodigde configuraties op te slaan met autoload = “nee” of in uw eigen tabellen.
- Bij het deactiveren van plugins kunnen hooks worden gebruikt om autoload op “nee” te zetten in plaats van opties volledig te verwijderen.
Opmerking: Sinds WordPress 6.6 zijn er naast “ja/nee” (“aan”, “auto”, “auto-aan”) ook andere waarden, en niet alle tools herkennen deze correct.
Handige tools en plug-ins
- Autoload Checker (up-to-date en compatibel)
- AAA Option Optimizer (toont gebruik op pagina’s)
- Advanced Database Cleaner (optiebeheer op basis van plug-ins)
Gerichte optimalisatie vermindert de serverbelasting, vermindert het geheugengebruik en verbetert de laadtijden van pagina’s aanzienlijk.
Hoe controleer ik de totale grootte van de opties voor automatisch laden in de database?
De eenvoudigste manier om de totale grootte van de autoload-opties in de WordPress-database te bepalen, is door een SQL-query te gebruiken. Dit retourneert de som (in bytes) van alle automatisch geladen opties. De standaard SQL-query hiervoor is:
sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload = 'yes';
Het resultaat (“autoload_size_bytes”) is de grootte in bytes. Voor een betere leesbaarheid kan deze waarde worden gedeeld door 1024 om kilobytes (KB) te krijgen. Als een ander tabelvoorvoegsel wordt gebruikt, moet “wp_options” dienovereenkomstig worden aangepast.
Voor verschillende nieuwe WP-waarden (vanaf WP 6.6, bijv. “ja”, “aan”, “auto”, “auto-aan”):
sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto', 'auto-on');
Als alternatief bieden plug-ins zoals “Autoload Checker” een handig grafisch overzicht van de totale grootte en waarschuwingen als grenswaarden worden overschreden.
Een totale grootte van minder dan 1 MB wordt als onkritisch beschouwd, van 2-3 MB en meer moet dringend worden geoptimaliseerd. De totale grootte van alle autoload-opties in de database kan direct worden bepaald met een eenvoudige SQL-query. Dit geeft de som van de bytelengtes van alle automatisch geladen vermeldingen in de wp_options tabel:
sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload='yes';
De resultaatwaarde is in bytes, bijvoorbeeld 1048576 bytes = 1 MB. Als WordPress 6.6 of nieuwer wordt gebruikt en er ook moderne autoload-waarden zoals “aan”, “auto”, “auto-aan” worden gebruikt, moet u de zoekopdracht als volgt aanpassen:
sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on');
Met deze zoekopdracht kunt u snel achterhalen of er behoefte is aan optimalisatie – een grootte van minder dan 1 MB wordt meestal als niet-kritisch beschouwd, vanaf 2-3 MB moet u opruimen.
Best practice voor welke opties autoload=yes zou moeten hebben
Alleen opties die daadwerkelijk nodig zijn bij het laden van elke pagina, moeten het kenmerk autoload=yes krijgen. De beste praktijk is om deze markering alleen specifiek in te stellen voor wereldwijd relevante instellingen en configuraties – dit zorgt voor optimale prestaties en voorkomt onnodige geheugenbelasting.
Welke opties moet autoload=yes hebben?
- Wereldwijde thema-instellingen zoals sitetitel, taal, standaardkleur, logo – omdat ze op elke pagina nodig zijn.
- Centrale plug-inconfiguraties die nodig zijn op alle pagina’s en voor elke aanvraag, bijvoorbeeld algemene instellingen van een caching-plug-in of een beveiligingsplug-in.
- Instellingen voor functies die WordPress direct tijdens het opstarten leest, bijvoorbeeld de widgetconfiguratie voor wereldwijd geïntegreerde zijbalken.
- Kleine, veelgebruikte optiewaarden (tekenreeksen of matrices in kB-formaat) die snel moeten worden geladen.
Opties die NIET automatisch mogen worden geladen
- Instellingen die alleen nodig zijn in de backend, in bepaalde plugins, of zelden (bijv. plugin-instellingen die alleen relevant zijn in het admin-dashboard).
- Grote arrays of datastructuren, bijv. statistische gegevens, importcaches, langetermijntransiënten, enz. – ze moeten autoload=no worden bewaard of beter worden opgeslagen in hun eigen DB-tabellen.
- Tijdelijke waarden, zoals tijdelijke waarden en vermeldingen, die alleen relevant zijn voor specifieke URL’s.
Tips voor ontwikkelaars
- Wanneer u een optie maakt in de code add_option() of update_option(), stelt u altijd de autoload-vlag specifiek in. Voorbeeld:
add_option('my_plugin_cached_settings', $data, '', 'no');voor zelden gebruikte gegevens. - Vanaf WordPress 6.6 kan autoload ook op “auto” worden gezet, zodat WordPress zelf heuristisch beslist wat er automatisch geladen moet worden. Blijf voor kritische opties echter gericht “ja” of “nee” gebruiken.
In geval van onzekerheid, less is more! In de praktijk moeten er meestal <20-40 optiewaarden zijn met autoload=yes, en de totale grootte mag indien mogelijk niet groter zijn dan 1 MB. Het autoload=yes-attribuut mag alleen worden toegewezen aan opties die onmisbaar zijn voor elke paginaweergave, bijvoorbeeld algemene thema-instellingen of centrale configuraties van actieve plug-ins. Opties die alleen in de backend nodig zijn of grote hoeveelheden gegevens bevatten, moeten zeker autoload=no gebruiken.
Wanneer autoload=yes zinvol is
- Algemene website-instellingen, zoals de titel van de site, de primaire taal of het logo.
- Essentiële plugin- of themaconfiguraties die de frontend op elke pagina nodig heeft (bijv. cache-instellingen of beveiligingsconfiguraties).
- Kleine optiewaarden die vaak worden aangeroepen (max. KB-grootte).
- Widgetcoördinaten voor wereldwijd geïntegreerde zijbalken.
Wanneer autoload=no zinvol is
- Opties die alleen relevant zijn in de WP-admin of voor specifieke URL’s (bijv. plug-in-instellingen voor backend-pagina’s).
- Grote arrays/objecten (bijv. statistische gegevens, importlijsten) die de payload opblazen.
- Kortetermijnwaarden zoals transiënten of specifieke plugin-gerelateerde gegevens.
Opmerkingen voor ontwikkelaars
- Stel automatisch laden altijd specifiek in: add_option()/update_option() met parameter.
- Voor nieuwe projecten vanaf WP 6.6 kan autoload=”auto” nuttig zijn; Maar gebruik expliciet “ja” of “nee” voor kritieke gegevens.
Alleen de belangrijkste (<40) en zo klein mogelijke opties moeten automatisch worden geladen, idealiter zou de totale grootte onder de 1 MB moeten blijven.
SQL-query om grote opties voor automatisch laden op grootte weer te geven
De volgende SQL-query bevat de grootste automatisch geladen opties uit de wp_options-tabel (standaardvoorvoegsel) en sorteert deze op de hoeveelheid gegevens in aflopende volgorde. Dit maakt het gemakkelijk om de grootste geheugenvreters te identificeren en, indien nodig, gericht te optimaliseren of te verwijderen:
SQL:SELECT
option_name,
LENGTH(option_value) AS option_size_bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY option_size_bytes DESC
LIMIT 50;
Het resultaat toont de namen en bytegroottes van de top 50 opties met autoload=yes. Als een ander tabelvoorvoegsel wordt gebruikt, moet wp_options dienovereenkomstig worden aangepast.
Alternatief voor meerdere autoload-varianten (vanaf WP 6.6, bijv. ‘ja’, ‘aan’, ‘auto’, ‘auto-aan’):
SQL:SELECT
option_name,
LENGTH(option_value) AS option_size_bytes,
autoload
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on')
ORDER BY option_size_bytes DESC
LIMIT 50;
Dit geeft je de grootste automatisch geladen opties, inclusief nieuwere WP-waarden.
Regelmatige monitoring van deze waarden helpt om prestatieproblemen in een vroeg stadium te identificeren en gericht te verhelpen.
Verweesde opties veilig verwijderen uit verwijderde plug-ins
Stap-voor-stap instructies
Back-up van de database
Voordat je wijzigingen aanbrengt, moet je een volledige databaseback-up maken, bijvoorbeeld via phpMyAdmin of plugin.
Verweesde opties identificeren
Zoek naar optienamen die het voor- of achtervoegsel van de verwijderde plugin bevatten, bijvoorbeeld met:
sql:
SELECT option_name FROM wp_options WHERE option_name LIKE '%beispielplugin%';
Plugin-specifieke patronen zoals _pluginname_setting helpen hier vaak.
Verweesde opties uitschakelen
Voordat u het attribuut automatisch laden, kunt u dit instellen op ‘nee’:
sql:
UPDATE wp_options SET autoload = 'no' WHERE option_name = 'EINTRAG';
Kijk of de site blijft werken zoals verwacht om onverwachte bijwerkingen te voorkomen.
Verweesde opties verwijderen
Als er na een proefperiode geen fouten zijn, kunnen de opties veilig worden verwijderd:
sql:
DELETE FROM wp_options WHERE option_name = 'EINTRAG';
U kunt ook verwijderen volgens verschillende patronen:
sql:
DELETE FROM wp_options WHERE option_name LIKE '%pluginname%';
Voor voorbijgangers:
sql:
DELETE FROM wp_options WHERE option_name LIKE ('%transient%');
Geautomatiseerde tools en plug-ins
Gebruik plug-ins zoals “Advanced Database Cleaner” of “WP-Optimize”, die vaak automatisch verweesde opties detecteren en deze via een gebruikersinterface ter bevestiging aanbieden.
WP-CLI-commando’s vereenvoudigen het verwijderingsproces voor ontwikkelaars, bijvoorbeeld de wp-optie verwijderen option_name.
Belangrijke opmerkingen
- Verwijder nooit opties die onveilig kunnen worden toegewezen – onderzoek altijd tot welke plugin/thema ze zouden kunnen behoren.
- In het geval van ongebruikelijke voorvoegsels helpt het om historische plug-innamen te onderzoeken of oudere plug-inbestanden te bekijken.
- Vermijd ten koste van alles: het verwijderen of wijzigen van kritieke WordPress-kernopties!
Regelmatig opschonen vermindert de databasegrootte en het risico op problemen met de laadtijd. Plug-ins zoals Advanced Database Cleaner of WP-Optimize ondersteunen gerichte opschoning en automatisering van de besturing.