Si, devi mettere il codice per aggiornare la data all'inizio di ogni pagina èprima di fare qualsiasi operazione. Anche se l'utente magari non è autorizzato a vedere una determinata pagina, infatti, cmq ha eseguito un operazione e quindi significa che sta ancora navigando nel sito.

Per la seconda domanda la risposta è no: non c'è una maniera più ordinata.
Magari potresti ordinare il tutto creando una funzione apposita.