跳转到主要内容

故障排除 WooCommerce (WordPress) 连接问题

解决 Omnisend 中的 WooCommerce 插件连接错误、授权循环、API 访问问题和防火墙阻止问题。

作者:Ira

如果您无法将您的 WooCommerce 店铺连接到 Omnisend,看到“Omnisend 无法连接”错误,或者陷入授权循环,本指南将帮助您诊断并解决此问题。

大多数连接问题源于插件冲突、防火墙/安全设置、API 访问限制或不正确的店铺设置。请遵循以下诊断步骤,以识别并解决问题。

故障排除前:请确保您已遵循主要的 WooCommerce 设置指南 并完成了安装步骤。


开始之前

确保这些先决条件已满足。如果缺少任何一项,连接都将失败,无论采取何种故障排除步骤。

连接所需:

  • WooCommerce 3.6+ 和 WordPress 5.0+早期版本不支持 REST API v3 (Omnisend 需要)。前往 Plugins → Installed Plugins 检查版本。

  • 启用 HTTPS (SSL 证书)您的店铺 URL 必须以 https:// 开头。Omnisend 无法访问没有有效 SSL 证书的店铺。

  • WordPress 安装在域名根目录.WordPress 必须位于 yourdomain.comsubdomain.yourdomain.com,而不是 yourdomain.com/店铺。如果 WordPress 位于页面级路径,插件会失败。

  • REST API 访问已启用。在您的浏览器中打开 yourdomain.com/wp-json/wc/v3/products。如果您看到产品数据或错误消息,则 API 正常工作。如果您看到 404 错误,则 REST API 已被阻止 – 请参阅 REST API 已阻止部分

  • ⚠️ 空的店铺槽位 (如果您已连接其他平台).如果您已将 Shopify、BigCommerce 或其他店铺连接到 Omnisend,您必须创建一个 新店铺槽位 然后才能连接 WooCommerce。每个平台都需要自己的店铺以防止数据混淆。


连接诊断清单

请按顺序完成这些步骤。完成每个步骤后,请尝试重新连接。如果连接成功,您就找到了问题。

步骤 1.验证先决条件

确认所有要求均已满足 开始之前

  • WooCommerce 3.6+ 已安装

  • HTTPS 已启用 (URL 以 https:// 开头)

  • WordPress 在域名根目录 (不是 /店铺 子目录)

  • REST API 可访问 (在 yourdomain.com/wp-json/wc/v3/products 测试)

  • 已创建空店铺槽位(如果您已连接其他平台)

步骤 2.禁用已知有问题插件

这些插件经常阻止 Omnisend 连接。逐个暂时禁用它们,然后每次禁用后重试连接:

禁用插件,前往WordPress 管理后台插件已安装插件 → 点击停用

  • WP Crontrol – 干扰 Omnisend cron jobs

  • LiteSpeed Cache – 剥离授权标头

  • 真正简单的安全性 – 阻止 REST API 请求

  • Wordfence / Cloudflare – Firewall 拦截 Omnisend IPs

  • Perfmatters – 可能会禁用 REST API 或脚本

💡 连接成功后:逐一重新启用插件以找出问题所在。

步骤 3.将 Omnisend IP 地址加入白名单

如果您使用 Wordfence、Cloudflare、Really Simple Security 或任何防火墙插件,它们可能会阻止 Omnisend 请求。

→ 跳转到 防火墙和安全插件修复部分 以将 Omnisend IP 和用户代理加入白名单。

如何设置白名单:

步骤 4.清除缓存并在无痕模式下测试

  1. 清除您的浏览器缓存(在 Chrome/Edge 上按 Ctrl+Shift+Delete,在 Safari 上按 Cmd+Shift+Delete)。

  2. 打开无痕/隐私窗口。

  3. 登录 WordPress 并再次尝试连接。

如果在无痕模式下问题仍然存在,可能是浏览器扩展程序或缓存会话导致了问题。暂时禁用扩展程序或使用其他浏览器。

步骤 5.检查连接状态

在 WordPress 中: 前往 Omnisend 插件页面。状态应显示已连接。

在 Omnisend 中: 前往店铺设置 联系人信息 → 验证您的店铺 URL 是否与您的线上域名匹配 (不是 localhost 或 staging)。

测试 endpoint:
打开yourdomain.com/wp-json/omnisend-api/v1/connected in your browser.它应该返回正确。


特定错误场景

如果诊断清单未能解决您的问题,请在下方找到与您的症状相符的错误场景。

授权重定向循环

您所看到的:

  • 您点击 "Approve" 在 WooCommerce 同意许可窗口中。

  • 您在未完成设置的情况下被重定向回“连接您的账户”

  • 连接无法完成。

发生此情况的原因:缓存插件、安全插件或 WP Crontrol 在审批过程中剥离了授权标头。

如何修复:

  1. 禁用 WP Crontrol: 前往Plugins 已安装插件停用 WP Crontrol。

  2. 暂时禁用缓存插件: 禁用 LiteSpeed Cache、WP Rocket 或任何缓存插件。

  3. 清除浏览器缓存并打开无痕窗口。

  4. 请重新连接。

  5. 如果循环持续存在:请联系您的主机提供商(SiteGround、Bluehost、GoDaddy),并请他们确认 Authorization header 没有在服务器层面被剥离。

💡 成功连接后: 逐一重新启用插件以识别阻碍因素。


插件显示已连接,但 Omnisend 显示“无法连接”

您所看到的:

  • Omnisend 插件在 WordPress 中显示 "已激活""已连接"

  • Omnisend 仪表盘显示红色横幅:“Omnisend 无法连接到您的 WooCommerce。”

  • 数据未在 WooCommerce 和 Omnisend 之间同步。

发生此情况的原因: Omnisend 无法访问您的 WooCommerce REST API,即使已安装插件。

如何修复:

  1. 检查 API密钥(API Key):前往 WooCommerce → Settings → Advanced → REST API,并验证 Omnisend API密钥(API Key)是否存在,且未过期或被撤销。

  2. 测试 API 访问: 打开yourdomain.com/wp-json/omnisend-api/v1/connected 在您的浏览器中。

    • 如果返回 true,则连接正常工作 – 请等待 10 分钟,然后刷新您的 Omnisend 仪表盘。

    • 如果它返回 false404,则 API 已被阻止 – 请参阅 REST API 已阻止部分

  3. 将 Omnisend IP 地址列入白名单: 添加 Omnisend IP 地址到 Wordfence、Cloudflare 或您的防火墙 – 请参阅防火墙和安全插件修复部分

  4. 验证您的店铺 URL: 前往Omnisend 店铺设置 联系人信息 并确认您的店铺 URL 与您的实际域名匹配(而非localhost 或者 staging URL 类似staging.yourdomain.com)。


"Add Permissions" 按钮缺失

您看到的情况:安装插件后,您没有看到"Add permissions" 按钮在 Omnisend 插件页面上。

出现此问题的原因:旧的 Omnisend API密钥(API Key) 仍处于活动状态,阻止新的权限提示出现。

如何修复:

  1. 前往 WooCommerce Settings Advanced REST API

  2. 在列表中找到 Omnisend 密钥。

  3. 点击 "Revoke" 即可将其删除。

  4. 返回 Omnisend 插件页面。

  5. “Add permissions”按钮现在应该出现。点击并批准。


空白页或“未找到”错误 连接期间

您所看到的:当您点击"Connect""Approve," 您会看到:

  • 空白页面

  • “请求的网址未在此服务器上找到” (404 错误)。

  • 浏览器错误而不是批准弹窗。

发生此情况的原因:您的服务器正在剥离授权标头,或者 WooCommerce REST API 已禁用。

如何修复:

  1. 将授权标头添加到 .htaccess
    打开your .htaccess file(在您的 WordPress root folder 中,通过 FTP 或 cPanel File Manager)并添加以下行:

    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
  2. 保存文件并重新连接。

  3. 检查 REST API 访问:
    前往yourdomain.com/wp-json/wc/v3/products 在您的浏览器中。

  4. 联系您的主机:
    某些主机(Bluehost、GoDaddy、WP Engine)默认阻止 REST API 端点。请他们启用/wp-json/ 访问


REST API 已阻止

您看到的情况:连接失败,并且yourdomain.com/wp-json/wc/v3/products 返回 404 错误或“REST API 已禁用。”

原因:REST API 被您的主机、安全插件或主题设置禁用。

如何修复:

  1. 检查安全插件:

    • 在 Wordfence 中:前往 Wordfence Firewall Firewall Options 并确保 REST API 未被阻止。

    • 在 Really Simple Security 中:前往 Settings REST API 并允许 REST API 访问。

  2. 检查主题设置:某些主题(例如 Divi、Avada)包含禁用 REST API 的选项。请检查主题设置并重新启用它。

  3. 添加 .htaccess 规则: 添加the Authorization header fix from

  4. 联系主机提供商:请他们确认/wp-json/ 端点未在服务器层面被阻止(常见于 Bluehost、GoDaddy 和 WP Engine)。


“店铺已连接”错误

您会看到: 一个横幅出现:

  • “此 Omnisend 店铺已连接。从您的账户中选择另一个店铺,然后重试。"

  • “无可用店铺槽位”

出现此情况的原因:您已有一个店铺 (Shopify、WooCommerce、BigCommerce 等) 已连接到 Omnisend,并且您尚未为此 WooCommerce 网站创建新的店铺槽位,或者您的 WooCommerce 域名之前已连接到另一个 Omnisend 账户 (包括测试账户)。

如何解决:

  • 如果您已连接其他平台:

  1. 在 Omnisend 中创建新的店铺槽位:
    前往账户设置 Stores “Add New Store”

  2. 切换到新的空店铺:
    点击店铺切换器(Omnisend 仪表盘右上角 → Switch store),然后选择新店铺。

  3. 返回 WordPress 并再次点击“连接您的账户”。

  4. 在弹窗中确认连接

💡 为什么? 每个平台 (Shopify, WooCommerce, BigCommerce) 必须连接到您的 Omnisend 账户中的单独店铺,以防止数据混淆。

  • 如果您的域名之前已连接到另一个 Omnisend 账户:

请联系 Omnisend 支持团队:[email protected] 或通过应用内聊天以断开旧链接。


连接之前正常(突然停止)

您看到的内容:

  • 插件已连接数周或数月。

  • 突然显示“无法连接”或同步停止。

  • 没有进行任何更改 (您记得的)。

为什么会出现这种情况:

  • 您的店铺 URL 略有更改(添加/删除了 www.)。

  • 最近的插件或 WooCommerce 更新撤销了 API 权限。

  • 服务器更新期间,防火墙设置已更改。

  • SSL 证书已过期。

如何修复:

  1. 检查您的店铺 URL 是否已更改:前往Omnisend店铺设置 联系信息。如果 URL 与您的实际域名不匹配(检查是否存在www.差异),更新它。

  2. 验证 API密钥(API Key) 是否存在:前往WooCommerce Settings 高级 REST API。如果 Omnisend 密钥缺失,请前往 Omnisend 插件页面 → 点击"添加权限"批准

  3. 检查您的 SSL 证书:测试地址:SSL Checker。如果已过期或无效,请通过您的托管服务提供商续订(许多提供免费的 Let's Encrypt 证书)。

  4. 如果这些都不奏效: 前往 Omnisend plugin page → 点击"添加权限"批准 → 等待 10 分钟 → 刷新。


插件更新横幅不会消失

您所看到的:您已更新了 Omnisend 插件,但横幅仍显示 "Update required" 或 "Connection issue."

发生此情况的原因: Omnisend 同步插件权限时出现临时延迟。

如何修复:

  1. 前往 WordPress 中的 Omnisend 插件页面

  2. 点击 "Add permissions" (如果按钮出现)。

  3. 点击 "Approve" 在 WooCommerce 同意许可窗口中。

  4. 请等待 5-10 分钟,以使更改生效。

  5. 清除您的浏览器缓存并刷新页面。

如果横幅在 10 分钟后仍然存在,请参阅 插件显示已连接,但 Omnisend 显示“无法连接”部分。


防火墙与安全插件修复

如果您使用 Wordfence、Cloudflare、Really Simple Security 或任何防火墙插件,您必须将 Omnisend IP 地址和用户代理列入白名单。

Omnisend 需要列入白名单的 IP 地址:

将这些 IP 添加到您的防火墙白名单:

  • 34.170.162.11

  • 34.56.62.59

  • 34.56.108.215

  • 34.133.59.36

  • 34.58.66.146

  • 35.184.130.5

  • 35.232.14.89

Wordfence

在 Wordfence 中将 Omnisend IP 地址加入白名单:

  1. 前往 WordPress Admin Wordfence Firewall.

  2. 点击 管理防火墙 → 滚动到 “允许列表中的IP地址。”

  3. 请将每个 Omnisend IP 地址粘贴到新行。

  4. 点击 "Save Changes"

  5. 返回 WordPress 并重试连接。

Cloudflare

将 Omnisend 加入 Cloudflare 白名单:

  1. 登录您的 Cloudflare 仪表盘

  2. 前往 Security WAF (Web Application Firewall)

  3. 点击 "Create Rule"

  4. 设置 规则名称: Allow Omnisend (或类似名称)

  5. 设置 字段: User Agent | 运算符: contains | 值: Omnisend/1.0 (区分大小写)

  6. 设置 操作: 跳过

  7. 选择所有要跳过的组件

  8. 点击 "Deploy"

将 Omnisend IP 列入白名单:

  1. 前往 Security WAF Tools

  2. 滚动到 IP Access Rules

  3. 添加每个 Omnisend IP(请参阅上面的列表),并将 Action 设置为 Allow

  4. 点击 "Add"

保存后,在 WordPress 中重新安装 Omnisend 插件并重新连接。

非常简单的安全

为了允许 Omnisend 请求:

  1. 前往 WordPress Admin Really Simple Security Settings

  2. 点击 REST API

  3. 确保 REST API 未禁用

  4. 前往 Firewall IP Allowlist

  5. 添加每个 Omnisend IP 地址(请参阅上面的列表)

  6. 保存并重试连接


插件冲突与永久修复

如果禁用插件解决了您的连接问题,请使用这些永久修复方法,以便您可以保持插件处于活动状态。

WP Crontrol

问题:管理 WordPress cron jobs 并阻止 Omnisend 后台进程。

修复: 保持不变连接期间禁用。连接后,仅当您需要将其用于其他任务时才重新启用。如果问题仍然存在,请保持禁用状态。

LiteSpeed Cache

问题:移除授权标头,导致连接失败。

修复:

  1. 前往 WordPress Admin LiteSpeed Cache Exclude

  2. URI 排除 下,添加:/wp-json/omnisend*

  3. 保存设置并重新连接

Cloudflare (Turnstile / Forms Module)

问题:拦截 Omnisend 机器人请求。

修复:将用户代理列入白名单Omnisend/1.0 (区分大小写) 在 Cloudflare WAF 规则中 –参阅 Cloudflare 部分

Perfmatters

问题:可能会禁用 REST API 或连接所需的 JavaScript。

修复:

  1. 前往 Perfmatters Settings Disable

  2. 确保 REST API 未禁用

  3. 重试连接


高级故障排除

克隆您的 WooCommerce 店铺(预演/测试环境)

当您克隆您的 WooCommerce 店铺以创建测试或预演环境时,这让您可以安全地测试新功能、更新和其他更改,而不影响您的实时店铺。

Omnisend 插件的工作原理:Omnisend 插件通过自动断开预演环境与您的实时店铺的数据发送连接,确保您的生产环境和预演环境之间有明确区分。它还要求预演环境连接到一个测试品牌。

设置 Staging Environment 的步骤

步骤 1:在您的生产店铺中执行操作。使用您的托管服务提供商的工具、WordPress 插件(WP Staging、Duplicator)或手动 FTP/数据库复制来克隆您的店铺。这会为测试或其他目的创建所需的环境。

步骤 2:在您的预演店铺中执行操作。将预演插件连接到Omnisend 中的独立测试品牌(不是您的生产品牌)。这确保预演环境与您的实时店铺连接的是不同的品牌。该插件会显示品牌名称,从而更容易区分它连接的是哪个 Omnisend 品牌。

重要提示

⚠️ 自动断开连接:创建生产副本后,预演插件将自动与主店铺断开连接,防止其将数据发送回生产环境。

Omnisend 插件会检测到何时创建了预演环境,并与您的实时店铺断开连接,以确保不会将非生产数据发送到那里。为了让插件能够检测到环境变化,您的克隆暂存环境必须将 WP_ENVIRONMENT_TYPE WordPress 变量设置为 "staging""development"

这应该由您选择的克隆工具自动设置,或者,如果您手动克隆,则可以在您的wp-config.php文件中进行设置,例如:

define('WP_ENVIRONMENT_TYPE', 'staging');

如何验证您的 Staging Setup

如果您正在使用第三方工具克隆您的店铺,并且您想确保其创建的设置正确无误,您可以通过以下方式进行操作:

  1. 前往您的克隆店铺的WordPress 管理仪表盘

  2. 前往 Tools Site Health Info WordPress Constants

  3. 请确保 WP_ENVIRONMENT_TYPE 设置为 "staging""development"

"production""Undefined" 等值应仅出现在您的生产店铺中。如果它们出现在您的克隆店铺中,则表示设置不正确,因为 Omnisend 插件将无法检测到它需要断开连接。

有关如何克隆您的 WooCommerce 店铺并创建测试或预演环境的详细步骤,请遵循以下指南:

品牌名称显示:Omnisend 插件显示品牌名称,以帮助您轻松识别它连接到哪个品牌。


永久链接结构问题

问题:当永久链接结构重置时,一些 404 错误会得到解决。

修复:

  1. 前往 WordPress Admin Settings Permalinks.

  2. 点击 "Save Changes" (即使未作任何更改)。

  3. 重试连接。


SSL Certificate 问题

问题:无效或过期的 SSL 证书会阻止 API 访问。

修复:

  1. 您可以在 SSL Checker 检查您的SSL证书。

  2. 如果已过期或无效,请通过您的主机提供商续订(许多提供商提供免费的 Let's Encrypt 证书)。

  3. 续订后,请重新连接。


服务器级别授权标头阻止

问题:某些主机(SiteGround、Bluehost、GoDaddy)默认会移除 Authorization header。

修复:

  1. 将此行添加到您的 .htaccess 文件中(在 WordPress root 中):

    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
  2. 如果问题仍然存在,请联系您的主机提供商,并请他们为 REST API 请求启用授权标头直通。


如何修复 API 访问问题

由于 API 访问问题,您的店铺数据将不会同步到 Omnisend。这会阻止我们向您的受众发送消息。如果您的店铺数据未同步,API 访问可能被以下原因阻止:

  • 安全插件 (第三方)

  • 自定义 PHP 代码阻止 API 访问。

  • WordPress 或 WooCommerce 安全设置

请联系您的开发人员以识别并解决任何潜在原因。

检查 WooCommerce API 是否可访问:

  1. 前往 WooCommerce Settings Advanced REST API.

  2. 点击 添加密钥。

  3. 输入任意名称,然后点击 "Generate API key"。

  4. 获取 consumer key 和 secret,然后在您的浏览器中输入此网址:

    {shopDomain}/wp-json/wc/v3/products?consumer_key={consumer_key}&consumer_secret={consumer_secret}
  5. 如果产品列表显示,API 正常运行。

  6. 检查后删除测试 API密钥(API Key)。

要检查 Omnisend API 是否可访问:

  1. 更新到最新的 Omnisend 插件版本。

  2. 在您的浏览器中打开 {shopDomain}/wp-json/omnisend-api/v1/connected—它应该返回 true


验证您的修复是否有效

应用任何修复后,请确认连接处于活动状态:

  • 在 WordPress 中:前往Omnisend 插件页面。状态应显示已连接。

  • 在 Omnisend 中:前往受众 联系人并确认店铺联系人显示正常。

  • 测试端点:打开yourdomain.com/wp-json/omnisend-api/v1/connected 在您的浏览器中。它应该返回true。


常见问题

插件在 WordPress 中显示“已连接”,但 Omnisend 显示“无法连接”。为什么?
这意味着 Omnisend 无法访问您的 WooCommerce API,即使插件已激活。确保您的 WooCommerce REST API 可访问,将 Omnisend IP 地址列入您的防火墙白名单,并验证 Omnisend 中您的店铺 URL 与您的实际域名匹配(而非 localhost)。

连接期间显示“The requested URL was not found on this server”是什么意思?
此错误意味着您的服务器正在阻止或配置错误 WooCommerce REST API 端点。添加SetEnvIf Authorization "(.*)\" HTTP_AUTHORIZATION=$1 到您的.htaccess 文件,或联系您的主机提供商以启用 REST API 访问。

为什么点击“Connect”会显示空白页面?
连接时出现空白页面表明您的服务器正在剥离 Authorization header 或某个插件正在阻止 API 请求。添加the Authorization header fix to .htaccess(见上文),暂时禁用缓存/安全插件,然后重试。

我更新了插件,但横幅仍然显示“需要更新”。现在怎么办?
更新后,前往 WordPress 中的 Omnisend 插件页面并点击“Add permissions。”等待 5–10 分钟,清除您的浏览器缓存,然后刷新。如果横幅仍然存在,请参阅插件显示已连接,但 Omnisend 显示“无法连接”部分。

WP Crontrol 正在导致问题。这个插件有什么作用?
WP Crontrol 管理 WordPress cron 作业(计划任务)。它可能会干扰 Omnisend 的后台进程。暂时禁用它,完成连接,然后重新启用。如果问题持续存在,请将其禁用或联系支持团队。

我需要将哪些 IP 地址列入白名单才能用于 Omnisend?
在 Wordfence、Cloudflare、Really Simple Security 或任何防火墙插件中将这些 IP 地址列入白名单:34.170.162.11, 34.56.62.59, 34.56.108.215, 34.133.59.36, 34.58.66.146, 35.184.130.5, 35.232.14.89。

我使用 Cloudflare。如何将 Omnisend 列入白名单?
前往Cloudflare → Security → WAF → Create a rule. 将用户代理Omnisend/1.0(区分大小写)和 Omnisend IP 地址(见上文常见问题)添加到您的允许列表。保存后,重新安装 Omnisend 插件。

我的店铺 URL 更改了(从 localhost 或预演环境)。我该如何重新连接?
前往Omnisend → Store Settings → Contact information and update your store URL to the live domain. 等待 10 分钟,然后退出并重新登录。如果问题仍然存在,请从 WordPress 断开并重新连接插件。

在连接到 Omnisend 后,为什么我的 WooCommerce 店铺运行缓慢?
如果您正在使用旧版 WooCommerce 插件,插件和 API 会同时同步联系人,从而造成双重同步负载。这可能会减慢您的店铺速度。Update to the latest plugin version to resolve this.前往Plugins Updates 在 WordPress 中。


如果您有任何疑问或需要帮助,请联系 Omnisend 支持团队:[email protected] 或通过应用内聊天。

这是否解答了您的问题?