Ok. está más claro.
Bien, tu aproximación es viable y la implementaria, que expire cada día es correcto.
Ahora en cuanto a las ip's privadas con un split comparas los tres bytes
if(byte1=192 and byte2=168 and byte3=1)then
siginifica ques una ip privada, y haces las operaciones de insertar en la tabla donde no incluye el top 10.
Pues si, cada vez que visite la página se hará la comprobación si existe la cookie. No hay de otra.
Perdón por constestar haste esta hora.

Pero los viernes son más pesados y luego que ando enfermo

no voy a poder
Salud x los que pueden.