本文约 3,940 字,预计阅读 10 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:合规页面不是”法务的事”,是收款的前置条件
很多外贸站把隐私政策、条款这些页面当作可有可无的装饰,随便从网上抄一段放上去。但现实是:PayPal 和 Stripe 在审核商户时会检查这些页面是否存在且内容合理,缺 Privacy Policy 或 Return Policy 的站点,被风控的概率显著更高,严重时会冻结资金。面向欧盟的站点还有 GDPR 的硬性要求:必须告知用户收集了哪些数据、为什么收集、保存多久、如何删除。这些不是”要不要做”的问题,是”不做就收不到钱”的问题。
原理分析:五类页面的职责边界
| 页面 | 核心职责 | 缺失后果 |
|---|---|---|
| Privacy Policy | 说明数据收集与使用 | GDPR 违规、支付风控 |
| Terms & Conditions | 交易规则与责任边界 | 争议时无依据 |
| Return & Refund | 退货条件与流程 | 支付通道风控、纠纷败诉 |
| Shipping Policy | 配送范围与时效 | 客诉、差评 |
| Cookie Policy | Cookie 用途与同意 | GDPR / ePrivacy 违规 |
WordPress 本身提供了隐私政策相关的核心函数,帮助我们把页面挂到正确位置:wp_get_privacy_policy_url() 返回隐私政策页链接,the_privacy_policy_link() 直接输出带文案的链接。WooCommerce 则把条款页存在 woocommerce_terms_page_id 这个 option 里,结账页的条款勾选框读的就是它。
Cookie 同意是另一条线:GDPR 与 ePrivacy 要求”非必要 Cookie 需先获得同意”。这意味着 Google Analytics、Facebook Pixel、聊天组件这类脚本,必须在用户点击同意之后才加载,而不是页面加载即执行。Complianz 与 Cookie Notice 是官方目录里两个成熟方案,前者能按地区自动切换严格程度。
保姆级实操
步骤 1:生成隐私政策骨架。 WordPress 后台”设置 → 隐私”里有”创建新的隐私政策页面”的向导,会生成一份结构化草稿。草稿只是骨架,必须按你的实际情况补充。
# 查看 WordPress 为隐私政策页分配的 ID
wp option get wp_page_for_privacy_policy
wp post list --post_type=page --fields=ID,post_title,post_status --format=table
步骤 2:补充外贸场景特有内容。 骨架里没有的内容,正是海外客户最关心的:收集哪些数据(姓名、邮箱、IP、Cookie)、数据传输到哪些国家(例如使用美国的分析服务)、保存多久、用户如何申请删除、联系邮箱必须是域名邮箱。
步骤 3:写条款页。 至少包含:报价有效期、最小起订量、付款方式、知识产权归属、不可抗力、争议解决方式与适用法律。B2B 站要特别写明”报价以最终确认单为准”。
步骤 4:在 WooCommerce 里挂载条款页。 在”WooCommerce → Settings → Advanced → Page setup”里指定 Terms and conditions 页面,结账页会自动出现勾选框。
// 确认条款页已正确挂载到结账流程
add_action( 'wp_footer', 'mimangfei_debug_terms_page' );
function mimangfei_debug_terms_page() {
if ( ! current_user_can( 'manage_options' ) || ! is_checkout() ) {
return;
}
$terms_id = (int) get_option( 'woocommerce_terms_page_id' );
printf(
'<!-- terms page id: %d, url: %s -->',
$terms_id,
$terms_id ? esc_url( get_permalink( $terms_id ) ) : 'not set'
);
}
步骤 5:写退货与配送政策。 退货政策必须写清:可退货期限(如 30 天)、退货条件(未使用、原包装)、谁承担运费、定制产品是否可退。配送政策写清:发货时效、运输方式、清关责任(DDP 还是 DDU)。
步骤 6:配置 Cookie 同意。 安装 Complianz(或 Cookie Notice),按向导选择目标地区,插件会自动生成 Cookie Policy 并管理脚本加载。
步骤 7:把第三方脚本改成”同意后加载”。 插件无法覆盖的自研脚本,用 cookie 判断手动控制。
add_action( 'wp_head', 'mimangfei_gated_analytics', 20 );
function mimangfei_gated_analytics() {
// 统计分析属于非必要 Cookie,需先取得同意
$consent = isset( $_COOKIE['mmf_stat_consent'] ) && '1' === $_COOKIE['mmf_stat_consent'];
if ( ! $consent ) {
return;
}
?>
<!-- 统计脚本仅在同意后输出 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<?php
}
步骤 8:在页面各处挂上入口。 页脚放隐私、条款、退货三个链接;结账页放条款勾选;表单下方放隐私政策链接与链接文案。用 WordPress 内置函数取链接,避免硬编码 URL。
function mimangfei_footer_legal_links() {
$privacy = wp_get_privacy_policy_url();
$terms = get_permalink( (int) get_option( 'woocommerce_terms_page_id' ) );
$links = array();
if ( $privacy ) {
$links[] = '<a href="' . esc_url( $privacy ) . '">Privacy Policy</a>';
}
if ( $terms ) {
$links[] = '<a href="' . esc_url( $terms ) . '">Terms & Conditions</a>';
}
return implode( ' · ', $links );
}
步骤 9:加站点层面的联系方式。 GDPR 要求有可联系的责任主体,页脚必须有公司名、地址与邮箱,这也是支付通道审核的检查项。
步骤 10:定期复查。 GDPR 与各地法规会更新,建议每半年复查一次,尤其是接入新的第三方服务(新的分析工具、新的客服组件)时,必须同步更新隐私政策。
常见踩坑
- 直接复制别人的隐私政策。 里面写着别人的公司名与第三方服务,等于自己承认不合规。
- 条款页没挂到 WooCommerce。 结账页没有勾选框,支付通道审核不通过。
- Cookie 脚本先于同意加载。 这是 GDPR 检查里最容易被发现的问题。
- 案例: 某外贸 B2C 站上线三个月后 PayPal 账户被限制收款,理由是站点缺少可访问的退货政策与联系方式。补齐 Return Policy 页面、在页脚加上公司地址与域名邮箱、并在结账页挂载条款后,限制在两个工作日内解除,但期间冻结的资金已经影响了备货。
- 用免费邮箱作为合规联系邮箱。 客户与审核方都会质疑真实性。
- 隐私政策页被
noindex或robots.txt屏蔽。 审核方找不到页面,等同于没有。 - 多语言站点只做了英文版合规页。 面向德语客户应有德语版本,否则在当地仍不合规。
总结
外贸站合规页面的最小清单:Privacy Policy、Terms & Conditions、Return & Refund、Shipping Policy、Cookie Policy,外加页脚的公司名、地址与域名邮箱。技术上用 wp_get_privacy_policy_url() 取隐私页、woocommerce_terms_page_id 挂条款页、Cookie 同意插件管理脚本加载。判断标准:用无痕窗口访问站点,能不能在两次点击内找到任意一个合规页面。信任类内容如何布局见外贸站信任背书布局;面向欧盟客户的 Cookie 与客服组件冲突见WhatsApp 客服接入与隐私合规。
