The ability to create and maintain redirects on a website is vital for long-term success.
Once your site has a lot of content, you may need to do a content audit. This will require merging or deleting pages which are no longer important. To maintain the traffic from these deleted or merged pages, you’ll need to create URL redirects. Now I understand this isn’t the most exciting part of site building but it’s important to get it right.
The module which will handle all of this is perfectly named; Redirect.
The Redirect module lets you create and manage redirects using a simple user interface. Just define a source and destination and you’re good to go. You can also track 404 errors, using a sub-module, so if you have a page indexed in Google with a broken path then it’ll be logged and a redirect can be easily created.
In this tutorial, you’ll learn how to:
Before we begin, make sure you download and install the Redirect module.
If you use Composer, run the following:
$ composer require drupal/redirect
$ drush dl redirect
Create a Redirect
Once you have installed the module creating a redirect is very easy.
1. Go to Configuration and click on “URL redirects”.
2. Click on “Add redirect”, enter in a Path (old path) and then select a To (new path).
The To field is an autocomplete field which you can use to lookup content on the site. But you can also add an external URL into the field.
3. From the “Redirect status” drop-down box, you can select which status will be used. Most of the time it’ll be a 301 or 302. Once you’re finished click on Save.
4. You’ll be redirected back to the Redirect page where you can manage existing redirects and create new ones.
Track Broken Paths
The Redirect module ships with a handy sub-module called Redirect 404.
The sub-module logs all the 404s and displays them all with a count in the “Fix 404 pages” page in “URL redirects”. When dealing with redirects, half the battle is figuring out which paths need to be redirected. This sub-module will log all 404s and add a button called “Add redirect” which you can use to create the redirect.
This sub-module could cause performance issues if your site gets a lot of traffic so test accordingly.
Domain Level Redirects
Another sub-module, which Redirect comes with is called “Redirect Domain”, it allows you to create domain level redirects.
A good use of this is when you want to redirect a whole domain, i.e., old-domain.com to new-domain.com. You can create a rule which will redirect anything from old-domain.com/* to new-domain.com, without manually creating redirects.
Creating redirects manually won’t cut it if you need to add more than 20. If you have a spreadsheet full of redirects then it’s best to look at using Path redirect import.
The module lets you import redirects using a CSV file. All you need to do is prepare everything in a spreadsheet then once you’re ready, export the sheet as a CSV and import it into Drupal using the module.
The format of the CSV is pretty simple:
To are the only required columns.
Language are optional.
Run CSV Import
Once you’ve installed Path redirect import, go to Configuration, “URL Redirects” and click on the Import tab.
Select a file using the CSV File upload field and click on Import. Once the import is complete you’ll see a message telling you which redirects imported and which didn’t.
The reason the redirects in the above image were bypassed (not imported) is because the page did not exist. When preparing your CSV file make sure the paths and nodes actually exist. For example, if you’re creating a redirect to
node/123 and that page doesn’t exist then the module won’t import it in.
Update Existing Redirects
When importing, if you want to update existing redirects then all you need to do is check the “Override existing sources” checkbox when importing.
Global Redirect merged into Redirect Module
The functionality of the Global Redirect module has been merged into Redirect for Drupal 8. This is great because it means there’s one less module to install.
The Global Redirect settings can be configured by going to the Settings page with “URL redirects”.
Redirect is one of the must-have modules which is installed on most Drupal sites. But you can use it for more than just managing historical links. Another good use-case is to create vanity URLs. For example, you could create a redirect path domain.com/d8, that’ll redirect to another page within your site. This is especially useful when adding URLs into a presentation, the shorter the URL the more memorable it is.