Home » Chennai (Madras)

Chennai Central

Written By: Suhas on August 9, 2009 18 Comments

Chennai Central is a bandwidth saver plugin that makes your wordpress site support conditional GETs by search engine crawlers , feed readers and more.

It is a known fact that search engine crawlers burn way too much of the site’s bandwidth. Though those crawlers support conditional GETs, (that means they don’t fetch your pages if those didn’t change since the last crawl), many CMS platforms including wordpress does not provide support for conditional GETs.

Apache comes with native support of the Last-Modified / If-Modified-Since / Not-Modified functionality. That means that crawlers and Web servers don’t produce too much network traffic when a requested static file didn’t change, since the last crawl.

However, outputs from CMS platforms, like Wordpress, is dynamic content by definition, regardless of whether the URI has a query string or not. Even if wordpress reads and print out static content (that never changes) with PHP, Apache doesn’t add the Last-Modified header which forces crawlers to perform further requests with an If-Modified-Since header.

Chennai Central plugin handles Last-Modified, If-Modified-Since, and Not-Modified HTTP headers with PHP/Apache.

How does this work?

The protocol your Web server and the requestors use to handle caching is quite simple. Let me explain it through this example with Googlebot, the search engine crawler of google.

1st request from Googlebot – Aug/09/2009 12:00:00:

Let us say, Googlebot tries to spider this post on Aug/09/2009 and makes a request say /chennaicentral from this site. Since Google has just discovered this post, there are no unusual request headers, just a plain GET.

In response to the GET request from Google, Wordpress create this page from the wordpress database which was modified on Aug/09/2009 10:00:00. The apache server on which wordpress runs sends Googlebot the full post (say of size 4k) with an HTTP header
Date: Sun, 09 Aug 2008 12:00:00 GMT
Last-Modified:Sun, 09 Aug 2008 10:00:00 GMT

The HTTP response code is 200 (OK).

Bandwidth used: 4 kilobytes for this post contents plus less than 500 bytes for the HTTP header.

2nd request from Googlebot on Tue, 11 Aug 2009 12:00:00 GMT :

Let us say, wordpress users found this post interesting and made a review of this plugin on their sites. When Googlebot finds those links pointing to this post, it requests /chennaicentral again to check for updates. Since Google already knows the resource, Googlebot requests it with an additional HTTP header
If-Modified-Since: Sun, 09 Aug 2008 10:00:00 GMT
where the date and time is taken from the Last-Modified header this plugin sent in response to the previous request (1st request).

Let us assume that the content of this post didn’t change on Aug/11/2009 12:00:00, when Googlebot made this second request, there’s no need to send the full post again. Chennai Central plugin lets your wordpress site send Googlebot just an HTTP header as below:

Date: Tue, 11 Aug 2009 12:00:00 GMT
Last-Modified:Sun, 09 Aug 2009 10:00:00 GMT
The HTTP response code is 304 (Not Modified). (Your Web server can suppress the Last-Modified header, because the requestor has this timestamp already.)

Bandwidth used is less than 500 bytes as wordpress responds with just the HTTP header and a response code of 304, meaning content has not changed.

3rd request from googlebot on Thu, 13 Aug 2009 09:00:00 GMT:

Let us say, Googlebot finds a a few more links to this post on Thu, 13 Aug 2009 09:00:00 GMT and it tries to recrawl /chennaicentral, again using the

If-Modified-Since: Sun, 09 Aug 2009 10:00:00 GMT header.

Assume that this post has many comments by then (added on 12 Aug 2009), and hence the content of this page (post) has changed (including the comments). Chennai Central Plugin now lets your wordpress site send Googlebot the full page (now say, 5k) with this HTTP header
Date: Thu, 13 Feb 2009 12:00:00 GMT
Last-Modified: Wed, 12 Aug 2009 09:00:00 GMT
and an HTTP response code 200 (OK).

Bandwidth used: 5 kilobytes for the page content plus less than 500 bytes for the HTTP header.

From the above it is clear that chennai Central saves bandwidth on this post, unless the content has changed.Likewise it does for every post and page on a wordpress blog/site and for all crawlers that support conditional GETs.If you do this calculation for all your posts/pages and for a one month period, the bandwidth saved is quite substantial.You save bandwidth and thereby your hard earned money!!!

How to test Chennai Central?

If you would like to test whether Chennai Central plugin really added the Conditional GET support for your wordpress blog/site, do it on this Microsoft tool.

Why is this plugin named chennai Central?

Well, I come from the city of chennai and I wanted to dedicate this plugin to my lovely city.I admire Chennai and hence decided to name this plugin as “Chennai Central”.

Download chennai central plugin from here and enjoy!!! Save bandwidth and save your money with Chennai Central!!!

Digg this!Add to del.icio.us!Stumble this!Add to Techorati!Share on Facebook!Seed Newsvine!Reddit!

18 Responses to “Chennai Central”

  1. Raghav Chettri says on: 12 August 2009 at 12:22 pm

    Rajesh,
    I am very facinated by your incredible plugin but before I use this I just want to ask you won’t this disturb sitemap.xml files?

    Raghav

    • Suhas says on: 13 August 2009 at 9:21 am

      It doesn’t affect sitemap. Sitemap files are automatically downloaded by the search engines whenever they change because of a new post/page.This plugin works only when needed i.e. there is no change in content on the wordpress post/page.

      Sitemap files are automatically downloaded by the search engines whenever they change because of a new post/page.

  2. DJ Mangus says on: 25 August 2009 at 9:11 pm

    Is there anything needed serverside to support this behavior? The Microsoft tool is reporting

    HTTP conditional GET: not enabled for the date selected

    • Suhas says on: 26 August 2009 at 5:09 am

      Select the most recent date (a date after the plugin is installed).
      You can even check this with Live HTTP Headers add-on in firefox but the microsoft tool is the best.

  3. DJ Mangus says on: 26 August 2009 at 10:47 am

    How odd, yesterday even looking at a future date didn’t work but does now. Thanks for this great plugin and prompt reply.

  4. Tim says on: 26 August 2009 at 11:46 pm

    This is a kick-ass plugin, and looks like it may very well solve an issue we’ve been struggling mightily with for quite some time. Thanks for taking the time to put this together.

  5. Torleif says on: 18 September 2009 at 7:57 pm

    Why does my website go blank when I turn on “Save badwidth only for hits from bots” (which by the way looks to contain a spelling error in the second word)? Seriously, it goes white. All I get, in any browser, doesn’t matter if I clear the cache or not, is a blank html page. Totally empty.

    • Suhas says on: 20 September 2009 at 3:54 am

      @Torleif Thanks for pointing that out…corrected it and released a new version – 1.2

  6. Torleif says on: 20 September 2009 at 7:49 am

    Thanks! Seems to be working great now :)

  7. Marcel says on: 23 September 2009 at 7:45 am

    Does Chennai Central affect visitor statistics?

    • Suhas says on: 23 September 2009 at 1:29 pm

      No, it won’t

      P.S I recovered your comment from Spam. Get yourselves cleared by akismet.

  8. Mahendra says on: 31 October 2009 at 6:03 am

    I’ve already installed this plugin. It’s awesome and so easy to install.
    But I’m still wondering if it is affect to Google Page Rank, isn’t it?

    • Suhas says on: 31 October 2009 at 11:08 pm

      It will not affect your Google PR.

Leave a Reply:

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Copyright © 2009 India Fascinates, All rights reserved.| Powered by WordPress| Simple Indy theme by India Fascinates