WordPress REST APIで記事運用を安全に自動化

WordPressの投稿をREST APIで更新できるようにすると、原稿・SEOメタ・アイキャッチをバージョン管理し、同じ手順で繰り返し公開できます。ただし、「APIが動く」だけでは安全な運用にはなりません。認証情報の管理、再実行時の重複防止、公開後の確認までを一つの仕組みとして設計することが重要です。

原稿を「公開の入力値」として管理する

このサイトでは、HTML原稿の先頭にタイトル、スラッグ、カテゴリ、SEO用のタイトルと説明、画像ファイル名、代替テキストを持たせています。原稿と設定を別々に更新すると不整合が起こりやすいためです。

<!--meta
title: 記事タイトル
slug: article-slug
featured_image: article-slug.webp
featured_image_alt: 画像の内容を伝える代替テキスト
-->

この形ならレビュー時に本文とメタデータを同時に確認でき、公開された状態を再現しやすくなります。

認証情報は用途を分け、コードに入れない

WordPressは外部ツール向けにアプリケーションパスワードを提供しています。通常のログインパスワードと分け、不要になったときに個別に失効させられるのが利点です。認証情報はリポジトリに入れず、実行環境の環境変数またはシークレット管理に置きます。実行ユーザーにも必要以上の権限を与えません。詳細はWordPress REST APIの認証ドキュメントで確認できます。

スラッグを鍵にして再実行を安全にする

自動化で見落としやすいのが、処理を再実行した際の重複投稿です。そこで、投稿前にスラッグで既存記事を検索し、存在すれば更新、なければ新規作成という分岐にします。画像も同様に、記事ごとの一意なファイル名を検索してからアップロードします。

画像を登録する場合は、メディアのIDを投稿のfeatured_mediaに設定します。投稿とメディアのパラメータは、投稿エンドポイントメディアエンドポイントの仕様に合わせます。

「下書き」と「公開」を明示的に分ける

新規記事はまず下書きで登録し、管理画面で見た目、リンク、カテゴリを確認してから公開します。一方、公開済み記事の更新でステータスを誤って下書きに戻すと、URLが突然非公開になります。既存記事の更新では、明示的に変更を指定しない限り現在のステータスを維持する設計が安全です。

公開後の確認まで自動化の範囲に入れる

  • 公開URLが200を返すか
  • タイトル、見出し、リンクが意図どおりか
  • アイキャッチの寸法と代替テキストが正しいか
  • OGPと検索用のタイトル・説明が反映されているか
  • サイトマップとキャッシュが更新されたか

APIによる自動化は、入力作業を減らすことよりも、「毎回同じ確認が行われる」状態を作ることに価値があります。Plan-Kでは、サイトの更新フローから公開後の検証まで、運用し続けられる形に整えるご支援も行っています。ご相談はお問い合わせよりお寄せください。

投稿者プロフィール

plan-k

Follow me!