Speeding up your WordPress site with MaxCDN (Advanced users)

In the past I’ve written about WPCDN.com and how WPVerse uses their service. I recently needed to make some changes to my account and since I was never aware of a self service control panel, I wrote to WPCDN but didn’t hear back from them so I decided it was expand my horizons. I met the MaxCDN team at WordCampLA last year so was curious to see what their system could do.

This article is meant as a quick overview for advanced users, so I’ll post more details later but here are my impressions so far of MaxCDN. If you’re familiar with setting up CDN before, you’ll be able to be on their system in less than an hour. There was a delay getting my account “welcome” email but once I was in their self service control panel, I was able to create a new pull zone in less than 15 minutes.

I think the UI could use a little bit more hand holding or help messages. For example there’s a field called “Custom CDN Domain” that is optional if you haven’t setup your own CDN sub-domain in your DNS but it’s not explained you can fill it out later. They do provide a “temporary sub-domain” for after you submit the form. I filled in the custom CDN domain name in my domain registrar’s (GoDaddy) but for whatever reason the images didn’t seem to be showing up at the URL but their “temporary” sub-domain worked fine.

I also had to switch to W3C Total Cache because the CDN feature in WP Super Cache seems to be tied into the page caching features being enabled and this particular project had a lot of Ajax related features on the home page that I didn’t want to try page caching with yet. All in all, so far I am happy with MaxCDN.

Site of the Week: Themes Forge (and Twenty Eleven theme Preview)

We love it when we find a new site filled with great WordPress tips and tricks – so we were really excited today when we stumbled on Themesforge.com.

Themesforge com site jpg

It’s filled with great posts on WordPress themes and some behind the scenes tidbits that call it like it is – like a post covering the great Thesis versus Automattic debacle of last summer.

But our favorite juicy coverage involves the upcoming Twenty Eleven theme preview from Automattic.

Twenty eleven theme

There are also some great tips on using WordPress with the high performance alternative to Apache web server called Nginx. So if you’re an intermediate or advanced WordPress designer, developer, or hacker, we recommend taking a look at Themesforge.com.

Update: If you want more WordPress 3.2 and Twenty Eleven coverage, check out WPMods review and our own quick impressions.

Misc. Updates

You may have noticed that we haven’t updated the site in a while. Why? Because we’ve been working on a lot of WordPress projects for clients. In the meanwhile, here are some updates based on our previous posts.

Web Hosting
A weeks ago, we looked at four different web hosting providers including MediaTemple which we were unhappy with because of performance issues. So a few days ago, we moved this site over from MediaTemple’s grid server (gs) platform to MDD hosting simply because our site took (what seemed like) forever to load up even with high speed DNS, page caching and CDN plugins enabled.

We’re also moving away from Dreamhost because we ran into some troubles with our poor customer service experience. The latest incident happened when someone from our local meetup group mailing list asked for opinions on the best web hosting providers. Low and behold a system admin from Dreamhost chimed in about how good their service was. coincidentally that morning we ran into a problem with our account and so we asked that Dreamhost employee for some help via a private email. We then received a dead-end response of “I am sorry I can’t help.” without any other solution. We were expecting at least something like this: “I am sorry, I can’t help you directly but let me forward you to one of our customer service reps.”

Our take is that if you’re going to talk up your company and product in a public venue, you better be prepared to help people who come to you. And if you can’t help them, at least point them in the right direction and not just give them a dead-end answer.

Theme frameworks
We also switched over to Pagelines Platform Pro a few weeks  ago which we like overall but then we ran into problems assigning featured images that would break our home page. So based on our anecdotal experience from a few weeks back, there is a lack of responsiveness for a commercial theme from the company. We had to post our question in the message boards that took almost a day for a response. We emailed the company directly but it was Friday and no one responded to us over the weekend or even on Monday. In the end, we figured out most of the problem ourselves with a little bit of help from another Platform Pro user in their support forum. We hope Pagelines has improved their level of support in the past few weeks since our last incident.

On the flip side, we’ve also been working with StudioPress’ Genesis and their support forum moderators astounded us with lightning fast responses to questions.

So the moral of our story is companies need to kick it up a notch with customer support and training their employees. Because there are going to be competitors that will want your business if you don’t take care of your clients.

The hardware behind WordPress.com revealed

After the widely covered DDoS attack on WordPress.com hosted blogs and Automattic’s efforts to thwart it; Matt Mullenweg in email to customers (and blog post), reveals the computing power behind WP.com’s infrastructure, “for WP.com we’re now at 8,921 CPU cores across 2,475 physical processors, 8,200 gigabytes of memory (RAM).”

He continues, “We’ve changed how we’ve done storage, but now that layer includes on its own 1.3 terabytes of RAM, 1.3 petabytes of storage, and 8.9 terabytes of solid state disks. (Plus Amazon S3, which we use as backup to our internal systems.) Also, we’re adding new servers constantly. :)”

How to host your WordPress site on Amazon Web Services

One of our readers asked us a great question on Twitter, “could they host their site on a CDN (Content Delivery Network)?” Our answer: yes and no, a CDN’s main purpose is deliver static content (images, CSS, Javascript, and ZIP files) from the closest geographically based server to a particular user on your website. A traditional WordPress by definition is going to be non-static (unless you’re using WP Super Cache or W3 Total Cache).

If you really want the fastest WordPress site out there, putting your WordPress site on Amazon Web Services’ (AWS) cloud platform would probably be the way to go. Now you ask, how do you do that?

We found some good answers (and questions) on this particular WordPress Answers thread from Stack Exchange. Read more…

Our friend at Freelance CTO, John Shiple sent us three other sets of guides:

Before you run out and do this, we think setting up your WordPress site on Amazon Web Services is overkill for 98% of the WordPress users out there. We recommend starting with a fast web host with a toll-free support number, activate the WP Super Cache and Autoptimize plugins, and sign up for WP CDN. We’d be willing to bet good money that’s going to work be plenty fast enough for most WordPress sites.

Four WordPress web hosting solutions tried and tested

Here’s a quick round up of our experiences with four different web hosting providers. Two of them are more well known providers where as the other two are lesser known but we were intrigued by some of their features.

We’re also including an almost scientific performance benchmark at the end of the review. We wanted to find out at least on just one given day, who had the fastest web server. As with any review and benchmark, your “mileage” and experience may vary from ours.

We’ve been using MediaTemple’s Grid-Service (gs) plan for about two years now. Their pricing starts at $20/month is on the higher end of the spectrum. They don’t give you unlimited bandwidth or disk space but it’s plenty enough for most people. They also limit the amount of domains to 100 per Grid-Service account. MediaTemple were pioneers in the distributed server model a.k.a. cloud which usually means speed but unfortunately we’ve noticed a slow down in their speed.

On the back end, MediaTemple use a proprietary control panel instead of the ubiquitous cPanel. It’s fairly easy to use and straight forward. We like that they give you one page all you need to know about your server info page that we wish other hosts would follow. One thing that annoyed us is that after installing a new domain, in order to start the WordPress installation process you have to login via FTP and delete the “HTML” folder. When we complained about it, they said that was their standard procedure.

A big advantage of MediaTemple is their toll-free 800 tech support number where on most calls we’ve noticed they pick up by the third ring unless there’s some crisis going on.

Our biggest issue is with MediaTemple in the past six months we noticed on the first initial connection to our site, there would be a 1 plus second delay before our site would start loading. We even started a thread in Get Satisfaction website that never got fully resolved. Update: they finally did respond in the Get Satisfaction thread, but there’s no much they’re willing to do about it at this point.

And as of yesterday, they’ve had a serious outage on the “cluster” that some of our sites are on and that’s also caused hundreds of their other customer’s sites to fail. So at this point based on our experience we can’t recommend MediaTemple’s Grid Service. They do offer virtual server plans that may be more reliable and faster than their grid servers.

We’ve used both Dreamhost’s regular shared hosting and virtual private server (VPS) hosting system. The prices for shared hosting includes unlimited storage and bandwidth (transfer) at a reasonable $9/month and the virtual hosting resources starts at $15/month.

Dreamhost has their own proprietary control panel, so if you’re used to cPanel, there’s a little bit of a learning curve. The live support chat is integrated into it so it’s usually easy to get a hold of support but we’ve encountered incidents were their live chat didn’t have any operators available.

The neat thing about Dreamhost is that you can instantly “move” one of your websites to the VPS system with a few clicks. So if one of your sites starts getting a lot hits, you can move that site over to VPS quickly. On the downside, we’ve had some issues with their URL/domain mirroring working fully with the VPS, both times the mirror stopped working without a real explanation from Dreamhost tech support.

In terms of support, you’re limited to live chats and creating support tickets. If you want them to call you back it’s $10 for 3 calls per month and once you signup, they put you on a subscription rather than a one time charge.

We’ve also noticed if you’re purely on the shared hosting plan, performance can be spotty at times as we’ve noticed internal server 500 errors when processing certain WordPress admin pages.

Vexx Hosting
Vexx is a Canadian based company with offices in New York. What fascinated us about them is they claim is a cloud like platform on their shared hosting plan. We weren’t thrilled with their misleading $3.99/month pricing plastered on the home page, that’s good only if you pay for 12 months in advanced, otherwise you’ll be paying $7 per month. Vexx uses cPanel and the Fantastico script installer so some users may already be up to speed when you signup.

We’ve created a couple of WordPress web sites that went into production using cPanel on Vexx in a relatively easy and pain-free way.

The biggest glitch wasn’t related to WordPress as one of the first projects we put on their system was actually Drupal site transfer where our system administrator wanted to restore a database via remote login terminal. Even though Vexx hosting advertises SSH login as a standard feature, they didn’t want to turn it on for us and it took about 3 days for the whole thing to be resolved after one or two reminder emails to their tech support.

MDD Hosting
We wanted to try MMD Hosting because they’re using the LiteSpeed web server instead of the much more common Apache. According to LiteSpeed’s developers, their system can be up to 9x faster than Apache. The beautiful thing is the Litespeed was built on the Apache foundation so it works well with WordPress.

MDD charges $7.50/month for their basic plan which includes a relatively paltry 10 gbytes of storage and respectable 240 gbytes of bandwidth. MDD like Vexx uses cPanel as well but they use a lesser known script installer called Softaculous instead of the ubiquitous Fantastico.

We haven’t had a need to contact MDD Hosting yet so we can’t rate their support department yet.

“Semi-Scientific” Performance Testing
We used a third-party tool called Pingdom to measure WordPress sites hosted on all four providers. Pingdom’s advantage is that you’re testing sites from their data center which should make results more consistent than trying to measure it from a DSL or cable modem connection.

For the tested sites, we attempted to make all four sites virtually the same. On all four web hosts, we performed a fresh installation of WordPress. We then activated the Thematic theme and imported a copy of the WPVerse site using the standard WP importer plugin. Then we turned off all plugins. We ran three tests for each host in the morning and three more in the evening for all four hosts within a 30 minute time frame.

Click image to see a full view:
Website hosting dreamhost mediatemple2

So in this round of tests, Vexx was the winner with the fastest page load times on an overall average as well as adjusted average when the longest load time was thrown out. Next up was MDD and Dreamhost. We were slightly surprised to see MediaTemple in fourth place though.

We won’t say these test results are fully conclusive nor a 100% scientific because on any given day depending on internet congestion and amount of client load on the web host’s infrastructure, these numbers could flip easily. We’d also have to first fix the MDD test site to make sure that 1 missing object was loading and then we’d have to test the sites every day for at least one month to get really solid numbers.

So to recap, we wish both Media Temple and Dreamhost would work on the issues we’ve mentioned earlier. We’re sure some of their customers have never experienced our pain points. I have to give them some kudos for keeping the lights on and most of their customer’s happy enough to stick around. We haven’t been using Vexx or MDD long enough to give them two solid thumbs up yet but they’re worthy of trying out if you’re not happy with your current web host.

My Obsession: Speeding up WordPress

In the past few months, I’ve been obsessed almost daily with speeding up my litany of WordPress sites. Having relevant, well written content plus a fast site is a way to get readers to keep coming back and search engines now take content plus speed into account.

I’ve tried quite a few plugins and services. Some of them were easy to use and some were not so easy to use. I also wanted to distill a ton of information and experience into a practical and do-able mini tutorial.

I’ll work on a more definitive full featured article but in lieu of that, here’s the combination of tools that speed up WordPress sites in my experience. You can follow these in gradual steps to crank up the speed of your WP site. One assumption is that you’re hosting your site on a decent, tier 1 web hosting company like Media Temple. None of these plugins will speed up your WordPress site if the foundation is not solid – if your web host is slow. But that’s anther discussion.

WP Super Cache
The best plugin to start with is WP Super Cache for most people. WP Super Cache (WP SC) is relatively easy with a simple on/off switch. Most of the defaults settings will work out of the box for everyone. Just install the plugin, then activate, and click the “on” button.

What’s the downside of a cache plugin? Sometimes if you make changes to your site, it will take a few forced refreshes on your web browser to see the updates. Or you’ll need to delete the cache in WP SC settings or turn it off temporarily.

Just in case, you didn’t know these caching plugins create temporary “static” HTML versions of your web pages so the server doesn’t have to generate these pages “dynamically” like WordPress normally does. Serving up a static HTML page is usually much faster than serving up normal WordPress page.

An alternative I’ve tried is W3 Total Cache (W3 TC) plugin – it has a whole kitchen sink approach which can be really confusing for new users. Plus I can never stop complaining that the labels used for on/off/preview modes are confusing for most people.

WP Super Cache doesn’t have the whole kitchen sink like W3 TC but that’s where the next plugin (Autoptimize) supplements WP SC.

I wrote about Autoptimize a few days ago. It optimizes and compresses your HTML, CSS, and Javascript code. It works well with most plugins but it may once in awhile make your home page slightly look a little weird (images may be offset by a few pixels). But it’s easy to turn on or off. There’s only a handful of settings, so you can’t really hurt anything. Plus Autoptimize works in tandem with WP Super Cache according to the plugin developer! So this combo does the work of W3 Total Cache without the confusing UI.

Content Delivery Network
What’s a CDN (Content Delivery Network)? In simple terms, it’s a paid service that automatically downloads all your images, CSS, and javascript files into their “system.” The CDN system comprises of web servers at multiple, strategic geographical locations.

Once you signup with a CDN provider, their system will automatically copy commonly used images, CSS, and JS files onto their CDN servers. Then using a WordPress plugin like WP Super Cache, that plugin will automatically switch over the source of image, CSS, and javascript sources to the fastest CDN server closest to you.

Both WP Super Cache and Autoptimize plugins have CDN support but I recommend you use the CDN support in WP Super Cache . I noticed that Autoptimize seems to have a bug with sourcing PHP files for the CDN.

Now this is where the hard part comes. Which CDN provider do you signup with? I looked at using Amazon’s Cloudfront but the pricing and setup instructions gave me a headache. After some research, I’d found a WordPress knowledgeable/savy CDN service called WP CDN. Once you’re signed up, they’ll send you instructions on the server names you paste into either plugin.

The WP CDN people were extremely helpful and answered all my crazy questions very responsively. Plus it starts at only $6/month with no setup fees up to 5 domains, so you can’t really go wrong.

All in all, I’ve seen the combination of these three tools speed up my WordPress sites by an average of 2-3 seconds on long blog pages like StartupInsider.net or even this site.

Get it: WP Super Cache | AutoptimizeWP CDN

Related posts: WP Super Cache | Autoptimize

Plugin of the week: Autoptimize to speed up your WP site

One of the best ways to get new visitors to your website and to keep them coming back is to make sure your site loads up quickly. Most experts recommend having your home page load in about 2-3 seconds. If your site is taking more than 5 seconds for the average user, then you have a problem. One of the first steps is to get educated with Yahoo’s Y!Slow tutorials.

Next you can take advantage of some WordPress plugins to help speed up your page. We did a quick review of the popular W3 Total Cache a few weeks ago and overall we liked it. It seemed to have shaved off 1-2 seconds from our home page. The problem with W3 Total Cache is that  there are a ton of options and some of the “on” or “off” switches are labeled in a confusing way.

So if you’re looking for something simpler but possibly as effective give Autoptimize a try. Autoptimize’s features are not as extensive as seen by their control panel but nevertheless it has the important features like HTML code, CSS, and Javascript optimization and compression.

We’ve been using it for the past few weeks and think it works really well. We recently did some performance testing with a clone copy of this site on a fresh WordPress installation and noticed that Autoptimizer does make a difference and shaved off 1 second versus not having it installed.

Autoptimize also supports off loading content to a CDN but we haven’t tried it yet but we are going to jump into that water very soon to help speed up our own sites.

Neither Autoptimize nor W3 Total Cache are a magic bullet to solve your WordPress performance problems – especially if your web hosting company has server capacity and/or slow connection issues. But installing the Autoptimize plugin is an almost no-brainer way to squeeze some speed out of your WordPress server.

Get it: Autoptimize

W3 Total Cache: Tips

We’ve mentioned W3 Total Cache before as one of our favorites WP plugins and no doubt it has a ton of options. One of the most confusing things is the “preview” mode. Once you’ve setup the configuration including enabling and disabling modules, how does one get out of preview mode and “go live?” Not as intuitive as one would think…just click on the “disable” button in the preview module. After going live, make sure to clear all your cache files.

I wish the designers of W3TC did a better job of “going live” with a simple button rather than having to “disable” preview mode.

Also here’s a great in-depth guide to W3TC at Zemalf.com.

DIY CDN (or load balancing) for WordPress

Here’s sort of a part 2 to our previous “Speed up your WordPress site” post. Admittedly, it’s not quite your own CDN (Content Delivery Network) but the idea is similar: automatically copy data to other virtual server URLs so your page data can load in parallel. How could one do this? There’s a plugin for that – it’s called WP Parallel Loading System. According to the plugin author, your browser will only allow 2 concurrent connections from the same URL on a page. This plugin will off load data to a new URL that you’ve setup and should re-code your pages to automatically pull the content from there.

You’ll need to be versed in your web host company’s control panel (like cPanel or Plesk) to setup virtual sub-domains but other than that it seems pretty straight forward. Theoretically if you have accounts at other web hosting provider, you could have sub-domains setup there too. Anyone tried this and any good (or bad) results?

Get it: WP Parallel Loading System