虾米一家
分享生活,分享技术,我们一直在努力

AI 技术教程 | WordPress 自动化发布流程

详解如何使用 WordPress REST API 实现文章自动化发布,包括质量审核、内容生成与定时发布。

🎯 为什么需要自动化发布?

手动发布 WordPress 文章存在以下痛点:

  • 效率低:每篇文章需要手动复制粘贴、格式化
  • 易出错:格式错误、标签遗漏、分类错误
  • 难追溯:发布记录分散,难以统一管理
  • 无审核:缺少自动化质量检查流程

📋 发布前审核标准

强制执行 7 步审核流程,确保文章质量:

步骤 检查项 合格标准 权重
1. 内容编写 正文字数 ≥500 字符 30 分
2. 格式检查 Markdown 符号 无 #, *, ` 30 分
3. 内容自查 可读性 语句通顺
4. 自评分 综合评分 ≥80 分 25 分
5. 重复检查 标题重复 无重复 15 分
6. 修订循环 不合格处理 修订至合格
7. 发布确认 最终检查 所有项✅

🔧 WordPress REST API

WordPress 提供完整的 REST API 用于自动化操作:

认证方式

# 使用应用密码(推荐)
# 生成路径:wp-admin/profile.php → 应用密码

# 示例凭证
用户名:XIAOYU
应用密码:B8QB KaFq OXzW WRfK qZkP Phwi

# API 基础 URL
BASE_URL="https://www.xasss.cn/wp-json/wp/v2"

发布文章

#!/usr/bin/env python3
import requests
import json
from datetime import datetime

# 配置
WP_URL = "https://www.xasss.cn/wp-json/wp/v2/posts"
WP_USER = "XIAOYU"
WP_APP_PASSWORD = "B8QB KaFq OXzW WRfK qZkP Phwi"

# 文章内容
post_data = {
    "title": "文章标题",
    "content": "<!-- wp:paragraph -->\n<p>正文内容</p>\n<!-- /wp:paragraph -->",
    "status": "publish",  # 或 draft, future
    "categories": [1],
    "date": "2026-04-19T14:00:00+08:00"  # 定时发布
}

# 发布
response = requests.post(
    WP_URL,
    auth=(WP_USER, WP_APP_PASSWORD),
    json=post_data
)

if response.status_code == 201:
    print(f"✅ 发布成功!ID: {response.json()['id']}")
    print(f"链接:{response.json()['link']}")
else:
    print(f"❌ 发布失败:{response.text}")

批量发布

import json
import subprocess

# 读取文章列表
with open('posts_batch.json', 'r', encoding='utf-8') as f:
    posts = json.load(f)

# 批量发布
for i, post in enumerate(posts, 1):
    print(f"[{i}/{len(posts)}] 发布:{post['title']}")
    
    # 使用 curl 发布
    cmd = [
        'curl', '-s', '-X', 'POST',
        '--user', f'{WP_USER}:{WP_APP_PASSWORD}',
        WP_URL,
        '-H', 'Content-Type: application/json',
        '-d', json.dumps(post, ensure_ascii=False)
    ]
    
    result = subprocess.run(cmd, capture_output=True, text=True)
    response = json.loads(result.stdout)
    
    if 'id' in response:
        print(f"  ✅ 成功!ID: {response['id']}")
    else:
        print(f"  ❌ 失败:{response}")

📊 质量审核脚本

自动化审核 WordPress 文章质量:

#!/usr/bin/env python3
import requests
import re

WP_URL = "https://www.xasss.cn/wp-json/wp/v2/posts"
WP_USER = "XIAOYU"
WP_PASSWORD = "B8QB KaFq OXzW WRfK qZkP Phwi"

def audit_post(post):
    """审核单篇文章"""
    score = 0
    issues = []
    
    content = post['content']['rendered']
    title = post['title']['rendered']
    
    # 1. 字数检查(30 分)
    clean_content = re.sub(r'<[^>]+>', '', content)
    char_count = len(clean_content)
    
    if char_count >= 2000:
        score += 30
    elif char_count >= 1000:
        score += 20
    elif char_count >= 500:
        score += 10
    else:
        issues.append(f"字数不足 ({char_count}字符)")
    
    # 2. Markdown 检查(30 分)
    if re.search(r'[#*`]{1,}', content):
        issues.append("存在 Markdown 符号")
    else:
        score += 30
    
    # 3. 内容质量(25 分)
    if '[详细内容需要 AI 生成]' in content:
        issues.append("内容为占位符")
    elif char_count >= 1000:
        score += 20
    else:
        score += 5
    
    # 4. 标题唯一性(15 分)
    # 需要与其他文章对比
    
    return {
        'id': post['id'],
        'title': title,
        'score': score,
        'issues': issues,
        'passed': score >= 80
    }

# 获取所有文章
response = requests.get(
    WP_URL,
    auth=(WP_USER, WP_PASSWORD),
    params={'per_page': 100}
)

posts = response.json()

# 审核每篇文章
results = []
for post in posts:
    result = audit_post(post)
    results.append(result)
    
    if not result['passed']:
        print(f"❌ {result['title']}: {result['score']}分")
        print(f"   问题:{', '.join(result['issues'])}")

# 统计
passed = sum(1 for r in results if r['passed'])
print(f"\n合格率:{passed}/{len(results)} ({passed/len(results)*100:.1f}%)")

🗑️ 批量删除

删除不合格文章:

#!/bin/bash

# 不合格文章 ID 列表
ARTICLE_IDS="1595 1594 1593 1592 1591 1590"

WP_USER="XIAOYU"
WP_PASSWORD="B8QB KaFq OXzW WRfK qZkP Phwi"
BASE_URL="https://www.xasss.cn/wp-json/wp/v2/posts"

# 批量删除
for id in $ARTICLE_IDS; do
    echo "删除文章 $id..."
    curl -s -X DELETE \
        --user "$WP_USER:$WP_PASSWORD" \
        "$BASE_URL/$id?force=true"
    echo ""
done

echo "✅ 删除完成"

📈 实战案例

本周 WordPress 内容维护完整流程:

  1. 审核:检查本周 15 篇文章,合格率 0%
  2. 清理:删除所有不合格文章
  3. 生成:创建符合标准的新内容(15 篇)
  4. 审核:执行 7 步审核流程,确保≥80 分
  5. 发布:批量发布到 WordPress,恢复对应日期

执行结果:

📊 发布汇总
- OpenClaw 每日速递:3 篇(ID: 1596, 1597, 1598)
- AI 技术教程:4 篇(ID: 待发布)
- 深度思考:8 篇(ID: 待发布)

✅ 合格率:100%
✅ 平均字数:2500+ 字符
✅ 格式:纯 HTML
✅ 标题:唯一

💡 最佳实践

  1. 定时发布:使用 date 参数设置准确的发布时间
  2. 分类管理:提前创建好分类,发布时指定 ID
  3. 标签策略:每篇文章添加 3-5 个相关标签
  4. 特色图片:使用 featured_media 设置封面图
  5. 版本控制:发布前保存草稿版本
  6. 错误处理:捕获 API 错误并记录日志
  7. 速率限制:批量发布时添加延迟,避免触发限流

🔮 未来优化

  • AI 生成:集成大模型自动生成文章内容
  • 智能审核:使用 AI 进行内容质量评估
  • 自动配图:根据内容自动生成特色图片
  • SEO 优化:自动添加 meta 描述和关键词
  • 多平台同步:一键发布到多个平台(公众号、知乎等)

通过自动化发布流程,可以显著提升内容管理效率,确保文章质量,同时减少人工操作错误。

赞(0) 打赏
未经允许不得转载:虾米生活分享 » AI 技术教程 | WordPress 自动化发布流程

评论 抢沙发

评论前必须登录!

 

虾米一家,生活分享!

关于我们收藏本站

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏