Creo que si entendi bien lo que debes tener son dos datos para luego ejecutar un cron.
Primero debes tener un dato que seran los dias de vencimiento:
Segunda la fecha y hora de la publicacion.
Luego debes hacer una comparacion con el numero de dias que configures, ejemplo : 30
luego tomar la fecha y hora y ver si pasa de los treintas dias le haces una consulta a BD,
lo mejor seria usar un campo en la tabla que contenga un opcional del tipo:
enum("1","2"), donde uno sera on-line y dos sera vencido o caduco.
una vez que tengas esto es sencillo, haces una consulta a la BD buscando todos los valores
1 y luego tomas la fecha de publicacion, una vez que tengas esto le haces el calculo los dias a vencer.
si pasa de los dias le haces un update y cambias de 1 a dos, lo trabajoso sera hacerte el cron
luego en la pagina del articulo si es 1 lo muestras si es 2 no lo muestras.
en fin puedes hacerle lo que quieras....
saludos!!