PIGNOTE

PIGNOTE編集部では、コンテンツ戦略・執筆・入稿・サムネ作成・GA4・GSCでの計測・リライト判断までを担当者が一貫して担っています。
このようなコンテンツ制作の一連のPDCAを回す中で、一番業務を効率化できたAIエージェントがClaude Codeでした。
本記事では、一連の業務フローの中で実際にAIエージェントを活用している部分や、気をつけたいポイントなどを解説していきます。

PIGNOTEのSEO運用フロー全体像
PIGNOTEのSEO運用は、おおまかに以下のフローで回しています。
| フェーズ | 作業内容 | Claude Code化 |
|---|---|---|
| 分析 | GA4・GSCでデータ取得・トレンド検出 | ◎ |
| 戦略 | カニバリ検出、リライト優先度判定 | ◎(候補抽出まで) |
| 制作 | 記事執筆、サムネ生成 | △(指示出しベース) |
| 入稿 | WordPress入稿、メタ設定 | ◎ |
| 計測 | 公開後の動向追跡、Slack通知 | ◎ |
担当者が判断するのは「戦略を立てる部分」と「最終OK出し」だけです。それ以外の手作業はほぼClaude Codeに渡しています。
1日のフロー例
朝:Claude Codeが自動でGA4・GSCをまとめた朝レポートをSlackへ通知。それを見て動向チェック。
午前:順位やセッションが落ちている記事があれば「記事14006のセッションが先月から半減してる。GSCで直近の主流入KWと順位変動を出して、本文の見出し構成と現1〜3位を比較して、原因仮説を3つ挙げて」のように指示。Claude CodeがGSC・本文・SERPを横断的にチェックして、原因仮説と改善案を提示します。
午後:リライト・新規執筆。原稿のたたきはClaude Codeに作らせ、担当者はトーン・一次情報の差し込みに集中します。
夕方:入稿・サムネ生成・記事管理表更新は任せて、担当者は最終確認だけ行います。
「機械的な作業はAIに、判断と表現は人間に」というシンプルな分業です。
①記事の公開作業を自動化

記事の公開作業を、入稿から公開までAIエージェントで完了できるようにしています。
PIGNOTEはWordPressで記事を管理しているので、入稿を自動化するには外部からWordPressを操作する仕組み(REST API)を使う必要があります。
ここで最初に苦労したのが、認証の設定でした。ここからは自動入稿でつまずいたポイントを紹介します。
①認証エラー
WordPressへの接続には通常、ユーザー名とパスワードを使ったシンプルな認証方式(Basic認証)を使います。ところが、PIGNOTEが利用しているサーバー環境(ロリポップ)では、通信を中継する仕組み(プロキシ)が、認証に使う情報を途中で消してしまう挙動があり、この方法ではうまく繋がりませんでした。
(ここからは実装の詳細です。読み飛ばしても記事の流れは掴めます)
# 通常の認証方式ではエラーになる(プロキシが認証情報を消してしまうため)
curl -u "user:app_password" https://www.pignus.co.jp/wp-json/wp/v2/posts/123
# → 401 Unauthorized(認証エラー)
WordPressの設定に、APIキーを受け取って認証する処理を追加しました。APIキーをリクエストに含めることで、PIGNUS編集部からのアクセスだと正しく認識されるようになり、記事データの取得・更新ができるようになりました。
add_filter('determine_current_user', function ($user) {
$key = $_SERVER['HTTP_X_PIGNUS_API_KEY'] ?? null;
if ($key && hash_equals(get_option('pignus_api_key'), $key)) {
return get_user_by('login', 'pignus')->ID;
}
return $user;
});
# 独自の合言葉を使うと通るようになった
curl -H "X-Pignus-Api-Key: $WP_API_KEY" \
https://www.pignus.co.jp/wp-json/wp/v2/column/5005
# → 200 OK(成功)
②投稿タイプ
PIGNOTEの記事は、WordPress標準の「投稿」とは別の形式(カスタム投稿タイプ)で管理されています。そのため、標準のURLではなく専用のURLを使う必要がある点にも注意が必要です。
③コードの入力
プログラムのコードなどを本文に含む記事を入稿しようとすると、サーバーのセキュリティ機能(WAF)が「不正な攻撃」と誤って判定し、保存をブロックすることがあります。画面上は「成功」と表示されるのに、実際には反映されていないという厄介な挙動のため、コードを多用する記事は本文だけ手動でコピペするようにしています。
②サムネイル画像の自動作成
あらかじめ作成したサムネイル画像のデザインをフォーマット化し、Claudeに「サムネイル作成して」と伝えるだけで自動的に作成できるよう仕組み化しています。
詳しい作り方は別記事で紹介しています。
③Dailyレポートの作成、通知の自動化
GA4とGSCのデータを組み合わせて、記事ごとの状況を毎朝Slackに自動で届けるようにしています。
- GA4:「全体セッション」の実数・前日比・前週同日比
- GSC:「稼ぎ頭TOP5」のクリック数、「リライト+伸びた記事の順位」の対策KW別の日別順位(position)

記事ごとの数値がまとまった状態で届くので、担当者は送られてきた内容を確認するだけで済みます。

週末には、セッションを獲得している記事の構成をグラフ化して届けるように設定しています。
この方法の実装方法は別記事にまとめています。
④カニバリズムの検知を自動化
同じキーワードを複数の記事が奪い合っている状態を、1記事ずつ確認しなくてもAIエージェントで自動的に見つけられるようにしています。
以下の画像が、実際にカニバリズムを検知したときのClaude Codeとのやりとりです。

PIGNOTE運用の中で、最もAIエージェントに任せて良かったと感じているのがこの作業です。
全てAIエージェントに丸投げしていると誤りがある場合に自社の重要な資産をリライトや統合で失うことになるので、必ず目視でもデータを確認するようにしています。
どうやって見つけているか
検索データ(Google Search Console)から、ページとキーワードの組み合わせを取得し、以下の3つの観点で見ています。
| 観点 | チェック内容 |
|---|---|
| タイトル | 記事タイトルと、実際に流入しているキーワードが噛み合っているか |
| 流入キーワード | 同じキーワードで複数の記事がランクインしていないか |
| 表示回数 | 表示は取れているのに順位が30〜50位台で停滞していないか(評価が複数記事に分散しているサイン) |
この3つに当てはまる記事のグループが見つかったら、それは記事を1本にまとめる候補です。実際の検出は、Claude Codeに「直近3ヶ月のデータから、同じキーワードで複数の記事がランクインしているグループを抽出して」と指示するだけで進みます。担当者は、その結果を見て「どの記事を残すか」を決めるだけです。
おまけ:リンクの付け替えも自動化できた

(ここからは実装の詳細です。読み飛ばしても記事の流れは掴めます)
ページの転送設定(リダイレクト)を管理しているプラグインも、先述したようにAPIキーを使ってAPI経由で操作できることが分かりました。管理画面を開かずに、転送設定までスクリプトで済ませられます。
curl -X POST \
-H "X-Pignus-Api-Key: $WP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"/column/content/1647/","action_data":{"url":"/column/content/5005/"},"match_type":"url","action_type":"url","action_code":301,"group_id":1}' \
https://www.pignus.co.jp/wp-json/redirection/v1/redirect
AIエージェントに任せて良い作業・任せない方がいい作業
ここまで「半自動化」と書きましたが、実際は任せていい・ダメな線引きを強く意識して運用しています。
任せて良い作業
- データ集計(GA4・GSCからの情報取得)
- 機械的に判定できる検出作業(キーワードの重複、リンク切れ、メタ情報の抜け漏れ)
- 定型的な操作(入稿、転送設定)
- サムネ生成、画像リサイズ
- これまでの知見の蓄積と呼び出し
任せない方がいい・慎重にすべき作業
- 記事の戦略判断(どの記事を主軸にするか、どのキーワードを狙うか)
- トーン・ブランドに関わる文章表現
- 既存記事の大規模なリライト(AIに任せきりにするとブランドの一貫性が崩れる)
- 公開直前の最終チェック(誤情報、URLの間違いなど)
「戦略は人間、実装と運用はAI」という分業がうまくいく境界線でした。
まとめ
PIGNOTEで実践している、SEO運用の効率化の中身を紹介しました。
| 自動化した作業 | 効果 |
|---|---|
| WordPress入稿 | 1記事あたり10〜15分の作業がほぼゼロに |
| サムネ生成 | デザインソフト不要、テンプレートから数秒で生成 |
| 朝のアクセス状況の共有 | 毎朝Slackに自動通知、確認だけで済む |
| キーワードの重複検出 | 記事を1本ずつ見る必要がなく、リスト化される |
「AIで業務効率化」と一括りにされがちですが、実際の業務フローに落とし込むところまでやらないと、効果は実感しにくいものです。とくにセキュリティ制限のあるサーバー環境では、その環境に合わせた調整が欠かせません。
自社の環境に合わせて、自動化できる部分はAIに、人は判断部分に注力する環境を整えるとより効率的に業務を回すことができるようになるのではないでしょうか。ここまででお伝えした内容がお役に立てれば幸いです。
