Redirect
Redirects keep old links working. A request for a moved URL is forwarded to the new one, and the status code tells crawlers if the move is permanent.
A redirect is an instruction that sends anyone who requests one URL to another URL, using an HTTP status code such as 301. In Drupal, the contributed Redirect module manages them: you enter the old path and the new destination, choose a status code, and the site forwards visitors and search engines.
How redirects work in Drupal 11
The status code tells the client how to treat the move. MDN groups 301 and 308 as permanent: crawlers update the original URL. It groups 302, 303 and 307 as temporary: crawlers do not memorize the new URL. 307 and 308 keep the request method and body. With 301 and 302, some clients change a method other than GET into GET.
The Redirect module lists Drupal 10 and 11 as supported in release 8.x-1.13. It stores each redirect as a redirect entity with a source path, a destination, a language and a status code. The source must be an internal Drupal path or alias, and fragment anchors are not allowed. The module builds a unique hash from the lowercased source path, the language and the source query, so two redirects cannot claim the same source.
The administration pages live under /admin/config/search/redirect: the list titled URL redirects, an add form at /admin/config/search/redirect/add and a settings page at /admin/config/search/redirect/settings. The settings form includes:
- Automatically create redirects when URL aliases are changed. The checkbox is disabled if the Path module is not installed.
- Retain query string through redirect.
- Default redirect status. The install configuration sets 301. The list offers 300 to 305 and 307; 308 is not among them.
- Enforce clean and canonical URLs. Redirects to the canonical URL of a page, which also covers aliases, trailing slashes and language prefixes.
- Ignore redirections on admin paths and Check access to the redirected page. The access check stops redirects to protected pages from exposing secret URLs.
Example
You replace a page and publish the new one at /pricing. Open the add form, put the retired page's path in the From field, put the new page in the To field and keep status 301. Anyone with an old bookmark, and any crawler that follows an old link, ends up on the new page.
Common mistakes
- Using a temporary code for a permanent move. Crawlers do not memorize the new URL after a 302, 303 or 307.
- Letting redirects pile up in a chain. MDN notes that every redirect adds an HTTP request and a performance cost, and advises keeping them to a minimum. Point old URLs straight at the final page.
- Changing an alias on a published page without a redirect. MDN says old URLs should redirect because external links bring users and help your SEO.
- Entering a fragment in the source. The field description says fragment anchors are not allowed.
For marketing and content teams
Ask for a redirect whenever you rename, merge or retire a page that already has traffic or links. A redirect plan belongs in every relaunch checklist, next to the new URL list. The Redirect project page also names Pathauto as a recommended companion: it can be set up so that alias changes do not break existing links.
With DXPR
The DXPR CMS project page lists redirect management among its features to help prevent broken links, without naming the module. See DXPR CMS.
Sources
Questions about redirects in Drupal
Cite this definition
"Redirect." DXPR Drupal glossary, https://dxpr.com/hc/documentation/learn-drupal/drupal-glossary/redirect. Last updated October 26, 2026.