不能直接复制的主要是三类:与具体域名和站点身份绑定的配置、与单个站点数据规模绑定的参数、以及需要按站点单独授权的第三方资源。可以复用的是代码结构、组件库、构建流程和部署脚本模板。判断标准不是“能不能复制”,而是复制之后是否需要独立维护——只要两个站点未来可能分开迭代,这部分就应该拆成独立配置,而不是共用一份。
这两种条件的取舍完全不同,也是很多方案在复制阶段出问题的根源。
条件一:同一主体、同一套业务逻辑下的多个站点。例如一个品牌面向不同地区或不同产品线开设多个站点。这种情况下,代码层可以高度复用,共用一套组件库和构建流程,只在配置层区分域名、语言、货币、联系方式。此时不能直接复制的是站点身份配置:站点名称、备案信息、结构化数据中的组织标识、各站点独立的统计代码 ID。这些内容一旦复制粘贴,多个站点会向同一统计账户发送数据,后续很难拆分每个站点的真实表现。
条件二:不同主体、不同客户的多个站点。例如一家建站服务商为不同客户交付站点。这种情况下,连代码层都不建议直接复制,因为授权、责任边界和后续维护归属都不同。不能直接复制的是第三方资源的授权凭证:字体授权、图片素材授权、地图或支付接口的密钥、表单接收邮箱。这些资源通常按站点或按主体授权,复制到第二个站点可能构成超范围使用。
如果无法判断属于哪种条件,一个可操作的检验方法是:问一句“这两个站点未来会不会由不同的人、按不同的节奏改版”。答案是会,就按不同主体处理;答案是不会,才考虑共用配置。
以下项目在多数站点方案中都属于站点级配置,而不是项目级配置。复制方案时,它们应当被单独列出并逐项确认,而不是随代码一起带走。
这份清单的作用不是让你全部手动改一遍,而是让你在交付前能明确回答:哪些项目已经按站点区分,哪些还是共用的。共用项越多,未来拆分成本越高。
假设某团队用同一套方案上线了 A、B 两个站点,统计代码中的站点标识没有替换。上线后一段时间,团队发现 A 站点的报告里混入了 B 站点的访问数据,于是把 B 站点的流量单独剔除,再观察 A 站点的表现。
这个动作的问题是:剔除只能按来源粗略过滤,无法还原两个站点各自的真实路径。更合理的下一步不是继续在报告里做减法,而是回到配置层,确认两个站点的标识是否独立。如果独立,再重新观察;如果仍共用,先拆分再谈数据解读。这个例子说明的是判断顺序:先确认配置是否分离,再决定数据能不能用,而不是反过来。
可以共用的部分,通常满足一个特征:改动它不会影响任何一个站点的对外身份。例如:
必须拆开的部分,通常满足另一个特征:改动它会改变站点对外的身份、责任或数据归属。例如:
一个实际动作可以帮助你落地这个判断:在方案交付前,把配置文件按“站点级”和“项目级”分成两个目录。站点级目录中的每一项,在新增站点时都必须重新填写;项目级目录中的内容可以直接继承。这个动作的结果会直接影响下一步——如果站点级目录很短,说明方案适合多站点复用;如果站点级目录很长,说明这个方案本质上仍是单站点方案,强行复用会积累隐性维护成本。
有两种情况可以暂时共用,但需要明确前提。
第一种是站点尚未正式对外、仅用于内部测试。此时共用统计标识或临时域名不会影响真实数据,但上线前必须完成替换,并把替换项列入上线检查表。
第二种是多个站点确定会长期保持完全一致的对外身份,且由同一团队统一维护。这种情况下共用配置是可接受的,但一旦出现“其中一个站点需要单独改版”的需求,就应当立即拆分,而不是在共用配置上加条件判断。条件判断越多,后续排查问题的成本越高。
如果以上两种情况都不满足,就不要以“先上线再拆”为理由共用站点级配置。拆分动作越晚,涉及的数据和授权问题越难回溯。