Redirects for deprecated routes handled gracefully
Why it matters
Renamed or retired screens leave a long tail of deep links in the wild — old emails, shared URLs, indexed Google results, push-notification payloads from older app versions. Without aliases or a fallback handler, those links either crash the app or dump users on an unhandled route, breaking referral traffic and surfacing as negative store reviews. Reference-integrity on deep links is the mobile equivalent of HTTP 301 redirects on the web.
Severity rationale
Low because most users use current links, but long-tail traffic and indexed URLs degrade silently without redirects.
Remediation
Add deprecated-route aliases and a fallback handler to the linking config so old URLs resolve cleanly. In src/navigation/linking.ts:
export const linking = {
prefixes: ['myapp://', 'https://myapp.com'],
config: {
screens: {
ProductDetail: 'product/:id',
ProductView: 'product/:id', // deprecated alias
},
},
getStateFromPath: (path, options) => {
// fall through to Home if unresolved
return getStateFromPath(path, options) ?? { routes: [{ name: 'Home' }] }
},
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Mobile Navigation & Deep Linking Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from mobile-navigation-linking·automated