知识库 / 阶段 3 · 技术 SEO 与开发协作 / 搜索引擎优化(SEO) ↗ / 第 026 节

🔄 网站开发静态路由设计

网站开发静态路由设计(视频站也可以参考)#

1. 路由设计目标#

  • 统一 URL 风格(避免重复收录、权重分散)

  • 有利于 SEO(清晰、可读、可被搜索引擎理解)

  • 可扩展(支持分类、分页、标签、多级目录)

  • 前后端易维护

  • 静态伪静态均可兼容

2. URL 基础规范#

2.1 是否以 / 结尾(统一规范)#

采用行业最佳方案:

类型 是否以 / 结尾 理由
首页 / 标准
分类(目录) /cid/28/ 目录语义
标签(目录) /tag/xxx/ 目录语义
分页 /cid/28/page/2/ 目录语义
文章内容 /post/13697 文件语义
用户页 /user/12345 文件语义
搜索页 /search?q=xxx 文件语义 + 参数
错误页 /404 文件语义

3. 全局 URL 设计原则#

3.1 原则 1:简单、短、可读#

避免:

/category_id=28_list_page_2.html

推荐:

/cid/28/page/2/

3.2 原则 2:小写字母唯一#

URL 中:

  • 全部小写

  • 不用中文、空格、大写

  • 使用连字符“-”代替空格

3.3 原则 3:语义明确#

URL 见名知义,例如:

/post/12345

/user/8888

/tag/lol/

3.4 原则 4:路径层级不超过 3 层#

搜索引擎建议:

/cid/28/page/2/

超过 4 层会影响抓取效率。

4. 各模块静态路由规则(完整版)#

4.1 首页#

/

指定 canonical:

<link rel="canonical" href="https://www.xxx.com/">

4.2 分类页(目录)#

/cid/{category_id}/

示例:

/cid/28/

/cid/3/

推荐扩展#

分类别名:

/category/yule/

/category/news/

4.3 分类分页#

/cid/{id}/page/{page}/

示例:

/cid/28/page/2/

4.4 标签页(目录)#

/tag/{tag_slug}/

示例:

/tag/王者荣耀/

/tag/网红黑料/

(英文化更好:/tag/wangzherongyao/)

4.5 标签分页#

/tag/{tag}/page/{page}/

4.6 文章内容页【视频播放页】(文件语义)#

/post/{article_id}

示例:

/post/13697

如需更友好 SEO,可:

/post/13697-yixing-agri-video

4.7 用户首页#

/user/{uid}

示例:

/user/3681532

4.8 用户文章分页#

/user/{uid}/page/{page}/

4.9 搜索页(带参数)#

/search?q=关键词

无分页:

/search?q=xxx&page=2

4.10 作者页(可选)#

/author/{name}/

或用 ID:

/author/23/

4.11 全站 RSS(经验推荐)#

/rss.xml

4.12 API(可隐藏)#

/api/get-post?id=xxx

4.13 错误页#

/404

/500

不加斜杠,更符合文件语义。

5. Canonical 规范化设计(避免重复收录)#

示例:内容页

<link rel="canonical" href="https://www.xxx.com/post/13697">

分页页:

<link rel="canonical" href="https://www.xxx.com/cid/28/">

禁止 canonical 指向其他分页页。

6. Sitemap 设计#

/sitemap.xml

/sitemap-post.xml

/sitemap-category.xml

/sitemap-tag.xml

首页 sitemap.xml 作为总入口。

7. Robots.txt 建议#

User-agent: *

Disallow: /api/

Disallow: /admin/

Sitemap: https://www.xxx.com/sitemap.xml

8. Nginx 伪静态规则模板(可直接用)#

文章页#

location ~ ^/post/([0-9]+)$ {

rewrite ^/post/([0-9]+)$ /index.php?m=post&id=$1 last;

}

分类页#

location ~ ^/cid/([0-9]+)/$ {

rewrite ^/cid/([0-9]+)/$ /index.php?m=cid&id=$1 last;

}

分页#

location ~ ^/cid/([0-9]+)/page/([0-9]+)/$ {

rewrite ^/cid/([0-9]+)/page/([0-9]+)/$ /index.php?m=cid&id=$1&page=$2 last;

}

9. 路由冲突防止策略#

避免如下冲突:#

  • /post/123/ 与 /post/123/edit

  • /tag/xxx/ 与 /tag/xxx-article/

  • /user/888/ 与 /user/login/

解决:

所有功能性路径使用英文字母,不用数字:

/user/login

/user/logout

/user/settings

数字只用于资源:

/user/123

/post/155

10. 路由版本维护策略#

  • 不在 URL 中出现“版本号”

  • 不轻易更改已发布的 URL(只允许扩展,不允许改动)

  • 如需改动,用永久 301 指向新 URL

总结#

本方案设计的 URL 体系特点:

✔ 规范统一
✔ 目录与内容语义清晰
✔ 兼容 SEO
✔ 可升级为 SPA 或 SSR
✔ 可直接映射后端路由
✔ 可直接生成 Nginx rewrite