In this lesson:
- When to set 301 redirects
- Why set 301 redirects
- Redirect a page
- Redirect a folder
- Escape characters
- Redirect an entire domain
When to set 301 redirects
Important: While Webflow currently doesn't have a hard limit in place for total redirects, we recommend 1,000 maximum as best practice. Each redirect rule is uploaded to a site's manifest.JSON file, which provides site information to visitors' browsers. As the manifest file grows, there's more data for browsers to download.
For the best SEO and site performance, consider using wildcard redirects where possible, which helps minimize the total number of redirect rules.
301 redirects are useful if you need to permanently route traffic from an old path to a new URL. There are several use cases:
- Reorganized URL structure
- Replaced or redesigned site using different URLs
- Moved to a completely new domain
- Secured alternative domains in case of typos
There are other types of redirects, such as 302 redirect which can indicate a temporary relocation, but 301 redirects are best used if you need to permanently route incoming traffic to a new URL.
Why set 301 redirects
When an old URL is replaced with a new URL, your old URL may still show up in the search results, it may be referenced in a blog post or a forum post, or it may be bookmarked, printed on business cards, or other materials. Anyone who visits the old URL will be led to a 404 page. When there is a 301 redirect set up, users clicking the old URL will be redirected to the specified new URL.
Google will eventually index your new site structure and old URLs will get updated. However, 301 redirects are a best practice, especially if you want to maintain ranking power from the old URL.
Redirect a page
Permanently redirect old pages or entire folders of pages to new locations in your Webflow site using the 301 Redirects settings:
- Open Project settings > Hosting > 301 redirects
- Add the old URL in the “Old Path” field (eg. /old-url)
- Add the new URL in the “Redirect to Page” field (/entirely/new-url/structure)
- Add the redirect path and publish your site
- Test the redirect by entering the old URL in a new browser tab. See Escape characters below for more information.
Redirect a folder
To redirect an entire folder
- Add a capture group (.*) in the old URL structure in the “Old Path” Field (eg. /oldfolder/(.*))
- Add the target path %1 for new URL structure in the “Redirect to Page” field (/entirely/new-url/structure/%1).
You can add multiple capture groups to create more complex redirect rules. For example: /blogs/(.*)/(.*) can be redirected to /articles/%1/%2
Wildcard redirect examples
Let's say you want to redirect all pages with the following URL structure /blog.php?category=music&post=beyonce to /blog/music/beyonce.
You might have categories like "music", "travel", and "food" and posts like "beyonce", "hawaii", and"pizza". So, these are your variables. In the URL above, "music" and "beyonce" are the variables. To make these variable changes, you'll need to call out these variables with capture groups, which look like "(.*)". For example, you'd need to write this redirect as follows:
- Old path: /blog.php%?category%=(.*)%&post%=(.*)
- Redirect to page: /blog/%1/%2
In the example above, "%1" refers to the first capture group, and "%2" refers to the second. With this wildcard redirect in place:
- /blog.php?category=music&post=beyonce will redirect to /blog/music/beyonce
- /blog.php?category=travel&post=hawaii will redirect to /blog/travel/hawaii
- /blog.php?category=food&post=pizza will redirect to /blog/food/pizza
When using URLs with wildcards and single paths, escape the following characters by using the "%" symbol before the character:
For example, /old-folder/(.*) will need to be /old%-folder/(.*) in order to work.
Let's say you want to redirect mysite.com/blog.php?category=music to mysite.com/blog/music. You'll need to write your redirect as follows:
- Old path: /blog.php%?category%=music
- Redirect to page: blog/music
In this case, the "%" signs before the "?" and "=" in the old path are required to make the redirect work properly.
Note: You'll only have to escape characters in the old path — you don't have to escape characters in the new redirect path.
Redirect an entire domain
To redirect a domain to another one:
- Connect both old and new domains to your project
- Make the new one the default domain.