Overview
Routing rules let you control how URLs are handled on your domain. You can create redirects to send visitors to new URLs, or proxies to transparently route requests to external services.Starter plans include up to 5 routing rules. All other plans include unlimited routing rules.
Accessing Routing Rules
- Go to your Dashboard
- Select your domain
- Click the Routing Rules tab
Rule Types
Redirects
Redirects send visitors and bots to a different URL. The browser’s address bar changes to show the new URL. Use redirects when:- Moving content to a new URL
- Consolidating duplicate pages
- Fixing broken links
- Migrating from an old domain
| Code | Name | Use Case |
|---|---|---|
| 301 | Permanent Redirect | Content has permanently moved. Passes SEO value to new URL. |
| 302 | Found (Temporary) | Temporary redirect. Original URL keeps SEO value. |
Proxies
Proxies route requests to an external service without changing the browser’s URL. Visitors see your domain, but content comes from elsewhere. Use proxies when:- Serving your sitemap from a backend function (e.g., Supabase Edge Functions)
- Routing public API endpoints to another service
- Using a headless CMS for public content
- Serving public assets from an external origin
/sitemap.xml to a Supabase Edge Function while keeping your domain.
Creating Rules
Add a Single Rule
- Click Add Rule
- Select rule type (Redirect or Proxy)
- Enter the source path (e.g.,
/old-page) - Enter the destination (new URL or proxy target)
- For redirects, select the status code
- Click Save
Source Path Patterns
| Pattern | Matches | Example |
|---|---|---|
/page | Exact path | /page only |
/blog/* | Wildcard | /blog/post-1, /blog/2024/jan |
/docs/:slug | Parameter | /docs/intro, /docs/api |
Examples
Redirect old URL to new URL:Bulk Import (CSV)
Import multiple rules at once using a CSV file.CSV Format
| Column | Required | Description |
|---|---|---|
source | Yes | Source path pattern |
destination | Yes | Target URL or path |
type | Yes | redirect or proxy |
status_code | For redirects | 301 or 302 |
notes | No | Optional description |
Import Steps
- Click Import CSV
- Download the template (optional)
- Upload your CSV file
- Review imported rules
- Click Save All
Export Rules
Export your existing rules to CSV:- Click Export CSV
- Download opens automatically
- Edit in spreadsheet software
- Re-import to update
Rule Priority
Rules are processed in order from top to bottom. The first matching rule is applied. To reorder rules:- Drag and drop rules in the list
- More specific rules should come before wildcards
- Click Save Order after reordering
/blog/featured would never match.
Validation
Hado SEO validates rules to prevent common mistakes:Redirect Validation
- Destination URL must be valid
- Can’t redirect to the same URL (infinite loop)
- Source pattern must be valid
Proxy Validation
- Destination must be a full URL (https://…)
- Can’t proxy to your own domain (circular proxy)
- Source pattern must be valid
Limitations
| Plan | Routing Rules |
|---|---|
| Starter | Up to 5 |
| Pro | Unlimited |
| Growth | Unlimited |
| Agency | Unlimited |
Best Practices
Use 301 for permanent changes
Use 301 for permanent changes
When content permanently moves, use 301 redirects. This:
- Transfers SEO link equity to the new URL
- Tells search engines to update their index
- Provides the best user experience
Keep redirect chains short
Keep redirect chains short
Avoid redirect chains (A → B → C → D). Each hop:
- Adds latency
- May lose SEO value
- Can confuse search engines
/page1 → /page2 → /page3 → /finalGood: /page1 → /finalUse wildcards carefully
Use wildcards carefully
Wildcards are powerful but can over-match:Too broad:
/* matches everythingBetter: /old-section/* matches only that sectionTest wildcards before deploying.Document your rules
Document your rules
Use the notes field to explain why each rule exists:
- When it was added
- Why it’s needed
- Related ticket/issue numbers
Troubleshooting
Redirect not working
Redirect not working
Check:
- Is the source path correct? (case-sensitive)
- Is there a more specific rule matching first?
- Did you save the rule?
- Is DNS configured for your domain?
Proxy returning errors
Proxy returning errors
Check:
- Is the destination URL accessible?
- Is the destination URL using HTTPS?
- Does the destination allow requests from your domain?
- Is there a circular proxy (proxying back to yourself)?
Rules not in expected order
Rules not in expected order
Rules are processed top-to-bottom. Reorder them:
- More specific paths first
- Wildcards last
- Click Save Order after reordering
Use Cases
Domain Migration
Moving fromold-domain.com to new-domain.com: