Rank Math SEO数据批量导出给AI工具:NewVFX SEO Data Tool (独立版)
› 社区话题 › wordpress开发 › Rank Math SEO数据批量导出给AI工具:NewVFX SEO Data Tool (独立版)
- 该话题为空。
- 作者帖子
- 2026年8月16日 - 下午10:02 #1490

追光管理员开发前的思考与经过
标题和描述 一直是搜索引擎中最重要的元素,直接影响到网站的流量,以前我一直都是使用#rankmath 和 #yoast 来手搓完成。他们都有Ai能力,但费用高的惊人,能不能用本地的Ai agent来做呢? gpt和claude都可以,但费用仍然惊人,尤其是遇到数亿数据库。
我在想的如何能够做到更加速度快、高质量、低成本的方式,通过自己本地部署的AI完成,最终决定通过Mysql数据库的思路来设计流程,然后开发了一个插件能直接迅速导出的SEO数据,将数据交给AI或者本地的agent完成剩余的任务。任务后可以人工审核,最后在导入到数据库开发完这个工具以后,
以前我计划需要做一两个月的工作,一天就用AI完成了了,而且随时可以优化,不用担心任何成本的问题。同时支持俩种插件的mysql数据。这个想法上又开发了一个导出标题和正文到本地进行优化的插件。一个用于SEO一个用于内部内容的完善,非常完美。
NewVFX SEO Data Tool (V4.0) 项目文档,包含功能说明、开发日志、使用指南,以及专门用于喂给第三方 AI/Agent 处理 CSV 数据的标准化 Prompt。
一、 功能说明 (Feature Overview)
本工具是一个专为 WordPress 大型社区(特别是结合 bbPress/BuddyPress 的复杂架构)设计的独立 PHP 脚本。它绕过了 WordPress 后台臃肿的 UI 和 API 限制,通过直接操作底层数据库与缓存,实现海量 SEO 元数据(Title, Description, Focus Keyword)的极速批量导出与导入。
核心特性:
1. 双插件完美兼容:同时支持 Rank Math 和 Yoast SEO。导入时可选择单写或双写,并自动同步 Yoast 的 `wp_yoast_indexable` 索引表,确保前台即时生效。2. 多内容类型路由:智能识别 `post`, `page`, `topic` (文章/页面/论坛话题) 以及 `post_tag`, `topic-tag` (标签)。自动路由至 `wp_postmeta` 或 `wp_termmeta`,彻底杜绝 Post ID 与 Term ID 碰撞导致的脏数据。
3. 分块流式处理 (Chunked Processing):采用 AJAX 分块导入(每批 200 行),彻底规避 PHP `max_execution_time` 超时问题,5万+ 数据量依然稳如泰山。
4. 实时终端日志:前端自带黑底绿字的终端模拟器,实时滚动打印 `[OK] / [SKIP] / [ERR]` 状态,日志同时落盘至服务器,方便追溯。
5. 智能作业命名:上传的 CSV 自动解析内容类型,并以 `类型-YmdHi` (如 `topic-202608161145`) 命名作业文件,同分钟防覆盖。
6. 极致的安全性:
– 独立密码验证,不依赖 WP 登录态。
– 严格的表头与脏数据过滤(防御重复表头、非数字 ID)。
– `term_exists` 与 `get_post_status` 双重校验,防止写入幽灵数据。
– 作业目录自带 `.htaccess` 拒绝外部直接访问。二、 开发日志 (Changelog)
NewVFX SEO Data Tool V5.1 (Multisite Edition)
【开发日志 / Changelog】
V5.1 (2026-08-17) – Multisite 完美兼容版
[Feature] 新增多站点 (Multisite) 支持:在 UI 顶部增加站点切换下拉菜单,可实时切换当前操作的子站点上下文。
[Fix] 修复多站点环境下 SQL 查询与 Meta 更新指向错误数据库表的问题(引入 switch_to_blog / restore_current_blog 机制)。
[Fix] 修复 AJAX 分块导入时站点上下文丢失导致数据写入主站的 Bug。
[Security] 增加 is_super_admin() 权限校验,防止普通站点管理员越权跨站操作。
[UI] 优化导出文件名,自动包含当前站点名称 (Blog Name),防止多站点导出文件覆盖。V4.0 (当前版本) – 架构重构与双引擎支持
– [Feat] 引入 AJAX 分块架构,彻底解决大数据量导入时的 PHP 504 超时问题。
– [Feat] 新增 Yoast SEO 兼容层,写入 meta 的同时自动更新 `wp_yoast_indexable` 表。
– [Feat] 支持导出时选择“数据源”(从 RM 或 Yoast 读取),方便插件迁移期的数据搬运。
– [UI] 前端新增黑底终端日志窗口与实时进度条。
– [Fix] 修复了作业文件命名规则,改为 `type-timestamp` 格式,便于归档管理。V3.0 – 补全 SEO 核心三要素
– [Feat] 导出/导入逻辑中增加 `rank_math_focus_keyword` (聚焦关键词) 字段。
– [Fix] 修复了 CSV 导入时未处理 BOM 头导致第一行数据解析失败的问题。V2.0 – 解决 AI 幻觉与数据污染
– [Feat] 强制分离 `post` 与 `topic` 的导出通道,禁止混合导出。
– [Feat] 导出时自动截取正文前 500 字 (`content_snippet`),为 AI 提供充足的上下文,杜绝 AI 瞎编描述。V1.0 – 原型验证
– [Feat] 实现基础的 SQL 透视表导出与 `update_post_meta` 导入。
– [Bug] 发现未过滤表头导致 `0 [ERR] 未知类型: type` 的报错,后续版本已修复。三、 使用说明 (User Guide)
1. 部署与安全
1. 将 `newvfx-seo-tool.php` 上传至 WordPress 根目录(与 `wp-config.php` 同级)。
2. 打开文件,修改顶部的 `$access_password` 为你的强密码。
3. 浏览器访问 `https://yourdomain.com/newvfx-seo-tool.php`,输入密码进入。
4. ⚠️ 警告:批量操作前,务必使用 phpMyAdmin 或插件备份数据库。工具使用完毕后,请立即从服务器删除此文件。2. 标准工作流 (The Workflow)
1. 导出 (Export):
– 选择数据源(当前使用的 SEO 插件)。
– 选择内容类型(建议每次只导出一类,如先处理 `topic`,再处理 `post`)。
– 下载 CSV 文件。
2. AI 处理 (Process):
– 将 CSV 喂给本地 Agent (如 Hermes) 或 Python 脚本。
– 使用下方提供的 标准化 Prompt 让 AI 补全空的 SEO 字段。
– 人工抽检:用 Excel 打开 AI 处理后的 CSV,快速扫读核心文章的 Title/Desc,修正 AI 的幻觉。
3. 导入 (Import):
– 上传处理好的 CSV。
– 选择写入目标(仅 Rank Math / 仅 Yoast / 双写)。
– 点击“上传并开始导入”,观察终端日志。
– 完成后点击“清理作业文件”销毁服务器上的临时 CSV。四、 给第三方 AI / Agent 的标准化 Prompt
将以下 Prompt 连同导出的 CSV 文件一起喂给你的 AI Agent(如 Hermes, Claude, GPT-4o)。这个 Prompt 经过了严格的边界测试,能确保 AI 输出的格式完美契合工具的导入要求。
markdown
# Role: 影视后期/VFX/Nuke 领域资深 SEO 专家与 Python 自动化工程师 ## ? 核心任务 对上传的 CSV 文件进行 **逐行独立** 的 SEO 内容生成与修复。严禁批量套用模板、严禁跨行推测、严禁一次性读取多行后统一生成。每一行的 SEO 内容必须仅基于当前行的 `original_title` 和 `content_snippet` 独立分析生成。 ## ⛔ 绝对禁止(红线规则) - ❌ 一次读取多行后批量生成 SEO 内容 - ❌ 根据前几行推测后续内容 - ❌ 批量套用同一个 SEO 模板或固定句式 - ❌ 使用固定规则一次生成整列 SEO - ❌ 将整个 CSV 内容发送给模型后要求统一生成 - ❌ 跨行共享上下文或复用其他文章的 SEO 结果 ## ✅ 强制执行规范 1. **Python 脚本驱动**:所有 SEO 生成、修复、校验逻辑必须封装在 Python 脚本中执行,使用 `csv.DictReader` 或 Pandas 逐行迭代。 2. **单行完整闭环**:每一行必须依次完成「状态判断 → 生成/修复 → 长度校验 → 后缀检查 → 数据清洗」,只有当前行全部通过验证后才写入结果并进入下一行。 3. **字段安全**:仅更新 `seo_title`、`seo_desc`、`seo_keywords` 三个字段;原始非 SEO 字段(id, type, original_title, content_snippet)及列顺序必须 100% 保留。 4. **%sitename% 后缀**:所有 `seo_title` 末尾必须追加 ` %sitename%`(含前置空格)。若追加后超过 60 字符,自动截断核心词优先保留后缀。 5. **独立分析依据**:每行 SEO 必须基于当前行 `original_title` + `content_snippet` 的内容语义生成,不得依赖外部知识或相邻行信息。 ## ? SEO 字段质量标准 | 字段 | 长度限制 | 内容要求 | |------|----------|----------| | seo_title | 25–60 字符(含 %sitename%) | 精准概括核心工具/素材/教程名称 + 核心功能关键词 + %sitename% 后缀 | | seo_desc | 70–160 字符 | 包含核心关键词、适用场景、解决的痛点、兼容软件/版本,语句通顺无堆砌 | | seo_keywords | 3–5 个 | 逗号分隔,涵盖产品名、功能词、应用场景词、软件名,避免重复 | ## ? 处理逻辑伪代码(必须严格遵守) ```python for row in csv_file: # 1. 获取当前行原始数据 current_row = dict(row) # 2. 独立判断当前行 SEO 状态 needs_process = not seo_title or not seo_desc or not seo_keywords # 3. 单独生成或修复当前行(仅基于 current_row 的 title + snippet) if needs_process: new_seo = generate_seo_from_current_row(current_row) else: new_seo = repair_existing_seo(current_row) # 4. 单独执行校验 validate_title_length(new_seo['seo_title']) # 25-60 chars including %sitename% validate_description_length(new_seo['seo_desc']) # 70-160 chars validate_keywords(new_seo['seo_keywords']) # 3-5 items # 5. 校验失败则仅重试当前行(最多3次),不跳过、不批量重做 if validation_failed: retry_current_row_only() # 6. 当前行通过全部规则后,才写入输出缓冲 append_to_output(current_row) # 7. 输出前二次逐行质检 for output_row in output_buffer: final_check(output_row) # 8. 保存 output.csv save_output()给开发者的最后提示:
这套文档和 Prompt 已经形成了一个完整的数据清洗闭环。你只需要关注 Prompt 中的“示例”部分,可以根据 NewVFX 近期的内容侧重点(比如最近 AI 音乐和 Draw Things 比较多)随时微调示例,AI 就会自动模仿你的风格进行批量生产。
- 作者帖子
- 在下方一键注册,登录后就可以回复啦。