Rank Math SEO数据批量导出给AI工具:NewVFX SEO Data Tool (独立版)

社区话题 wordpress开发 Rank Math SEO数据批量导出给AI工具:NewVFX SEO Data Tool (独立版)

26
  • 该话题为空。
正在查看 0 条回复
  • 作者
    帖子
    • #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 就会自动模仿你的风格进行批量生产。

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。