PLEASE NOTE: Everything I mention in this post, from site speed tests, to plugins, to website themes, is 100% FREE! Just wanted to get that out of the way at the top here.
On August 4th I decided to retest my page’s speed. I hadn’t tested it since last July, when it loaded in 1.04 seconds and was faster than 89% of websites:
But my new Pingdom test on August 4th revealed some issues…:
My page took 4.21 seconds to load, and was only faster than 40% of other websites. I was a little annoyed by Pingdom, though, because each time I tested my site [aka 5 times in a row, because why not] I got a completely different result. So I learned about other page speed tests that are a LOT more stable: GTMetrix and Google PageSpeed. GTMetrix is my new favorite – it gives you a full report on what is slowing down your site and even if you test it 10 times in a row you get the same result. On August 4th my GTMextrix scores were dismal – I scored an F for speed [55%] and a C [78%] for YSlow [YSlow basically tells you the reasons why your page is slow and is part of GTMextrix]:
It was even worse for Google PageSpeed – I scored a big, fat F for both Mobile speed & Desktop speed:
Web site speed is very important because it determines your ranking on search engines and also can make the difference between a visitor staying or leaving.
All 3 speed test sites list things you can do improve your scores. It basically came down to two major areas for me: I needed to compress my photos, and I needed to work on webpage caching. I don’t totally understand caching, but I get the gist. It removes white spaces from your site’s many files, it ditches old, unused files including draft versions of posts, and it keeps local copies of your pages when there haven’t been any updates to make it load faster. After much research, I decided on 2 highly recommended WordPress Plugins [aka “apps”] to help speed up my site: WP Smush and WP Super Cache. Both are used by over 1 million people and get great reviews.
I downloaded WP Smush first, and started the long, arduous task of “smushing” my images. As an aside, I never upload images > 1MB, most of the images I use for my blog posts are around 250-500kb, but apparently they still took up way too much room. It took 3 days [!!!] to smush all 4,500 because you can only smush 50 at a time with the free version. They pride themselves on reducing image size while not affecting quality, which ended up [thankfully] being TRUE, because you can’t “un-smush” them [unless you delete them from your site and re-upload them from your hard drive]. When the smush was done it had saved my site almost 1GB of space! Freaking amazing:
WP Super Cache also helped speed up my site and improve my scores, and was thankfully much easier to use than W3 Total Cache, which is the OTHER big WordPress caching plugin. I tried W3 but deleted it in favor of WP Super Cache.
So for the past 2+ weeks I’ve been researching and studying web site optimization. A lot has changed since I first created my site in August 2013. Back then, the theme I was using [the “skin” that makes my site look like it does] was fairly new. But now, 3 years later, it was becoming outdated. It couldn’t handle some of the suggestions I was learning about, like creating your own “functions.php” file in your child theme to link to your parent theme [the old way involving @import url(“../theme-name/style.css”) isn’t recommended anymore, which was news to me!]. I was also able to add a function to my child-level functions.php file to help get around an extremely annoying HTTP error I’ve been getting for the past few months when uploading images. Child-level files allow your personalizations to stick even when the parent theme is updated – very handy!
I loved my old theme – “Mantra” by Cryout Creations – because it was SO customizable. It offered 100 settings for full site customization. I was hoping to find a new theme which would offer me the same level of customization. But after downloading and trying about 10 other themes, I was very disappointed when they’d only let me change the basic things like background color, general layout, and font. MEH. So I finally decided to try Cryout Creations’ “Nirvana” theme, which is 2 years old [older than I was hoping for], but is still 3 years newer than Mantra. The best part is it offers 200 settings for full customization! Double what Mantra had. The settings come in a small side-plugin by Cryout Creations which gets around WordPress’s new [as of last year] limited customization rules.
I was pleasantly surprised to see how modern Nirvana was, and how much better it handled some of the things I was learning about. I was easily able to create a child-level “functions.php” file. It also has some features built-in like social media icons and the ability to craft your own “favicon”. Previously I’d had plugins to do both things [the less plugins you run, the better, for both optimization and security]. My favicon is now a big, bold, backwards 9:
You’ll see it at the top of your screen on your browser tab when my page is open and as part of your bookmark if you’ve bookmarked my site. My old favicon was dark purple with a “NDM” on it. Favicons are so small it’s hard to see what they say, so a big, bold 9 works well. I flipped it backwards because at first it looked like a news channel icon…
I re-ran the speed tests again today and it’s night and day from two weeks ago!
Pingdom shows my page loaded in 992 MILLIseconds! Under 1 second – OMG! And my site is faster than 90% of other sites – HUGE improvement:
GTMetrix shows I went from a score of 55% & 78% 2 weeks ago to a score of 97% & 91%!!!
And Google PageSpeed shows I went from 42 & 42 to 75 & 93!
Here is the list of plugins I downloaded to my site to increase it’s speed and wow do they work!!!
WP SMUSH helped with: “Optimize Images” and saved me almost 1GB of space without compromising image quality. Took 3 days to smush all my photos, because you can only do 50 at a time [with the free version] but it was totally worth it. HIGHLY RECOMMEND!
Having a child-level functions.php file allowed me to fix “Avoid CSS @import”, add shortcodes in my widget bar, & fix the supremely annoying HTTP error I’ve been getting randomly when uploading images.
And editing the .htacces file of my GoDaddy account allowed me to fix the “Remove Query Strings from Static Resources”, “Avoid a Character Set in The Meta Tag”, “Add Expires Headers”, & “Specify a Character Set Early” problems.
I am very happy with my current pagespeed scores!!! I could make my site even faster by deleting my 2 favorite plugins, but I couldn’t do it! I removed them briefly but added them right back because I couldn’t bear to live without them:
I love this plugin because it organizes my favorite projects into a neat thumbnail grid, and each grid is clickable and will take you to that project’s final blog post.
I love this plugin because every other archive plug I’ve tried either gives you a dropdown list by month, or a grid by month. This plugin shows me a count, by year and month, of the number of blogs I’ve posted, AND it shows me the title of each month’s posts by drilling down further. I love that! I use that feature often to see the scope of certain projects, or remind myself what I posted when. The count by year feature really helps me see my overall blogging pattern. In 2014, my first full year of blogging, I posted 98 times. Last year I posted a whopping 145 times – I was trying to post 3 times a week because I’d read it helped pull readers in, but that was way too exhausting! This year I’m aiming for once a week.
One new feature I added to my website this past week is Related Posts – it’s kind of a fun way to remind myself and my readers of older projects and posts. It’ll be at the way bottom, below each post:
So there you have it! Learning about page speed and finding an updated theme are 2 of the 3 reasons I haven’t posted much for the past 2 weeks. The other reason is my new gym regiment and my virtual mission across the US. Since my last Virtual Mission update, I’ve added another 40 miles [I ride 10 miles a day, 3 times a week at the gym] to my trip. I’m now just north of Albany, NY, heading towards Niagara Falls where I’ll briefly cross into Canada. So cool!
As of today here is my page speed score from Pingdom [95%]:
And from GTMetrix [also 95%]:
At least my speed is still good! YSlow only gave me a shitty score because “There are 6 static components without a far-future expiration date” and I don’t use a Content Delivery Network. The first one is something I can’t do anything about due to my WordPress Theme, and the 2nd one is not necessary for a personal and small website. So *gives YSlow the Raspberry*