mcpField
S
seo-wordpress-manager

seo-wordpress-manager

github.com/nicepkg营销与增长288103 次安装40 周前更新
代码仓库

关于 seo-wordpress-manager

通过 WPGraphQL API 管理 WordPress 网站上的 Yoast SEO 元数据。该技能支持分析、预览和批量更新标题、描述、焦点关键词及 Open Graph 元数据,并提供确认、备份和中断恢复机制。

主要功能

  1. 01分析文章的 SEO 问题
  2. 02批量更新 Yoast SEO 字段
  3. 03应用前预览变更
  4. 04恢复中断的更新批次
  5. 05备份字段并限制请求速率

适用场景

  1. 01查找缺失或过长的 SEO 元数据
  2. 02批量更新 WordPress 文章元数据
  3. 03应用前预览并确认批量变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nicepkg/ai-workflow --skill seo-wordpress-manager

安装后在 Claude Code 中输入/seo-wordpress-manager确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

config.example.json
reference.md
scripts/
analyze_seo.py
preview_changes.py
wp_graphql_client.py
yoast_batch_updater.py

详细介绍

SEO WordPress 管理技能

用途

此技能通过 WPGraphQL API 管理 WordPress 网站中的 Yoast SEO 元数据。它支持批量更新:

  • SEO 标题
  • 元描述
  • 焦点关键短语
  • Open Graph 元数据

何时使用此技能

  • 用户要求“更新 SEO 标题”或“修复元描述”
  • 用户希望批量处理 WordPress 文章以优化 SEO
  • 用户提及 Yoast SEO 优化
  • 用户需要更新多篇文章的 SEO 元数据

前提条件

WordPress 设置要求
  1. 已安装并启用 WPGraphQL 插件
  2. 已安装 WPGraphQL for Yoast SEO 扩展
  3. 已创建用于身份验证的 应用程序密码
Yoast SEO GraphQL 变更操作

将以下内容添加到主题的 functions.php,以启用变更操作:

// Enable Yoast SEO mutations via WPGraphQL
add_action('graphql_register_types', function() {
    register_graphql_mutation('updatePostSeo', [
        'inputFields' => [
            'postId' => ['type' => 'Int', 'description' => 'Post ID'],
            'title' => ['type' => 'String', 'description' => 'SEO Title'],
            'metaDesc' => ['type' => 'String', 'description' => 'Meta Description'],
            'focusKeyphrase' => ['type' => 'String', 'description' => 'Focus Keyphrase'],
        ],
        'outputFields' => [
            'success' => ['type' => 'Boolean'],
            'post' => ['type' => 'Post'],
        ],
        'mutateAndGetPayload' => function($input) {
            $post_id = absint($input['postId']);

            if (!current_user_can('edit_post', $post_id)) {
                throw new \GraphQL\Error\UserError('You do not have permission to edit this post.');
            }

            if (isset($input['title'])) {
                update_post_meta($post_id, '_yoast_wpseo_title', sanitize_text_field($input['title']));
            }
            if (isset($input['metaDesc'])) {
                update_post_meta($post_id, '_yoast_wpseo_metadesc', sanitize_textarea_field($input['metaDesc']));
            }
            if (isset($input['focusKeyphrase'])) {
                update_post_meta($post_id, '_yoast_wpseo_focuskw', sanitize_text_field($input['focusKeyphrase']));
            }

            return [
                'success' => true,
                'post' => get_post($post_id),
            ];
        }
    ]);
});

配置

在技能目录中创建 config.json:

{
  "wordpress": {
    "graphql_url": "https://your-site.com/graphql",
    "username": "your-username",
    "app_password": "your-app-password"
  },
  "batch": {
    "size": 10,
    "delay_seconds": 1
  },
  "state_file": "./seo_update_progress.json"
}

或使用环境变量:

  • WP_GRAPHQL_URL
  • WP_USERNAME
  • WP_APP_PASSWORD

工作流

第 1 步:分析文章中的 SEO 问题
python scripts/analyze_seo.py --all --output analysis.json

此操作会获取文章并识别 SEO 问题(缺少标题、描述过长等)。 输出中包含供 Claude 生成优化 SEO 内容的说明。

第 2 步:生成优化的 SEO 内容

Claude 会分析 analysis.json 输出,并生成包含以下内容的 changes.json 文件:

  • 优化的 SEO 标题(50-60 个字符)
  • 有吸引力的元描述(150-160 个字符)
  • 相关的焦点关键短语
第 3 步:预览更改(试运行)
python scripts/preview_changes.py --input changes.json
第 4 步:应用更新
python scripts/yoast_batch_updater.py --input changes.json --apply
第 5 步:中断后恢复
python scripts/yoast_batch_updater.py --resume

输入格式

此技能需要一个包含更改的 JSON 文件:

{
  "updates": [
    {
      "post_id": 123,
      "post_title": "Original Post Title",
      "current": {
        "seo_title": "Old Title | Site Name",
        "meta_desc": "Old description"
      },
      "new": {
        "seo_title": "New Optimized Title | Site Name",
        "meta_desc": "New compelling meta description under 160 chars"
      }
    }
  ]
}

输出

此技能会生成:

  1. 预览报告,显示每篇文章更改前后的内容
  2. 进度状态文件,用于恢复中断的批次处理
  3. 最终报告,包含成功和失败数量

安全功能

  • 默认启用 试运行模式——应用前先预览
  • 批量更新前显示 确认提示
  • 进度跟踪——恢复中断的会话
  • 速率限制——可配置 API 调用之间的延迟
  • 备份——更改前记录当前值

使用示例

用户:“更新‘tutorials’分类中所有文章的元描述,让它们更有吸引力”

Claude 将会:

  1. 运行 analyze_seo.py 获取文章并识别 SEO 问题
  2. 分析每篇文章的内容和当前 SEO 数据
  3. 生成优化的标题、描述和关键短语
  4. 创建包含改进内容的 changes.json 文件
  5. 运行 preview_changes.py 显示更改前后的对比
  6. 请求确认
  7. 运行 yoast_batch_updater.py --apply 应用更改
  8. 报告结果和成功、失败数量

评论

支持 Markdown