I’ve never had more traffic coming to Quick Sprout, than I did in January 2013. In that month, according to Google Analytics, Quick Sprout had:
- 309,364 visits
- 244,923 unique visitors
- 452,369 pageviews
And although those numbers may not seem big, you have to keep in mind that Quick Sprout is my personal blog, which means I am not dumping a ton of time and money into it. In addition to that, it’s a blog that focuses on the Internet marketing niche, which doesn’t have as big of a traffic potential as a consumer based blog.
Download this cheat sheet to get to know how I grew Quick Sprout from 121,311 to 244,923 readers in 30 days.
Now before I get into how I increased my traffic by over 100,000 visitors in 30 days, lets first take a look at my December stats.
My December traffic was a bit lower than most months by roughly 18,000 unique visitors because of the holidays. Other than that, nothing else really changed… I still published 8 blog posts for the month, I blasted to my email list 8 times, and I did all of my standard social media promotions each time I published a post.
So why was their a big increase in traffic during January? Well, there were a few reasons… lets dig into each of them:
Google gave some love to blogs
Although there is no record of Google changing their algorithm on January 1st, I noticed a trend on all of the blogs I own… they all got more Google traffic. And not just more traffic compared to the holidays, but more search traffic during peak days in early December or even November.
When I dug into my Google Analytics stats for the KISSmetrics, Crazy Egg, and Quick Sprout for the December 2011 to January 2012 period, there was no major increase in search traffic. But after January 1st 2013 hit all of my sites had a 20 to 40% increases in search engine traffic.
When I looked at all of my non-content rich sites, they didn’t see a big increase in search engine traffic on January 1st 2013.
Speed is everything
As you already know search engines love it when websites load fast. During the last few years Quick Sprout wasn’t loading too fast. And it wasn’t the server as I pay Rackspace an arm and a leg to ensure that it is fast and never goes down.
So what was it?
Well over the years I’ve had 6 different developers work on Quick Sprout. Somewhere great, others were mediocre, and some sucked. In total, those 6 developers modified the code over 219 times. This caused it to be messy and bloated, which eventually caused the site to run slow.
Due to this I had the folks at StudioPress redo all of the code on Quick Sprout, while keeping the look and feel of the site the same. Here’s what they did:
- Rebuilt the code – they decided to place the blog on the Genesis framework, which made the code leaner and more optimized. The content to code ratio improved, in which there was less code on each page and more content. There were also 37% less files in my theme directory, and the framework automatically cached site options such as if breadcrumbs where enabled or disabled on each page so WordPress wouldn’t have to Â continually keep reloading those same settings over and over again.
- Used generic fonts – I had a ton of custom fonts on Quick Sprout. I loved them because they made the design look great. But what the StudioPress guys did was find the closes generic font to my custom ones. They removed 8 custom fonts, which helped improve load time.
- Removed unnecessary plugins – I used to use over 30 plugins on Quick Sprout before. So what the StudioPress folks decided to do was to remove some of my plugins and hard code things into my design… especially ones related to my sidebar. This way I won’t be dependent on basic plugins that should just be part of the design. By doing this, they were also able to make the site load faster.
So what did those changes result in?
My site went from having a load time of 1.9 seconds…
to a load time of 1.21 seconds.
The end result was an increase in direct traffic to the blog by roughly 2000 visitors a day.
W3 Total Cache
Once I saw the results from the StudioPress changes I got a bit addicted to speeding up my site. Because over 40% of my traffic is international I decided that I want to host my website all over the world. Sure Quick Sprout was loading fast for me, but I live in the US and my server is in the US.
What about all of those people visiting my site from Asia, Africa, or even Europe. It would take them much longer to load my site as it was loading from the US, even though they weren’t based in the US.
Due to this I decided to start using the W3 Total Cache plugin. What it does is gives you all of the things large media companies have that allows them to tweak and speed up your website… but for free of course.
Through the plugin you can do tons of things to speed up your site: from caching your website to minifying the CSS, it can compress everything to make your website load faster.
But my favorite feature of the plugin is the CDN and web performance automation. Through their CDN feature you can connect your blog to any major CDN provider and W3 Total Cache will automatically setup the CDN and maintain it through the web performance automation feature.
What that means is if someone from Africa were going to visit your website, the site would load from a server in Africa instead of in US. This would create a much faster loading experience for them.
Here’s how I used the W3 Total Cache CDN feature:
Step #1: Install the plugin and active the CDN
Once you download and install the plugin, click on the “performance” tab in your WordPress admin sidebar, then “general settings”.
Assuming you’ve configured W3 Total Cache to fit your needs, scroll down to the CDN section, select the Rackspace CDN service and enable it.
If you are using a different CDN service, the following links can teach you how to set it up:
- Instructions on how to setup W3 Total Cache with Amazon Cloud Front.
- Instructions on how to setup Generic Mirror with W3 Total Cache.
- Setting up MediaTemple ProCDN with W3 Total Cache.
- MaxCDN setup instructions for W3 Total Cache.
Step #2: Request your API key
Log into your Rackspace cloud account, click your user name on the top right and select “api keys”. If you already have an API key there, click “show key” and copy that number.
If you don’t have one, generate a key and copy that number.
Step #3: CDN settings
Go back into your WordPress admin panel, click the “performance” menu item in your sidebar and then click on “CDN”.
Under the “General” heading I usually select: host attachments, host wp-includes/files, host theme files, host custom files. Once you select those settings, click “save all settings”.
Once you are finished with that, scroll down to the “Configuration” heading.
- Enter in your Rackspace cloud user name.
- Enter in your API key.
- Select your server location (US or UK)
- Enter in your “blog name” as your container and then click “create container”.
- Click “test cloud files upload”.
- Then click “save all settings”.
Step #4: Upload your files to the CDN
Hopefully you are still on the “CDN” page. If not, click “Performance” in your menu bar, then click on “CDN”.
At this point you want to upload all of your files to your CDN.
Click on the following buttons:
- Upload attachments
- Upload include files
- Upload theme files
- Upload custom files.
Every time you click on one of those buttons, a new window will pop up. Within that window click the “start” button.
Step #5: Check your Cloud Files
If you log back into your Rackspace cloud account and click on the “files” menu option, it will show the container you created and how many files you uploaded.
The beautiful thing about the W3 Total Cache plugin is that you don’t have to worry about re-uploading your files every time you write a new blog post or make a change. The plugin automatically does it all for you after you make the first data dump… which you just did above.
Just from making the changes above, I was able to increase my direct traffic by an additional 800 visitors a day.
Google has a program called PageSpeed, in which they provide you with a list of tools and services to help you decrease your load time. The service portion is invite only, but once you apply you usually get accepted within a month or month.
The tools on the other hand are open to everyone. For example, if you enter in your website URL in their Insights tool it will tell you what you need to fix to speed up your load time.
Even if you get accepted into the program, like my friendÂ Kimberly Snyder, it doesn’t mean it will drastically speed up your website. As you can see from the image below there are still some issues with Kimberly’s site… based on the Insights tool she had a score of 81 out of 100.
If you happen to get accepted, make sure you read this article as it talks about how you can configure the PageSpeed service. It’s not an out of the box solution… you have to tweak it like anything else to maximize the benefit. That’s the step Kimberly forgot to take.
Through the use of a CDN and the W3 Total Cache plugin, I was able to get my PageSpeed Insights score to 83 out of 100, which is roughly where Kimberly is at. Similar to her, I am not too technical, which is why I wasn’t able to get my score higher.
But for $350, I was able to hire the creators of the W3 Total Cache plugin, and they are tweaking my site and maximizing the settings on the plugin as well as on my CDN. My PageSpeed Insights score already increased to a 86 out of 100 and they are going to help me implement the following changes so I can get much closer to that 100 mark:
- Switch CDNs – I am currently using a push CDN and they recommended that I use a pull CDN to minimize headaches. If you aren’tÂ familiarÂ with the difference, this article will explain why Â a pull CDN willÂ minimizeÂ your headaches. They recommended that I switch over toÂ MaxCDN.
- Parallelization – by creating multiple hostnamesÂ (0.quicksprout.com,Â 1.quicksprout.com, 2.quicksprout.com…) you can increase the number of concurrent downloads. This will speed up the user experience.
- 404 errors – there are some fancybox-related 404s that should be fixed. Search engines don’t like it when sites have tons of 404 errors.
- Minifying – by minify objects, and database queries against eAccelerator, the site should speed up as it is faster than the server disk.
- Speed up the database – by switching the database engine from MyISAM (which is not performant and not ideal for high performance applications) to InnoDB, you can speed up your site.
- MySQL – a 40-50% improvement in MySQL performance can be made by switching over to the Percona fork of MySQL.
- Varnish – if you want to boost the speed of your dynamic content, try Varnish. It will turbo charge your load time.
- Image dimensions – by specifying image dimensions you can improve your performance scores and ensure that browsers aren’t doing any unnecessary guesswork when assets are loaded.
Hopefully those changes will result in another boost in traffic, but I won’t find out for another week or so as it is going to take a few days to implement them.
Content is king
In the month of January, I also had a big launch. I spent over 6 months creating The Advanced Guide to SEO and I released it on January 24th. As you can see from the image below, my traffic spiked. I hit 17,145 visits for that day, but what was interesting is that my traffic never died down.
The week after I released it, I had a steady flow of traffic each day. Even when I look at my February stats, my numbers are still around 16,000 to 18,000 visits a day during the weekdays and around 10,000 to 12,000 visits a day during the weekends.
I wish I could create content like that every month, but I know it isn’t possible as the guide was around 45,000 words. It just shows that Google really does love content that is over 2400 words.
That experience taught me that I need to create even more detailed content. Writing a 2400 word blog post is great, but what’s better is writing a 4000 or even 8000 word blog post. What I am going to do now is publish at least 1 detailed piece of content each month. For example, I recently created a 4000 word post called “How to perform a SEO audit”, in which I also gave away an audit template that I spent $5000 on.
If you want to boost your traffic, you can’t just focus on one tactic. I used to just focus on creating good content and optimizing it for search engines, but that only got me 121,311 unique visitors. Once I started to optimize my website for speed, I was able to grow my traffic to over 200,000 unique visitors a month.
By treating website optimization like SEO, you can get a boost in traffic if you continually tweak your code and your server. Search engines feel this is important because many people have slow Internet connections. India on average has a broadband speed of 0.9Mbps, which is 24 times slower than South Korea’s speed. Places like India are still developing and ensuring your website loads fast is important because 17% of the world population is located in India.
What other ways have you been able to boost your traffic?