# 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 | /categories | legacy.categories | CategoryController@index | | GET | /sections | sections | SectionsController@index | | GET | /browse-categories | browse.categories | BrowseCategoriesController@index | | GET | /category/{group}/{slug?}/{id?} | legacy.category | BrowseGalleryController@legacyCategory | | GET | /browse | legacy.browse | BrowseGalleryController@browse | | GET | /browse-redirect | legacy.browse.redirect | 301 -> /explore | | GET | /wallpapers-redirect | legacy.wallpapers.redirect | 301 -> /explore/wallpapers | | GET | /featured | legacy.featured | FeaturedArtworksController@index | | GET | /featured-artworks | legacy.featured_artworks | FeaturedArtworksController@index | | GET | /daily-uploads | legacy.daily_uploads | DailyUploadsController@index | ## Community and Listings | Method | Path | Route Name | Handler / Target | |---|---|---|---| | GET | /chat | legacy.chat | 301 -> /community/chat | | POST | /chat_post | legacy.chat.post | ChatController@post | | GET | /uploads/latest | uploads.latest | LatestController@index | | GET | /uploads/daily | uploads.daily | DailyUploadsController@index | | GET | /members/photos | members.photos | MembersController@photos | | GET | /authors/top | authors.top | TopAuthorsController@index | | GET | /comments/latest | comments.latest | LatestCommentsController@index | | GET | /comments/monthly | comments.monthly | MonthlyCommentatorsController@index | | GET | /downloads/today | downloads.today | TodayDownloadsController@index | | GET | /latest | legacy.latest | LatestController@index | | GET | /latest-comments | legacy.latest_comments | LatestCommentsController@index | | GET | /today-in-history | legacy.today_in_history | TodayInHistoryController@index | | GET | /today-downloads | legacy.today_downloads | TodayDownloadsController@index | | GET | /monthly-commentators | legacy.monthly_commentators | MonthlyCommentatorsController@index | | GET | /members | legacy.members | MembersController@index | | GET | /top-favourites | legacy.top_favourites | TopFavouritesController@index | ## 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 | MyBuddiesController@index | | GET | /mybuddies | legacy.mybuddies | MyBuddiesController@index | | DELETE | /mybuddies/{id} | legacy.mybuddies.delete | MyBuddiesController@destroy | | GET | /buddies.php | legacy.buddies.php | BuddiesController@index | | GET | /buddies | legacy.buddies | BuddiesController@index | | GET | /statistics | legacy.statistics | StatisticsController@index | | GET, POST | /user | legacy.user.redirect | 301 -> dashboard.profile | ## 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 | GalleryController@show (ensure.onboarding.complete) | | 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 - /today-in-history - /chat - /chat_post - /favourites/{id?}/{username?} - /favourites/{userId}/delete/{artworkId} - /gallery/{id}/{username?} ### 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