
直接在正式WordPress网站上测试更改是专业开发人员会避免的风险。暂存网站是正式网站的独立克隆,用于在上线之前安全测试插件更新、新主题和代码更改。本指南将逐步引导您在DirectAdmin共享主机上创建WordPress暂存网站。
什么是暂存网站,为什么它如此重要?
暂存网站是用于测试的正式网站隔离副本。主要优势包括:
- 在不影响正式网站的情况下测试WordPress核心更新
- 在安全环境中试用新插件或主题
- 在发布前测试代码和CSS更改
- 防止因更新失败导致的网站停机
- 在批准更改前向客户展示预览
前提条件
开始之前,您需要准备:
- 用于暂存的子域名,例如
staging.yourdomain.com - 暂存专用的独立数据库
- 足够的磁盘空间(至少等于正式网站的大小)
第一步 — 创建暂存子域名
- 进入DirectAdmin → 域名设置 → 子域名
- 输入
staging作为子域名名称 - 点击创建
- DirectAdmin会自动在文件管理器中创建子域名文件夹
第二步 — 创建新数据库
- 进入DirectAdmin → MySQL管理
- 点击创建新数据库
- 将其命名为
username_staging - 创建数据库用户名和密码,然后点击创建
第三步 — 复制WordPress文件
使用文件管理器将所有文件从 public_html/ 复制到暂存子域名文件夹:
- 打开文件管理器
- 选择
public_html/中的所有文件 - 点击复制并将暂存文件夹设为目标位置
或通过SSH:
cp -r /home/username/public_html/. /home/username/domains/staging.yourdomain.com/public_html/
第四步 — 导出和导入数据库
- 进入DirectAdmin → phpMyAdmin
- 选择正式数据库,点击导出 → 执行,保存.sql文件
- 切换到暂存数据库,点击导入,选择.sql文件
第五步 — 更新wp-config.php
编辑暂存文件夹中的wp-config.php,使用新数据库凭据:
define('DB_NAME', 'username_staging');
define('DB_USER', 'staging_user');
define('DB_PASSWORD', 'your_staging_password');
define('DB_HOST', 'localhost');
第六步 — 更新数据库中的URL
在phpMyAdmin中运行此SQL,将URL从正式环境更新为暂存环境:
UPDATE wp_options SET option_value = 'https://staging.yourdomain.com' WHERE option_name = 'siteurl' OR option_name = 'home';
或使用WP-CLI:wp search-replace 'https://yourdomain.com' 'https://staging.yourdomain.com'
完整手动暂存工作流程一览
为了从头到尾了解整个流程,以下是在DirectAdmin共享主机上创建WordPress暂存网站的完整操作顺序。按顺序执行这些步骤,您将在子域名上获得一个完全正常工作的网站克隆:
- 创建子域名 — 在DirectAdmin → 子域名中,创建
staging.yourdomain.com,使其拥有独立于正式环境的文件夹和地址。 - 复制所有文件 — 将
public_html/中的所有文件(包括wp-content文件夹、.htaccess文件和所有隐藏文件)复制到暂存文件夹。 - 克隆数据库 — 从phpMyAdmin导出正式数据库,然后将其导入到新创建的暂存数据库。
- 编辑wp-config.php — 将
DB_NAME、DB_USER和DB_PASSWORD指向暂存数据库。 - 更新数据库中的URL — 使用
wp search-replace或SQL将siteurl/home以及序列化内容中嵌入的任何URL更改为暂存域名。 - 阻止索引并锁定访问 — 添加密码保护和noindex,确保Google永远不会抓取暂存副本。
以下章节将介绍初学者最容易出错的地方:搜索替换URL、将更改推回正式环境,以及是否使用插件辅助。
WP Staging插件 vs 手动操作 — 哪个更好?
您可以按上述方式通过DirectAdmin和phpMyAdmin"手动"构建暂存网站,也可以使用WP Staging、Duplicator或WP Migrate等插件。每种方法都有明确的权衡:
| 方面 | 手动(DirectAdmin) | 插件(WP Staging等) |
|---|---|---|
| 上手难度 | 需要了解子域名、数据库和wp-config | 几次点击即可,适合初学者 |
| URL替换 | 需要自行执行搜索替换 | 自动处理序列化URL |
| 推回正式环境 | 逐文件/表操作,容易出错 | 部分版本有推送按钮(付费版) |
| 资源占用 | 轻量,无需额外插件 | 克隆过程中占用磁盘/内存 |
| 系统理解 | 更深入了解WordPress结构 | 对内部机制的了解较少 |
建议:对于需要快速操作的中小型网站,WP Staging等插件是最简便的选择。但如果您希望完全控制每个步骤、更深入了解系统,并且不想在正式网站上安装额外插件,通过DirectAdmin手动操作更灵活,也不会影响正式网站性能。
安全地将暂存推送到正式环境
一旦您的更改在暂存环境通过测试并准备上线,不要盲目地将整个文件夹或数据库覆盖到正式环境。在您测试期间,正式网站可能已积累了新数据(订单、评论、新会员)。覆盖所有内容会删除这些数据。请遵循以下方法:
- 始终先备份正式环境 — 在操作任何内容之前,通过DirectAdmin备份文件和数据库,这样如果出现问题可以立即回滚。
- 区分更改类型 — 如果您只更改了主题、插件或代码,只需复制
wp-content/themes或wp-content/plugins中的文件,不要动数据库。 - 谨慎覆盖数据库 — 如果必须从暂存迁移数据表,只导入相关表(例如
wp_options用于设置),而不是覆盖整个数据库。 - 将URL替换回正式域名 — 从暂存导入数据时,记得先将
https://staging.yourdomain.com替换为https://yourdomain.com,否则链接和图像会指向错误位置。 - 推送后立即测试 — 立即打开首页、关键页面和登录页面,确认正式网站仍然正常运行。
如果您担心测试期间新增的数据,最安全的方法是在低流量时段直接在正式环境上重新进行更改,而不是从暂存环境覆盖整个数据库。
应避免的常见错误
配置不当的暂存网站可能会对正式网站或SEO造成问题。请注意以下几点:
- 始终将暂存设置为noindex — 进入设置 → 阅读,勾选"建议搜索引擎不索引此站点",并通过DirectAdmin添加密码保护,确保Google永远不会将暂存索引为损害正式网站排名的重复内容。
- 不要忘记替换所有URL — WordPress URL存储在序列化数据中。直接的SQL
UPDATE可能会破坏序列化值,因此请使用wp search-replace(能理解序列化数据)或能处理此问题的插件。 - 清除暂存网站上的缓存 — 如果正式环境使用缓存插件(WP Super Cache、LiteSpeed Cache等),克隆后在暂存网站上清除缓存,否则您会看到过时的页面或仍指向正式环境的链接。
- 在暂存上禁用WP-Cron — 添加
define('DISABLE_WP_CRON', true);,防止暂存环境运行计划任务,如发送邮件、自动发布或与正式环境并行调用正式API。 - 将SMTP和支付与真实账户隔离 — 在暂存环境上禁用或使用支付网关和邮件发送的沙盒值,确保测试期间不会意外向真实客户发送邮件或收费。
常见问题解答
暂存网站使用额外的子域名吗?会影响正式网站的SEO吗?
暂存网站使用单独的子域名,如 staging.yourdomain.com,只要将其设置为noindex并通过DirectAdmin的密码保护锁定,就不会影响主域名的SEO。Google不会将其索引为重复内容。AsiaGB主机支持无限子域名,因此您可以免费创建暂存环境。
对于初学者来说,创建暂存网站困难吗?
手动操作需要了解三个主要方面:子域名、克隆数据库和编辑wp-config.php——本指南均有详细介绍。如果您希望操作更简便,可以使用WP Staging插件通过几次点击克隆您的网站。但通过DirectAdmin手动操作有助于您了解系统,避免在正式网站上安装额外插件。
测试后应该删除暂存网站吗?
不使用时应该删除或禁用暂存环境,以节省空间并降低安全风险(旧的暂存网站通常有过时的插件/主题,容易成为漏洞)。如果经常需要,可以保留,但始终要用密码保护和noindex锁定,并定期备份正式和暂存环境。
从暂存推送更改到正式环境时会丢失客户数据吗?
如果覆盖整个数据库可能会丢失数据,因为在测试期间正式环境可能已收到新订单或新会员。最安全的方法是先备份正式环境,然后只推送更改的主题/插件文件或仅导入必要的数据表——而不是覆盖整个数据库。
安全提示:通过DirectAdmin的密码保护功能保护您的暂存网站,防止公众访问和搜索引擎索引。同时在暂存网站的wp-config.php中添加 define('DISABLE_WP_CRON', true);,并在设置 → 阅读中将其设置为noindex。
支持WordPress暂存的主机服务
AsiaGB SSD主机支持无限子域名,非常适合WordPress暂存网站。每年仅需500泰铢起,配备DirectAdmin和phpMyAdmin。
查看主机方案