Everyone wants a site that loads quickly! Slow sites are annoying and often result in visitors leaving quickly. You can click to read more about potential causes for slow loading sites and ways to improve site performance.
About caching
To help sites load quickly, there are several tools available to site owners that can potentially add benefit. However, these tools are sometimes suggested (or even sold) to site owners without the owner fully understanding what the tool is, how it works, it’s potential pitfalls and if the tool is truly necessary. So that’s what we’d like to do here: explain what several of these tools are, how they work, and our recommendations for their use. The items that we want to focus on specifically are caching plugins and Content Delivery Networks (or CDNs).
What is caching?
In the tech world, caching means the temporary storing of data. For the purposes of websites, caching is valuable because it provides for the storing of information about a site and it’s content. And this stored information is much easier and efficient for a web browser to pull and display when a site loads. Without caching, the browser asks a website server to send all the code and images from scratch every single time the site is loaded. When this happens, the server has to process more data, which can slow down the site loading speed.
Perhaps it’s an oversimplification, but think of it this way: say someone asked you yesterday what 123 x 456 was equal to and you did the equation by hand and gave them the answer. Now suppose today, someone again asked you what 123 x 456 was equal to. Would you rather have the saved answer from the prior day to give them right away (i.e. cached answer)? Or would you want to redo the calculation by hand all over again?
Does ProPhoto utilize caching?
Yes, when it is possible, ProPhoto will cache or store certain information about your site for faster loading time. Without getting into all of the technical details of “how“, three of the main items in a ProPhoto site that ProPhoto caches are:
-
- All of the customization settings made in “ProPhoto” > “Customizer”
-
- Any ProPhoto Grid displayed on the site
- Any ProPhoto gallery displayed on the site
ProPhoto stores all of the information about these items in a way so that when a ProPhoto site is loaded in a browser, the stored information about these items is used, instead of the server having to recalculate/process all the information for these items each and every time. Considering how many customization options are available within ProPhoto and the amount of data within a grid or gallery, the caching that ProPhoto provides for these items helps alleviate additional server processing.
So what does a separate WordPress caching plugin do? Are they helpful?
Caching plugins primarily store content information (i.e. posts and pages) for your site and serve that stored information when it is accessed. So, if you have a post about “Fred & Jane’s Wedding” on your site with 20 images on it. The caching plugin will store that post’s information for you so that every time the “Fred & Jane’s Wedding” post is loaded in a browser, the plugin serves up the post content directly from the stored information, rather than the server itself having to process the post from scratch every time. As such, WordPress caching plugins can also help speed up your site’s load time. Just be aware that they are not a guarantee to make your site load faster, there are a lot of factors that come in to play with site load time.
Caching plugins tend to offer a lot of options, some of which can be a little confusing. Most of these advanced options (e.g. minification) should be avoided as they duplicate something ProPhoto is already doing or they cause problems with the theme. What you really want the plugin for is browser caching.
Should I use a caching plugin with ProPhoto? If so, which one?
If you are using ProPhoto, our recommendation is that you first try without a caching plugin. Your first attempts at increasing page load speed should focus on ruthless image compression and limiting the number of images you are asking any one page to load. You are welcome to try using a caching plugin, though. The two most common are likely W3 Total Cache and WP Super Cache. Either of these should work (as should others) with a few caveats.
- Depending on the settings, realize that you can run into various problems including design settings from ProPhoto not applying and posts/pages not displaying updated content. In these cases, clearing the cache in the plugin settings often solves the problem, but not always.
- Disable any minification options for HTML, CSS and JavaScript
About CDNs
What is a CDN?
A CDN, or Content Delivery Network is a series of connected servers, located in various locations around the world that have access to and deliver the same site content to visitors. (One of the more popular ones out there that our customers run into is called Cloudflare.) CDNs are marketed as a tool to enhance site load times and they do this in several ways. First, and primarily, they can enhance load times by loading the site for a visitor from a server that is nearest the visitor’s location. So, for example, if someone in Australia is trying to load a site that is originally based in the U.S., the CDN will determine where the visitor is located (in this case Australia) and will serve the site from a server located in Australia (if available), or the next nearest location, instead of serving it from the U.S. The closer proximity of the server to the viewer’s location, the faster the site will load.
Another way that CDNs try to enhance website’s load time is by compressing, or minimizing a site’s source code. Each CDN does this in their own unique way and how they do it exactly is not always clear. But basically, a CDN will take a site’s source code and using it’s own methodology will find ways to compress the code into smaller bits, so that when the server has to provide it to a browser, it will load faster.
Additionally, CDN’s cache site content and provide this stored information when a request for a post/page is made, thereby alleviating server load. In theory, once a post/page is cached, the cached version is updated on all of the different servers around the world on the CDN.
So should I use a CDN?
Our general recommendation is that a CDN is most likely not necessary, and can potentially do more harm then good. Granted, there are a small number of ProPhoto users who travel the world and have visitors from all over the world visiting their sites. And for these folks, a CDN may help site load times for their worldwide visitors. But the vast majority of ProPhoto users are marketing to a specific domestic location, and have no need for a service like this. If you are a wedding photographer located in Billings, Montana and you’re marketing to that city and the surrounding areas, you probably aren’t going to be too worried about site load times for visitors from Kyrgyzstan. And because most CDNs are usually a paid service, it is hard to warrant spending extra for a service like this.
As for the other services CDNs offer, like the code compression and caching services, we have often experienced way more issues with these services than benefits. Often times the way a CDN compresses or minimizes code can render certain functionality in ProPhoto sites inoperable. Additionally, how and when a CDN updates their cache can be a bit of mystery. Sometimes a CDN will load an older version of a post/page, even after an update has been made. Additionally, while in theory all servers on the CDN should update their cache at the same time, we’ve heard reports of different versions of sites appearing on the different servers.
So all in all, our recommendation is to avoid using a CDN if you can. For most site owners it’s really an unnecessary service, and in the end can cause more problems than it’s worth. But…
Fix caching and CDN problems
If you are having issues with a caching plugin or with a CDN service like CloudFlare, the instructions below may help you resolve the issues you are having with a few changes. Click to view instructions for a couple popular caching and CDN tools that may cause you trouble:
Adjust CloudFlare settings
- Login to your Cloudflare settings area
Typically you access this area in your web hosting control panel area. - Click on the “Advanced” link in the Configuration area for your site.
- In the “Advanced Settings” area that appears, find the “Minification” option, which by default is set to Javascript & CSS.
- Change the “Minification” setting to Off to disable the option.
- Click the “Purge” button next to “Cache Purge” to clear Cloudflare’s cache of your site.
Check to see if this fixed the problem for you.
If you continue to have trouble, you might try disabling the CloudFlare service entirely for your site to see if that helps.
If you continue having trouble, contact us so we can continue troubleshooting with you.
Endurance Page Cache
Bluehost and some other companies may provide built-in tools in WordPress. A bundled plugin called Endurance Page Cache may cause trouble when active as you customize your ProPhoto design.
Clear the cache files from your server
- Login to WordPress and visit your “Plugins > Installed plugins > Must-Use” screen.
- If you see a link to purge the cache in for the Endurance Page Cache plugin, then click that option to purge the cache – seen here:
Hey, I don’t have that Purge Cache option!
If you do not see the Purge Cache option when the plugin is enabled, you can follow these steps:
- Login to your Bluehost account – this should work:
https://my.bluehost.com/cgi-bin/cplogin - Go to your “Hosting > cPanel > Files” account area and look for the File Manager tool. Click it to view your server file system. (you can go to the “web root” for your domain name)
- Use the File Manager tool to locate your WordPress
wp-content
folder and inside you will find theendurance-page-cache
folder. - Select and delete the folder
Click here for a video showing the above steps to delete the folder.
Disable Endurance Page Cache plugin
After you have cleared the cache from the system you may not have any further trouble.
But if you are making more customizations in ProPhoto, or if you repeatedly have issues, you may want to disable the plugin so it stops its problematic caching altogether.
- Go to the “Plugins > Installed Plugins” area in WordPress.
- Click the “Must-Use” link along the top.
- Find the Endurance Page Cache plugin, and click the Disable link to turn it off, seen here:
After disabling the plugin, if you continue to have trouble, contact us for further troubleshooting help.
Endurance Browser Cache
“Browser caching” happens when you visit a website and content in the site is saved on your computer for faster loading – like font files, logos, backgrounds, or other images that will be needed regularly for the site as you navigate around.
These saved files will automatically be refreshed after a certain amount of time, but this can be frustrating if you are in the middle of making several changes to your site design.
Check your site without browser cache
A quick way to see if the problems you have are caused by browser caching is to simply load your page in a private browser window or tab.
Load your problematic address in a new private browser window, and if the trouble you’re having is gone, then your browser cache is probably the culprit.
Clear your browser cache
Follow the instructions for your browser to clear the cache, which should resolve the issue.
- Clear cache in Google Chrome
- Clear cache in Safari and clear cache in iOS Safari
- Clear cache in Firefox
- Clear cache in Microsoft Edge
- Clear cache in Internet Explorer
Disable Endurance Browser Cache
If you have a Bluehost account, there may be a special plugin which forces your browser to cache content.
- Visit the WordPress screen “Plugins > Installed Plugins > Must-Use”
- Look for the Endurance Browser Cache plugin and disable it.
Since caching is a good thing when a website has been completed, it’s a good idea to turn this on when you’ve finished making edits to your ProPhoto design.
Still having trouble? Be sure to contact us for further troubleshooting help.