# Legacy Routes Inventory

Source analyzed: routes/legacy.php
Date: 2026-03-12

This list includes active (non-commented) routes still defined in the legacy compatibility layer.

Companion execution guide: [docs/legacy-routes-removal-checklist.md](docs/legacy-routes-removal-checklist.md)

## Avatar and Artwork

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /avatar/{id}/{name?} | legacy.avatar | LegacyAvatarController@show |
| GET, POST | /art/{id}/comment | - | ArtController@show |

## Categories and Browse

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /sections | sections | 301 -> /categories |
| GET | /browse-categories | browse.categories | 301 -> /categories |
| GET | /{group}/{slug}/{id} | legacy.category.short | CategoryRedirectController |
| GET | /category/{group}/{slug?}/{id?} | legacy.category | CategoryRedirectController |
| GET | /browse | legacy.browse | 301 -> /explore |
| GET | /featured-artworks | legacy.featured_artworks | 301 -> /featured |
| GET | /daily-uploads | legacy.daily_uploads | 301 -> /uploads/daily |

## Community and Listings

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET, POST | /chat | - | 301 -> /messages |
| GET, POST | /community/chat | community.chat | 301 -> /messages |
| GET | /latest | legacy.latest | 301 -> /uploads/latest |
| GET | /authors/top | authors.top | 301 -> /creators/top |
| GET | /latest-artworks | legacy.latest_artworks | 301 -> /discover/fresh |
| GET | /latest-comments | legacy.latest_comments | 301 -> /community/activity |
| GET | /comments/latest | comments.latest | 301 -> /community/activity |
| GET | /today-in-history | legacy.today_in_history | 301 -> /discover/on-this-day |
| GET | /today-downloads | legacy.today_downloads | 301 -> /downloads/today |
| GET | /monthly-commentators | legacy.monthly_commentators | 301 -> /comments/monthly |
| GET | /members | legacy.members | 301 -> /creators/top |
| GET | /top-favourites | legacy.top_favourites | 301 -> /discover/top-rated |

## Legacy Redirect Endpoints

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /top-authors | legacy.top_authors | 301 -> /creators/top |
| GET | /interviews | legacy.interviews | 301 -> /stories |
| GET | /apply | legacy.apply.redirect | 301 -> /contact |
| GET, POST | /bug-report | bug-report.redirect | 301 -> /contact |

## Auth-Only Legacy Routes

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /mybuddies.php | legacy.mybuddies.php | 301 -> dashboard.following |
| GET | /mybuddies | legacy.mybuddies | 301 -> dashboard.following |
| DELETE | /mybuddies/{id} | legacy.mybuddies.delete | 302 -> dashboard.following |
| GET | /buddies.php | legacy.buddies.php | 301 -> dashboard.followers |
| GET | /buddies | legacy.buddies | 301 -> dashboard.followers |
| GET | /statistics | legacy.statistics | StatisticsController@index |
| GET, POST | /user | legacy.user.redirect | 301 -> dashboard.profile |
| GET | /recieved-comments | legacy.received_comments | 301 -> dashboard.comments.received |
| GET | /received-comments | legacy.received_comments.corrected | 301 -> dashboard.comments.received |

## Favourites, Gallery, and Profile Legacy URLs

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /favourites/{id?}/{username?} | legacy.favourites | FavouritesController@index |
| POST | /favourites/{userId}/delete/{artworkId} | legacy.favourites.delete | FavouritesController@destroy |
| GET | /gallery/{id}/{username?} | legacy.gallery | 301 -> /@username/gallery via GalleryController |
| GET | /user/{username} | legacy.user.profile | ProfileController@legacyByUsername |
| GET | /profile/{id}/{username?} | legacy.profile.id | ProfileController@legacyById |
| GET | /profile/{username} | legacy.profile | ProfileController@legacyByUsername |

## Legacy RSS Feed URLs

| Method | Path | Route Name | Handler / Target |
| --- | --- | --- | --- |
| GET | /rss/latest-uploads.xml | rss.uploads | RssFeedController@latestUploads |
| GET | /rss/latest-skins.xml | rss.skins | RssFeedController@latestSkins |
| GET | /rss/latest-wallpapers.xml | rss.wallpapers | RssFeedController@latestWallpapers |
| GET | /rss/latest-photos.xml | rss.photos | RssFeedController@latestPhotos |

## Notes

- Commented-out legacy blocks (manage pages, received-comments, forum.php redirect) are excluded from this active inventory.
- Several routes are already transitional redirects; these are good early candidates for removal once logs show no meaningful traffic.

## Deprecation Priority

### Phase 1: Safe To Remove First (redirect-only)

These routes already do permanent redirects and typically carry the lowest removal risk once access logs confirm near-zero traffic.

- /top-authors
- /interviews
- /apply
- /bug-report
- /browse-redirect
- /wallpapers-redirect

### Phase 2: Low-Risk Alias Pairs (keep canonical, remove duplicates)

For each pair, keep the cleaner canonical URL and remove the older alias after monitoring.

- Keep /featured-artworks, remove /featured (or vice versa; pick one canonical)
- Keep /uploads/latest, remove /latest
- Keep /comments/latest, remove /latest-comments
- Keep /downloads/today, remove /today-downloads
- Keep /comments/monthly, remove /monthly-commentators

### Phase 3: Needs Migration Plan (controller-backed legacy behavior)

These endpoints are not simple redirects and may have old templates, old query semantics, or SEO dependencies.

- /browse
- /category/{group}/{slug?}/{id?}
- /browse-categories
- /daily-uploads
- /members
- /members/photos
- /authors/top
- /top-favourites
- /chat
- /chat_post
- /favourites/{id?}/{username?}
- /favourites/{userId}/delete/{artworkId}

### Phase 4: Legacy Profile URL Surface (requires 301 mapping checks)

These should eventually collapse to canonical @username/profile routes, but require careful redirect and username-edge-case validation.

- /user/{username}
- /profile/{id}/{username?}
- /profile/{username}
- /user

### Phase 5: Keep For Compatibility (unless external consumers are migrated)

These are frequently consumed by feed readers or old clients and should be retired only with explicit migration communication.

- /rss/latest-uploads.xml
- /rss/latest-skins.xml
- /rss/latest-wallpapers.xml
- /rss/latest-photos.xml

### Special Case: Auth-only legacy utility pages

Evaluate usage with auth logs before deprecating. They are likely niche but can still be bookmarked by long-time users.

- /mybuddies.php
- /mybuddies
- /mybuddies/{id}
- /buddies.php
- /buddies
- /statistics
