重定向插件
该插件允许你直接从 Admin Panel 中轻松管理应用的 URL 重定向。它通过在你的配置中添加一个 redirects
集合来实现,该集合允许你指定从一个 URL 到另一个 URL 的重定向规则。你的前端应用可以利用这些数据,使用正确的 HTTP 状态码自动将用户重定向到正确的页面。这在重新平台化或更改 URL 结构时,对 SEO、索引和搜索引擎排名非常有用。
例如,如果你有一个页面 /about
想改为 /about-us
,你可以创建一个从旧页面到新页面的重定向,然后利用这些数据在前端应用中实现 HTTP 重定向。这将确保用户被正确重定向而不会受到惩罚,因为搜索引擎会在请求层面收到变更通知。这是一个非常轻量级的插件,可以让你为任何前端框架集成可管理的重定向功能。
核心功能
- 向配置中添加
redirects
集合:- 包含
from
和to
字段 - 允许
to
字段引用文档
- 包含
安装
使用 pnpm、npm 或 Yarn 等 JavaScript 包管理器安装插件:
pnpm add @payloadcms/plugin-redirects
基本用法
在你的 Payload 配置的 plugins
数组中,使用 选项 调用插件:
import { buildConfig } from 'payload'
import { redirectsPlugin } from '@payloadcms/plugin-redirects'
const config = buildConfig({
collections: [
{
slug: 'pages',
fields: [],
},
],
plugins: [
redirectsPlugin({
collections: ['pages'],
}),
],
})
export default config
选项
选项 | 类型 | 描述 |
---|---|---|
collections | string[] | 一个包含 collection slugs 的数组,用于填充每个重定向的 to 字段。 |
overrides | object | 一个部分 collection 配置,允许你覆盖 redirects collection 上的任何内容。 |
redirectTypes | string[] | 提供一个重定向类型数组,用于指定支持的重定向类型选项。 |
redirectTypeFieldOverride | Field | 一个部分 Field 配置,允许你在启用上述选项时覆盖重定向类型字段。 |
注意,overrides 中的字段接收一个函数,该函数接收默认字段并返回字段数组。这允许你向 collection 添加字段。
redirectsPlugin({
collections: ['pages'],
overrides: {
fields: ({ defaultFields }) => {
return [
...defaultFields,
{
type: 'text',
name: 'customField',
},
]
},
},
redirectTypes: ['301', '302'],
redirectTypeFieldOverride: {
label: '重定向类型 (已覆盖)',
},
})
TypeScript
所有类型都可以直接导入:
import { PluginConfig } from '@payloadcms/plugin-redirects/types'
示例
Templates Directory 中还包含官方的 Website Template 和 E-commerce Template,这两个模板都使用了此插件。