Manual
Add one at a time
Bulk import
Upload a CSV
Conversational
Ask the AI
Why Redirects Matter
- Preserve SEO: a 301 tells Google the page moved permanently — ranking signals transfer
- Migrations: old URLs from a previous site keep working after launch
- Short links: forward
/demoto a booking page - Renamed paths:
/old-blog/*can funnel into/articles/*without broken bookmarks
Option 1: Add Manually
Fill in From Path
The path visitors are coming from. Examples:
/old-page/blog/2020-launch/about-us
Fill in To Path
Where they should end up. Can be a path on your site or a full external URL:
/new-page/abouthttps://docs.example.com/getting-started
Pick a Status Code
- 301 — permanent move. Search engines transfer SEO value. Use this by default.
- 302 — temporary. Use when the new URL might revert later (A/B tests, maintenance).
Pick a Match Type
- Exact — path matches precisely (
/old-pagematches only/old-page) - Prefix — matches everything starting with the pattern (
/blog/*matches/blog/anything) - Regex — advanced pattern matching (use sparingly)
Option 2: Bulk CSV Import
Useful for site migrations — export the old site’s URLs and their new homes into a spreadsheet.Upload
Click Import CSV on the Redirects page and pick your file. Hiveku validates each row and shows any errors inline before importing.
Option 3: Ask the AI
From the AI chat:Deploy Required
Blocked Characters
For security, these characters aren’t allowed in paths: quotes (", '), backticks, pipes (|), $, {, }, [, ]. If you need a path with special characters, URL-encode them first.
Performance and Limits
Up to 150 active redirects are handled at the CDN edge for instant response. Beyond that limit, Hiveku uses an alternate mechanism that still works, just with minor added latency (a few ms). If you’re importing thousands, consider consolidating with prefix matches where possible.404 Handling
At the bottom of the Redirects page you can pick how unmatched URLs behave:- SPA mode — serve
/index.htmlfor unmatched paths. Correct for React, Vue, or any client-side routed single-page app. - Static mode — serve a custom
404.html. Correct for static sites with server-rendered pages.
Verifying a Redirect
Check the Network tab
Open browser dev tools (F12) > Network. The old URL should show a 301 or 302 response, with a Location header pointing at the new URL.
Troubleshooting
Redirect isn't firing
Redirect isn't firing
Did you deploy? The Pending Redirects counter at the top of the page shows uncommitted changes. Click Deploy to push them live.
Prefix match is catching too much
Prefix match is catching too much
A prefix rule like
/blog/* matches /blog, /blog/post-1, /blog/anything. If you want only direct children and not the root, use two rules — exact for /blog and prefix for /blog/.Redirect loop (browser shows 'too many redirects')
Redirect loop (browser shows 'too many redirects')
The to_path matches a pattern that the from_path also matches. For example, a prefix rule
/old/* -> /old-new/* where /old-new itself still matches the original rule. Test your patterns against concrete example URLs.Status code is wrong for SEO
Status code is wrong for SEO
Use 301 for permanent moves — this is what transfers link equity. 302 tells search engines the move is temporary and ranking stays with the old URL. When in doubt, use 301.
CSV import rejected rows
CSV import rejected rows
Common issues: blocked characters in paths, invalid status codes (must be 301 or 302), match_type misspelled (must be
exact, prefix, or regex), or duplicate from_path values (one rule per source path).What’s Next?
Custom Domain
Point your domain at the site
Site Enhancements
Enable SEO, security headers, and more with one click