If you need to route incoming traffic permanently from one page to another, 301 redirects are the best solution. URL redirection (or URL forwarding) is a technique for making a webpage available under more than one address.
You may want to change the page path (URL) for many reasons, including:
- You want to reorganize your website’s structure.
- You want to migrate your existing site to Sitebuilder.
- You need to delete a page.
- You want to change the existing page publish path.
- You have found a broken URL.
When you replace an old URL with a new one, your old URL may still show up in the search results. And people visiting the old URL will see a 404 page which affects your SEO. But when you set up a 301 redirect, visitors clicking the old URL will get to a specified new page and won’t get lost.
Redirecting a page
To permanently redirect your old page to a new URL in your site, follow these steps:
- Click the Menu icon in the upper left corner of the Editor. Choose the Settings tab to open Website settings.
- Choose the Hosting tab on the Website settings.
- Click on the Create redirect button.
- In the pop-up window, add the Old path (e.g., /original-url), New path (e.g., /entirely-new-url), and click Submit.
- Publish your site and test the redirect by entering the old URL in a new browser tab. (There can be up to a one-minute delay after the publishing before the redirect applies.)
Note: Browsers usually cache 301 redirects. So if you applied a redirect from URL A to URL B, tested it in your browser, and then redirected URL A to URL C, you need to clear your cache to see the changes. Alternatively, you can use the Incognito mode.
Editing and deleting a redirect
All your redirects form a sortable list that you can reorder by dragging and dropping the items. The redirect from the top of the list is assigned the highest priority. Then they apply one by one from top to bottom.
When you hover over a redirect, you can see the two icons appearing on the right side of the item. Click the Setting icon to change your redirect and the Trash bin icon to delete it.
Redirecting a folder
You can create a group redirect (a wildcard redirect) that redirects related URLs that share the same path. To redirect all pages of a directory (a folder) to a new destination, follow these steps:
- Add a capture group (.*) in the old URL structure in the Old path field (eg. /old-folder/(.*))
- Add the target URL /$1 for the new URL structure in the New path field (/entirely/new-folder/$1).
Note: 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
Suppose you’re reorganizing your website’s structure and want to redirect some pages. For example, you have a ‘restaurant’ folder with ‘food’ and ‘drinks’ subfolders. Now, you want to redirect all the subfolders and their pages from the ‘restaurant’ folder to ‘menu.’ If you will redirect it page by page, the sequence will look like this:
domain.com/restaurant/food/breakfast/ -> domain.com/menu/food/breakfast/
domain.com/restaurant/food/lunch/ -> domain.com/menu/food/lunch/
… -> …
domain.com/restaurant/drinks/coffee/ -> domain.com/menu/drinks/coffee/
If you present your categories as capture groups marked with (.*), you can achieve this with a single redirect:
Old path: /restaurant/(.*)/(.*)/
New path: /menu/$1/$2/
Escape characters
Some interfaces do not accept question marks (?) and/or equal signs (=) in URLs during redirects. Users have to put a $ sign before them to ‘escape’ these special characters.
The interface handles these special characters perfectly. So you don’t need to make any escape characters in your redirect URLs.
Redirect loop
A redirect loop occurs when you redirect a URL to another URL, which redirects back to the initially requested URL. This creates an infinite cycle of redirects that makes your website visitors and search engines get stuck on your site.
For example, you set up a 301 redirect from URL A to URL B. Then you add 301 redirects from URL B to URL C, and then URL C redirects back to URL A.
This leads to an endless chain of redirects, producing the following error message in your browser: ERR_TOO_MANY_REDIRECTS.
You can also create an infinite loop using a capture group (.*) if you set up a redirect like this:
Old path: /(.*)/
New path: /$1-test/