Shopify 改到 Headless,怎么保住网址与流量
Shopify 网址搬家不只是换前端。先盘点商品页、分类页、活动页与 UTM 链接,再用跳转对照表、批次规则与上线前验证保住流量。

Shopify 改成 Headless 时,最容易被低估的不是新前端,而是旧网址。
设计、性能和结账体验都很重要,但上线当天真正会让 SEO、广告和营收出问题的,通常是这些链接突然失效:
- Google 已经收录的商品页
- 分类页与活动页
- EDM、WhatsApp、Meta 广告、KOL 贴文里的商品链接
- 联盟营销与合作伙伴链接
- 带有
utm_source、utm_campaign、coupon 或 referral 参数的网址
如果你正在做 Shopify site migration,请把 redirect layer 当成正式上线项目,而不是 DNS cutover 之后才补的清理工作。
Shopify 搬到 Headless 为什么容易坏网址
Shopify 原本的 URL 结构很固定:
/products/{handle}/collections/{handle}/pages/{handle}
改成 Next.js、Hydrogen 或自建 Headless 架构后,团队常会顺手把路径改短,或依新的信息架构重新整理:
/shop/{handle}/c/{handle}/{handle}
新结构可能更干净。但对迁站来说,问题不是新网址好不好看,而是旧网址还活在很多地方。
一个旧商品网址可能同时存在于 Google 搜索结果、品牌 EDM、WhatsApp、微信服务号或企业微信图文、Facebook 广告、开箱文、QR Code、客服回复模板,以及消费者自己的书签里。你不处理它,它就会变成 404。
[!WARNING] 不要等到 DNS cutover 才开始补跳转。跳转对照表应该在 staging 就完成导入、抽查与批次爬行。
先定义迁站风险
没有跳转对照表的 Headless 迁站,通常会遇到三个问题。
1. 商品与分类页变成 404
Googlebot 和真实消费者都可能打到旧的 /products/... 或 /collections/...。如果没有对应的新目的地,这些请求就会失败。
2. 旧链接的价值被浪费
反向链接、站内链接、搜索结果、合作页面都需要清楚指到新的最佳目的地。不是每个旧网址都值得保留,但高价值 URL 不应该被丢到首页或直接放任失效。
3. 活动归因断掉
迁站 QA 很容易只看「页面有没有到」,却忘了 utm_、coupon、affiliate、referral 这些参数。如果跳转把 query string 洗掉,广告与 EDM 报表会看起来像突然失真。
第 1 步:导出旧 Shopify URL
不要靠记忆做跳转。
先从 Shopify 拿一份基础清单,再用 SEO、分析与营销数据补齐真正有流量的网址。
从 Shopify Admin 导出商品
到 Products > Export 导出全部商品。CSV 里通常会有 Handle 字段。
Handle,Title,Variant Price
cool-tshirt,Cool T-Shirt,29.99
blue-jeans,Blue Jeans,49.99你可以用 handle 建出旧商品页:
/products/cool-tshirt
/products/blue-jeans解析 sitemap.xml
如果要包含商品、分类、页面与 blog,请解析 Shopify 的 sitemap.xml。
# 安装 sitemap parser
npm install -g sitemap-to-csv
# 抓取并转成 CSV
sitemap-to-csv https://store.example/sitemap.xml > urls.csv补上搜索与活动数据
Shopify 不会知道所有重要网址。请另外导出:
- Google Search Console 有曝光或点击的页面
- GA4、warehouse 或 BI 里的 landing page 报表
- 仍在投放的广告 URL
- EDM、CRM、简讯、WhatsApp、微信服务号或企业微信里的链接
- 联盟营销、KOL、合作伙伴页面
- 客服常用链接与旧活动页
这些网址要标出优先顺序。高流量、高营收、高风险的 URL 先处理,不要把时间平均分给所有旧页。
第 2 步:设计跳转对照表
你不一定要为每个网址手写一条规则。Shopify 原本的结构很规律,很多情况可以用 pattern rule 处理,再用一对一规则处理例外。
情境 A:只改前缀
- 旧网址:
https://shop.example/products/blue-jeans - 新网址:
https://shop.example/shop/blue-jeans
UrlEdge 规则可以像这样:
- Source:
^/products/(.*)$ - Destination:
/shop/$1 - Type: 301
情境 B:移除商品前缀
- 旧网址:
https://shop.example/products/blue-jeans - 新网址:
https://shop.example/blue-jeans
UrlEdge 规则:
- Source:
^/products/(.*)$ - Destination:
/$1 - Type: 301
[!TIP] 如果你把商品放到 root level,要先确认新 router 不会跟
/about、/contact、/cart、分类 slug 或活动页互相撞到。
情境 C:保留活动参数
很多活动链接会在外面活很久。
https://shop.example/products/blue-jeans?utm_source=newsletter&utm_campaign=spring跳转后应该到:
https://shop.example/shop/blue-jeans?utm_source=newsletter&utm_campaign=spring如果 query parameters 被删掉,你的 crawler 可能看不出问题,因为页面仍然会到。但广告、EDM、KOL 与会员活动的归因会安静地坏掉。
第 3 步:把例外先想清楚
Shopify 搬到 Headless 后,通常不是所有旧页都能直接套 wildcard。
你至少要先决定这些情况:
- 已下架商品要导到替代商品、分类页、品牌故事页,还是 410?
- 合并后的 collection 要导到哪个新分类?
- 旧活动页还有没有搜索或广告流量?
- 商品 handle 改名时,要不要保留旧 slug?
- 多语系或多市场店面是否要保留地区路径?
不要把所有例外都丢到首页。对用户来说,首页通常不是「最接近」的目的地;对 SEO 和分析来说,它也会让你失去判断问题的能力。
第 4 步:在 Edge 层执行跳转
你可以把跳转写进 headless app,例如 next.config.js 或 Middleware。但对大型迁站来说,把跳转绑在前端部署里通常不理想。

更干净的做法,是把 redirects 放在专门的 Edge routing layer:
- 大量规则不会塞进前端代码
- SEO 或营销可以先导入 CSV 让工程审核
- DNS 切换前可以用 staging hostname 验证
- 上线后修例外不必重新部署 storefront
- 旧商品页与活动页能直接在靠近访客的节点回应
UrlEdge 可以导入 CSV,也可以直接定义 Regex 规则。
{
"rules": [
{
"source": "^/products/(.*)",
"destination": "/shop/$1",
"type": 301
},
{
"source": "^/pages/contact-us",
"destination": "/contact",
"type": 301
}
]
}第 5 步:上线前验证
Shopify 网址搬家不能只测首页。
在正式切 DNS 前,请用旧 URL inventory 去打新的跳转层。
先测 staging domain
把 staging hostname 指到 UrlEdge,先测高价值 URL:
- 热门商品页
- 热门分类页
- 目前投放中的活动页
- 有自然流量的 blog 或内容页
- 带 UTM、coupon、affiliate 参数的网址
用 curl 看状态码与 Location
curl -I https://staging.shop.example/products/old-product
# 预期输出:
# HTTP/2 301
# location: /shop/old-product
# x-urledge-rule: regex-product-match如果要看完整 hop,改用:
curl -IL https://staging.shop.example/products/old-product你要看到的是一个干净的 301,而不是 HTTP -> HTTPS -> www -> old path -> final path 这种多段跳转链。
批次爬行旧网址
用 Screaming Frog 或类似 crawler,把旧 URL 清单整批丢进 staging。请特别看:
- 404
- 302 被误用在永久搬家
- 多段跳转链
- 跳转回圈
- query string 被移除
- 目的地不是最佳对应页
如果你需要更完整的上线流程,可以搭配 网站迁移跳转检查清单 一起跑。
上线日要看什么
DNS 切换后,至少前 7 到 14 天要盯住这些讯号:
- 旧商品与分类页的请求量
- 新站 404
- 高价值跳转规则的命中次数
- 广告与 EDM landing page 报表
- Search Console 的索引与错误变化
- 客服是否收到找不到商品或订单页的回报
如果你在 UrlEdge 里管理跳转,可以用 analytics、跳转检查工具 与 坏链接监控 协助看规则是否真的按预期运作。
结论
Headless Shopify 迁站其实有两次上线:一次是新 storefront,一次是让旧流量安全抵达新站的跳转层。
真正稳的做法不是等 404 出现再补,而是提前完成:
- 商品页、分类页、活动页与内容页盘点
- 高价值 URL 的跳转对照表
- UTM 与活动参数保留
- CSV 或 Regex 批次规则
- staging 验证与上线日监控
如果你准备把 Shopify 网址搬到 Headless 架构,先在 UrlEdge 建立跳转对照表,再让新店面接正式流量。建立免费账号 后可以先导入第一批 URL 做验证。
相关文章
查看全部
Firebase Dynamic Links 替代方案:App 与活动链接要怎么搬?
Firebase Dynamic Links 已于 2025 年 8 月 25 日停止服务。若你还有 App 安装导流、QR Code、广告或 EDM 链接依赖旧网址,现在该把需求拆清楚再重建。

301、302、307、308 Redirect 差在哪?网站迁移和活动导流怎么选
永久搬家通常用 301,暂时活动通常用 302;若必须保留原本的 HTTP 方法,则改看 307 与 308。重点不是背代码,而是选对实际意图。