Вообще, у меня тоже была мысль, как ослеживать дату реальных изменений страницы:
1) загрузить страницу (и сохранить)
2) подождать какое-то время T
3) повторно загрузить
4) найти diff двух страниц
5) если размер diff'а не превышает какого-то числа байтов D
5.1) то удвоить время ожидания T; goto 2
5.2) иначе зафиксировать изменение.
Иногда diff действительно небольшой (например при баннерной крутилке или отображении текущего курса валют, погоды, либо, еще хуже — текущего времени).
В этом случае для данной страницы нужно увеличить D.