AI内容策略师
一个WordPress插件,通过WordPress Abilities API公开Jetpack Stats数据和内容审计功能,使人工智能助手可以通过模型上下文协议(MCP)发现和调用这些功能。
概述
该插件弥合了网站分析和内容数据库之间的差距,使人工智能能够综合这两个数据源,提供战略性的内容建议:
- 接下来要写什么内容
- 要恢复或更新哪些现有内容
- 哪些表现不佳的内容需要考虑删除
需求
- WordPress 6.5+(或安装了API功能的WordPress)
- PHP 8.0+
- Jetpack(具有用于统计功能的活动WordPress.com连接)
- WordPress能力API
- WordPress MCP适配器
安装
Via Composer(推荐)
cd wp-content/plugins/ai-content-strategist
composer install手动安装
- 克隆或下载此插件至
wp-content/plugins/ai-content-strategist - 通过Composer安装所需的依赖项
- 在WordPress管理中激活插件
依赖项
此插件需要以下Composer包:
wordpress/abilities-api-提供能力注册系统wordpress/mcp-adapter-连接MCP协议的能力
注册能力
1. content-strategist/get-top-posts
按视图返回网站表现最佳的帖子。
输入:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
days | 整数 | 30 | 要分析的周期(7、30或90) |
limit | integer | 10 | 最大结果(1-50) |
输出: 对象数组,包含:
post_id-WordPress帖子IDtitle-文章标题url-永久链接views-期间总浏览量date_published-ISO 8601日期categories-类别名称数组
要求: Jetpack连接
______________________________________________________________________
2. content-strategist/get-search-terms
返回人们用来查找网站的搜索词。
输入:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
days | 整数 | 30 | 要分析的周期 |
limit | integer | 20 | 最大结果(1-100) |
输出: 对象数组,包含:
term-搜索词count-搜索次数
要求: Jetpack连接
______________________________________________________________________
3. content-strategist/get-stale-drafts
查找未完成的草稿帖子。
输入:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
days_old | integer | 180 | 查找早于此的草稿 |
limit | integer | 20 | 最大结果(1-50) |
输出: 对象数组,包含:
post_id-WordPress帖子IDtitle-标题草稿(或“无标题”)excerpt-前150个字符date_created-ISO 8601日期date_modified-ISO 8601日期days_since_modified-自上次编辑以来的天数categories-类别名称数组word_count-大致字数
要求: 仅限WordPress(不需要Jetpack)
______________________________________________________________________
4. content-strategist/get-underperforming-posts
查找流量较低的已发布帖子。
输入:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
days_published | integer | 90 | 仅限在此之前的帖子 |
max_views | integer | 100 | 视图阈值 |
limit | integer | 20 | 最大结果(1-50) |
输出: 对象数组,包含:
post_id-WordPress帖子IDtitle-文章标题url-永久链接date_published-ISO 8601日期views-总浏览量categories-类别名称数组word_count-大致字数
要求: Jetpack连接
测试
REST API
REST API使用 WordPress应用程序密码 用于身份验证。在WordPress管理员的用户下创建一个→ 您的个人资料→ 应用程序密码。
列出所有已注册的能力:
curl -X GET "https://your-site.com/wp-json/wp-abilities/v1/abilities" \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx"执行只读功能(使用GET和PHP数组语法作为参数):
curl -X GET "https://your-site.com/wp-json/wp-abilities/v1/abilities/content-strategist/get-stale-drafts/run?input[days_old]=90&input[limit]=5" \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx"执行写入功能(使用带有JSON正文的POST):
curl -X POST "https://your-site.com/wp-json/wp-abilities/v1/abilities/example/write-ability/run" \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx" \
-H "Content-Type: application/json" \
-d '{"input": {"param": "value"}}'注:只读能力(标有 readonly: true 注释)要求GET请求将参数作为查询字符串数组传递。写能力需要使用JSON正文的POST请求。
MCP检查员
使用 Anthropic的MCP检查员 以验证通过MCP正确暴露的能力。
克劳德桌面
配置Claude桌面 mcp-wordpress-remote 指向您的网站以测试AI交互。
AI工作流示例
以下是AI助手如何使用这些能力:
- 发现:“这个WordPress网站能做什么?”
- AI发现内容策略师的能力
- 分析:“显示表现最佳的内容”
- 呼叫 get-top-posts 随着 days: 30, limit: 10
- 机会发现“人们在寻找什么?”
- 呼叫 get-search-terms 随着 days: 30, limit: 20
- 内容审计“我忘记了哪些草稿?”
- 呼叫 get-stale-drafts 随着 days_old: 180
- 绩效评估:“哪些发布的帖子没有流量?”
- 呼叫 get-underperforming-posts 随着 max_views: 100
- 战略综合:“基于所有这些,给我一个内容策略”
- 人工智能结合所有数据提供战略建议
缓存
与统计相关的功能实现15分钟的瞬时缓存,以减少API对WordPress.com的调用。缓存键基于功能参数。
权限
所有能力都需要 edit_posts 能力。这确保了只有具有内容编辑权限的经过身份验证的用户才能访问数据。
错误处理
当Jetpack未连接时,统计能力返回 WP_Error 与:
- 代码:
jetpack_not_connected - 状态:503(服务不可用)
- 消息:连接Jetpack的说明
钩子
该插件连接到:
wp_abilities_api_init-注册能力plugins_loaded-初始化插件admin_notices-显示Jetpack连接警告
文件结构
ai-content-strategist/
├── ai-content-strategist.php # Main plugin file
├── composer.json # Dependencies
├── includes/
│ ├── class-plugin.php # Main plugin class
│ ├── class-stats-abilities.php # Jetpack Stats abilities
│ └── class-content-abilities.php # Content audit abilities
└── README.md # This file许可证
GPL-2.0或更高版本
贡献
欢迎投稿!请确保代码遵循WordPress编码标准,并包含适当的文档。
