老Q的自动化之路

分享QClaw使用心得、自动化运营技巧、副业盈利方案。从0开始,记录一个普通人用AI工具赚钱的真实过程。

老Q的自动化之路

分享QClaw使用心得、自动化运营技巧、副业盈利方案。从0开始,记录一个普通人用AI工具赚钱的真实过程。

WordPress XML-RPC自动发布 + 百度SEO自动提交:完整实操记录与踩坑经验

最近在搞自动化博客运营,摸索出一套WordPress自动发布+百度自动收录的方案。说实话,这个坑踩了不少,今天把整个过程记录下来,给同样想做自动化运营的朋友一个参考。

一、为什么选这套方案?

一开始我试过好几种方法:

  1. WordPress REST API:需要配置Application Password,而且我遇到了认证问题,折腾两天没搞定
  2. Cookie模拟登录发布:成功过,但每次都要重新登录,Cookie还会过期
  3. XML-RPC接口:最简单直接,WordPress原生支持,一行代码就能发文章

最后选了XML-RPC,因为:
– 不需要额外配置,WordPress默认开启
– 用户名密码直接认证,不用管Token、Nonce这些
– Python标准库就有xmlrpc.client,依赖少
– 支持发布文章、获取分类、管理评论等全套操作

配合百度站长平台的自动提交API,就能实现:文章发布 → 自动提交百度收录 的完整闭环。

二、完整代码实现

1. XML-RPC发布文章

import xmlrpc.client
import urllib3

urllib3.disable_warnings()  # 忽略SSL警告

# WordPress配置
HOST = "yhyylm.cn"
PATH = "/xmlrpc.php"
USER = "admin"
PASS = "你的密码"

def get_server():
    return xmlrpc.client.ServerProxy(
        f"https://{HOST}{PATH}",
        context=None  # 忽略SSL证书验证
    )

# 发布文章
server = get_server()

post_id = server.wp.newPost(
    1,  # blog_id,WordPress单站点固定填1
    USER,
    PASS,
    {
        'post_title': '文章标题',
        'post_content': '<p>文章内容,支持HTML</p>',
        'post_status': 'publish',  # 直接发布
        'terms_names': {
            'category': ['分类名称']  # 分类名称,不是ID
        }
    }
)

print(f"文章已发布,ID: {post_id}")

就这么简单,核心代码不到20行。

2. 获取分类列表

发布文章前最好先确认分类名称:

server = get_server()
cats = server.wp.getTerms(1, USER, PASS, 'category')

for c in cats:
    print(f"{c['name']} - ID: {c['term_id']}")

3. 百度自动提交

文章发布后,自动提交到百度站长平台:

import requests
import json

# 百度站长平台配置
TOKEN = "你的百度站长Token"
SITE = "https://www.yhyylm.cn"
API_URL = f"http://data.zz.baidu.com/urls?site={SITE}&token={TOKEN}"

def submit_to_baidu(urls):
    """提交URL到百度"""
    session = requests.Session()
    session.headers.update({
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
        'Content-Type': 'text/plain'
    })

    data = '\n'.join(urls).encode('utf-8')
    resp = session.post(API_URL, data=data, timeout=15)
    return json.loads(resp.text)

# 使用示例
result = submit_to_baidu([
    'https://www.yhyylm.cn/文章链接1',
    'https://www.yhyylm.cn/文章链接2'
])

print(f"成功: {result.get('success')} 条")
print(f"剩余配额: {result.get('remain')} 条")

4. 定时任务完整脚本

把这个保存为 auto_publish.py,配合cron定时运行:

#!/usr/bin/env python3
"""
自动化运营脚本:WordPress文章发布 + 百度URL提交
"""
import xmlrpc.client
import requests
import urllib3
import time

urllib3.disable_warnings()

# WordPress配置
HOST = "yhyylm.cn"
USER = "admin"
PASS = "你的密码"

# 百度配置
BD_TOKEN = "你的百度Token"
BD_SITE = "https://www.yhyylm.cn"
BD_API = f"http://data.zz.baidu.com/urls?site={BD_SITE}&token={BD_TOKEN}"

def get_server():
    return xmlrpc.client.ServerProxy(
        f"https://{HOST}/xmlrpc.php",
        context=None
    )

def publish_article(title, content, category="自动化运营"):
    """发布文章到WordPress"""
    server = get_server()

    post_id = server.wp.newPost(
        1, USER, PASS,
        {
            'post_title': title,
            'post_content': content,
            'post_status': 'publish',
            'terms_names': {'category': [category]}
        }
    )

    return post_id

def submit_to_baidu(url):
    """提交URL到百度"""
    resp = requests.post(
        BD_API,
        data=url.encode('utf-8'),
        headers={'Content-Type': 'text/plain'},
        timeout=15
    )
    return resp.json()

# 主流程
if __name__ == "__main__":
    # 1. 发布文章
    title = "测试文章标题"
    content = "<p>这是文章内容...</p>"

    post_id = publish_article(title, content)
    print(f"文章已发布,ID: {post_id}")

    # 2. 提交百度
    url = f"https://www.yhyylm.cn/?p={post_id}"
    result = submit_to_baidu(url)
    print(f"百度提交结果: {result}")

三、踩过的坑

坑1:SSL证书验证问题

现象:HTTPS站点报SSL证书验证错误

解决:加 context=None 参数忽略证书验证:

xmlrpc.client.ServerProxy(url, context=None)

或者用 urllib3.disable_warnings() 关闭警告。

坑2:分类名称 vs 分类ID

现象:文章发布成功,但分类显示”未分类”

原因terms_names 里用的是分类名称,不是ID。如果名称不存在,WordPress会默认归到”未分类”

解决:先用 wp.getTerms 获取正确的分类名称,或者直接用 terms 字段传ID:

{
    'post_title': '标题',
    'post_content': '内容',
    'terms': {'category': [6]}  # 用ID,不是名称
}

坑3:百度提交配额超限

现象:返回 {"error": "over quota"}

原因:百度普通收录配额每天有限,新站可能只有10条

解决
– 每天定时提交新文章,不重复提交
– 使用主动推送(实时)而不是批量提交
– 网站质量提升后配额会自动增加

坑4:文章URL格式问题

现象:百度提示 not_same_site

原因:提交的URL和百度站长平台验证的站点域名不一致

解决:检查URL格式,确保是 https://www.xxx.com/... 而不是 https://xxx.com/...

四、实际效果

这套方案我用了快两周,效果还不错:

  • 发布效率:原来手动发一篇文章要10分钟,现在脚本几秒钟搞定
  • 百度收录:新文章基本24小时内被百度抓取,收录率大概70%
  • 时间成本:设置好定时任务后,完全自动化,不用人工干预

目前网站已有40多篇文章,大部分都是通过这个脚本发布的。百度收录了20多篇,搜索品牌词已经能找到网站了。

五、下一步优化方向

  1. 接入AI生成内容:用API自动生成文章,完全无人值守
  2. 多平台同步发布:知乎、公众号、头条同步推送
  3. 数据分析:统计哪些文章收录快、排名好,优化内容策略

如果你也在搞自动化运营,这套方案可以参考。有问题欢迎留言交流,看到都会回复。


本文首发于 QClaw经验博客,记录自动化运营的真实经历和踩坑经验。

想搭建自己的自动化博客?推荐使用 腾讯云轻量服务器,性价比高,配置简单:https://curl.qcloud.com/7Znu7m7b

WordPress XML-RPC自动发布 + 百度SEO自动提交:完整实操记录与踩坑经验
Scroll to top