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
| Tier | Minimum Duration | Maximum Duration | Available Choices |
|---|---|---|---|
| Anonymous Visitors | 1 Hour | 7 Days | 1 Hour, 1 Day, 3 Days, 7 Days |
| Registered Users | 1 Hour | 1 Year | 1 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.
What Happens When a Link Expires?
When a link passes its expires_at timestamp:
- Status Transition: The link's internal status changes from
activetoexpired. - 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 - No Information Leakage: The expiration page does not disclose the destination URL or the identity of the link's creator.
- Code Preservation: The short code is NOT deleted or reassigned to another user. The registered owner can renew it at any time.
Permanent Link Requests
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:
- Navigate to your Dashboard.
- Locate the link and select Request Permanent.
- Provide a brief justification outlining why the link requires auto-renew or permanent status.
- The request enters the administrator queue at
/admin/permanent-requests. - Once approved by a moderator or admin, the link's
auto_renewflag is enabled, and it will remain active indefinitely.