Page Speed Optimization Tips You’ve Probably Never Heard Before

by SEO Mofo on Apr 12th, 2010

in Page Speed

Well…it’s official. Matt Cutts has announced that site speed is now a factor in Google’s ranking algorithm. Cue the mass hysteria, worthless recap blog posts, and stupid comments!

Instead of rehashing the same shit that all the other SEO blogs have already beaten to death, I’m going to introduce a handful of unique page speed optimization tips that I came up with myself. As you might expect from someone like me, these tips are a little bit…let’s say…unorthodox. If by chance you haven’t already learned the basics of optimizing your site speed, then I highly recommend you read Steve Souders’ 14 Rules for Faster-Loading Web Sites, which explains the following best practices:

  1. Make Fewer HTTP Requests
  2. Use a Content Delivery Network
  3. Add an Expires Header
  4. Gzip Components
  5. Put Stylesheets at the Top
  6. Put Scripts at the Bottom
  7. Avoid CSS Expressions
  8. Make JavaScript and CSS External
  9. Reduce DNS Lookups
  10. Minify JavaScript
  11. Avoid Redirects
  12. Remove Duplicate Scripts
  13. Configure ETags
  14. Make AJAX Cacheable

In addition to those rules, here are a few of my own page speed tips. These are geared more towards SEO, SEM, and social media folks.

Page Speed Tip #1: Cut Your Comments

Let’s be honest…none of your blog readers have anything intelligent to say. Sure, it makes you feel good when lots of people comment on your blog posts, but you need to weigh that feeling against the feeling of ranking well in Google. What do I mean by that? Well…to put it simply: WordPress blog comments slow down your page speed…A LOT. The more comments you receive on each blog post, the longer it takes to load that page. Plus, there’s a strong chance that the comments are de-emphasizing the important keywords in your post anyway. Here is a brief list of options you can consider, in order to reduce the page speed slowing effects of WordPress comments:

  • Disable comments.
  • Disable Gravatars.
  • Delete off-topic comments.
  • Don’t show comments until a user clicks “View Comments” button. Don’t let Google click the button.

Page Speed Tip #2: Scrap Your Scripts

Don’t load scripts from your pages unless you really need them. One thing I see quite often is sites that have multiple traffic-analysis scripts embedded in each page. Website owners are usually borderline-obsessive about their website’s traffic statistics, and sometimes they go overboard with the tracking scripts. Do you really need more than one? Probably not. Pick one and delete the rest. In my experience, the most common cases of excessive tracking scripts are:

  • WordPress blogs that use Google Analytics + WP Stats
  • eCommerce sites that use Google Analytics + shopping cart software’s default tracking script
  • Sites that switched from Brand X to Google Analytics (or vice versa), but never deleted the old script

Page Speed Tip #3: Whack Your Widgets

A simple strategy for increasing your content’s exposure on social media sites is to provide your visitors with an easy way to share your post with their friends. Virtually all social media networks offer buttons or widgets for you to embed in your blog posts and website pages. These widgets vary in complexity, but they all share a common characteristic: they slow down your page speed. The best way to address this problem is to use JavaScript to load the widgets into your page after the page is finished loading everything else. For a detailed explanation of this technique, check out my article on how to install the TweetMeme retweet button without the slow page loads. If you’re not smart enough to pull off something that fancy, then try one of these inferior options:

  • Delete all your widgets. Social media is for losers anyway.
  • Replace script-based widgets with their HTML equivalents.
  • If you use multiple inline images for your social media links/buttons, then combine them into one image, and set it as the background image for the block element that contains your social media links. For an example of this, read Page Speed: 6 Small Images vs. 1 Large Image.

Page Speed Tip #4: Stop Supporting IE6

The days of bending over backwards for IE6 users are over. Those cavemen are never going to upgrade to a modern browser if you keep catering to their needs. Adopt a new policy: fuck Internet Explorer 6 and anyone who uses it. You might be wondering what this has to do with page speed. I’ll tell you. Google’s primary means of measuring your site speed is through the Google Toolbar. That means users who have the Google Toolbar installed are sending information about your page load times to Google, as they browse your site. Now let’s imagine two different websites:

Website A is old school. It was built a few years ago, and it was designed to support Internet Explorer 6. In order to accomplish that, the site uses several hacks and workarounds. For example, it has a stylesheet specifically dedicated to IE6, and it has conditional IE tags in the HTML code that contain an IE6-specific script for handling PNG images with transparency.

Website B doesn’t support IE6. It was designed to comply with the W3C standards, and it doesn’t use any hacks at all.

If these two sites are identical in every other way, which one will be faster? Obviously, Website B would be faster. In fact, Website B would be faster in all browsers…including IE6! If your site serves IE-specific stylesheets and scripts, then Internet Explorer 6 has to process those files in addition to the default files. The other browsers wouldn’t request the IE-specific files, but they would still have to download lines of code that are of no use. Any way you cut it, supporting IE6 slows down your site and hurts your rankings.

For the advanced SEOs out there…you might consider installing a server-side script that detects IE6 user-agents and serves them a blank page. The Google Toolbar is available for IE6, so users who have it installed will automatically tell Google your page loaded in like 0.1 seconds! You know…because it’s blank? Never mind.