Files
mintlify__docs/create/redirects.mdx
mintlify[bot] d6960c72bf Improve SEO metadata across documentation pages (#5310)
* Improve SEO metadata: fix titles, descriptions, and remove redundant OpenAPI descriptions

- Remove description frontmatter from 19 API pages where the OpenAPI spec already supplies the description
- Fix 2 titles that exceeded 60 characters (content-templates, content-types)
- Improve 15 descriptions that were too short (<130 chars) or too long (>160 chars) to target 130-155 characters
- All descriptions are unique and include relevant search terms

Generated-By: mintlify-agent

* re-add API descriptions

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2026-04-13 09:41:41 -07:00

107 lines
2.5 KiB
Plaintext

---
title: "Redirects"
description: "Configure URL redirects in docs.json for moved, renamed, or deleted documentation pages to preserve SEO rankings and prevent broken links."
keywords: ["redirects"]
---
When you change the path of a file in your docs folder, it also changes the URL path to that page. This may happen when restructuring your docs or changing the sidebar title.
## Redirects
<Note>
Redirects **cannot** include URL anchors like `path#anchor` or query parameters like `path?query=value`.
</Note>
Set up redirects by adding the `redirects` field to your `docs.json` file.
```json
"redirects": [
{
"source": "/source/path",
"destination": "/destination/path"
}
]
```
This redirects `/source/path` to `/destination/path`.
By default, redirects are permanent (308). To use a temporary redirect (307), set `permanent` to `false`.
```json
"redirects": [
{
"source": "/source/path",
"destination": "/destination/path",
"permanent": false
}
]
```
Both 307 and 308 preserve the HTTP method of the original request (unlike 301 and 302), making them suitable for redirecting POST requests.
### Wildcard redirects
To match a wildcard path, use `*` after a parameter. In this example, `/beta/:slug*` matches `/beta/introduction` and redirects it to `/v2/introduction`.
```json
"redirects": [
{
"source": "/beta/:slug*",
"destination": "/v2/:slug*"
}
]
```
### Partial wildcard redirects
Use partial wildcards to match URL segments that start with a specific prefix.
```json
"redirects": [
{
"source": "/articles/concepts-*",
"destination": "/collections/overview"
}
]
```
This matches any URLs with the `/articles/concepts-` path, such as `/articles/concepts-getting-started` and `/articles/concepts-overview`, and redirects them all to `/collections/overview`.
You can also substitute the captured wildcard value in the destination.
```json
"redirects": [
{
"source": "/old/article-*",
"destination": "/new/article-*"
}
]
```
This redirects `/old/article-123` to `/new/article-123`, preserving the captured value after the prefix.
### Avoid infinite redirects
To avoid infinite loops, do not create circular redirects where paths redirect back to each other.
```json
"redirects": [
{
"source": "/docs/:slug*",
"destination": "/help/:slug*"
},
{
"source": "/help/:slug*",
"destination": "/docs/:slug*"
}
]
```
## Check for broken links
Find broken links with the [CLI](/cli).
```bash
mint broken-links
```