独立站技术SEO:URL结构、面包屑、分页、canonical的最优实践
一、URL 结构:上线前一次定死,30 天内别动
URL 是 Google 判断页面层级和主题的第一个信号。独立站 URL 的黄金规则是:小写、连字符、不超过 3 层、含关键词、不含动态参数。上线后改 URL 必须配 301,否则外链和排名一起掉。
| 规则 | 正确示例 | 错误示例 |
|---|---|---|
| 小写连字符 | /hydraulic-hose/ | /Hydraulic_Hose/ |
| 层级≤3 | /products/hydraulic-hose/xsr300/ | /products/catalog/2024/hydraulic/hose/xsr300/ |
| 不含 ID | /products/xsr300/ | /product.php?id=88231 |
| 不含日期 | /blog/how-to-choose-hose/ | /blog/2024/09/11/how-to-choose/ |
| 单词≤4 | /commercial-pressure-washer/ | /best-commercial-pressure-washer-for-farms-in-2024/ |
动态参数 URL 是独立站最常见的收录黑洞。购物车、筛选、排序、会话 ID 都会生成带 ? 参数的 URL,不处理的话,Google 会把同一个产品页的十几种参数版本都当成独立页面抓取。处理方式见 产品目录的检索体验,核心是用 robots 屏蔽低价值参数,用 canonical 把有价值参数指向主版本。
场景示例:客户站用 WooCommerce,产品 URL 是 /product/xsr300/,但加了 3 个相关产品插件后,自动生成 /product/xsr300/?variation=red 这类 URL,GSC 里收录了 1200 多条重复。处理办法是在 robots 里 Disallow 掉 ?variation=,并在产品页 head 写死 canonical 为 /product/xsr300/。
二、面包屑:可见的导航 + 隐藏的结构化数据
面包屑解决两件事:访客知道自己在哪,Google 在 SERP 上用面包屑替代冗长 URL。两个必须同时做——页面上看得见的面包屑导航,加上 head 里的 BreadcrumbList JSON-LD。
| 面包屑做法 | 是否推荐 | 说明 |
|---|---|---|
| 可见导航 + BreadcrumbList 标记 | 推荐 | 用户和 Google 都能读,SERP 出面包屑 |
| 只有可见导航无标记 | 可用 | 用户体验在,SERP 面包屑概率低 |
| 只有隐藏标记无可见导航 | 禁止 | 属隐藏文本,违反 Google 垃圾策略 |
| 面包屑超过 5 层 | 禁止 | 层级过深,扁平化处理 |
| 末层也做链接 | 不推荐 | 自链接无意义,末层应为纯文本 |
层级控制在 4 层以内:首页 > 一级分类 > 二级分类 > 产品。面包屑里每一层都用绝对 URL,不要用相对路径。BreadcrumbList 的写法参考 结构化数据 Schema 里 P0 部分,上线当天用 Rich Results Test 验证。
三、分页:每页自引用 canonical,别再写 rel=next/prev
分页是技术 SEO 里被过时教程误导最多的一项。rel=next/rel=prev 这两个标签 Google 早在 2019 年 3 月就宣布不再作为信号使用,网上大量教程还在教写,写了也没用。
| 分页做法 | 收录结果 | 是否推荐 |
|---|---|---|
| 每页自引用 canonical(page=2 canonical 到 page=2) | 第 1 至 10 页全部独立收录 | 推荐 |
| 所有分页 canonical 到第 1 页 | 只有第 1 页收录,第 2 至 10 页消失 | 错误 |
| 用 rel=next/prev | Google 已忽略,无效果 | 过时 |
| 无限滚动不输出分页链接 | 第 2 页以后内容爬不到 | 错误 |
| 分页超过 10 页仍在翻页 | 薄页风险高 | 改为筛选/按字母 |
反直觉点:很多人以为把分页 canonical 到第一页能集中权重,结果是第 2 至 10 页全部不收录,列表页总收录量掉到 1/10。正确做法是每页 canonical 指向自己,让 Google 把每一页当独立内容收。如果某分类产品超过 10 页,用筛选条件或字母索引替代翻页,不要无限分页。
四、canonical:绝对 URL,自引用,配 hreflang
canonical 标签告诉 Google:「这个页面和那个页面是同一个内容,以我为准。」它是处理重复内容的第一道工具,但用错比不用更糟。
| canonical 写法 | 结果 | 判定 |
|---|---|---|
| <link rel=”canonical” href=”https://站点/a/”> 绝对 URL | 正确指向主版本 | 标准做法 |
| canonical 写成相对 URL /a/ | Google 多数能解析,但有风险 | 不推荐 |
| canonical 指向首页 | 整页权重被错误合并 | 严重错误 |
| canonical 指向 404 或已删除页 | 页面从索引消失 | 严重错误 |
| 多语言页 canonical 配 hreflang | 各语种独立收录 | 标准做法 |
多语言站点的 canonical 要和 Hreflang 多语言落地 配合:英文页 canonical 指向自己的英文 URL,hreflang 列出所有语种版本;不要把德文 canonical 指到英文,那会让德文页直接从德国搜索结果里消失。插件怎么选,见 环形山技术栈。
场景示例:客户站改版后把旧 URL /old-product/ 301 到 /new-product/,但忘了在 /new-product/ 写自引用 canonical,结果 GSC 报告「用户指定的 canonical 未被选取」错误。补一行 canonical 后 5 天内错误消失。这种问题在站点迁移时高发,详见 站点重构与换域名。
五、上线后 7 天验证流程
四件套不是写完代码就完,要在 GSC 里验证。
| 验证项 | 工具 | 时限 | 通过标准 |
|---|---|---|---|
| URL 结构抽检 | URL 检查工具 | 上线当天 | 随机 5 个 URL 无参数、层级≤3 |
| 面包屑标记 | Rich Results Test | 上线当天 | 无错误 |
| 分页收录 | GSC 索引报告 | 第 7 天 | 第 2 至 10 页均被收录 |
| canonical 选取率 | GSC 网页索引报告 | 第 14 天 | 「用户指定未选取」错误<5 条 |
| 薄页数量 | GSC「已抓取尚未索引」 | 第 7、14 天 | <200 条且持续下降 |
性能和技术 SEO 是两层:URL、面包屑、分页、canonical 属于可抓取性,Core Web Vitals 属于可体验性。两层都过了,再谈内容和外链,见 Google SEO 栏目其他文章。
六、robots、sitemap 与抓取预算的配合
四件套之外,还有两个常被忽略的开关:robots.txt 和 XML sitemap。它们决定 Google 爬虫把有限的抓取预算花在哪些 URL 上。
| 工具 | 作用 | 典型配置 |
|---|---|---|
| robots.txt Disallow | 阻止抓取低价值 URL | 屏蔽购物车、筛选参数、后台 |
| robots.txt Allow | 明确放行重要目录 | Allow: /products/ /blog/ |
| XML sitemap | 告诉 Google 有哪些重要页 | 只放可索引页面,不含 noindex URL |
| Sitemap index | 页面多时拆分 | products.xml、blog.xml、pages.xml 分开 |
一个常见错误是把 noindex 的 URL 也放进 sitemap。这会让 Google 困惑:你说不要索引,又说这页很重要。正确做法是 sitemap 里只放能被索引的 URL,noindex 的页既不进 sitemap,也不指望它被抓取。
场景示例:客户站 5000 个产品页,但 GSC 显示 Google 每周只抓取 800 个 URL,其中 600 个被购物车和筛选参数吃掉。处理方式是 robots.txt Disallow 掉 /cart/ 和带 ?filter= 的 URL,把抓取预算释放给产品页。两周后产品页抓取量从每周 200 涨到 650,收录率从 30% 涨到 75%。
抓取预算不是大站才要关心的事。一个有 200 个产品、每月新增 10 篇博客的 B2B 站,如果有 5000 条薄页被抓,Google 也会把预算花偏。技术 SEO 的本质就是把预算集中到真正重要的页面上。
最后讲一个常见误区:很多人用 URL 检查工具跑一次就觉得万事大吉。实际上 GSC 的「网页索引报告」要每周看一次。如果「已抓取尚未索引」的数字连续两周上升,说明要么有新的薄页被生成,要么 canonical 配置出了新问题。这个数字的警戒线是 200 条以内,超过就要查 robots、sitemap 和最近一次模板改动。
多语言站点还要额外注意 hreflang 和 canonical 的配合。每个语种页面的 canonical 指向自己,hreflang 列出所有语种版本;不要把英文页的 canonical 指到德文页,也不要让英文页 hreflang 指向不存在的 URL。hreflang 标签写错是多语言站索引异常的头号原因,详见 Hreflang 多语言落地。
技术 SEO 有一个优先级判断:先修抓取错误,再修索引错误,最后修排名。一个连 robots 都没配好的站点,谈排名没有意义。用 GSC 的「覆盖率」报告先把错误清零,再看「效果」报告里的关键词位置,顺序不能反。
最后给一个自检清单:上线前用 URL 检查工具跑 5 个模板页,确认 HTTP 200、canonical 正确、面包屑标记无错、分页自引用、robots 没误拦。这五步全过,技术 SEO 这一层就算交付了。剩下的事交给内容和外链。
FAQ 常见问题
URL 里用连字符还是下划线?
分页要不要写 rel=next/prev?
分页第 2 页以后 canonical 指到第 1 页对吗?
canonical 用相对 URL 还是绝对 URL?
面包屑只在页面上显示,不写结构化数据可以吗?
URL 上线后发现单词拼错能改吗?
写在最后
技术 SEO 四件套没有一项是魔法,它们只是让 Google 能正确理解你的站点。URL 定结构、面包屑给路径、分页给收录、canonical 去重——四件事做错任何一件,内容写得再好也排不上去。
落地三步:本周用 URL 检查工具抽查 5 个模板页,确认无动态参数、层级不超 3 层;下周把分页和 canonical 模板改对,删掉所有 rel=next/prev;第三周在 GSC 索引报告里查「已抓取尚未索引」是否低于 200 条。
一句可以记住的话:技术 SEO 不是加分项,是入场券——四件事做对,内容才有资格被讨论。
