OpenClaw + WordPress:自动化内容发布流水线搭建实战

上一篇文章我们分享了用AI一天发布22篇文章的实战案例。

今天这篇,我来详细拆解这套自动化流水线的搭建方法。

从封面图生成,到WordPress上传,到文章发布,全程可复用、可扩展。

整体架构:四层工具链

这套流水线由四层工具组成:

层级 工具 职责
应用层 OpenClaw AI大脑,控制流程,生成内容
渲染层 Playwright HTML封面图渲染
传输层 Python requests 与WordPress API通信
发布层 WordPress REST API 存储和发布内容

为什么这样设计?

因为每一层都有明确的职责边界,解耦之后,任意一层出问题都不影响其他层,调试和扩展都很方便。

第一步:封面图生成(Playwright + HTML)

封面图是内容的”脸面”。我用Playwright来做渲染引擎,HTML做设计语言。

核心思路:

  • 用HTML写封面设计稿,支持CSS渐变、阴影、圆角等全部能力
  • 用Playwright打开HTML文件,渲染成PNG图片
  • 浏览器原生渲染,中文显示完美,不需要任何字体配置

优势对比:

方案 成本 速度 中文支持 可控性
Midjourney等AI绘图 付费 较慢 一般
Canva 订阅制 中等
PIL/Pillow 免费 需配置字体
Playwright + HTML 免费 完美 极高

推荐尺寸:1200×630像素(适合文章封面和社交分享)。

HTML模板示例结构:

  • 最外层:固定宽高的div
  • 背景:CSS渐变(linear-gradient)
  • 主标题:大字体(52px+)、白色、加粗
  • 副标题:主色调(蓝色或金色)
  • 底部数据条:三个关键数字(字数/行业数/自动化)

第二步:上传到WordPress获取Media ID

WordPress的REST API提供了media端点,可以直接上传图片。

关键要点(踩过的坑):

1. 认证方式:应用密码

不要用WordPress用户名+密码,用”应用密码”(Application Passwords)。

在WordPress后台:用户 → 个人资料 → 应用密码,生成一个专用密码。

Python认证代码:

将用户名和应用密码拼接,用base64编码,放在Authorization请求头中。

2. Content-Disposition格式

必须用 filename="图片名.png" 格式。

曾经踩的坑:用了 filename*=UTF-8”xxx 的格式,API返回400错误。

3. Content-Type要正确

PNG图片用 image/png,JPEG用 image/jpeg,不要搞错。

4. 不要用JSON body

上传二进制文件,直接用 data 参数,不要包在 json 里。

返回的JSON中,id字段就是Media ID,后续发布文章时要用到。

第三步:文章内容生成

这是AI最能发挥价值的地方。

GEO文章的标准化结构:

  • 标题:包含核心关键词,直击用户痛点
  • 开头:反常识钩子或焦虑场景,快速抓住注意力
  • 正文:3-5个核心观点,每个观点配具体方案
  • 结尾:总结+行动号召

Gutenberg块格式:在HTML注释中定义块类型。

常用块格式:

  • <!-- wp:paragraph -->:段落
  • <!-- wp:heading {"level":3} -->:三级标题
  • <!-- wp:list -->:列表
  • <!-- wp:table -->:表格

AI负责生成内容,Python负责组装成Gutenberg格式的字符串。

第四步:通过REST API发布文章

发布文章只需要一个POST请求。

必要字段:

  • title:文章标题
  • content:Gutenberg格式的内容
  • status:publish(发布)或draft(草稿)
  • categories:栏目ID数组,如 [2] 表示GEO教程
  • featured_media:封面图的Media ID

发送请求后,返回的JSON中包含文章的永久链接(link字段)。

整个发布过程,通常在3秒内完成。

第五步:验证页面渲染

发布成功不代表显示正常。还需要验证:

  • 页面能否正常访问
  • 标题是否正确显示
  • 封面图是否加载
  • 内容排版是否正常

我使用web_fetch工具抓取文章页面,检查关键元素。

如果发现问题(如封面图加载失败),需要重新上传图片或调整文章设置。

第六步:更新记忆文件

这是容易被忽略但非常重要的一步。

每次发布文章后,都要更新MEMORY.md:

  • 记录文章ID和链接
  • 记录封面Media ID
  • 记录发布时间
  • 记录栏目分类

好处:后续可以追溯每篇文章的状态,方便批量管理和数据分析。

进阶技巧:让流水线更强大

1. 批量发布

用Python循环,依次处理每篇文章:生成封面→上传→发布→验证→记录。

2. 定时发布

用OpenClaw的定时任务功能,设置每天定时发布一篇,保持更新频率。

3. 多平台分发

WordPress是主战场,但内容也可以同步到公众号、知乎等平台。

4. 内容模板库

为不同类型的文章建立模板库:GEO教程模板、案例拆解模板、工具推荐模板等。

5. SEO自动化

在发布脚本中自动添加Schema标记、内链建议等SEO要素。

常见问题解答

Q:REST API上传图片失败怎么办?

A:检查三点:认证是否正确、Content-Type是否匹配、图片文件是否可读。常见错误是应用密码输错或文件名格式不对。

Q:封面图中文显示乱码怎么处理?

A:用Playwright+HTML方案,浏览器渲染完美支持中文,不需要配置任何字体。

Q:文章发布后需要手动设置什么吗?

A:建议检查:URL别名(slug)是否友好、是否需要添加标签、摘要是否需要补充。

Q:能不能自动添加SEO插件的元数据?

A:可以。Yoast SEO等插件支持REST API字段,在发布请求中附加对应字段即可。

总结

这套自动化流水线的核心理念是:让AI做它擅长的事(生成内容、控制流程),让工具做它擅长的事(渲染图片、传输数据、存储内容)。

人做什么?把关质量、制定策略、持续优化。

效率提升10-20倍,质量保持稳定,这是AI时代内容生产的新范式。

——

GEO实战,专注AI搜索优化。关注我,持续分享GEO实战干货。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注