User Guide

Expiration

Link expiration lifecycles, duration tiers, and permanent link requests.

Link Expiration

Link expiration is a fundamental architectural tenet of GO Shortener. By preventing orphaned links from lingering indefinitely, GO minimizes database footprint, protects visitors from stale destinations, and reduces link rot.


Allowed Expiration Windows

TierMinimum DurationMaximum DurationAvailable Choices
Anonymous Visitors1 Hour7 Days1 Hour, 1 Day, 3 Days, 7 Days
Registered Users1 Hour1 Year1 Hour, 1 Day, 7 Days, 30 Days, 3 Months, 6 Months, 1 Year
There is no default "Never Expires" option for normal registered users. All standard links are created with an explicit expiration timestamp.

When a link passes its expires_at timestamp:

  1. Status Transition: The link's internal status changes from active to expired.
  2. HTTP 410 Gone: Any visitor following the short URL receives an HTTP 410 Gone status code accompanied by a clean branded information page:
    This link has expired.
    This link is no longer active.
    Created: September 3, 2026
    Expired: October 3, 2026
    
  3. No Information Leakage: The expiration page does not disclose the destination URL or the identity of the link's creator.
  4. Code Preservation: The short code is NOT deleted or reassigned to another user. The registered owner can renew it at any time.

If you are a registered user and have a legitimate use case requiring a link that does not expire (such as printed marketing materials, hardware labels, or long-term software documentation), you can submit a Permanent Link Request:

  1. Navigate to your Dashboard.
  2. Locate the link and select Request Permanent.
  3. Provide a brief justification outlining why the link requires auto-renew or permanent status.
  4. The request enters the administrator queue at /admin/permanent-requests.
  5. Once approved by a moderator or admin, the link's auto_renew flag is enabled, and it will remain active indefinitely.
Copyright © 2026