There are some important things to consider if you want to take your fully realized and powerfully optimized site to the next level and give Google what it really wants: customer satisfaction.
- Google Page Speed Report — When Google has an entire site dedicated to something, it’s important. If you’re not a Google developer, then you need to find or hire one to help you, and the guy to hire isn’t necessarily the same guy who does your paid search — they’re two different skills.
- The quickest “box” you can afford — While you may spend loads of money on content creation, site maintenance and on PR, marketing, social engagement, paid search, and advertising, you’re probably rocking the same hosting package you’ve been using since you started your company. That server’s only costing you $4.99/month and it’s a virtual server that you share with a hundred other companies — or it’s in a cloud somewhere. And why do you need any more, when you’re well within the specs? Your site isn’t more than 5 gigs big and it’s not like you’re running a newspaper. Well, Google doesn’t care about anything except your merge. And even though you don’t need a Porsche to do your daily commute, you might need a Porsche if it’s the 0-60 quickness you need. If that’s the blazing speed that Google needs for the hand-off from their rocketship servers to your site, you’d better spend your money fast even if you don’t anticipate your site ever getting “reddited” or swamped from a social mention by BuzzFeed.
- Does your host have backbone? No matter how quick the box is, it doesn’t matter if the data can’t get from you to Google and from Google to your visitor. The data latency slows down the experience of the site — and pisses Google off. In much the same way that high-frequency trading demands supercomputers with huge data arrays and blistering computing power, all of that’s for naught if it can’t win the race to the market data. It’s very similar when it comes to Internet bandwidth: The best data center is called Tier 4. Tier 3 and Tier 4 data centers tend to squat on the backbone of the Internet so as to minimize the latency between data requested and data delivered. This is also why websites take it even further by “cheating” and replicating their content all over the globe through services called Content Delivery Networks (CDNs). Companies such as EdgeCast, Cachefly, and Akamai work in much the same way that FedEx and UPS work these days: They maintain web content inventory locally — as close as possible to large online populations globally — so that someone who is visiting a site for content doesn’t need to pinball all around the internet — called bounces — and have virtually a direct route. And while sometimes the content may be a little stale, as the site content on the CDN sync, it can sync once-per-second and still offer a better “static” experience to visitors — and, of course, a stellar pass-off between Google and the CDN-backed site. See, Google’s not always fair. It offer higher rankings to sites that are spending infinite sums on site performance and content delivery. While you might not be able to compete with Yahoo! or AOL, I am sure you can do better than you do right now.
- Cache everything – if you’re hosting your own database-backed website on platforms such as WordPress or Drupal, you need to install a caching plug-in, in the case of WordPress, or you need to turn on caching, if you use Drupal. You also need to allocate as much RAM/memory as possible to PHP and MySQL. See if there are any other ways you can optimize your caching strategy by using disk-caching and possibly a lightweight server balancing or CDN strategy. I recommend W3 Total Cache if you’re a big geek or have access to a propeller-head who can hook you up with some serious back-end support, help you hack your file-system, and all the other fun stuff that is required to make sure your data-backed website is fully optimized and completely cached. If you’re not so much of a geek, people have really good luck with installing WP Super Cache — it does very good work and is very user-friendly (and installing it almost never breaks anything).
- Your plug-ins are lead weights — I love plug-ins, I do. I would love to have a million of them running on my blog — but I have given up on that because I want people to actually get to my site via Google search more than I want to entertain the bloggers who arrive. I know that “if you like that, then you’ll love this” links, real-time tweet embeds, and all of the other 3rd-party plugins are very sweet, but if they end up accessing your database a lot and slowing down responsiveness, thereby scaring off Google, what’s the extra functionality worth? Would you rather deactivate or delete some of the non-essential plugins to gain some speed, or would you prefer to throw money at the problem by adding caching strategies, getting a better server, and adding loads of RAM as well as disk-caching? It’s all a trade-off.
- Does your site rely on off-site content? Here’s the scary thing: All of those social buttons have images, GIFs, and graphics that are possibly hosted on someone else’s site. Even if that site just happens to be Twitter, Facebook, or Google, it doesn’t matter. If Google Search’s performance-monitoring tool sees that your site’s bogged down because you’re waiting on third-party CSS, content, graphics, and Javascripts, then you’ll get the demerits and not the other hosts. Is there a way that you can mirror things onto your server? Is it possible to cache locally? Can you turn it from being dynamic to static? Could you to remove it or replace it with something better optimized?
- You can separate out your essential processes — This is pretty advanced stuff, but can you put your MySQL database on a different server than your Apache webserver? What about hosingt your images from a separate box? Is there any way to dedicate processes to different servers so that they don’t all have to fight for limited resources? A cache box, a graphics box, an Apache box, or a database box? It does contribute to better responsiveness.
Is this all Martian to you? Well, if you’d like to chat more, call me at +1 (202) 869-3210 Ext 0001 or feel free to self-schedule a 15-minute call, a 30-minute call, or a 60-minute call with me.