8.8 KiB
HESU 主题线上部署方案
适用:hesu-theme/hesu.zip(13 MB,图片压缩版,2026-08-19 验收见 docs/plans-audit-fix-acceptance.md) 主题要求:WordPress ≥ 6.1(测试至 7.0)、PHP ≥ 7.4(建议 8.x)、MySQL/MariaDB、HTTPS
一、部署前准备
| 项 | 要求 | 说明 |
|---|---|---|
| PHP | ≥7.4,建议 8.0+ | 需扩展:mysqli/gd/curl/mbstring/fileinfo/openssl(主流主机默认都有) |
| WordPress | ≥6.1 | 全新安装(见"已有站点"警告) |
| 上传限制 | ≥16MB 或走 FTP | wp-admin 上传 zip 受 upload_max_filesize 限制(常见默认 2–8M,13MB 会失败) |
| 插件 | Contact Form 7 | 唯一硬依赖(联系表单);先装它再激活主题(激活时自动建表单) |
二、全新站点部署(推荐路径)
Step 1 — 安装 WordPress
- 主机绑定域名 + SSL 证书(HTTPS)
- 全新安装 WordPress(数据库新建;站点语言随意——前台内容是英文,管理后台语言不影响)
- 设置 → 固定链接 → 选择"文章名"(/%postname%/)→ 保存(seed 页面的友好 URL 依赖它)
Step 2 — 安装 Contact Form 7
插件 → 安装插件 → 搜索 "Contact Form 7" → 安装并激活。 (此时 CF7 自带一个 "Contact form 1",无需管它;主题激活时会另建 "HESU Inquiry" 并自动绑定到联系页。)
Step 3 — 上传主题(二选一)
- 方式 A(后台上传):先把 PHP 上传限制调到 ≥30M(宝塔/面板的 PHP 设置,或
.user.ini:upload_max_filesize=32M+post_max_size=32M)→ 外观 → 主题 → 添加 → 上传主题 → 选hesu.zip→ 现在安装 - 方式 B(FTP/文件管理器):解压 hesu.zip → 把
hesu目录上传到wp-content/themes/hesu→ 外观 → 主题 → 找到 HESU → 启用
Step 4 — 激活(自动完成的事)
点击"启用"后主题自动播种,无需任何手动导入:
- 创建 9 个页面(首页/四大业务/全球布局/关于我们/发展历程/联系)+ 全部内容与图片入库(约 97 张媒体)
- 创建 4 篇示例新闻 + 4 个分类 + 菜单(主导航/页脚,含 Mega Menu 卡片)+ HESU Inquiry 表单
- 把站点首页设为 Home(设置 → 阅读 里自动配置好)
Step 5 — 部署后验证清单(5 分钟)
- 首页:数字滚动、四大业务磁贴、区域轮播可拖拽、Partner 自动轮播、新闻 4 卡
- 全球布局
/global-presence/:滚轮一屏一翻、导航高亮 - 关于我们
/about-us/:滚动视屏动画(标语淡入、logo 揭示) - 新闻
/news/:Tab 切换、点进详情页、上一篇/下一篇 - 联系
/contact/:表单空提交显示红校验、地图与联系信息展示 - 悬停导航 Business/About Us:Mega Menu 展开(4 卡/2 卡)
- 手机宽度:汉堡抽屉菜单开合
Step 6 — 站点配置(后台可改项)
| 位置 | 配置内容 |
|---|---|
| 外观 → 自定义 → HESU Global | 社交链接 ×4(TikTok/Facebook/Instagram/WhatsApp,空则 #)、页脚标语、版权文字、新闻页 banner 图 |
| 外观 → 自定义 → 站点身份 | Logo(不传则用主题内置 logo.png) |
| 联系 → Contact Form 7 → HESU Inquiry → 邮件 | 收件人改为真实邮箱(默认站长邮箱) |
| 设置 → 常规 | 站点标题/副标题/时区 |
发信建议:生产主机若没配邮件(多数虚拟主机 PHP mail() 不可靠),安装 WP Mail SMTP 类插件配置 SMTP,否则表单提交后管理员收不到通知(前台的成功/失败提示样式不依赖发信,但业务上收不到信=没线索)。
Step 7 — 替换示例内容
- 4 篇新闻为占位示例(后台 → 新闻,可编辑/删除/新发;删空某分类会显示 "Coming soon" 空态,属正常设计)
- 页面文案/图片:后台 → 页面 → 任一页面,区块结构已锁定,点文字/图片直接改
- ⚠️ 不要"解锁"任何区块(解锁=破坏页面结构);管理员权限虽可解锁,修复需到 外观 → HESU Tools 重跑 seed(会覆盖所有页面内容)
三、已有站点安装(警告)
主题的激活播种会把站点首页切换为新建的 Home 页,并创建 9 个新页面/菜单/文章——适合全新站。若必须装到已有站点:
- 先完整备份(数据库 + 文件)
- 最好先在临时域名/子目录演练一遍
- 激活后到 设置 → 阅读 检查首页设置是否符合预期;多余的 seed 内容可手动删除(页面/新闻/菜单,媒体库图片可保留)
四、运维注意事项
主题升级与内容更新
zip 覆盖安装 / FTP 覆盖主题目录 = 只更新代码。数据库里已播种的页面/新闻/菜单内容不会被改动(内容是激活或重播种时写入数据库的,与主题文件分离)。
| 升级类型 | 是否重跑 seed | 说明 |
|---|---|---|
| 纯代码优化版(性能修复、CSS/JS 调整、本次优化版等) | 否 | 覆盖主题文件即生效,页面内容无需动 |
| 静态稿改版后的新版主题 | 是(readme Changelog 会注明) | 需到 外观 → HESU Tools 重跑 seed 才能看到新版页面内容(seed markup 与 render.php 一起更新过);改版同步按 docs/superpowers/plans/2026-08-17-static-v2-sync-report.md 的模式(render.php + seed + 重播种),不要直接改线上的 post_content |
重跑 seed = 恢复出厂内容:你在后台对预置页面/新闻/菜单做过的修改会被覆盖。执行前会自动导出预置内容备份(见下方"备份")。
日常
- 重跑 seed:外观 → HESU Tools → 重新创建预置内容。会覆盖全部 seed 页面内容(有确认弹窗);执行前清空回收站(回收站里的预置页不会被识别复用,会产生重复页)。你后台改过的文案会被还原。
- 主题目录不可删改:媒体库里的 seed 图片是激活时从主题目录复制的副本,但 CSS 引用约 100 张图直接读主题
image/目录——删除主题=样式崩。 - 子页面必须设特色图:Mega Menu 卡片图取子页面特色图,无图则显示灰色空占位。
备份
-
数据库定期备份:seed 内容 + 你后续的后台修改全部存在数据库里——用主机快照或 UpdraftPlus 类插件定期备份;主题 zip 本身就是代码备份,库丢了内容才真丢。
-
reseed 自动备份:每次在 HESU Tools 执行"重新创建演示内容",执行前自动导出预置内容快照(9 个页面含正文 + 全部 seed 新闻 + Primary/Footer 菜单结构,JSON 格式)到
wp-content/uploads/hesu-backups/,保留最近 5 份,旧文件自动清理。该目录已自动放置.htaccess拒绝 web 直读(Apache 生效)+ 空index.php;nginx 不识别 .htaccess,建议在站点配置额外加一条:location ^~ /wp-content/uploads/hesu-backups/ { deny all; }
五、上线检查单(安全加固)
以下为 Step 6 站点配置的强化项,正式对外上线前逐条确认:
-
CF7 反垃圾(必配):设置 → Contact Form 7 → Integrate(集成)→ 配置 reCAPTCHA(invisible v2 或 v3),或安装蜜罐类反垃圾插件(如 "Contact Form 7 Honeypot")。实测默认表单可被脚本无限提交——不配则上线后会被垃圾提交灌爆、真实询盘被淹没。
-
装 Flamingo:Contact Form 7 同作者官方配套插件(插件库搜 "Flamingo")。每次表单提交存库一份,防 SMTP 抖动/邮件丢失导致丢单——没收到邮件时后台还能找回。
-
SMTP 发信:WP Mail SMTP 类插件配置真实 SMTP 账号(对应 Step 6 的发信建议)。PHP
mail()在多数主机上不可靠,上线后的询盘通知全靠这一步。 -
关闭 XML-RPC / 收紧 REST users:堵住登录名枚举与 xmlrpc 放大攻击。可用安全插件(Wordfence 等),或把以下片段粘贴到代码片段插件(推荐 WPCode,主题升级不受影响)或子主题 functions.php:
// 关闭 XML-RPC(防 xmlrpc.php 暴力破解 / pingback 放大) add_filter( 'xmlrpc_enabled', '__return_false' ); // 未登录请求隐藏 REST users 端点(防 /wp/v2/users 枚举登录名) add_filter( 'rest_endpoints', function ( $endpoints ) { if ( ! is_user_logged_in() ) { unset( $endpoints['/wp/v2/users'], $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ); } return $endpoints; } );更彻底的做法是在 web 服务器层直接封禁
xmlrpc.php(返回 403)。
六、回滚
- 只删内容:外观 → HESU Tools 重跑(恢复出厂内容)
- 整站回滚:切换回其它主题(如二〇二五默认主题)→ 删除 HESU 主题;seed 页面/新闻/媒体保留在库中可手动清理