Welcome to WebmasterWorld Guest from

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Testing cacheability

What does this mean and what else should I be doing

6:28 am on Aug 25, 2005 (gmt 0)

Junior Member

10+ Year Member

joined:May 28, 2005
votes: 0

I have dynamic pages that get content from a database. I have written some code to send a last modified header when significant revisions are made in the content test.

Found a site that tests this and improved from no info to the message below. have I accomplished anything as far as conveying to search engines that there is fresh content and what else do I need to do?

Suggestions, anyone?

Wrong forum?

This object doesn't have any explicit freshness information set, so a cache may use Last-Modified to determine how fresh it is with an adaptive TTL (at this time, it could be, depending on the adaptive percent used, considered fresh for: 2 days 14 hr (20%), 6 days 11 hr (50%), 1 week 5 days (100%)). It has a validator present, but when a conditional request was made with it, the same object was sent anyway. It doesn't have a Content-Length header present, so it can't be used in a HTTP/1.0 persistent connection.

9:44 pm on Aug 25, 2005 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month

joined:July 24, 2002
votes: 0


if the last modified value is set, then search engine spiders and browsers know whether they need to fetch the page again, or whether they can display the cached version - this is very useful for regular visitors to the site and for search engine spiders: e.g.

you have a 10,000 page site, googlebot comes in, and without the last modified date, it doesn't know which pages have new content and which do not - so it spiders higgledy-piggledy. (i think with the new sitemap function of google's you could probably get round this, by having a separate script which updated the sitemap with all newly changed pages).

however, the more complicated the page gets - i.e. the more database calls and includes you use on each page - the more complicated it gets to work out the last modification time, this is why most big dynamic sites don't bother sending it.

we have a relatively big site and we refresh the last modified time every 6-12 hours,. depending on the page. that seems to me to be a good enough compromise between cacheability and ease of code.


2:04 am on Aug 26, 2005 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Apr 9, 2005
votes: 0

You could set the date in the DB when the information is updated and use that. Like this:

Insert this into a Col called moddate (or something) when you upload new or edited information:
$moddate = date("D, d M Y H:i:s")." GMT";

Then on the page:

DB connection and stuff here

$date = $yourvariable['moddate'];

// if the date matches - send a 304
if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $date) {
header('HTTP/1.1 304 Not Modified'); exit;

// if we did not exit, send a Last Modified Date
header("Last-Modified: ".$date."");