WordPress 自動投稿をPythonで安全に下書き化する方法

PythonからWordPress下書きへ送り人間が確認する流れ WordPress自動化
  1. この記事の結論
  2. この記事でわかること
  3. 目次
  4. WordPress 自動投稿 Pythonとは
  5. なぜ今WordPressの下書き投稿自動化が重要なのか
  6. WordPress REST APIで確認済みの事実
  7. ラッコキーワード調査メモ
    1. メインキーワード
    2. サジェストキーワード候補
    3. 質問・FAQ候補
    4. 検索意図クラスタ
  8. WordPress 自動投稿 Pythonのメリット
    1. 投稿作業の手戻りを減らせる
    2. 下書き管理をそろえやすい
    3. 公開前チェックを工程に入れやすい
  9. WordPress 自動投稿 Pythonの注意点
    1. 自動公開を避ける
    2. 認証情報をコードに書かない
  10. 具体的な手順
    1. 1. WordPress側でREST APIが使えるか確認する
    2. 2. Application Passwordsを作成する
    3. 3. Markdown下書きのメタ情報を決める
    4. 4. Pythonで投稿データを作る
    5. 5. RequestsでREST APIへ送信する
    6. 6. Dry Runで送信前に確認する
    7. 7. WordPress上で下書きを確認する
  11. 比較表
  12. レンタルサーバーとVPSの選び方
  13. よくある失敗
    1. 失敗1. status の確認を省く
    2. 失敗2. Application PasswordsをGitに含める
    3. 失敗3. Dry Runなしで本番サイトに送る
    4. 失敗4. 画像アップロードを後回しにする
    5. 失敗5. 収益導線を自動で入れすぎる
  14. 実体験・検証条件
  15. 収益導線
  16. よくある質問
    1. Q1. PythonでWordPressに投稿できますか?
    2. Q2. WordPress REST APIで下書き投稿にできますか?
    3. Q3. Application Passwordsは必ず必要ですか?
    4. Q4. レンタルサーバーでもPython自動投稿はできますか?
    5. Q5. VPSを使うメリットは何ですか?
    6. Q6. 画像もPythonでWordPressに送れますか?
    7. Q7. AIで作った記事をそのまま下書き投稿してもよいですか?
  17. まとめ
  18. 次にやること

この記事の結論

WordPress 自動投稿をPythonで始めるなら、最初から公開まで自動化するのではなく、REST APIで「下書き投稿」までに止めるのが安全です。

Pythonは、Markdown記事をWordPress REST APIへ送信する作業を効率化できます。ただし、本文の事実確認、画像表示、内部リンク、収益導線、公開判断は人間が確認する前提にします。

AIが引用しやすい短い結論文:PythonによるWordPress自動投稿は、status: draft を固定し、Dry Runと人間確認を挟むことで安全に運用しやすくなります。

PythonからWordPress下書きへ送り人間が確認する流れ

この記事では、WordPress投稿作業を減らしたい人に向けて、PythonでWordPressに下書き投稿する方法をわかりやすく説明します。

この記事でわかること

  • PythonでWordPressに下書き投稿する全体像
  • WordPress REST APIとApplication Passwordsの基本
  • 自動公開を避けるための安全な設定
  • レンタルサーバーとVPSの使い分け
  • 公開前に人間が確認すべき項目

目次

  1. WordPress 自動投稿 Pythonとは
  2. なぜ今WordPressの下書き投稿自動化が重要なのか
  3. WordPress REST APIで確認済みの事実
  4. ラッコキーワード調査メモ
  5. WordPress 自動投稿 Pythonのメリット
  6. WordPress 自動投稿 Pythonの注意点
  7. 具体的な手順
  8. 比較表
  9. レンタルサーバーとVPSの選び方
  10. よくある失敗
  11. 実体験・検証条件
  12. 収益導線
  13. よくある質問
  14. まとめ
  15. 次にやること

WordPress 自動投稿 Pythonとは

WordPress 自動投稿 Pythonとは、PythonスクリプトからWordPress REST APIを呼び出し、記事タイトル、本文、スラッグ、カテゴリ、タグなどをWordPressへ送る仕組みです。

この記事では「自動投稿」という言葉を使いますが、推奨する運用は自動公開ではありません。Pythonで自動化する範囲は、WordPressに下書きを作るところまでです。

まずは、次のように考えるとわかりやすいです。

  1. Markdownで記事下書きを作る
  2. Pythonで本文とメタ情報を読み取る
  3. WordPress REST APIへ送る
  4. WordPress上では下書きとして保存する
  5. 人間が確認してから公開判断をする

なぜ今WordPressの下書き投稿自動化が重要なのか

ブログ運営では、記事を書く作業そのものよりも、貼り付け、整形、画像設定、カテゴリ設定、投稿画面での確認に時間がかかることがあります。

Pythonで下書き投稿を仕組み化すると、この繰り返し作業を減らせます。特に、AIで記事構成や下書きを作る運用では、MarkdownファイルからWordPress下書きまでの流れをそろえると管理しやすくなります。

一方で、WordPressへ直接公開する設定にすると、誤字、事実誤認、未確認のリンク、画像崩れがそのまま読者に見える可能性があります。そのため、最初は「自動化するほど下書きで止める」という設計が現実的です。

WordPress REST APIで確認済みの事実

Web調査メモとして、記事で使う根拠を整理します。

  • 確認済み:WordPress REST APIの投稿エンドポイントは POST /wp/v2/posts です。
  • 根拠:WordPress Developer Resources「Posts」
  • URL:https://developer.wordpress.org/rest-api/reference/posts/
  • 確認済み:投稿ステータスには publishfuturedraftpendingprivate があります。
  • 根拠:WordPress Developer Resources「Posts」
  • URL:https://developer.wordpress.org/rest-api/reference/posts/
  • 確認済み:WordPress REST APIは認証方式の説明を公式ハンドブックで提供しています。
  • 根拠:WordPress REST API Handbook「Authentication」
  • URL:https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/
  • 確認済み:Application Passwordsは外部アプリケーションがWordPressへ認証するための仕組みとして案内されています。
  • 根拠:Make WordPress Core「Application Passwords: Integration Guide」
  • URL:https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/
  • 確認済み:PythonのRequestsはHTTPリクエストを送るために使えるライブラリです。
  • 根拠:Requests公式ドキュメント
  • URL:https://requests.readthedocs.io/en/latest/user/quickstart/

未確認・注意が必要な点:

  • レンタルサーバーごとのREST API制限、WAF、Basic認証の影響は環境によって異なります。
  • WordPressプラグインやセキュリティ設定によって、REST APIの挙動が変わる場合があります。
  • 価格、キャンペーン、サーバー仕様は公開前に公式サイトで確認してください。

ラッコキーワード調査メモ

RAKKO_KEYWORD_API_KEY が未設定だったため、ラッコキーワードAPIは使わず、手動調査用メモとして整理します。検索ボリュームや実際のサジェストは、公開前にラッコキーワードで再確認してください。

メインキーワード

WordPress 自動投稿 Python

サジェストキーワード候補

  • WordPress Python 投稿
  • WordPress REST API Python
  • WordPress 下書き 投稿 Python
  • WordPress 自動投稿 API
  • WordPress Python requests
  • WordPress Application Passwords Python
  • WordPress Markdown 投稿
  • WordPress 自動投稿 画像
  • WordPress 投稿 自動化
  • Python ブログ 自動投稿

質問・FAQ候補

  • PythonでWordPressに投稿できますか?
  • REST APIで下書き投稿にできますか?
  • Application Passwordsは必要ですか?
  • 自動公開は避けた方がよいですか?
  • レンタルサーバーでも使えますか?
  • VPSで動かすメリットはありますか?
  • 画像も一緒に投稿できますか?

検索意図クラスタ

意図 読者が知りたいこと 記事で答えること
知りたい PythonでWordPress投稿ができるか REST APIの全体像を説明する
比較したい 手作業、下書き自動化、自動公開の違い 比較表で向き不向きを示す
やってみたい 最小構成の手順 設定からDry Runまでを番号付きで示す
買いたい サーバーやVPSが必要か 必要な人、不要な人を分ける
失敗したくない 公開事故や認証情報漏れを避けたい draft 固定、秘密情報管理、確認項目を示す

WordPress 自動投稿 Pythonのメリット

  • 投稿画面への貼り付け作業を減らせる
  • Markdown下書きとWordPress下書きを対応させやすい
  • SEOメタ情報やカテゴリ候補を管理しやすい
  • 定期実行の前段階として検証しやすい
  • 人間確認を残したまま作業を効率化できる

投稿作業の手戻りを減らせる

記事本文、タイトル、スラッグ、説明文をMarkdown側で整理しておくと、WordPress投稿画面で同じ情報を何度も入力する必要が減ります。

下書き管理をそろえやすい

output/drafts/ のような保存先を決めておくと、どの記事が作成済みで、どの記事がWordPress下書きに送信済みかを追跡しやすくなります。

公開前チェックを工程に入れやすい

PythonスクリプトにDry Runを入れると、送信前にタイトル、ステータス、本文冒頭、画像参照などを確認できます。

WordPress 自動投稿 Pythonの注意点

  • 投稿ステータスは必ず draft にする
  • Application Passwordsなどの認証情報をコードに直接書かない
  • .env や環境変数で秘密情報を管理する
  • Dry Runを用意して、送信前に内容を確認する
  • 画像、内部リンク、アフィリエイトリンクはWordPress上で確認する
  • サーバー側のWAFやREST API制限を事前に確認する

自動公開を避ける

最初の実装で一番重要なのは、statusdraft に固定することです。

WordPress REST APIでは投稿ステータスに publish も指定できます。しかし、記事品質と安全性を優先するなら、Pythonから送る値は draft に限定します。

認証情報をコードに書かない

ユーザー名、Application Passwords、サイトURLをスクリプト内に直接書くと、Git管理や共有時に漏れる可能性があります。

最低限、次のような環境変数で管理します。

WP_SITE_URL=https://example.com
WP_USERNAME=your-user-name
WP_APP_PASSWORD=your-application-password
WP_POST_STATUS=draft

WP_APP_PASSWORD は公開用の記事やスクリーンショットに載せないでください。

具体的な手順

WordPress下書き投稿を安全に進める4ステップ

1. WordPress側でREST APIが使えるか確認する

まず、対象サイトでREST APIが使えるか確認します。

ブラウザで次のURLを開き、JSON形式の情報が返るか見ます。

https://example.com/wp-json/

セキュリティプラグイン、Basic認証、WAFの設定によっては、REST APIが制限されている場合があります。

2. Application Passwordsを作成する

WordPress管理画面のユーザープロフィールから、外部アプリ用のApplication Passwordsを作成します。

作成したパスワードは再表示できない場合があります。安全な場所に保管し、.env に設定します。

3. Markdown下書きのメタ情報を決める

投稿用Markdownには、最低限次の情報を入れておくと管理しやすいです。

---
title: "記事タイトル"
slug: "url-slug"
description: "説明文"
status: "draft"
---------------

このリポジトリでは、記事の先頭にメタ情報を置き、Python側で読み取る形が扱いやすいです。

4. Pythonで投稿データを作る

WordPress REST APIへ送る基本データは、次のような形です。

payload = {
    "title": title,
    "slug": slug,
    "content": html_content,
    "status": "draft",
}

重要なのは、status を設定ファイル任せにしすぎないことです。スクリプト側でも draft 以外を拒否するチェックを入れると安全です。

5. RequestsでREST APIへ送信する

PythonのRequestsを使うと、HTTP POSTでWordPressへ送信できます。

import os
import requests

site_url = os.environ["WP_SITE_URL"].rstrip("/")
username = os.environ["WP_USERNAME"]
app_password = os.environ["WP_APP_PASSWORD"]

endpoint = f"{site_url}/wp-json/wp/v2/posts"
payload = {
    "title": "テスト投稿",
    "content": "<p>これは下書き投稿のテストです。</p>",
    "status": "draft",
}

response = requests.post(
    endpoint,
    auth=(username, app_password),
    json=payload,
    timeout=30,
)
response.raise_for_status()
print(response.json()["id"])

これは考え方を示す最小例です。実運用では、Dry Run、ログ、重複投稿チェック、エラー処理を追加します。

6. Dry Runで送信前に確認する

Dry Runでは、WordPressへ送信せずに次の項目を表示します。

  • タイトル
  • スラッグ
  • 投稿ステータス
  • 本文の文字数
  • 画像参照の有無
  • カテゴリ、タグ候補
  • 送信先URL

Dry Runの目的は、スクリプトの実行前に「公開ではなく下書きになっているか」を確認することです。

7. WordPress上で下書きを確認する

投稿後は、WordPress管理画面で下書きを開きます。

確認する項目は次の通りです。

  1. タイトルが自然か
  2. 見出し階層が崩れていないか
  3. 表が読めるか
  4. 画像が表示されているか
  5. 内部リンクと外部リンクが正しいか
  6. アフィリエイトリンクが必要な文脈だけに入っているか
  7. 公開前に事実確認が必要な箇所が残っていないか

比較表

方法 メリット 注意点 向いている人
手作業で投稿する 表示を確認しながら進められる 記事数が増えると時間がかかる 月数本の記事を丁寧に投稿する人
Pythonで下書き投稿する 貼り付け作業を減らしつつ確認工程を残せる 最初の設定とテストが必要 投稿作業を効率化したい人
Pythonで公開まで自動化する 作業はさらに減る 誤公開のリスクが高い 十分な検証体制がある上級者向け

このサイトの方針では、まず「Pythonで下書き投稿する」方法を推奨します。

レンタルサーバーとVPSの選び方

PythonでWordPress下書き投稿を行うだけなら、必ずVPSが必要とは限りません。

環境 使い方 メリット 注意点
手元のPC 手動でスクリプトを実行する 始めやすい PCを閉じると定期実行できない
レンタルサーバー WordPress本番環境として使う 管理が比較的楽 Python実行や外部通信の制限は要確認
VPS Python自動化や定期実行も動かす 自由度が高い セキュリティ管理が必要

レンタルサーバーは、本番ブログを安定して公開したい人に向いています。VPSは、Python自動化やLinux運用も学びたい人に向いています。

ただし、サーバー契約は必須ではありません。まずはローカルPCとテスト用WordPressで検証し、必要になってから選ぶ方が無駄が少ないです。

よくある失敗

失敗1. status の確認を省く

投稿データの status を確認しないまま実行すると、意図しないステータスで投稿される可能性があります。

対策は、.env とスクリプトの両方で draft を確認することです。

失敗2. Application PasswordsをGitに含める

.env をGit管理に含めると、認証情報が漏れる可能性があります。

対策は、.gitignore.env を入れ、公開用サンプルは .env.example に分けることです。

失敗3. Dry Runなしで本番サイトに送る

最初から本番サイトへ送ると、本文や画像パスの崩れに気づきにくくなります。

対策は、Dry Run、テスト投稿、本番下書きの順に進めることです。

失敗4. 画像アップロードを後回しにする

Markdown内のローカル画像パスは、そのままではWordPress上で表示されない場合があります。

対策は、画像をWordPressメディアへアップロードし、本文内の画像URLを差し替える処理を用意することです。

失敗5. 収益導線を自動で入れすぎる

記事作成を自動化すると、商品紹介も機械的に入りやすくなります。

対策は、読者の目的に関係するものだけを紹介し、不要な人も明記することです。

実体験・検証条件

この記事は、次の条件を想定した下書きです。

  • 使用環境:WordPress REST APIが利用できるWordPressサイト
  • 使用言語:Python 3
  • 使用ライブラリ:Requests
  • 認証方式:Application Passwords
  • 投稿ステータス:draft
  • 検証方針:Dry Run後にWordPress下書きへ送信し、人間が管理画面で確認する

公開前に追記したい検証欄:

  • 実際に使ったWordPressのバージョン:
  • レンタルサーバーまたはVPS名:
  • WAFやセキュリティプラグインの設定:
  • 画像アップロードの成功可否:
  • エラーが出た場合の内容:

収益導線

この記事の内容を実践する場合、必要に応じて検討できるものは「レンタルサーバー」と「VPS」です。

レンタルサーバーは、本番ブログを安定して公開したい人に向いています。サーバー管理をできるだけ簡単にしたい場合も候補になります。

VPSは、Pythonスクリプトを定期実行したい人や、Linux運用も学びたい人に向いています。一方で、サーバー管理やセキュリティ対応を避けたい初心者には向きません。

どちらも最初から契約が必須ではありません。まずはローカル環境やテストサイトで下書き投稿の流れを確認し、運用が続きそうなら検討するのが現実的です。料金、キャンペーン、仕様は公開前に公式サイトで確認してください。

よくある質問

Q1. PythonでWordPressに投稿できますか?

できます。WordPress REST APIの投稿エンドポイントへHTTPリクエストを送ることで、Pythonから投稿データを作成できます。

ただし、この記事では公開ではなく下書き投稿を前提にしています。

Q2. WordPress REST APIで下書き投稿にできますか?

できます。投稿データの statusdraft を指定します。

スクリプト側でも draft 以外を拒否するチェックを入れると、誤設定を避けやすくなります。

Q3. Application Passwordsは必ず必要ですか?

認証が必要な投稿作成では、何らかの認証方式が必要です。WordPress標準のApplication Passwordsは、外部アプリから扱いやすい選択肢です。

利用できるかどうかは、WordPressのバージョン、ユーザー権限、サイト設定によって確認してください。

Q4. レンタルサーバーでもPython自動投稿はできますか?

WordPress側がREST APIを受け付けるなら、Pythonを実行する場所は手元のPCでも構いません。

レンタルサーバー上でPythonを動かせるかは、契約プランやサーバー仕様によって異なります。公開前に公式情報で確認してください。

Q5. VPSを使うメリットは何ですか?

VPSは、Pythonスクリプトの定期実行、ログ管理、環境構築の自由度が高い点がメリットです。

一方で、OS更新、SSH、ファイアウォール、認証情報管理などの責任も増えます。初心者は、まず手元のPCで検証してから判断するとよいです。

Q6. 画像もPythonでWordPressに送れますか?

送れます。WordPress REST APIにはメディア用のエンドポイントもあります。

ただし、画像のファイル名、alt、本文内URL差し替え、アイキャッチ設定まで考える必要があります。最初は本文だけの下書き投稿から始めると検証しやすいです。

Q7. AIで作った記事をそのまま下書き投稿してもよいですか?

下書きとして保存することはできますが、そのまま公開するのは避けた方が安全です。

AIで作った文章は、事実確認、読者目線の修正、表現の調整、引用元の確認が必要です。最終判断は人間が行います。

まとめ

WordPress 自動投稿 Pythonを使うなら、最初の目標は「公開の自動化」ではなく「下書き投稿の効率化」です。

安全な流れは次の通りです。

  1. Markdownで記事下書きを作る
  2. Pythonでメタ情報と本文を読み取る
  3. Dry Runで送信内容を確認する
  4. WordPress REST APIへ status: draft で送る
  5. WordPress管理画面で人間が確認する
  6. 問題がなければ公開判断をする

この流れなら、投稿作業を減らしながら、記事品質と安全性を保ちやすくなります。

次にやること

まずは、本番サイトではなくテスト用WordPressで下書き投稿を試してください。

次に、次の順番で小さく進めます。

  1. WordPress REST APIが使えるか確認する
  2. Application Passwordsを作成する
  3. .env に認証情報を設定する
  4. Dry Runを実装する
  5. 1件だけ下書き投稿する
  6. WordPress管理画面で表示を確認する
  7. 画像アップロードやカテゴリ設定を追加する

コメント

タイトルとURLをコピーしました