Redirect management for agencies and SEOs
GeoRoute is a redirect management tool that replaces spreadsheets and WordPress plugins. Create URL redirect mappings (source path to destination URL), import them from CSV, and let the GeoSwap script run them. No server configuration needed.
Unlike GeoRedirect, GeoRoute has no geo-targeting. Every route applies to visitors from every country. If you need different destinations by location, use GeoRedirect instead.
Map source URLs to destination URLs. Import hundreds of redirects at once from a CSV file, or create them one by one in the dashboard.
When you save, your routes are cached in Redis and served by the GeoSwap edge worker on Cloudflare. No database queries at request time.
When a visitor opens a source URL, the GeoSwap script asks the edge for a match and sends the browser to the destination. The script must be installed on the site. Bots and crawlers are not redirected and see your original content.
The fastest way to get started is importing your existing redirects from a CSV. GeoRoute accepts a simple three-column format:
source_url,destination_url,status_code
/old-blog/post-1,https://example.com/blog/post-1,301
/products/old-widget,https://example.com/shop/new-widget,301
/about-us,https://example.com/company,302source_url — The path on your site (must start with /)
destination_url — The full URL to redirect to
status_code — Optional. 301 (default), 302, 307, or 308
You can import up to 500 rows at a time. Rows with a source path already used by a GeoRedirect, or repeated earlier in the same file, are skipped and listed so you can fix them. The rest still import.
Source URL: a path starting with /. It applies on every site where your project's script is installed. It has to match the page's path exactly, so /about matches /about and /about/, but not /about-us. Query strings on the page don't matter unless you include one in the source.
Status code: 301 (permanent), 302, or 307 (temporary) in the form. The redirect runs in the browser, so this records your intent rather than sending an HTTP status header.
Pass query string parameters (on by default): the visitor's query string is carried over to the destination.
Add custom URL parameters: add UTM tags or other parameters to every redirect.
A source path can belong to a GeoRoute or a GeoRedirect, not both. GeoSwap blocks the second one when you save.
Use 301 redirects for permanent URL changes (page moved, domain migration).
Use 302 or 307 for temporary redirects (testing, seasonal campaigns).
Import your redirects from a CSV to avoid manual entry errors.
Use labels to organize routes by project, client, or migration batch.
If you need different destinations per country, use GeoRedirect instead.
Learn about SEO best practices when using geo-targeting.