Overview
At times, you may notice your WordPress site runs slowly or doesn't run as well as it should on DreamPress. There are several reasons this can occur.
This article describes some of the basic steps you can take to address issues that commonly lead to slow or inefficient websites on DreamPress.
Caching
Caching plugins
DreamPress comes with built-in server caching. Caching creates static versions of your site, which means a lot less has to be processed by the server when a customer visits your site. This allows your site to load faster and also helps manage larger amounts of traffic.
Many guides, including DreamHost’s, recommend caching plugins such as WP Super Cache on WordPress sites. However, since DreamPress comes with built-in caching, a third-party caching plugin such as WP Super Cache is not necessary and could even conflict with the DreamPress cache. You should, however, keep an updated version of the Proxy Cache Purge plugin installed on your DreamPress site. This plugin provides tools to manage the DreamPress cache automatically and analyzes your site’s ability to cache.
Is my site using the DreamPress cache effectively?
Due to the thousands of plugins and customizations available for WordPress sites, not all sites automatically work effectively with all caching methods. The Proxy Cache Purge plugin offers an option in your WP-Admin panel for you to check page URLs on your site to make sure they are caching successfully. If a page on your site is not caching, the 'Check Caching' option tells you the items you can check that may resolve this issue.
To access this option:
- Open the WP-Admin page for your DreamPress site.
- Find the Proxy Cache > Check Caching menu in the left pane of your WP-Admin dashboard:
- Click the 'Check Caching' option.
- The 'Check Caching Status' page opens where you can check a URL on your site:
- Enter a URL in the 'Check A URL On Your Site' field box, and then click the Check URL button.
This feature auto-scans the URL you selected and reports back any issues it finds as well as any known problematic plugins.
Checking your plugins
Certain plugins might be written in a way that interfere with proper caching of your site’s pages and content. You can use the Proxy Cache > Check Caching option mentioned above to identify a specific plugin that can cause this interference.
For optimizing plugins in general, see the following article:
Checking your theme
While the available themes on wordpress.org are free and safe to use, some are better than others. When shopping for a theme, be sure to search online to determine if any users have complained about speed issues when using it. These results can greatly help you determine which theme is best for you.
A quick way to check if your theme is causing issues with your site is to revert back to the default theme (such as 'Twenty Seventeen') and see if that resolves any issues with your site.
To change the default theme:
- Log into your WordPress site's panel.
- In the left pane, click Appearance > Themes.
- Search for the default 'Twenty Seventeen' theme.
- Click the Activate button.
Once your site is using the Twenty Seventeen theme, use the tool mentioned above to check if this improves your site's performance.
Checking your database
Using the WP-DBManager plugin to optimize your database
You should routinely optimize your site's database to avoid a "fragmentation" effect. The simplest way to do this is to use the WP-DBManager plugin which includes a function to optimize your database as well as the ability to schedule this optimization to run at a desired time (recommended once per month at least).
View the 'Managing WordPress plugins' article for instructions on how to install a plugin.
Once installed, click 'Database' in the left pane:
Then, click Database > Optimize DB in the left pane.
In the center pane you'll see a list of your database tables. Click the Optimize button at the bottom.
Using wp-cli to optimize your database
You can also use wp-cli to optimize your database.
To optimize your database using wp-cli:
- Log into your server via SSH.
- Make sure you're in your WordPress site's directory. Make sure to change username to your Shell user.:
[server]$ cd /home/username/example.com
- Run the following command to view all database command options:
[server]$ wp help db
- To optimize the database, run the following:
[server]$ wp db optimize
Using SSH to optimize your database
See the following article for details on how to optimize your database via SSH:
Using phpMyAdmin to optimize your database
See the following article for details on how to optimize your database via phpMyAdmin:
Checking the size and contents of your wp_options table
In addition to optimizing your database, it's useful to check the size of your wp_options table. Typically this table should be under 1 MB, but plugins and other customizations can make this much larger. You will typically notice some slowness on your site if this table is over 3 MB.
Determining which pages receive the most visitors
Every DreamHost website stores access.log information about the site. These logs can become very large and difficult to read, but there are a few commands you can run to quickly tell which site is receiving the most traffic. See the following article for further information:
Optimizing image sizes
The size of your images can often cause a site to load slowly. The larger an image, the longer it takes for it to download on the visitor's end. Make sure that your images are as small as possible while still preserving their quality. You can use a free site such as https://tinyjpg.com/ to compress and optimize your images. You can also use a plugin to help you do that, such as:
Minifying your scripts
You can also minify your HTML/CSS/JavaScript code to help improve the time it takes to load your site. There are various plugins you can install to help you minify this code, and you may need to do a little trial and error to find which one works best for your site. Here are a couple options:
With Autoptimize, it is best to start with as few options as possible, as some of the options may cause errors on your site. You may want to start with just minifying CSS and JavaScript only.
Are there any missing files in my WordPress installation?
Your WordPress installation may be missing certain key files. This can result in 404 errors and can cause a server to work harder than normal as it tries to find them. This results in considerably slower load times, especially on popular websites.
One of the most common missing files is the favicon (favicon.ico) file. DreamHost automatically generates a blank favicon for all domains by default, but if you notice it's missing, you can easily create a new one.
Adding a favicon if one doesn't already exist is simple to do. You can add one using an FTP client, or by logging into your server via SSH. Once logged in, create a blank file in your website's directory.
If you're creating it via SSH, run the following commands after logging in. Make sure to change username to your Shell user.
[server]$ cd /home/username/example.com [server]$ touch favicon.ico
The touch command creates a blank favicon.ico file. A blank icon is far better than one that is missing, since your server will not work harder looking for it.
To check for any other missing files, you can run your site through Pingdom Tools. A single pass through the site shows you any missing files that can cause your site to load slowly. Simply look for filenames in red and then either replace them or remove references to them in your themes or posts.
Other common issues for poor performance
There are many more reasons why a site may run slower than you expect. See the following article for further information on how to troubleshoot other issues such as CSS, JavaScript, and other online issues. Please note that not all items listed will pertain to your DreamPress site:
Using online tools to troubleshoot your website
Site load analyzation tools
There are various online tools you can use to analyze your website. These types of tools can provide insights into how your website is performing, identify issues that are causing your site to load slower than expected, and even recommend solutions to help you troubleshoot further.
View the following article for a list of tools you can use to troubleshoot your site:
Browser tools
The following are a few recommended browser tools to help you troubleshoot performance issues with your WordPress site:
- Firebug — A very handy tool that displays what is loading and how long it takes.
- YSlow — A companion to Firebug that can provide some pointers on what to fix and how.
- Web Inspector — Built into Chrome and Safari, it provides much of the same information as Firebug.
You can use the following tool to check your DreamPress server:
- Load Impact — A load testing service that hits your server with many simultaneous users. The free version provides a 50-user test. Be sure that you have caching enabled before running it. During this process, you can watch the CPU load with top, RAM levels with free -m, or both with vmstat 1 (Ctrl + C to stop).