Support forum for my wordpress plugins. Here you can get support for Plugin Organizer, Honeypot Toolkit, and Flexible Captcha.

Please or Register to create posts and topics.

How to safely speedup the admin dashboard

Firstly I want to thanks you for having produced such a great plugin. I have been using it for about a year on a few websites. My latest one is a community site with buddypress, bbpress, woocommerce (with sub and membership) and another 50 or so plugins. Suffice to say the site was not running fast despite the 4CPU and 5GB of RAM on a siteground host. Over the past 2 days i have tunned the site using your plugin and my cpu dropped from a 3CPU average to just under 2. Thank you!!

That was for the front end. My next mission is to tune the backend because this is dreadful. It takes easily 10-30sec to get a page loaded or to save any action.

My only issue is that I do not know what it is safe to disable. I read in another post of yours that one should ensure the admin-ajax.php is always running. Does the backend works like the front? meaning that unless I am in one of the woocommerce setting pages, i can simple disable it everywhere else (except the admin-ajax.php mentioned above)? Same with buddypress and other plugin. DO i simply need to ask myself: Does X plugin has any action in this page? I guess I am a little confused between what is happening in the admin page i open and all the actions that happen in the backend. I am not sure whether i am being clear here.

Here is an example:

I use mycred to count and distribute points to my community members based on their activities.

While the mycred plugin does not have any effect on the visual of my front end pages (except when I have a leaderboard), is it safe for me to disable it everywhere? Will it still picked up on the activities of my users (such as creating a topic in the forum) and allocate the points to them?

So while this example was for the front end, the same logic applies to the backend.

I look forward to reading your feedback and recommendations.

 

For the mycred plugin anywhere it is disabled it will not pick up any activity because it won't be loaded.  So you should leave it active on every page.

 

For the admin area it can be difficult to figure out which plugins can be disabled where.  If you disable a plugin then it's menu items will not be loaded and you won't be able to get to the admin pages for that plugin.  One way you can get around that is to disable all plugins on the admin and create plugin filters for their admin pages.  Then create a plugin filter for the dashboard page and the ajax endpoint. The permalinks for the filter would be  http://www.thedomainofyoursite.com/wp-admin/index.php and http://www.thedomainofyoursite.com/wp-admin/ and http://www.thedomainofyoursite.com/wp-admin/admin-ajax.php.  Don't check the also affect children checkbox and enable all plugins on this filter.  Then you can go to the dashboard to access whatever admin page you need.  This can be a little difficult to maintain.  It may also cause problems with some plugins as I have no way of knowing what urls the plugins are using.  You'll have to figure that out yourself.

 

You can also just figure out which plugins are causing the most load on the admin and disable them in the way I explained above.

Thank you very much Jeff for you insightful reply. It has really helped me and my admin site is so much faster.

 

I think your plugin should be built in wordpress. Given the popularity of wordpress and the multitude of plugins out there any decent site will slow down dramatically under the volum of active plugins.

While I like the simplicity of wordpress I find the way the plugins pages work is messy. Each uses post and id wihtout mentioning the plugin the page is about. Imagine if we had the post type in each setting url we would then be able to create rules to disable plugin throughout the setting pages of another plugin. This is where your plugin is limited by the nature of wordpress. I am not sure whether i am being explicit here but anyway thank you.