WordPress gemmer indstillinger i tabellen wp_options, og dem, der er markeret som autoload, hentes på hver eneste sidevisning, uanset om siden bruger dem. Så længe de fylder lidt, er det en fordel. Når plugins gemmer store mængder data der, eller efterlader indstillinger, når de afinstalleres, bliver hver side lidt tungere, også de sider i en webshop, der ikke kan caches.
Her gennemgår vi, hvordan du ser, hvor meget der bliver autoloadet, hvordan du finder de store indstillinger, og hvad du sikkert kan gøre ved dem.
Hvad autoload betyder
Hver række i wp_options har en kolonne, autoload, der siger, om indstillingen skal hentes sammen med alle de andre, når WordPress starter. Det sparer en databaseforespørgsel pr. indstilling for dem, der bruges overalt, som sitets adresse og de aktive plugins. Ulempen er, at alt, der er markeret, hentes hver gang, også når det kun bruges på én side i admin.
Fra WordPress 6.6 kan kolonnen have flere værdier end det gamle yes og no: on og off, når et plugin har valgt, og auto, når WordPress selv bestemmer. Samtidig holder WordPress op med at autoloade nye indstillinger over 150 KB, medmindre et plugin beder om det. Det står i WordPress’ egen gennemgang af ændringen (på engelsk). Indstillinger, der allerede var gemt, beholder deres markering.
Hvor meget autoloader din shop?
Det hurtigste svar står under Værktøjer → Webstedets tilstand. Fra WordPress 6.6 viser den en kritisk advarsel om, at autoloadede indstillinger kan påvirke ydeevnen, når de tilsammen fylder mere end 800 KB. Står advarslen der, er det værd at kigge nærmere. Står den der ikke, er autoload sjældent årsagen til en langsom shop.
Har du adgang til databasen, fx gennem phpMyAdmin hos din hostingudbyder, kan du se det præcise tal og de største indstillinger. Tabelpræfikset er ikke altid wp_, så ret navnet til din egen:
SELECT option_name, LENGTH(option_value) AS bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto-on', 'auto')
ORDER BY bytes DESC
LIMIT 20;Navnet på en indstilling begynder ofte med pluginets navn eller forkortelse, og det fortæller dig, hvem den tilhører. Er du i tvivl, så søg på navnet.
Hvor de store indstillinger kommer fra
- Plugins, der er fjernet: Mange plugins lader deres indstillinger blive liggende, når de afinstalleres. Har shoppen skiftet plugins nogle gange, ligger der ofte indstillinger, som intet bruger.
- Plugins, der bruger indstillinger som lager: Logs, statistik, lister over produkter eller svar fra et API gemt som én stor indstilling med autoload slået til.
- Sidebyggere og temaer: Store mængder CSS, layout eller skrifttyper gemt i indstillinger.
- Midlertidige data: Uden et object cache gemmer WordPress og plugins midlertidige data, transients, i
wp_options. Dem med en udløbstid bliver normalt ikke autoloadet, men dem uden kan blive det.
Sådan retter du det sikkert
Tag en backup af databasen, før du ændrer noget, og prøv helst på en kopi af shoppen først. Gå så de største indstillinger igennem en ad gangen:
- Tilhører den et plugin, der ikke længere er installeret, kan den slettes.
- Tilhører den et aktivt plugin og bruges kun et enkelt sted, fx en log eller en statistik i admin, kan autoload slås fra, så den kun hentes, når den skal bruges. Sæt
autoloadtilofffor netop den indstilling. Pluginet virker stadig, det henter den bare selv. - Tilhører den et aktivt plugin og bruges overalt, så lad den være, og tag det op med pluginets udvikler, hvis den er meget stor.
Slet aldrig indstillinger fra plugins, du stadig bruger, og ret ikke i de indstillinger, WordPress selv har, som siteurl, home, active_plugins og cron. Er det ikke til at se, hvad en indstilling bruges til, så slå autoload fra i stedet for at slette den. Det kan altid slås til igen.
Hjælper et object cache?
Delvist. Med et object cache som Redis bliver de autoloadede indstillinger hentet fra hukommelsen i stedet for fra databasen, og transients flytter helt ud af wp_options. Men indstillingerne skal stadig hentes og pakkes ud på hver sidevisning, så store mængder koster stadig tid og hukommelse. Et object cache er ikke en grund til at lade dem ligge.
Autoload er én af flere ting, der gør databasen tungere over tid. De andre står i afsnittet om databasen i fejlfindingsguiden og i vores guide til WordPress-databasens performance. Er det PHP-koden, der bruger tiden, så se PHP-optimering i WordPress.
Ofte stillede spørgsmål
Hvor meget autoload er for meget?
WordPress’ eget tjek advarer ved 800 KB i alt. Det er ikke en grænse, hvor shoppen går i stå, men et punkt, hvor det er værd at se efter. Den enkelte store indstilling er ofte vigtigere end summen.
Kan et oprydningsplugin klare det?
Det kan vise de store indstillinger og slå autoload fra. Men det kan ikke vide, om en indstilling stadig bruges, så beslutningen er din. Slet ikke i blinde.
Vil du have hjælp?
Det svære ved autoload er at vide, hvad der trygt kan fjernes. Vil du have, at vi gennemgår din database, så læs om optimering af din WooCommerce-shop. Vi kigger gratis på din shop først og siger, hvad der skal til.