Один из вариантов - записывать время "последнего захода на сайт" для пользователей, и помечать контент свежее этой даты.
Обновления страниц, к примеру, через промежуток менее 5-10 минут не считать за новый заход.
А просмотренный контент писать в сессию или другое временное хранилище, которое сбрасывать при смене даты.
В последнем пункте, есть единственный изъян - это то, что предполагается, что на сайт заходит человек, а не бот.
Чтобы избежать переполнения в случае непрерывного посещения - можно дополнительно сбрасывать по достижению фиксированного размера - из пользователей это мало кого затронет.