Так как стоит тег MySQL предполагаю что ссылки хранятся в базе?
Значит для каждой ссылки нужно сделать колонку со временем создания ссылки и временем первого клика (захода) по ней.
Время создания ссылки можно использовать если надо в принципе ограничить ссылку по времени, независимо от того посещали её или нет.
Время захода по умолчанию null
. При открытии ссылки смотрим это значение, при первом заходе заполняем текущую дату, при повторных кликах сравниваем дату и текущее время.
Если прошло больше определённого времени считаем что ссылка удалена.
Так же можно фактически удалять из базы ссылки с истёкшей датой, при этом ссылки где дата посещения null
считаем не посещёнными и не удаляем. Это уже зависит от ваших требований.