完整的WordPress白标系统,使用免费插件创建专业、品牌化的管理体验,不包含任何付费元素。
插件堆栈
| 插件 | 用途 | 关键特性 |
|---|---|---|
| ASE (Admin and Site Enhancements) | 安全,管理清理 | 自定义登录URL,禁用XML-RPC,隐藏通知,混淆作者 |
| White Label CMS | 仪表盘 & 菜单品牌化 | 设置向导,自定义欢迎面板,按角色隐藏菜单,导入/导出 |
| Branda (White Labeling) | 登录页面品牌化 | 自定义徽标,颜色,背景,管理栏徽标 |
| Admin Menu Editor (可选) | 高级菜单控制 | 重新排序,重命名,自定义图标,细粒度权限 |
推荐方法
- ASE - 安全第一(登录URL,XML-RPC,作者别名)
- White Label CMS - 使用设置向导快速品牌化 + 菜单隐藏
- Branda - 如果White Label CMS不够用,微调登录页面
White Label CMS快速设置
访问: WordPress管理 → 设置 → White Label CMS
设置向导
White Label CMS有一个内置向导,指导你完成:
- 你公司的徽标(管理栏,登录页面)
- 客户详情
- 仪表盘欢迎面板
- 菜单可见性
关键特性
- 自定义欢迎仪表盘: 添加你自己的面板,支持Elementor/Beaver Builder
- 按角色隐藏菜单: 内置的,不需要额外插件
- CMS配置文件: 选择网站,博客,或自定义预设
- 导入/导出: 保存并跨站点重用设置
- 登录页面: 自定义徽标,使用
/login作为URL别名
我们可以配置的(100%免费)
| 特性 | 插件 | 如何 |
|---|---|---|
| 自定义登录页面徽标 | Branda | 通过媒体库上传 |
| 登录背景颜色/图片 | Branda | 颜色选择器或图片上传 |
| 登录表单样式 | Branda | 颜色,边框,阴影 |
| 管理栏清理 | ASE | 切换可见性 |
| 隐藏“你好”问候 | Branda | 替换为自定义文本 |
| 仪表盘小部件移除 | ASE | 每个小部件的复选框 |
| 自定义登录URL | ASE | 像 /client-login 这样的别名 |
| 菜单组织 | 管理菜单编辑器 | 拖放 |
| WordPress版本隐藏 | ASE | 开关 |
| 管理颜色方案 | Branda | 自定义调色板 |
| 禁用管理通知 | ASE | 移动到面板或隐藏 |
第一阶段:安全第一(ASE)
1.1 更改登录URL
- 插件: ASE → 登录/注销 → 更改登录URL
- 设置: 自定义URL像
/client-login或/secure-access - 为什么: 防止对
/wp-login.php的自动攻击
推荐别名:
/client-login
/company-access
/portal
/secure-login
避免: /login, /admin, /signin(太常见)
1.2 登录ID类型
- 插件: ASE → 登录/注销 → 登录ID类型
- 设置: 限制为“仅用户名”或“仅电子邮件”
- 减少攻击面
1.3 混淆作者别名
- 插件: ASE → 安全 → 混淆作者别名
- 隐藏作者存档URL中的用户名
1.4 禁用XML-RPC
- 插件: ASE → 安全 → 禁用XML-RPC
- 防止暴力破解和DDoS攻击
1.5 电子邮件地址混淆
- 插件: ASE → 安全 → 电子邮件地址混淆
- 保护显示的电子邮件免受抓取器攻击
第二阶段:品牌化(Branda)
2.1 登录页面自定义
访问: Branda → 登录屏幕
自定义:
- 徽标: 上传客户的徽标(推荐:200-400px宽,PNG或SVG)
- 徽标链接: 从wordpress.org更改为客户的网站
- 背景: 纯色或图片
- 表单框: 背景颜色,边框半径,阴影
- 按钮: 背景颜色,文本颜色,悬停状态
- 链接: “忘记密码”和“返回网站”颜色
示例配置:
徽标:/wp-content/uploads/client-logo.png
徽标宽度:300px
背景颜色:#1a1a2e
表单背景:#ffffff
表单边框半径:8px
按钮颜色:#e94560
按钮悬停:#c73e54
2.2 管理栏品牌化
访问: Branda → 管理区域 → 管理栏
选项:
- 用自定义徽标替换WordPress徽标
- 完全隐藏WordPress徽标
- 自定义管理栏背景颜色
- 自定义菜单项颜色
2.3 替换“你好”问候
访问: Branda → 管理区域 → 你好消息
替换为:
- “欢迎,{username}”
- “你好,{display_name}”
- “{display_name}”(仅名称)
2.4 管理栏底部
访问: Branda → 管理区域 → 管理栏底部
自定义底部文本(支持HTML):
© 2025 [客户名称]。由 <a href="https://youragency.com">你的代理</a> 提供支持。
2.5 仪表盘小部件品牌化
访问: Branda → 仪表盘 → 欢迎小部件
创建自定义欢迎小部件,包括:
- 客户徽标
- 常用任务的快速链接
- 支持联系信息
第三阶段:管理清理(ASE)
3.1 清理管理栏
- 插件: ASE → 管理界面 → 清理管理栏
- 隐藏: WordPress徽标,评论,新内容,更新,帮助标签
- 保留: 网站名称,用户菜单,仅必需品
3.2 隐藏管理通知
- 插件: ASE → 管理界面 → 隐藏管理通知
- 将通知移动到单独的面板(可通过管理栏图标访问)
- 为客户保持界面清洁
3.3 禁用仪表盘小部件
- 插件: ASE → 管理界面 → 禁用仪表盘小部件
- 禁用:
- WordPress新闻
- 快速草稿
- 一目了然(可选)
- 活动(可选)
- 保留:自定义小部件,网站健康(也许)
3.4 更宽的管理菜单
- 插件: ASE → 管理界面 → 更宽的管理菜单
- 更好的可读性 对于长菜单项
第四阶段:菜单组织(Admin Menu Editor)
4.1 重新排序菜单项
推荐客户顺序:
- 仪表盘
- 页面
- 文章(或自定义CPT名称)
- 媒体
- (分隔符)
- 评论(如果启用)
- (分隔符)
- 外观(对编辑者隐藏)
- 插件(对编辑者隐藏)
- 用户
- 工具(对编辑者隐藏)
- 设置(对编辑者隐藏)
4.2 重命名令人困惑的项目
| 原始 | 重命名为 |
|---|---|
| 文章 | 新闻/博客/文章 |
| 媒体 | 文件/图像 |
| 页面 | 网站页面 |
| 评论 | 反馈/评论 |
4.3 隐藏高级项目
对编辑者隐藏:
- 插件
- 外观 → 编辑器
- 工具 → 除了导出之外的全部
- 设置 → 全部
对作者隐藏:
- 编辑者列表中的全部
- 加上:用户,评论设置
4.4 添加自定义菜单项
Admin Menu Editor允许添加链接到:
- 外部资源
- 自定义管理页面
- 帮助文档
第五阶段:性能 & 清理(ASE)
5.1 心跳控制
- 仪表盘: 禁用或减少到60s
- 文章编辑器: 减少到30s(用于自动保存)
- 前端: 禁用
5.2 修订控制
- 每篇文章限制为5-10个修订版
- 防止数据库膨胀
5.3 图片上传控制
- 最大尺寸: 2560x2560px
- 将BMP转换为JPG: 启用
- 将PNG转换为JPG: 启用(仅非透明)
5.4 禁用膨胀
- 嵌入: 如果不使用oEmbed则禁用
- 表情符号: 禁用(系统表情符号足够)
- 前端Dashicons: 禁用
- jQuery Migrate: 如果不需要则禁用
自动化白标(Claude可以这样做!)
这项技能包括自动化脚本,允许Claude基于你提供的品牌形象信息,以编程方式配置所有白标设置。
快速开始
# 从JSON文件应用白标配置
/root/.claude/skills/white-label/scripts/apply-white-label.sh config.json container-name
# CSR Development示例:
/root/.claude/skills/white-label/scripts/apply-white-label.sh \
/root/csrdevelopment.com/white-label-config.json \
wordpress-local-wordpress-1
配置文件格式
创建一个包含你的品牌设置的JSON文件:
{
"brand": {
"company_name": "你的公司",
"logo_url": "https://example.com/logo.png",
"website": "https://yourcompany.com",
"colors": {
"primary": "#2271b1",
"primary_dark": "#135e96",
"background": "#1a1a2e"
}
},
"login": {
"background_color": "#1a1a2e",
"form_background": "#ffffff",
"button_color": "#2271b1",
"logo_width": 300
},
"security": {
"login_url": "secure-login",
"disable_xmlrpc": true,
"obfuscate_authors": true
},
"dashboard": {
"hide_news": true,
"hide_quick_draft": true,
"welcome_title": "欢迎",
"welcome_message": "<p>你的自定义仪表盘消息</p>"
},
"greeting": "欢迎,"
}
将配置什么
自动化脚本配置:
| 插件 | 应用的设置 |
|---|---|
| White Label CMS | 管理栏徽标,问候语,侧边菜单,页脚,仪表盘小部件,欢迎面板 |
| ASE | 自定义登录URL,XML-RPC,作者混淆,电子邮件混淆,心跳,修订 |
| Branda | 登录页面样式,管理栏,你好消息,页脚 |
让Claude白标
只需说:
- “为[公司名称]白标这个网站”
- “应用品牌,主色#e94560”
- “为[公司]设置客户交接”
Claude将:
- 创建或使用现有的配置JSON
- 运行自动化脚本
- 验证所有设置已应用
- 报告完成
脚本位置
/root/.claude/skills/white-label/scripts/
├── apply-white-label.sh # 主运行脚本
├── configure-white-label.php # WP-CLI配置脚本
└── white-label-config.example.json # 示例配置文件
程序配置
所有三个插件将设置存储在 wp_options 中:
| 插件 | 选项名称 | 格式 |
|---|---|---|
| ASE | admin_site_enhancements |
序列化数组 |
| Branda | ub_settings(和其他) |
序列化数组 |
| Admin Menu Editor | acp_custom_menu, acp_custom_menu_data |
序列化数组 |
读取当前设置
# ASE设置
docker exec wordpress wp option get admin_site_enhancements --format=json
# Branda设置
docker exec wordpress wp option get ub_settings --format=json
# Admin Menu Editor
docker exec wordpress wp option get acp_custom_menu --format=json
通过WP-CLI更新设置
ASE配置:
docker exec wordpress wp option update admin_site_enhancements '{
"change_login_url": {"enabled": true, "slug": "secure-login"},
"hide_admin_notices": true,
"disable_xmlrpc": true,
"obfuscate_author_slugs": true,
"heartbeat_control": {
"dashboard": "disable",
"post_editor": 30,
"frontend": "disable"
},
"revisions_control": 5
}' --format=json
Branda登录自定义:
# 首先上传徽标
docker exec wordpress wp media import /path/to/logo.png --title="客户徽标"
# 获取附件ID
LOGO_ID=$(docker exec wordpress wp post list --post_type=attachment --name=logo --field=ID)
# 更新Branda设置
docker exec wordpress wp option update ub_login_image "$LOGO_ID"
docker exec wordpress wp option update ub_login_background_color "#1a1a2e"
自动化脚本
完整的白标设置脚本:
#!/bin/bash
# white-label-setup.sh - 应用完整的白标
CLIENT_NAME="${1:-客户名称}"
LOGIN_URL="${2:-client-login}"
LOGO_PATH="${3:-}"
PRIMARY_COLOR="${4:-#2271b1}"
BACKGROUND_COLOR="${5:-#1a1a2e}"
# 配置ASE
docker-compose exec -T wpcli wp option update admin_site_enhancements "$(cat <<EOF
{
"change_login_url": {"enabled": true, "slug": "$LOGIN_URL"},
"hide_admin_notices": true,
"disable_xmlrpc": true,
"obfuscate_author_slugs": true,
"email_address_obfuscation": true,
"clean_up_admin_bar": {
"enabled": true,
"hide_wp_logo": true,
"hide_comments": true,
"hide_new_content": true
},
"disable_dashboard_widgets": {
"welcome": true,
"quick_draft": true,
"wordpress_news": true
},
"heartbeat_control": {
"dashboard": "disable",
"post_editor": 30,
"frontend": "disable"
},
"revisions_control": 5
}
EOF
)" --format=json
# 如果提供,上传徽标
if [ -n "$LOGO_PATH" ] && [ -f "$LOGO_PATH" ]; then
docker cp "$LOGO_PATH" wordpress:/tmp/logo.png
docker-compose exec -T wpcli wp media import /tmp/logo.png --title="$CLIENT_NAME Logo"
fi
# 配置管理栏底部
docker-compose exec -T wpcli wp option update ub_admin_footer_text \
"© $(date +%Y) $CLIENT_NAME. All rights reserved."
echo "白标完成:$CLIENT_NAME"
echo "登录URL:/wp-login.php → /$LOGIN_URL"
模板配置导出
将此保存为你的基线白标配置:
{
"ase": {
"change_login_url": {
"enabled": true,
"slug": "secure-login"
},
"hide_admin_notices": true,
"disable_xmlrpc": true,
"obfuscate_author_slugs": true,
"email_address_obfuscation": true,
"clean_up_admin_bar": {
"enabled": true,
"hide_wp_logo": true,
"hide_comments": true,
"hide_new_content": true,
"hide_updates": true
},
"disable_dashboard_widgets": {
"welcome": true,
"quick_draft": true,
"wordpress_news": true,
"activity": false
},
"heartbeat_control": {
"dashboard": "disable",
"post_editor": 30,
"frontend": "disable"
},
"revisions_control": 5,
"image_upload_control": {
"max_width": 2560,
"max_height": 2560
}
},
"branda": {
"login_screen": {
"logo_enabled": true,
"background_color": "#1a1a2e",
"form_background": "#ffffff",
"button_color": "#e94560"
},
"admin_bar": {
"hide_wp_logo": true,
"custom_logo_enabled": true
},
"howdy_message": {
"enabled": true,
"text": "欢迎,"
},
"admin_footer": {
"enabled": true,
"text": "© {year} {client}. All rights reserved."
}
},
"admin_menu_editor": {
"hide_for_non_admins": [
"plugins.php",
"theme-editor.php",
"options-general.php",
"tools.php"
],
"rename": {
"Posts": "News",
"Media": "Files"
}
}
}
客户交接清单
在交给客户之前:
- [ ] 自定义登录URL设置并测试
- [ ] 登录页面有客户徽标
- [ ] 登录页面颜色与品牌匹配
- [ ] 管理栏显示客户品牌(不是WordPress)
- [ ] "你好"替换为专业问候
- [ ] 管理栏底部显示客户版权
- [ ] 仪表盘小部件清理
- [ ] 菜单项重命名和组织
- [ ] 从编辑者隐藏高级项目
- [ ] WordPress版本隐藏
- [ ] 禁用XML-RPC
- [ ] 作者别名混淆
- [ ] 电子邮件地址混淆
- [ ] 心跳优化
- [ ] 限制修订
- [ ] 设置图片上传限制
故障排除
登录URL不工作
- 刷新永久链接:设置 → 永久链接 → 保存
- 检查插件冲突
- 验证.htaccess是否可写
- 清除所有缓存
登录徽标不显示
- 检查图像尺寸(不要太大)
- 验证图像URL可访问
- 清除浏览器缓存
- 检查Branda设置已保存
管理栏项目仍然可见
- 清除浏览器缓存
- 检查是否有其他插件添加项目
- 验证ASE/Branda设置已保存
- 检查用户角色(有些项目仅适用于管理员)
设置不保存
- 检查用户能力(必须是管理员)
- 清除缓存(如果使用缓存插件)
- 暂时禁用其他安全插件
- 检查PHP内存限制
相关技能
- wp-docker: 开发环境
- wp-playground: 测试环境
- wordpress-admin: 网站管理
- seo-optimizer: SEO配置
- brand-guide: 品牌文档