Site Loading Slowly
There are lots of reasons why this might be happening, but you're first step should be to run through our Standard Troubleshooting Steps before moving forward. This will ensure that you are working with the same versions that we are, and everyone is on the same page.
From there, we've seen users run into Four specific issues (depending on if the a FrontEnd page or a Backend page): WordPress Requirements, Installation/Server Limitations, Plugins & Images.
=== Gather Information ===
Navigate to http://tools.pingdom.com/fpt/ and test your url. This will provide a ton of information including a waterfall of what it takes the most time to load.
=== WordPress Requirements ===
Make sure that you're installation is able to support a WordPress install in addition to meeting the requirements for the latest version of WordPress: https://wordpress.org/about/requirements/
=== Fixing/Increasing WordPress/Server Limitations ===
01 - Touch base with hosting: Different servers/hosting services place standard limitations on WordPress setups/users. These are normal and easily increased by either touching base with you're hosting service, or by doing it manually. If you do want to touch base with you're hosting service, they should also be able to provide you with an error log and provide some additional insight as to why this is occurring for you.
02 - Fixing/Increasing Limitations: From there, the manual option is pretty easy, but can be intimidating if you're not familiar with the workflow.
- wp-config.php - The most likely fix is to add this to your wp-config.php file:
define('WP_MEMORY_LIMIT', '96M'); define( 'WP_MAX_MEMORY_LIMIT', '256M' );
- php.ini - From there, you can Create or Edit your php.ini file with this:
; Increase maximum post size post_max_size = 64M ; Increase execution time max_execution_time = 300 memory_limit = 99M upload_max_filesize = 64M
- .htaccess - Or you can edit your .htaccess file with this:
php_value memory_limit 256M php_value upload_max_filesize 256M php_value post_max_size 256M php_value max_execution_time 300 php_value max_input_time 300
- functions.php - Beyond that, we've seen this added to some functions.php files (within the theme):
@ini_set( 'upload_max_size' , '64M' ); @ini_set( 'post_max_size', '64M'); @ini_set( 'max_execution_time', '300' );
=== Plugins ===
Most of the time, we see users on various setups see long "waiting" times for various plugins and scripts. The simplest way to describe waiting is when the browser is waiting for data from your server - thus a server side process. There are different variables that can contribute to this, but essentially - not all servers are created equal. Different hosting services have different setups, server configurations, limitations, interpreters, versions, etc. - and some are better setup for hosting WordPress sites.
All that said, there are some things that you can do on your end to troubleshoot this - and in our experience, it comes back to admin-ajax.php.
01 - Max Mega Menu:
- If you are not using the Max Mega Menu specifically (ie, you are only using flyout menus and not the actual mega menus with widgets), then you should deactivate this plugin.
- Navigate to your Plugins directory > Scroll down to the Max Mega Menu plugin > and deactivate the plugin
- You may also need to navigate to Appearance > Menus to reassign anything that might look out of order (but this is unlikely).
- Then, purge any server cache and clear you browser cache.
That should remove the ajax call being used by this plugin that's found "waiting" in the waterfall data I mentioned earlier.
- If that doesn't work, or if you would like to maintain that plugin as active in your directory, then you'll want to update this plugin to it's latest version.
- Navigate to your Plugins directory > Scroll down to the Max Mega Menu plugin > select the radio button for this plugin > scroll back up to the top > and from the dropdown of options > choose Update and click Apply to update the plugin
- Then, check out the official response from the plugin author about the update that included a patch/workaround/option for servers that slow with various ajax requests: Plugin Option Explained
02 - Ajaxy Live Search:
We haven't had any specific reports for this plugin, but it does technically fall within the scope of this subject and could be the root waiting issue for someone out there. If you are running this plugin and seeing issues, we recommend deactivating it while you troubleshoot this to limit possible influences.
We recommended these plugins with some themes because of their huge benefit to the majority of users. They are also provided free by the plugin authors ;)
03 - Touching Base With Your Hosting Service:
Finally, if you are still having issues, you can always touch base with your hosting service to see if they can provide you with any additional insight into this issue. It's possible that they are either not specifically setup for WordPress or have a different configuration for ajax requests. Hosting services also limit various resources like php memory, upload sizes, etc. - so it doesn't hurt to touch base with them to A) see if they can increase some of your limits (if applicable) and B) see if they have any additional insight as to how this plugin/issue can be better handled.
=== Images ===
00 - Size: The very first thing that you can do is re-size the image so that you are only using the size image you need.
01 - Resolution: Next, if you have access to Photoshop or some other image editing program, make sure that you are Saving for Web @ 72 (anything over that is unnoticeable and unneeded).
02 - Compression: You'll also want to Save for Web as JPGs and avoid PNG files unless you absolutely need transparency. To go a step further, you can also use progressive jpgs to speed up the load time for images that are not loaded within the fold.
03 - Upload Compression: If you haven't started using a service like smushit, now is the time. There is even a WP plugin: https://wordpress.org/plugins/wp-smushit/
04 - Caching: Caching plugins and caching services provided by your hosting service are hugely helpful. They don't increase the speed on the first load, but they will every-time after that.
05 - CDNs: I'm personally not a huge fan for various reasons, but it's worth mentioning if you're interested in going the distance for speed.
06 - Hosting: Finally, the end-all-be-all is faster hosting and/or a host that is setup specifically for WordPress (ie. WP-Engine).
If you're still having issues and want us to take a look, feel free to file a support request with enough information so that we can help out.