---
title: Canonical URL与重定向治理(规范化/301)最佳实践
keywords:
- Canonical
- 301重定向
- 规范化
- 结尾斜杠
- 大小写
description: 通过URL规范化与Canonical标签、301重定向策略统一入口路径,降低重复内容与开放重定向风险并提升SEO与安全性。
categories:
- 文章资讯
- 编程技术
---
背景与价值
URL规范化可减少重复与绕过路径。结合Canonical与301治理,可实现一致入口与安全外跳。
统一规范
- 规范化:统一结尾斜杠与大小写;移除冗余参数。
- Canonical:向页面下发canonical标签指向唯一URL。
- 301策略:非规范URL重定向到规范入口。
核心实现
规范化与重定向
function normalize(u: URL): URL { const x = new URL(u.href); x.pathname = x.pathname.replace(/\/+$/,''); x.pathname = x.pathname.toLowerCase(); x.searchParams.sort(); return x }
type Res = { status: (n: number) => Res; setHeader: (k: string, v: string) => void; end: (b?: string) => void }
function redirectIfNeeded(current: URL, res: Res): boolean { const norm = normalize(current); if (norm.href !== current.href) { res.status(301).setHeader('Location', norm.href).end(); return true } return false }
function canonicalTag(norm: URL): string { return `<link rel="canonical" href="${norm.href}">` }
落地建议
- 在路由层统一规范化与重定向,并在页面注入canonical标签,避免重复与绕过。
验证清单
- 非规范URL是否301到规范入口;页面是否下发canonical标签。

发表评论 取消回复