Why I run this blog on MaxCDN and Ghost

Because of traffic spike issues, I have proxied this blog through MaxCDN. I am well aware of such things as a 'Slashdot effect', or getting linked to by tech-press blogs such as Gawker/Techcrunch. Infact I have first hand knowledge of these spikes, as I operated a small number of high traffic blogs over the years. Traffic spikes were the number one issue I had to deal with in those blogs. A CDN is a great way to be prepared for these spikes in traffic.

'Just' a blog

A lot more webmasters & bloggers have mentioned that Wordpress is more than just a blogging platform. Most Wordpress sites that have became successful have turned into a magazine, and are pushing out boatloads of assets to their visitors. This is all fine, and I love to see that happen. But I do worry about johnny unpopular who has to migrate to a better solution when the traffic starts to spike.

Dat apex-domain tho

Most blogs like this one are served from the raw IP. That is, Digital Ocean spins you up a CMS server, and you point your domain at it, as follows:

mydomain.com -> 123.123.123.123

In that case, mydomain.com is known as the apex domain. Whilst this is fine in most cases, you might want to proxy your blog through a CDN. A CDN is great if you're serving lots of content, or if your site is getting lots of attention from other more popular blogs linking back to you. In my case, I setup a CNAME called blog and pointed this to a CDN pull zone that MaxCDN hosts.

So now we have blog.higg.im, and all assets, including the HTML page itself are proxied through MaxCDN's fast CDN. Visitors get a lightning fast blog, and all the images/html/css/js load super fast depending on where the visitor is in the world. For example, since I am in Ireland, I get pages served from MaxCDN's London/European data center. United States visitors get the pages served from U.S servers.

In a previous post, I talked about getting domains off the apex. There are reasons you would want a domain off the apex (in other words, not having your domain like mydomain.com, but instead www.mydomain.com). CNAMES, or 'subdomains' are a much better solution for hosting a website. It is trivial to proxy static HTML pages through a CDN, especially if the blog produces static HTML pages in the first place (This blogs runs on Ghost).

C.R.E.A.M ― CACHE rules everything around me

So many Wordpress blogs are served through the PHP engine itself, which means each page has to be re-built and go through the PHP templating engine, for each visitor! With proper caching, and a bit more care, the page can be cached and be served in a similar way to other static assets like images, or Javascript files.

You can do this in Wordpress, but it's a tricky process, and requires more subtle knowledge of how web pages are served. I remember the pain of having to get Wordpress' dashboard area separated from the blog itself, such that visitors are isolated from any such cpanel/dashboard/PHP code. Google also dislikes sites where assets are lumped off somewhere else because it thinks you're hotlinking. I made a conscious decision to get away from Wordpress. It is my sincere belief that solutions like WP Engine are ideal solutions for hosting Wordpress, as all the server black magic can be offloaded to them (WP Engine is a managed solution). If you're going to host Wordpress, do it right.

Noteworthy:

Comments? Feel free to give feedback on the Designer News thread.