You want to know the secret to a faster WordPress website?
You and everyone else.
But it’s not a secret. The problem is that there is a whole lot of misguidance out there that makes it hard for site owners like you and me to identify the solutions that really work.
Let’s cut the crap and turn down the hype.
If your house has foundation problems, you don’t treat your windows. You fix the foundation. If your car is idling rough, you don’t change your tires. You get under the hood and address the engine.
So if your WordPress website is slow, why on earth would you look to the edges first for a solution?
You don’t. Well, not if you want a real solution that can nearly double your load speed.
You look to the core
The core of your body is generally defined as the torso minus the appendages (arms, legs, and head).
Your WordPress website has a core too. Its “torso” includes hosting, theme, and plugins. This is the origin of every page your site serves. Speed and performance are determined here, at the web page’s origin, not at the edge where the page is viewed.
Sure, you might also have some appendages on your WordPress website. Your site’s “arms and legs” might include nebulous cloud solutions or dispensable content delivery networks. But edge services like these ultimately take their cues from the origin.
Think of it this way:
If you want total body strength, you see the most benefits by increasing the strength of the area in the body where almost all movement originates from: the core. Ripped biceps and pulsating calves are nice, but strength and flexibility in your abs and lower back are essential.
Your website is the same.
If you want supreme performance from your site, then look right to the core and strengthen — or, better said, optimize — the origin of your content.
Here is what an optimized core for a WordPress website includes:
- Reliable DNS
- Hosting configured specifically for WordPress with a smart origin caching strategy
- A clean theme that is devoid of bloat (and preferably on a framework)
- A plugin list trimmed of fat
Let’s break down these elements, and then I’ll show you how easy it is to increase WordPress performance by nearly 75 percent.
Don’t ignore DNS (even though you want to)
DNS is an annoying topic that makes little sense to most of us, but it can also determine whether your site sinks or swims.
You don’t need to know much about DNS (in fact, you don’t even need to know what the letters stand for), but you should know this: it is the first communication made when someone attempts to pull up one of your URLs in a web browser.
If the DNS for your site isn’t working, then the browser cannot find your site. If it can’t find your site, then it can’t find your page. The net result is that while everything else is working perfectly, your site is as good as down.
It would be like putting a letter in the mail with only an addressee name but no address. The letter isn’t getting there. Your web page isn’t either.
You may have no earthly idea whether you have a DNS problem or not. Find out. Don’t live in the dark. Get data.
Run a quick Pingdom test for your site and look at the first object in the waterfall to load, your domain name. Hover over the multi-colored bar representing its load time. The first number is for DNS, and it should be fast as a blink. Copyblogger’s is 7 milliseconds … even faster than a blink.
The point is this: if you’re serious about performance, get serious about DNS.
Go with a top-notch provider like Amazon’s Route 53. And if the thought of migrating your DNS alone scares you, then you can outsource this process at a place like Fantasktic.
Improving your WordPress efficiency by even 10 percent won’t matter if your DNS is not reliable.
Get your WordPress hosting and caching right
Once your DNS is squared away, you can turn toward your WordPress install. Start with hosting.
We’ve said it before, and I’ll say it again: serious WordPress users need hosting that means business. If you choose generic, shared hosting then you’ll get generic, slow performance.
If you are serious about your site, and if you don’t want it crashing the first time you get a nice stream of traffic, then you need to host it on servers specifically configured for the complexities of hosting WordPress.
You see, WordPress generates pages dynamically. This can mean pulling from theme files, from the database, from image folders, and from third-party sites — just to get a single page generated.
The whole process becomes quicker and more reliable when NGINX is involved and when entire pages, or elements of pages, can be saved on the server and loaded pre-generated when called. This enables web pages to be served much faster to more potential users at once.
This latter process is called origin caching. You can see why having a smart origin caching strategy is so important.
When it comes to WordPress, origin caching doesn’t get much smarter or more efficient than the team at W3 EDGE and their plugin W3 Total Cache.
When it comes to theme and plugins … clean, clean, clean
Speaking of Genesis, there is a reason why more than 177,000 people use it to power their WordPress websites. Even the best NGINX configuration with the smartest origin caching plan cannot compensate for a bloated theme.
This is the digital web, where ultimately everything we do online is really just the stacking and restacking of 1s and 0s. So everything goes back to code.
Bad code equals a bad site. Period. Whether it’s in your theme or in a plugin, bad code will sink your site and there is no magic hosting, caching, “cloud,” or CDN pill that will cure it.
Bad code makes your site a ticking time bomb that could explode and crash as soon as your next traffic bump.
This is why you need to choose a clean theme. The Genesis Framework and every single child theme from the StudioPress team are exactly that.
This is also why you need to keep your plugin folder as clean as possible.
Keep only the plugins that you need for essential functionality. And of those, keep only the ones with solid, proven code behind them that are actively supported.
WordPress is a strong piece of software. It can handle 40+ plugins if they are all the right ones. But it only takes one bad apple to spoil the bunch. A single faulty plugin could make your site run 72.7 percent slower, which is the exact opposite of what we’re aiming for here.
Let’s break it on down …
The stark reality is that improving WordPress performance is more about removing crap from the core than it is about adding band-aids to the edge.
This may involve some investment, of both money and time, plus a few tough decisions.
Generic hosting, cheap themes, and running the wrong plugins will sink you. If you insist on any one of these, you aren’t serious about performance.
But for those of you who are serious, here is a real-world example of how easy it is to turbocharge a WordPress site.
How to improve WordPress performance by 72.7%
If you were a Synthesis customer, then you probably interacted with Julian Fernandes. I asked him to run a few tests for me in preparation for this article. He excitedly obliged.
Here is what Julian did:
He took a test domain (which is no longer live) and brought it up on Synthesis with a basic plan, which included W3 Total Cache Pro and the latest version of WordPress by default. Then he started running Pingdom tests.
His first test was with the Twenty Thirteen theme running:
His second test replaced the default WordPress theme with the Genesis Framework and the Sixteen Nine theme, which is also included with every Synthesis setup by default.
Then Julian activated fragment caching from within W3 Total Cache Pro.
As you can see, with all else equal, just adding the Genesis framework improved the load time from 630 ms to 172 ms. Activating fragment caching on top of that dropped the load time further to 157 ms.
That is a 72.7% increase in speed for WordPress.
And if we had done an initial test on generic non-WordPress hosting, the difference would have been even more drastic.
(For the record, we also tested a random theme from ThemeForest as well as the Woo framework. Each performed well, 334 ms and 347 ms respectively, but not as well Genesis.)
Realize that these tests were not run on a bare bones install. There were actually five posts on the home page, each with featured images. There were even a few widgets, including Simple Social Icons. Yet the speeds were still that fast.
This is what an optimized core can do.
How to optimize your WordPress core today
Now you know what is possible with an optimized core.
Good DNS and hosting alone can get you to sub-second page load speeds. Optimize the core even further with a premium framework, efficient caching, and a no-bloat mindset, and you’re down to eye-blink speeds like 157 milliseconds.
That’s why inward, to your site’s core, is the first place you should look if you want to improve performance.
More often than not, you will find that you don’t need the fancy frills you are so often being sold. They are not the magical performance elixirs they are purported to be. There is a time and place for CDNs and the like, but get your origin optimized first and then let data drive your decisions.
Need recommendations for hosting and security providers?
Then you need to check out The Copyblogger Guide to the Best WordPress Tools: Hosting, SEO, Security, Plugins, and More.
Over the years, our team has researched, tested, and used thousands of essential WordPress tools, and we’ve shared useful advice on all the most important WordPress topics:
- What WordPress hosting is the best choice for your site?
- What kind of security precautions do you need to take?
- What SEO plugins and services should you purchase?
- What other tools and plugins do you need to spread your words, build an audience, and drive business results?
On this page page, we’ve distilled our best, most current WordPress recommendations, to answer all these questions and more.
If you’re going to use WordPress to build an audience or support a business, this is your one-stop-shop for all the basic tools and services you absolutely must have.
Reader Comments (111)
John Richardson says
Interesting article. I’ve done a lot of testing with different hosts, caching, and WordPress plugins. There are certainly major differences depending on the setup. Unfortunately, in the real world, there is always the trade-off between function and performance. For example, while I like the function of the Jetpack plugin for WordPress, this gigantic piece of code can really slow down a site. There is a plugin for WordPress called Performance Profiler, which can show how long the individual plugins take to load, which can help you make those tough optimization decisions. I will say that Genesis and a good cache have really helped my site performance. I was surprised though, when I tested the speed of Copyblogger today. It took 5 seconds to fully download (pingdom.com/Dallas). Function vs Speed I guess.
Jerod says
John, absolutely! Performance Profiler is a good tool. And JetPack is one of those plugins that really does add a ton of functionality, but I’m concerned that as it continues to add more and more functions that the tradeoff of performance for functionality is getting too far out of balance.
Jerod Morris says
In terms of Copyblogger.com, you can see from the waterfall that the longest individual object load times are from third parties (Vimeo, Google Analytics, etc.) http://tools.pingdom.com/fpt/?testurl=copyblogger.com#!/dX67EC/https://copyblogger.com
In fact, the biggest culprit is a .mp4 file from vimeocdn.com that doesn’t time out, which is what drags the total load time out to 4+ seconds. Everything needed for a visitor to get the full picture of the site (video, images, text, etc) is there within 1.6 seconds. With some very granular cleanup, like removing the aforementioned URL that doesn’t even load (if that’s possible), there may be a way to massage the total load time down to something more reflective of the functional load time.
John Richardson says
Jerod, thanks for the update. Third parties are always an unknown. Some of the ad sites can be really frustrating. I am running the Eleven-40 Pro theme on my site and I notice that some browsers (IE for example) have to download the Google fonts. Is there a way to cache those and speed things up?
Julian Fernandes says
John,
You could download the fonts and implement them on your theme.
I thought about doing it myself a few days ago, but ended up not going that route.
The chance that a user already have that font cached on on her browser is big enough to keep it at Google’s servers.
Dare says
Hi Jerod,
My blog is pretty new ( told u earlier that its running on synthesis with sixteen nine pro theme). It came configured with W3 Total cache ( don’t know whether fragment catching is activated- was told to leave the W3 cache settings alone).
Now, on testing with pingdom, using texas, Amsterdam and New York as test zones, my load time fluctuates around this values: 700ms, 1.35s and 665ms respectively. Also, their respective load time for the DNS is 0ms, 0ms and 68ms.
Please, kindly advise if the stats are okay.
Thank you.
Jerod Morris says
Dare, those times look pretty respectable to me, and you will see fluctuations between the different locations. It all just depends on where the traffic is coming from. If you are running Genesis, I would activate fragment caching. Here is the setup guide: https://s3.amazonaws.com/FragmentCache/Fragment-Cache-Setup-Guide.pdf
Kathy Steineman says
Even with all the attention in the world to the points in this post, if the WordPress site doesn’t use optimized images, it will load slowly. I notice this particular problem on many sites. They use incredibly large graphics, or the graphics are resized in the html code–which doesn’t do anything to reduce load time.
Then there are the jpegs that are saved at 100% quality instead of carefully selecting a compression ratio that reduces size without affecting appearance.
Jerod Morris says
This is a very good point Kathy. A 1MB image is a 1MB image, and it absolutely will cause delays in load time. Unless the site really need high-res images, a photography site for example, then image optimization is a necessity. And in cases where high-res images (or other very large media files) are necessary, then a CDN can be a helpful choice.
Fine Estate says
Is there a simple way to do this? One of my sites has over 8,000 images, mostly contained in NextGen Gallerys…
Johnn Four says
Good call on images. There are tools that make them even smaller. A co-worker introduced me to ImageOptim, but there are others.
These tools compress images further and remove meta data.
http://imageoptim.com/
Jerod Morris says
Thanks Johnn. I’m not familiar with this tool, but it did get a favorable review from MacWorld: http://www.macworld.com/article/1168044/shrink_image_file_sizes_with_imageoptim.html
Johnn Four says
Cool beans. I needed an image optimizer for my PC and saw lots of candidates for all platforms.
The key tips is that images contain bloat even when generated from Photoshop.
I downloaded my images dir, ran all the images through the app (I can’t remember the one I picked for the PC) and reduced the directory by 28%.
Some images saw over 60% rediced file size, and ohers only 2%.
My co-worker said to run images through over and over until file compression returns 0% improvement.
Jerod Morris says
Wow, that’s significant improvement. So long as the image itself does not see too much degradation and is still appealing visually, the reduction will only help.
Julia says
Could someone give a brief overview of optimizing images? I have a client with a tiny 8 page site. I loads very slowly.
There are lots of reasons for the slow load time–their theme, their hosting, etc. But I suspect their images are one issue we could easily fix.
They have a large banner image on each page. What is image optimization? How could I optimize these banner images for them? Can you optimize an image and still keep the luscious “hi-def” feel? They are a events/video production company and want really superb images.
Thank you for your your help.
Dare says
Thanks Jerod,
I implemented the advise on the PDF file, everything worked fine, but the registered genesis Framework fragment groups is not showing up in the registered framework groups area…as advised in the EBook.
So, I simply went back to the original settings…at least its okay from your point of view above.
Thanks Jerod!!
Jerod Morris says
Yes, your speeds are quite good as they are. Still, if you want to be sure you’ve implemented fragment caching correctly, don’t hesitate to open up a Help Desk ticket with Synthesis support and someone (probably Julian!) can help you out.
Ryan Biddulph says
Hi Jerrod,
Excellent! I had SO much bloat before I ditched my old generic theme for a new, professional bad boy. I also realized that my Com Luv Intense Debate plug in was slowing my site down by 28%!! Yikes!
Dropped that and a few others and now my blog performs well 😉
Thanks for sharing!
Ryan
Jerod Morris says
Ryan, you’re welcome! Having run Intense Debate on sites before, I can confirm that it is a pig and will drag down load times. I have found myself pretty happy with just the standard WP comments.
Jeremy Myers says
Is Disqus just as bad?
Jerod Morris says
I have never run tests to know the difference, though as of about a year ago I had better luck with Disqus loading quicker than Intense Debate. Both are going to add some extra load time, so just be sure that the tradeoff you are getting in functionality is worth it. If your site gets tons of comments and you want that kind of interactivity, then it may be.
Jeremy Myers says
Helpful article. Thanks. I am considering moving to Synthesis.
Can you explain why the site speed numbers in Google Analytics are so much higher than what appears on Pingdom? I get load times of 1.5 seconds on Pingdom, but GA says my load time is 17 seconds!!!
Jerod Morris says
Great question. One of the frustrating aspects of improving WordPress performance is that every performance tool seemingly provides a difference response. I don’t know exactly how Google Analytics tests speed as opposed to the Google Page Speed Tool and YSlow, etc, etc. That’s why we like Pingdom’s test, because of its simplicity. The waterfall shows you each object on your page and how much it contributes to your load time. Simple. It gives you specific, granular data that you can make decisions with.
Sean says
Pingdom is just reporting the time it takes to download assets. GA has the browser ping the service when it’s done rendering the page. It’s a great example of the need to be careful when you optimize — it’s possible to defer a lot of stuff to after page loads in order to get a great page load time, but the browser is still doing “stuff” to show something to the viewer.
Jerod Morris says
Thanks Sean. The key, as always, is visitor experience.
Jeremy Myers says
Sean,
That helps me understand what is going on. I defer some js and lazy load some images, which is probably what is going on.
So I am torn. On the one hand, I want to optimize for the best visitor experience, which means leaving things the way they are. But on the other hand, I wonder if my slow load times from Google’s perspective it hurting my SERP rankings… Any ideas?
Sean says
I don’t know about GA specifically but lazy loading images shouldn’t affect it. Are you sure you don’t have some JS on your page that injects more scripts into the DOM? Try doing your own waterfall in your browser and seeing what shows up.
I took a brief look at the page and DNS was really slow, there’s a lot of JS that looks like ads and sidebar stuff that is causing activity, and I’m loading a lot of assets from the site instead of them being nice and packed into one file.
Looks like the server is in Texas but the round trip time to me is a good 30ms higher than a server I have in Texas, so speed could be very different depending on where your visitor is.
Jeremy Myers says
Sean,
I have been running tests at Pingdom as well for a couple years now. As far as I can tell, my DNS lookup is pretty good. Though one or two tests show a 150ms lookup, most of them show under 10ms.
Are you looking at a different test than I am?
I do have too many js and css files loading. I know that and am slowly working to fix it.
Josh says
Good post. I just upgraded (last month) to Genesis with Streamline. One step at a time for me. However, my site is all over the place. I’ve seen it load in as long as 20 seconds, and as short as 2 seconds. I don’t know what is going on with it. I just pinged it, and it came in a 4.48 seconds.
One thing is for certain, I don’t want people to get fed up and leave before the site finishes loading! Need to figure some things out, but I can see where the DNS is playing its part in my turtle-like speeds.
I’ll go check out the Synthesis link, we’ll see.
Thanks for the post,
Josh
Jerod Morris says
Josh,
I just ran a Pingdom test on the URL that you submitted with your comment: contentmedic.com
Your DNS and hosting response times seem pretty good. But the 3.6MB page size is a giant red flag. That makes the 4.03 second load time not all that outrageous. And more than half of your page size comes from one image, a 1.9MB monster that you can see about 15 or so objects down the waterfall. Is there a way to optimize this image? It would help a ton. The rest of your slowdown comes with SlideShare URLs. So I’d look there and see if there is a way to get a simpler code or some other way to load the SlideShare content without so many URLs being called. These are changes that should be made regardless of whether you change hosts. Granted, a site with your profile (91 objects, 3.6MB) would probably load in 2-3 seconds on Synthesis, so you’d see improvement, but you won’t be optimized until you deal with that ginormous image, especially.
Josh says
That’s excellent. Thanks for looking into that for me. I knew there was a reason I keep coming back to Copyblogger. Ya know, besides the excellent content and learning opportunities!
I’ll see what I can do about that gargantuan image…
Josh
Jerod Morris says
Always happy help Josh! This is the kind of support we provide at Synthesis. It’s part of the premium customers pay for. So I figured there was no reason not to do the same here in the comment section. 🙂
Thomas Zickell says
I like that you keep bringing up DNS. Because everyone’s website should have a separate DNS server serving it off there registrar or their hosting company in less than hosting company is using a remarkable service like Dyn
I agree with you however why do you recommend only godaddy & route 53. I don’t dislike route 53 as much as I dislike godaddy however wouldn’t using the quality DNS like DynECT , UltraDNS or if you want to save money and want a fast reliable DNS system EdgeCast Route DNS has a very inexpensive outstanding DNS as well as DNS made easy which is faster by great deal then AWS Route 53 or godaddy dns.
As far as images go WebP is definitely the future and is amazing however you can really speed up your site by using tools like JPEGmini as JPEG should be used unless you require transparency in that case you can use Smush it to easily compress files both of those tools are web-based and they are excellent I agree with what Jared has said as far as the size of your site being the problem it is really not appropriate to serve images that big on the web unless they are for download only.
I just did a speed test on your site and see that you have a great job of removing a lot of the Image size. You are currently still hosting on Apache server which is slow and you’re really only gaining a 1 second lower time even though you have a website homepage that’s under 1 MB.
Last but not least I would recommend RUM speed testing Pingdom offers that option for free this is a separate service then just the load testing where you put in your URL and click the button. You do have to put some JavaScript on your site which is never a speed increaser however you’ll get a very clear idea of what your visitors are actually receiving alerts the front end or the backend that slowing them down is simply a much more realistic idea of what your visitors are getting when they visit your site.
Take Jared’s advice and switch hosting companies you could easily get your site to load much quicker on a managed WordPress hosting.
&
Apparently right now you do have a name server issue with your DNS you may want to check that out.
Sri Varshan says
Hello Jerod,
I had looked at Synthesis Plans earlier when I was planning to start my blog but couldn’t choose one simply because I couldn’t afford it. Hopefully one day I will put my ‘core’ in the arms of Synthesis, btw thanks for the great article and the whitepaper.
Jerod Morris says
You’re welcome! Thank you for the kind words, and we do indeed look forward to bringing you aboard at Synthesis one of these days. 🙂
Todd Liles says
Great advice! I went from 2.6 seconds to 14 ms. It only took 2 minutes to make changes. Thanks!
Jerod Morris says
Well damn. Now a 72.7% improvement doesn’t sound quite as impressive. 🙂
Sonia Simone says
Ha! Nice!
Johnn Four says
I found this article useful. Pingdom showed me unneeded scripts on my site, like an old remarketing script and a third party service I’m not actively using.
I will check out the caching suggestion.
Douglas Karr says
Great post but you missed one! Utilizing techniques like Ajax to load things like affiliate ads and social buttons AFTER your page is done loading can have a dramatic impact.
Julian Fernandes says
Douglas,
While loading javascript asynchronous will really improve your performance, not loading it at all is a lot better.
Lets take the social media buttons as an example. We can implement them in a way that they only load when the entire page is done loading, however they will still slow down your webpage.
The best approach on this example would be to use something like socialite.js, that will load those buttons ONLY when we hover them. Because hovering them mean we want to use them.
For WordPress, a good implementation of this idea is Floating Social Bar, from WP Beginner.
On my own website I’m using Jetpack Sharing for this, as I was running a few benchmarks, but I’m going back to Floating Social Bar in a few days.
Jeremy Myers says
Proceed with caution on that Floating Social Bar from WP Beginner. I was using it, and last week noticed that it was really gumming up my wp_options table in the database. It added roughly three lines to the DB for every single post and page on my site.
Julian Fernandes says
Jeremy,
I don’t recall seeing any function to add things to the database on it, but now I got curious.
I will investigate further.
Jeremy Myers says
Maybe it’s a problem with my wp setup… or maybe my db… but all the lines were _transient_fsb_ lines. I thought those should get removed on a regular basis, but in my DB, they were not getting removed.
Jeremy Myers says
Turns out… maybe this is a problem with WP Super Cache?
Julian Fernandes says
Jeremy,
Transients have a expire time, so they should be cleared “automagicaly”.
They aren’t a bad thing by the way, they are a good thing.
You can read more about it:
– http://codex.wordpress.org/Transients_API
🙂
Jeremy Myers says
Yes, I know they should get cleared out. But the Floating Social Bar transients were not getting cleared out, and I have no idea why.
Hashim Warren says
Pingdom says this page I’m on loads in 5.28 seconds.
http://tools.pingdom.com/fpt/cfX4Uo/https://copyblogger.com/make-wordpress-faster/
I’m confused by that. Copyblogger feels fast, at least to me.
Jerod Morris says
Hashim, I addressed that in a previous comment reply. 🙂
Brian Clark says
Also Hashim, you asked this exact question before, and Jerod answered you directly then. 😉
Bree says
This is a highly informative post, but as a beginning blogger with no funds coming in to pay people for this kind of work (I’d rather leave this type of thing up to pros), I’ve done my best to optimize on my own. I haven’t had any complaints on speed yet, but I know that the larger my blog gets, the more likely I’d have to pay attention to optimizing.
Though I’m sure it’s different for everyone, do you have a general guideline for when you think people should look into serious optimizing solutions (maybe when we get a few comments that the site loads slowly)?
Julia says
Hi Bree,
I have a site which relies heavily on organic search results. When I noticed that my traffic was flat, I started thinking about what I could do to make my results better. Site speed was one thing I could tweak.
In other words, for me the time was right when I had enough traffic to care what Google thought about my site speed. Until then, it was just an issue between me and my readers and I decided it wasn’t important enough to worry about.
You may get a lot of spam referring to your site speed, but I would be surprised if real people actually comment on it.
Do you site-speed experts agree? Or is site speed more important to a beginner than I realized?
Julian Fernandes says
Bree and Julia,
Personally I prefer to work on my site’s speed from beggining, instead of worrying about it later.
Take a look at http://julianfernand.es/ for example. I started it today, but you will notice I took all precautions related to speed and design I could think of (but I’m still working on it).
You don’t have to spend much, you just have to be careful with the plugins and theme you use. Instead of going nuts and installing 30+ plugins, I installed 12 necessary plugins.
Common sense plays a huge role on this game.
🙂
Bree says
Correct me if I’m wrong, Julian, but I’ve read on sites like Smashing Magazine that it’s not the NUMBER of plugins you use, but their QUALITY. Basically, 20 well-written plugins with no bloat coding can load faster than 12 bloated ones. Am I mistaken?
Jerod Morris says
You are correct. WordPress could run 40+ plugins if they are good plugins. But you could run five, and have one really bad one, and be screwed. I’m sure Julian will agree. 🙂
Julian Fernandes says
Bree,
Yes, you are correct. Quality have a big impact here as well. A BIG impact, actually.
That being said, 30 plugins are still 30 plugins. 30 well-coded plugins will still perform worse than 10 well-coded ones.
For example, do you REALLY need a plugin that puts a Twitter widget on your sidebar? Even if it’s well-coded, it isn’t necessary.
It’s like a runner. Usain Bolt is the fastest human alive, but if he start to carry people on his shoulders, it won’t matter how light they are, he will eventually slow down.
Jerod Morris says
But we don’t want to follow Usain Bolt’s lead in everything. Eating 1,000 Chicken McNuggets is not advisable for normal humans who do not have turbocharged metabolisms.
Bree says
Cool, thanks to both of you. There are a few plugins I think I’m going to delete because I rarely use them.
Jerod Morris says
Just remember that Google cares what your audience cares about and responds to your audience’s actions. So if slower site speeds are causing high bounce rates or low engagement/sharing, then you are hurting your site from an SEO perspective.
Jerod Morris says
Bree, certainly if you are getting comments about speed you want to look into it. But I think it would be a mistake to think that basic optimization is something beginners cannot do. I would run a Pingdom test (http://tools.pingdom.com/fpt/) on your site and see what your load time looks like, see how big your page size is (you don’t want it creeping up past 1.5-2MB), and then take stock of the waterfall that shows the objects loading on your page. If the top-level metrics look okay, maybe you don’t need to make any changes. But if see something way out of whack, it may help you identify an area where you can improve audience experience, and perhaps SEO too, by speeding things up.
Bree says
Yep, just ran it, Jerrod. My site loads faster than 82% of other sites, my load time was 1.4 seconds (DNS said 15ms on the top bar of the results), and the size is roughly 800 kb.
I think I’m good, but I’m starting to realize how site speed connects to Google’s assessment of a site. Thanks for the advice and suggestions!
Bernhard says
Sorry, but claiming, that a theme framework by itself is faster than a tiny theme like twentythirteen is wrong. You just can’t compare a theme with partial caching included (and activated) with a standard theme and no caching at all activated. There are plugins to enable partial caching on most free themes. So comparing those setup would be fair.
But I can understand why you would claim Genesis to be so much faster, as it’s your own product. But saying, that all other themes are way slower is just wrong.
But I really do like you points about DNS and hosting, as it’s one thing most users don’t take into account when setting up a website or blog.
I improved performance a lot on my blog using different techniques: The Cachify Plugin (for static page caching), APC, Memcache and Mod Pagespeed (for optimizing, minifying and combining static ressources).
Jerod Morris says
Thanks for the feedback Bernhard. 🙂 To clarify, W3 Total Cache Pro was activated for all of the tests, including the test of Twenty Thirteen. And we are not saying that all themes are slower. They may be, but we only tested a couple of others for this experiment.
Daniel says
I love my genesis framework and child theme. However I do find some of the child themes addictive. Im using the generate child theme. Works well.
Im not too crazy about the generate box however because theres limited customizing but the rest of the theme is very clean, very smooth and enjoyable. Awesome article!
E.Dieter Martin says
The quality & speed of the DNS server isn’t much of a problem for a webmaster, hosting company or web designer. DNS lookups are usually cached in a couple of places:
– your web browser might know the answer already
– your desktop/laptop/tablet maintains a cache
– your internet provider maintains another cache
– the root name servers may know
– the top level domain servers are next
– the authoritative name server has to know and that’s the one you as a webmaster or hosting company have control over.
Those 0-8ms lookup time you see this often is just one upstream lookup, just one hop to the next cache.
Here’s a writeup about how DNS works: http://dyn.com/blog/dns-why-its-important-how-it-works/
Jerod Morris says
Thanks for the link. Indeed, DNS should and usually is a super quick process. Unfortunately, an unreliable DNS provider can take your whole site down if it goes down. Redundancy is key.
Thomas Zickell says
I agree with you 100% on using Dyn there are by far the best DNS company out there. I have recently tried the new EdgeCast DNS is extremely fast and GEO IP for less money than AWS route 53 however most people using any cast DNS you can really get some good deals out there. In fact Akamai just partnered with Zerigo DNS this obviously gives people a lot of options. For very little money if you care about the speed of your site you should care• about your DNS also reclusive DNS is important however the jury is out on whether or not it is faster for everyone considering that people use Facebook, and other large Akamai CDN hosted sites using things like Googles DNS or Open DNS will hurt performance while I recommend using the name is the tool to here.
https://code.google.com/p/namebench/
For geographic reasons no one has the fastest recluse’s DNS for everyone.
name bench will show you.
I also strongly disagree with recommending Go Daddy DNS is the same price as DNS made easy the choice in my view is very easy however my 3 strongest recommendations are DynECT, EdgeCast DNS & UltraDNS
I hope this is of help to someone.
Jakk Ogden says
Hi Jerod… Smashing article!
I ran the ping tool on my site and was shocked to see a load time of not milliseconds but 3 seconds +…
What am I doing wrong?
J
Jerod Morris says
Jakk, I see a lot of connection delays (the blue bar) on your own URL. A lot of them are for images. Looks like a hosting issue to me. If you are on a shared server, requests from your site could be getting locked up when the other sites on the server are busy. Or it may just be slow in general.
katherine says
Thank you for the useful information. I have been concerned about the speed of my website and had a look at the ping tool. My site is indeed very slow but I am a bit confused about the exact indicators of the waterfall colours. Is any particular indicator more of a red flag than others?
Jerod Morris says
Katherine, when you see delays it will usually be on the blue bar, which indicates a slow connection, or the yellow bar, which indicates waiting for a response after connecting. If you see a lot of these to objects coming from your own URL, I’d look into a potential hosting issue. If they are coming from third-party URLs or scripts, then you need to see if there are alternative ways to load the object, or if you can remove it.
Shawn Gossman says
Great post – this read was very helpful. 🙂 One thing I learned from my years of running message forums is addons can really slow things down. Now with blogging, I try to use fewer addons as I can to help keep things going at top speed. In some cases though, we need addons of course but do we need ones that we’ve installed way back when and are never used?
Jerod Morris says
Exactly! Be lean and mean. Keep what you need, and ditch what you don’t. It’s one of the simplest, and best, pieces of performance advice available.
Alex Cardo says
At first, I want to thank Jerod, that he helps me to remember about “pingdom” service. I’ve found it 2 years ago, and then lost a bookmark. I’ve used Google PageSpeed Services and recommendations and “Chrome Fans” speed test, but recently “Pingdom” gives me access to all information.
Unfortunately, I’ve passed test only to 73/100, given the facts that I’m using WP Engine as my WP Hosting company. And they ensure in their adds that they’re the best WP Hosting company.
So I still can’t understand what am I doing wrong.
1. I’m using WP Engine
2. My hosting plan included CDN
3. I’m using only correct working plugins
May be my problem in my Theme? But I’ve modified design by my hands, but I don’t know php for modify it more… 🙁
Jerod Morris says
Alex, thanks for the kind words! Looking at your Pingdom report, I see a couple of things: 1) slow initial connections and 2) a lot of bloat. You are loading a lot of objects from third-party sites as you go down the waterfall. I think cleaning up the theme could help. You may also want to go with Premium DNS if you are just using a generic/basic service right now.
Alex Cardo says
Jerod, can I ask you about one more thing?
I’ve seen in your footer, that you’re using Genesis Framework for your site? Can you really recommend me it? I studied StudioPress site and after your article, and your answers, I really think to change my theme or to use Genesis Framework at my new projects.
P.s.: What is it Slow Initial Connection, is it a problem of WP Engine or of my site?
Jerod Morris says
Alex, there is no greater compliment I can give the Genesis Framework than to say that we use it ourselves for all of our sites, and I personally use it for every site I develop.
The slow initial connection could be a variety of things. There could be a DNS delay, your host could be slow to respond, there could be an issue resolving from www to non-www, there could even be a plugin getting in the way. I would contact WP Engine and let them know what you are seeing.
Fine Estate says
I just signed up for Synthesis, and I am sure this will have been the right decision, that I’ll thank myself later for having made the switch from Hostgator.
A couple of observations though, the first being, there is no easy way via live chat or a phone call to rouse anyone at Synthesis for support.
What I like about Rackspace, a hosting company that I briefly considered, is how they offer “Fanatical Support.” I think a little of that sort of stated ethos would be nice to find at Synthesis.
Not everyone is super tech savvy….the migration process is not that easy, and I suggest that anyone who has to migrate from some other host over to Synthesis use the folks at Fantasktic to help them (This per Synthesis suggestion). That was the course that I chose, and still, I find the whole process a bit intimidating…
Jerod, thanks for the post, and I look forward to having a successful migration of my threes sites, and the chance to begin to implement your well thought out suggestions.
Jerod Morris says
You’re welcome, and welcome to Synthesis!
I will say, having once been an integral part of the Synthesis Support Team and still helping out here and there, that Matt Lawrence and his staff absolutely are fanatical about support. I think you will find this to be true as you start making use of the Help Desk.
The reason we do not offer phone support is for efficiency. All of our help desk and pre-sales communications are highly focused and data driven. Exchanging screenshots, domain names, links, charts, statistics, and other files is done much more effectively with electronic means of communication. This also ensures that a record is kept for later reference.
We also do not outsource support. You will always interact with employees of Copyblogger Media who are experts at WordPress and hosting. This page on our website provides more detail regarding what you can expect in the Help Desk: http://websynthesis.com/managed-wordpress-hosting/
And I agree re: Fantasktic! They do an excellent job with migrations.
Tony Chester says
Hosting, caching and plugins…oh my! Great post with loads of helpful advice and examples. Thanks for the thoughtful insight Jerod 🙂
Jerod Morris says
You’re welcome Tony! Thanks for visiting. 🙂
Carrie says
Please forgive my ignorance. I’ve read and re-read and I’m still trying to understand the ins and outs. I appreciate the link to the test site, though the only thing I understood was how awfully slow my blog took to load! My site is slow on the back-end of WordPress too. Even while I’m making css edits or widget changes, etc., it takes forever. Currently, I am cleaning up my unused plug-ins and images. But if this doesn’t improve the load time, is it safe to believe my hosting service is the problem? Thank you.
Jerod Morris says
Carrie, there does seem to be a longer-than-usual initial response time, but it also looks like load times are getting hung up on your header.png file.
http://tools.pingdom.com/fpt/?testurl=carriesheart.com#!/cd8EGZ/carriesheart.com
Sean @ IsItHacked says
I think your host is slow.
When I went to your site there was a 600ms delay before the first byte was sent back (I just reloaded… 800ms). And it looks like you’ve got caching turned on with wp-supercache so something’s wrong there. The comment at the bottom of the page says it took 15s to generate the page.
I clicked an article, it was 13+ seconds to get the first byte back. Reloading was still 3+ seconds.
Static assets like images don’t appear to be too bad, so I’m wondering if you’re going through PHP to use the cache and you’ve got a really slow host.
There’s also a lot of CSS, Javascripts, and Fonts being loaded on every request. And your site is sending out an Expires header which is great — it tells the browser “don’t even ask me, just hold on to this until a certain time” — but the time it’s saying is right now. So every page load means that my browser has to go to your server and say “hey, did that font change? if so, send it to me. Otherwise let me know”.
Carrie says
Oh my. This sounds much worse than I thought! Thank you for all the feedback! Any suggestions on what I should tackle first? Should I not use the WP Super Cache plugin? Could it be the child theme too? I was using a free child theme until two days ago and I didn’t notice all this lag time 🙁 Would appreciate any recommendations on who I can consult to clean this up as most is completely out of my comfort zone. Thank you.
Jerod Morris says
Carrie, free child themes are not in and of themselves bad … but your likelihood of getting expertly written code and a supported theme (that will stay secure) are very slim. And we recommend WP Total Cache over WP Super Cache. In terms of hosting, if you are on generic shared hosting, then a move to managed WordPress-only hosting may really help you.
Carrie says
If I can get the W3 Total Cache plug-in to work – – it produced a fatal error when I tried to activate – – will this handle my cache browsing issues like expires headers? I’ve read tutorials for adding my own via htaccess and it is way above my skill and comfort level. I’d love to get WP only hosting but it’s too expensive for me…my blog is simple and very small 🙂
Fine Estate says
There just has to be a better way to preview a site migration from a non optimized host Hostgator to Synthesis than the use of a LAN to set of a proxy server…(Everything gets wonky)
The brain thrust on this page shows is impressive, but some of us are mere mortals…
Diego says
Many thanks for guidelines, this has been a growing concern of ours. I cannot agree with you more when it comes to having a cleanly coded theme. This is crucial for function, speed and having the ability to update your theme as needed. Many thanks for sharing.
Edward Chung says
Thanks for your analysis on factors affecting WordPress speed. Must try out the Genesis framework.
Jerod Morris says
You’re welcome Edward. Yes, definitely try out Genesis, as it’s an excellent framework, and go Genesis + Synthesis if you want the ultimate in WordPress speed.
JR John says
I clicked on this to learn practical ways I could improve my WordPress website speed – without spending money on Synthesis hosting.
All I got was a promotion for Copyblogger products. 🙁
Jerod Morris says
JR, I urge you to re-read the post. I merely use Synthesis as an example of managed WordPress hosting for an optimized core because, obviously, it’s what I know and work with. Plus, we’ve done tests that show that Synthesis + Genesis is as optimized as it gets. BUT … do check out our whitepaper: http://copy.bz/19HF1Wd … It delves more deeply into what an optimized core means for a WordPress site. You don’t need Synthesis to optimize your core. It does happen to be the best way for a WordPress site, but you have many options out there to explore.
Azman Nabi says
Quality article!!! My site took a long time to load about 7-8 seconds. How can I add Genesis framework to my site.
Thanks in advance.
Jerod Morris says
Thank you! You can get started with Genesis immediately. All of the child themes are available here: http://my.studiopress.com/themes/
Nevin says
Jerod,
Great post! I’m relatively new with all the technology stuff – I Googled “How to make your wordpress blog faster” and this article was the first to come up – reason I searched is because my site randomly started to load dreadfully slow (today).
This was reaffirmed when I checked the test site – mine is running awfully slow.
Forgive my ignorance, I really have no clue what is holding it back, other than me not having the genesis framework. Is it the featured images for my posts? I tried to trim the fat from my plugins and only have the ones I am using now.
I started WordPress through Bluehost (it was recommended to me), is that not a good server to use?
Any advice would be greatly appreciated – I checked some of the Synthesis plans, unfortunately right now it is a little out of my price range! But hopefully in the future, I can subscribe.
Thank you in advance,
Nevin
Anon says
How about you cut the crap with the stupid metaphors and just get to it. You’re not clever.
Jerod Morris says
So long as you know that Synthesis + Genesis + W3 Total Cache = an optimized core, I don’t care about being clever. 🙂
Nevin says
Jerod,
I didn’t mean any offense, nor was I trying to be clever (were there hidden metaphors in that post?).
Were you able to identify any areas that might be slowing my site down?
Thank you for all of your help,
Nevin
Jerod Morris says
Nevin, I was replying to “Anon” there, not you. As I look at your site, 108 objects and a memory footprint less than 1.0 MB should not lead to load times near 9 seconds. (http://tools.pingdom.com/fpt/#!/byuG2J/http://www.legendarycollegian.com/)
As you go down the waterfall you’ll see that your initial response time is slow — almost a 4 second wait! — and then that there are a lot of third party scripts being loaded, plus some dead links that are taking time to error out. (Look at those two near the bottom.)
Nevin says
Jerod,
Thank you – since my last comment, I have employed the EWWW plugin to optimize my images and subscribed to the free CloudFlare service to minify my JS and CSS, it seems to be working (now I’m down to 6 seconds).
Still need to figure out how to get that wait time down, but can’t thank you enough for your time and help.
As soon as I’m ready to move on from my shared server, I’ll be looking to Synthesis!
Best,
Nevin
Jerod Morris says
Great to hear Nevin! Keep up the good work. You’ll keep shaving off those seconds. 🙂
Ryan Theis says
By spending some time testing and retesting the settings in W3 Total Cache I have been able to speed up our WordPress sites quite a bit. I have always had trouble with the Minify feature working with JavaScript. Has anyone else had an issue with that feature working?
John Lawer says
Thanks a lot for this long (specially with the comments added) and appreciated article, and the link to the webiste speed test.
I compared the “Your website is faster than …% of all tested websites” message with the alexa.com one, and the outcome is quiete interesting.
Eric says
I looked into your hosting but it’s obvious that won;t work for me.. mostly because of the price.
But do you know anything about siteground.com? The website I’m building is using wordpress, but it loads terribly slow and it doesn’t even have any content yet. Installed Genesis but it didn’t seem to help any.
Pingdom result:
Check OK from New York, NY
Response time: 2,177 ms
Webpagetest.org result:
Time Requests Bytes In
4.083s 13 165 KB
3.389s 5 6 KB
I’m thinking my hosting may have something to do with this. As well as the fact that I have several websites on my shared plan.
Jerod Morris says
Eric, those load times don’t seem totally unreasonable, though with room for improvement. If there are a lot of websites on a shared plan (hundreds or more), that can really slow things down. I don’t have any specific experience with siteground.com to be able to tell you much about their service.
Eric says
Thanks for the reply. I guess mostly what concerns me is that it feels very sluggish. And often time when doing basically anything in the dashboard, it will come back with a 404 error – requiring a refresh to actually get the page. Although I don’t know if this is still happening or not just yet with the new theme
Aside from that, I’m currently stretching my shared plan’s memory limit thin anyway. Was actually looking into WordPress optimized services as well and found Arvixe not too long ago.
Wondering if the switch is worth it for performance.
Jerod Morris says
Eric, what you are describing is common for sites on shared servers that are not optimized for WordPress. You get what you pay for, and it may now be time to upgrade to a more serious hosting solution if you are committed to improving performance.
sarah Pantry says
I’d say you are highly over-rating the role of DNS in the performance of a site.
No Matter where you host your DNS, that look up will normally only be made once per session at most. After that look up is made the result is cached in your ISP’s DNS server and in your Browser, In nearly all cases it will make no more than a handful of milliseconds difference the first time someone comes to your site, and that is only if no one on the same ISP has already been there as the result will be read from the ISP DNS server and not yours. It will certainly have no impact on subsequent page loads, where the result is read either from the Browser or the ISP DNS server cache
Cedric says
Hi !
Is it possible to use the Genesis Framework in a premium theme I plan to sell on Themeforest ? But I don’t want any “Genesis” menu item in the WordPress admin… I want it to be totally invisible for the end user.
Thanks a lot
Brian Gardner says
There’s really no way to use Genesis “in a premium theme” as it is it’s own theme. I really don’t understand why you’d want to remove the Genesis menu, as that is what allows users to configure the settings.
With that said, it probably makes sense for you to simply create your own theme and sell it there.
This article's comments are closed.