• Skip to primary navigation
  • Skip to main content
  • Skip to footer

WPJohnny

WordPress Performance Guides and Reviews

  • Start a WordPress site
  • Hosting
  • Themes
  • Plugins
  • Blogging
  • Marketing

Clean up wp_options table (autoloaded data)

WordPress hosting Feb 11, 2019 by Johnny 42 Comments

My favorite commands for cleaning up autoloaded data from your wp_options table.

Why should you remove autoloaded data? It’s because this type of data is loaded on every page load and often contains data that is no longer used (left behind by already deleted themes/plugins) or left behind because WP-cron wasn’t working and some plugins didn’t clean up after themselves.

Get into your phpmyadmin tool from webhosting control panel (cPanel, Plesk, etc) and follow the commands below!

How much difference can autoloads make?

HUGE! Freaken huge! I’ve seen awful bloated sites with many MB of autoloaded data. Cleared it all and the whole site felt so much lighter, both on frontend and backend. Keep in mind y’all, the backend can’t be cached. Cleaning autoloads definitely has a measureable impact on massively bloated sites and one of the advanced tasks that separates pros from non-pros.

NOTES:

  • Backup your database before trying any of these optimizations.
  • If your database has a prefix (e.g. “wp_123abc_” instead of only “wp_”), then retype SQL commands below using the prefix “wp_123abc_options” instead of “wp_option”.

1. Check autoloaded data size

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

This one shows you how big the autoloaded table is. Anything above 1MB really badly needs to be cleaned up; I’ve seen sites with even 40MB (no wonder they crashed!). I try to stay below 500kb if possible (although even 1MB is considered OK). If you have 500kb or less, you can stop here!

2. List top autoloaded data entries

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

This will list the top 30 autoloaded data entries in the table. Delete the ones you know aren’t being used anymore. You can also increase the DESC LIMIT 200 to a higher number like 300 or 500 if you want to see more items. Usually the first 10-50 items make up the bulk of your autoloaded data anyway. And it’s usually only a few plugins that are creating most of the bloat. (Although some really old sites may have tons of stuff left over from deleted themes and plugins.)

3. Find specific autoloaded data

SELECT * 
FROM `wp_options` 
WHERE `autoload` = 'yes'
AND `option_name` LIKE '%jetpack%'

This command is useful for targeting specific plugins that you KNOW for certain you aren’t using any longer. This is great for cleaning up remnants left from old themes and plugins. Simply replace the string “jetpack” with anything else you like. You’ll also notice that many plugins don’t use their full name. For example, items related to “Full Velocity Minify” plugin might be listed with the string “fvm” in the database.

4. Tracking down mystery autoloads

Did you see some giant autoloads but you’re not sure whether or not you can delete it? Don’t you worry, I have a few handy tricks up my sleeve:

  • Click on edit and look at the data inside. Sometimes they give you a clue what it’s used for.
  • Search the option name in Google in quotations. It might also help if you type the word “WordPress” or “plugin” or “theme” before it.
  • You can also try using step #3 above, but search only the first prefix of the option name. For example, if the full name is “wds_service_results” then you can do step #3 but replace “jetpack” with “wds_”. Sometimes, you’ll find the other option names with more helpful data to track down which plugin it is.
  • Last but not least, you can simply change the autoload value to “no”. (Then change it back if anything breaks, or delete after a month if all is well.)

Johnny’s personal autoload removal list

A list of the biggest autoload offenders that I often run into. If you see any autoloads you aren’t familiar with. Google around to see what they might be related to. Perhaps an old theme or plugin you haven’t used in a while. (Obviously, you should not delete any autoloads for active plugins!)

Plugins with high autoloads

  • BackupBuddy
  • BeRocket
  • cherry_customiser_fonts_google – probably came from some Google fonts plugin
  • Image Map Pro for WordPress
  • Jetpack
  • Mobi by Phpbits
  • Pegasus Accelerator WP
  • Redirect plugins
  • Redux framework (any theme using this)
  • Revolution Slider (of course!)
  • SchemaPro
  • Security Ninja
  • Spectra Gutenberg Blocks
  • Thrive Architect/Leads
  • transients – some people don’t realize they have 40mb of transients sitting there! (YIKES!)
  • WPMU DEV (and their many plugins)

There’s hundreds more plugins with awful autoload…find them all! (Feel free to report in the comments and I’ll add them here.)

Themes with high autoloads

  • Martify

Share this post:

Share on FacebookShare on X (Twitter)Share on LinkedInShare on WhatsAppShare on EmailShare on SMS

Read all my posts on WordPress hosting

About Johnny

Right on the edge of WordPress development! 10+ years of WordPress design, development, hosting, speed optimization, product advisor, marketing, monetization. I do all that.

More WordPress Guides

How to Run a LOW-MAINTENANCE Blog

MANAGED WordPress Hosting – PROS and CONS

Cloudways Managed Hosting Review (2019)

CyberPanel server commands and important directories

Cloudways vs RunCloud – Managed WordPress Hosting Comparison (UPDATED 2020)

Couchsurfing B-Corp Is a Good Thing

Reader Interactions

42 Comments

  1. Adam Polinsky

    February 13, 2019 at 7:57 pm

    Will removing autoloaded data improve speed on the frontend after caching? My autoload is currently 0.67MB. If I bring it down below 500kb will I see a big speed boost?

    Thanks!

    Reply
    • Johnny

      February 14, 2019 at 11:52 am

      That won’t be much of a difference on front-end. But might make your backend feel 5% faster.

      Reply
  2. Sascha

    June 24, 2020 at 9:11 am

    Just came here via your latest article about Astra 😉
    On one of my bigger sites I had an autoloaded table of 1.5 MB, so I went for Step 2.
    The biggest entry (made almost 80% of the 1.5) is named “ct_svg_sets” and contains lots of stuff related to font awesome.
    Have you heard if this before? Or do you know about which plugin may have added or is still adding up to grow this field?
    Cheers 🙂
    Sascha

    Reply
    • Johnny

      June 24, 2020 at 1:34 pm

      Sascha, have you tried my tactics above for figuring out which plugin that is?

      Reply
      • Sascha

        June 25, 2020 at 1:48 am

        Jup, but no result came up. I will run a DB-backup, delete this entry and test the site thoroughly afterwards … Let you know if I find out any related plugin, so can add it to your list if you like 🙂

        Reply
        • Blue

          August 25, 2020 at 3:10 am

          How does it go? I have the same situation in my database as well? 😳

          Reply
    • Johnny

      September 13, 2020 at 12:08 pm

      I just searched and saw “ct_svg_sets” is related to Oxygen Builder. https://www.gitmemory.com/issue/soflyy/oxygen-bugs-and-features/770/687011191

      Reply
  3. Pratyaksh Somani

    January 11, 2021 at 10:00 pm

    One of my website has autoload size of 2.67MB.
    I Started investigation.
    Add these plugins also:
    1) Digits
    2) RankMath
    3) Yoast (wpseo) (I uninstalled this plugin prior to install Rankmath but the table was still there)
    4) Image Optimizer, Resizer and CDN – Sirv (adds lots of tables and autoload data left after plugin removal)
    5) Facebook for Woocommerce (wc_facebook)
    6) Oxy toolbox (oxy_toolbox)
    7) WP Notif

    Also, Fast velocity has tables with name ‘fastvelocity’ also

    Reply
    • Johnny

      January 11, 2021 at 11:22 pm

      Hehehe, now you are learning and finding them all!!! There are so many of them!

      Reply
      • Pratyaksh

        January 14, 2021 at 11:18 am

        Yes Johnny, in my free time I read your blog and FB group comments to optimize website and server performance to learn something new…

        Reply
    • Igor

      January 21, 2021 at 8:19 am

      Hi Pratyaksh, we’ve minimized Sirv’s impact on the autoload size in the latest update.

      Reply
  4. Mateusz

    January 28, 2021 at 2:24 am

    Awesome stuff! Thanks! Just cleare wc_facebook autoloads >800kb

    Figthing with ct_svg_sets as well now! 😉

    Reply
    • Johnny

      January 28, 2021 at 2:08 pm

      Happy for you. 800kb is a lot!

      Reply
  5. Christoph

    March 21, 2021 at 1:42 am

    Hi johnny. Thrue reading alot about autoloads i also found the advanced db cleaner pro. It seems it dies the same job but maybe for some nit technicer safer. U have experience with the plugin?

    Reply
    • Johnny

      March 21, 2021 at 9:28 am

      Yes, I’ve used and really liked Advanced DB Cleaner. If it works well and easy to understand for you, use it.

      Reply
  6. Laura

    July 26, 2021 at 8:10 am

    Great article, Johnny!!
    I noticted a big table in my database: _transient_dirsize_cache
    Usually transients are safe to remove, but the “cache” in the name makes me a bit confused…
    Do you know if it is safe to delete?

    Reply
    • Johnny

      July 27, 2021 at 8:22 am

      The answer for this one is to search it on Google and see if it’s related to a critical plugin you’re using. If not, then try my suggested step of setting its autoload setting to “NO” for a week before deleting.

      Reply
    • Sam

      August 9, 2021 at 3:12 am

      Hi Did you ever work this out? I have searched google and cannot find anything conclusive. I did come to the conclusion it was used by Woocommerce but I don’t know. Mine is also very large for autoload.

      Reply
    • karim

      October 2, 2021 at 5:39 pm

      me too have this autoload option (_transient_dirsize_cache) with a big size about 1MB
      i searched all the internet i do not know which plugin use it
      please if you have a good solution till me
      thanks

      Reply
      • Nate

        December 8, 2021 at 2:47 pm

        Looks like a trac ticket has been created for this in WP Core. https://core.trac.wordpress.org/ticket/54221

        Reply
  7. Kingsley Felix

    September 5, 2021 at 1:42 am

    So how do you remove them when you find them?

    Reply
    • Tristan

      May 23, 2023 at 1:00 am

      You can deactivate them with a neat little plugin called Supervisor. When you deactivate an autoload option, you are not removing it. You are just telling WordPress to not load that option automatically on every request it does. In other words, the option will be loaded only when it is needed.

      Reply
      • Johnny

        May 23, 2023 at 12:46 pm

        Cool idea. I’ll check it out myself.

        Reply
  8. Michael Baierl - Einfach Websites

    October 18, 2021 at 12:21 am

    Hi Johnny,
    I doubt this makes any huge difference… the database is made for storing data and loading a few megabytes might slow down the website a little bit. But it’s just a little bit, compared to loading all the assets and everything else on the page.
    So I think this “fix” is in the same league as cleaning up unused .htaccess-entries. Hard to measure, if at all.
    Did you measure it?
    Michael

    Reply
    • Johnny

      October 18, 2021 at 8:44 am

      Your comment just makes me want to scream.

      But I’ll try a brief explanation instead.
      – Autoloads can make a massive difference that’s not only measure-able but FELT.
      – Database weight is not all equal. Most DB items are not loaded in memory. Autoloads however are prioritized and therefore always loaded in memory…making them much heavier and more impactful than other “regular” database data.
      – This fix is definitely not in the same league as cleaning unused .htaccess entries. I hope whoever said that is not an expert you’re paying money for.
      – Measuring autoloads is not the same way you measure (I assume) waterfall items on a simple speed test. Static data sent over network transfer weight does not impact server load the same way with data loaded in memory.

      Anyway. What I say today probably won’t make any sense to you. But when the time comes…you’ll appreciate knowing how to clean autoloads. This task is one of what separates the pros from the non-pros.

      Last but not least…I don’t waste my time free guides with no immeasurable impact. Nobody has time to write (or read) junk like that.

      Reply
  9. Amar

    January 11, 2022 at 12:52 am

    Hey Johnny,
    Thanks for this awesome guide!
    I found a way to search where these tables belong. WP Hive tracks all changes caused by a plugin. I simply used the table name search on Google Custom search for WPHive.com. You can integrate it in your article if you found it useful: https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fwphive.com

    Reply
  10. David

    February 3, 2022 at 4:15 am

    Holy smokes……24MB of autoloaded data which on top position are:

    cplus_ultimate_google_fonts > 4.6MB
    ultimate_google_fonts > also 4.6 MB

    these are font packages with a lot of fonts in them.
    But…..never had downloaded such packages and want to know if I can delete these.

    Reply
    • Johnny

      February 3, 2022 at 9:16 am

      Figure out what plugin they’re coming from and decide for yourself.

      Reply
      • David

        February 3, 2022 at 9:46 pm

        Thanks Johnny. Your articles have opened my eyes. Followed up on most of your “unorthodox” suggestions and got rid of all the bloat on my site.

        Reply
  11. Niko

    May 4, 2022 at 2:54 am

    A good tool to use to know to what plugin might below a wp_options row :
    https://plugintests.com/
    there is a section on what the tested plugin adds to the db table. Not exhaustive, but pretty good.

    Reply
  12. Anthony

    September 16, 2022 at 1:28 pm

    Your blog is awesome! So much solid info for free! My wp_options table was only like 650kb but I went through anyway and removed what I knew wasn’t in use anymore. Things like monsterinsights, jetpack, and theme_mods (from twenty-whatever themes and Pinnacle theme which I had tried a while back) were my biggest offenders. Only shaved off about 75kb of autoloads BUT also shaved off a whole second of load time from the front-end of my site! Thanks a ton!

    Reply
  13. Leslie Hall

    October 21, 2023 at 3:27 pm

    Thankyou for writing this article. I am a new user of WP and was having a hard time figuring out how to clean my sites options table. I thought I was going to have to hire someone to help me until I found this article with easy-to-follow instructions.

    Reply
  14. dingonobru

    February 8, 2024 at 12:33 pm

    Hi Johnny.
    Thanks for your tutos, very helpfull.
    I’ve got only 359818 bits of autoload options (692).
    only 550 of them are used.
    i tried to remove the autoload setting for some empty options but it comes back every time
    I tried the Supervisor plugin but it show only the 10 first options who are needed anyway.
    And sometimes no informations on the option about the plugin owner (no prefix).
    For exemple i’ve got SKROLLEX theme and it create an option widget for each plugin i had or got and they are all autoloaded.
    I’m using Database Cleaner from Jordy Meow and his plugin allow me to assign an option to a plugin, if i find out….
    And when i remove plugins i can see what option i can delete if ,and only if, i assigned it before.
    My question is a lot of options are empty but got the autoload setting.
    How can i say WP only to load the used one or to load them only when needed, or not to load the empty ones, without a plugin ?

    Reply
  15. Milner

    January 20, 2025 at 6:03 am

    Thanks.

    Reply
  16. Gwyneth Llewelyn

    April 3, 2025 at 12:47 pm

    Hi there 👋

    Coming across several websites explaining the mysteries surrounding the `wp_options` table, I stumbled upon a new mystery.

    I have a blog that has been up since 2006/7, and has gone through several changes in themes and plugins. There is obviously lots of rubbish in there — to be expected. However, all articles I have read so far always assume that the `autoload` column is either `yes` or `not`. This is definitely not my case, where options such as `on` and `off` are frequent, and there are even a few with `auto`:
    “`
    select autoload, count(autoload) from wp_options group by autoload;
    +———-+—————–+
    | autoload | count(autoload) |
    +———-+—————–+
    | auto | 12 |
    | no | 395 |
    | off | 38 |
    | on | 9 |
    | yes | 947 |
    +———-+—————–+
    5 rows in set (0.000 sec)
    ““
    Now, from the magnitude of each entry, is it safe to assume that `on`/`off`/`auto` are all outdated, and only `yes` and `no` should be used?

    One wonders why Automattic thought it would be a good idea to make the `autoload` a `varchar(20)`… a simple Boolean (or an Enum) would prevent plugin writers from coming up with new, fake entries and confuse _me_.

    At least, I expect that WP will _only_ load those entries that have `autoload = ‘yes’` — the rest should be completely ignored by WP. Or at least that’s what _I_ expect…

    Reply
    • Gwyneth Llewelyn

      April 3, 2025 at 12:50 pm

      Oh… my apologies for the bad formatting. I expected Markdown to be turned on in the comments area. This was clearly not the case! Still, I believe it’s reasonably readable…

      Reply

Leave a Reply to Johnny Cancel reply

Your email address will not be published. Required fields are marked *

Footer

More links

  • Gadget reviews
  • Try my free WPJ plugins
  • Join the WPJ FB Group
  • WPJ YouTube & newsletter
  • Become a WPJ Affiliate

Popular Reviews

  • Best WordPress Hosting
  • Best WordPress Themes
  • Best WordPress Plugins
  • Best WordPress Cache Plugins

Services

  • Speed optimization
  • Speed optimization courses
  • WordPress hosting
  • Hire me or other experts
  • Client login

About Johnny

10+ years of WordPress design, development, hosting, speed optimization, marketing.
Contact me.

newsletter block

Copyright 2025 | WordPress guides by Johnny Nguyen

Click to Copy