Statistically speaking, your WordPress website is slow because:
- it’s on a crappy server
- you don’t have the technical know-how to optimize your site
- you’re asking your site to do way too much
You can fix a lot of it yourself.
Yes, WordPress is slower than “typical” websites. It’s by design. It wasn’t designed to be slow. But the way it works is automatically slower.
For a typical website, requesting a web page is like ordering fast food. You place your order, you pay, and they give you a tray of food. The food is there waiting for you.
Similarly, typical websites are built from files that are sitting there waiting for you. Your device requests a file and the web server sends it to you. It’s called a “server” for a reason.
WordPress websites require a little cooking. When your device requests a web page, WordPress has to assemble it from instruction in files and data in a database. Every page is a custom job.
This system magnifies flaws that might not hurt a website of premade files.
Why your WordPress website is slow and how to fix it
Let’s stick with the restaurant analogy. Your web host is the kitchen. If you’re on a shared server (if you don’t know, then you are), your kitchen is shared with dozens if not thousands of other restaurants.
That works okay if all they have to do is serve up pre-made burgers. But if everyone is making custom orders, the kitchen can get overwhelmed.
You web host only has so much power and if you’re on an entry-level shared hosting plan, expect it to be slow most of the time.
You can tell if this is a problem by using a tool like Pingdom. If there is a big delay before your server starts sending your site, you might need a better server.
If this is a problem, upgrade your hosting. I recommend WP Engine. They can even help you transfer your site to their servers.
Too many slow plugins
No matter how much optimization you do, things still take time. So if you want your website to also be your scheduling tool and your CRM and your newsletter service and your blah blah blah, it’s going to make your site do more work.
More work = slower site. Use the right tool for the right job.
Use your website as your website. Move the other tasks to services / products where they can perform their best.
Pages are too big
This is the front-end version of my last point. The more that needs loaded, the longer it takes to load.
Your files (scripts, photos, etc) could be small – tiny even. But if you’re loading 4 dozen of them, it takes longer than if you’re loading 10 files.
Take a look at your slow pages. Is there anything on the page that you don’t need? Do you have a slider of 25 images that no one actually wants to see?
Remove what you don’t need. Focus the page.
Not optimizing images
This is both the biggest problem and the easiest problem to fix.
I just took a photo with my phone. It is 4608 pixels wide by 3456 pixels tall (4.7 MB). My larger than average screen is only 1920 x 1080.
If you do the math, my phone takes photos that are visually 7.5 times bigger than what I need. As for memory, after scaling the image down to 1920 x 1440, it was only 2.2 MB. That image is still bigger than I need, but it’s clear that it’s easy to upload images that are needlessly gigantic. And that image isn’t optimized, only resized.
I uploaded the original to this site to see what my image (automated) optimization software would do to it. The optimized version is 2000 x 1500 and is only 285 KB. That’s about 6% the size of the original. The image’s size was reduced by 94% and I didn’t do any work.
Install a plugin to optimize your images. Here are some options:
- EWWW Image Optimizer: It’s the plugin I used. Quietly does it’s job. Can really eat up server resources when running.
- WP Smush: Works on more servers than the last option. Doesn’t use your server’s resources. Won’t stop harassing your to sign up for the pro version.
Too much traffic
This is another problem caused by a low quality server. A lot of visitors means the server has to do a lot of work. It’s a simple matter of resources. Does your server have enough?
If this is a regular occurrence, the only solution is better hosting.
Not enough traffic
I know this sounds backwards, but it’s a real issue. A WordPress site isn’t always “on”. The server is and WordPress is ready to respond. But WordPress isn’t running until it’s needed.
Because it isn’t always running, WordPress keeps a list of tasks it needs to do. When WordPress loads a page, it also runs through the list to see what else it should be doing.
The list includes tasks like
- Publishing scheduled posts
- Updating cached files
- Sending messages
- Running security scans
- Backing up the site
If no one is going to your site, the list can get long. Then when someone finally visits, your website tries to get caught up all at once. All of it at once.
Visit your own site at least once a day if you aren’t getting traffic.
Not caching your site
There are 2 kinds of caching: server-side caching and browser caching.
Server-side caching is basically taking a WordPress website and making a bunch of pre-built files before they’re requested. It makes a WordPress site act more like a typical website.
Browser caching is different. It’s a way of telling the visitor’s browser to save files on the visitor’s computer. The next time the visitor requests those files, they won’t have to download them – they’re already there.
This is the most technical item on the list. It’s technical enough that you might not want to do this yourself. You can, but there are things that can go wrong. Getting professional help with this can infinitely reduce your risk.
Summary and next actions
Speeding up your website is a matter of layers. Some are easy and can be automated. Some are more difficult and may require help.
I recommend starting with Image Optimization. It’s easy, safe, and free.
Upgrading your server is another good choice but it isn’t free.
And when you’re ready for me to run your website through its paces and give it a high performance tune up, give me a call.