SEO記事を時間をかけずに量産するワークフローの作り方

記事本数を増やすよう求められても、1本ずつ丁寧に書く今のやり方では限界があります。この記事を読み終えると、キーワード選定から公開までを仕組み化した量産ワークフローを自分の環境に合わせて組み立てられるようになります。必要なのはGoogleドキュメントと無料・低コストのAIツールだけです。

目次

なぜ「ただ速く書く」だけでは量産できないのか

月10本を20本にするとき、多くの人が最初に考えるのは「もっと速く書けばいい」ということです。でも実際に作業を分解してみると、時間を食っているのは「書く速度」ではないことがほとんどです。

問題は、毎回ゼロから判断している工程が多すぎること。「このキーワードで書くべきか」「見出しはこの順番でいいか」「この表現は正確か」——こうした小さな判断が積み重なって、1本あたり数時間を消費しています。

キーワード選定・構成・執筆・校正の4工程のうち、どこに時間が集中しているかをまず把握してください。多くのケースでは構成と校正に時間がかかっています。執筆そのものよりも、「何をどの順番で書くか決める」部分がボトルネックです。

品質を落とさず量産できているチームや個人は、共通して「判断を減らす仕組み」を持っています。テンプレート、チェックリスト、AIの活用——これらはすべて「毎回考えなくていい状態」を作るための道具です。

PR・広告
🤖 SEO記事をAIで自動生成するなら
キーワードを入れるだけでSEO記事を自動生成。このブログのようなAI記事運用を試したい方に。

Value AI Writerを見る →

量産に向く記事と向かない記事をどう見分ける?

すべての記事を量産対象にしようとすると、品質が崩れます。まず「量産できる記事」と「できない記事」を分けることが先決です。

量産に向くのは、検索意図が明確な情報収集系キーワードです。「〇〇 やり方」「〇〇 とは」「〇〇 費用」のように、読者が何を求めているか一目でわかるキーワードは、構成をテンプレート化しやすく、AI下書きの精度も上がります。

一方、YMYL(Your Money or Your Life)領域——医療・法律・金融など、誤情報が人に実害を与える可能性があるジャンル——や、自社独自の一次情報がなければ差別化できない記事は量産対象から外してください。こうした記事は時間をかけて丁寧に書く価値があります。

実務的な仕分け方として、月間検索ボリュームと競合難易度でキーワードをABCランク分けする方法をおすすめします。

  • Aランク:検索ボリュームが大きく競合が強い(量産不向き)
  • Bランク:中程度のボリュームと競合(慎重に対応)
  • Cランク:月間検索100〜1000程度・競合難易度が低い(量産スタート地点)

Cランクから始める理由は、競合が少ないため構成の工夫より情報の正確さが順位に直結しやすく、ワークフローの検証がしやすいからです。まずここで仕組みを固めてから、上位ランクに展開していくのが現実的な順序です。

どのAIツールをどう使い分けるかについては、ChatGPT・Gemini・Claude、仕事に使うAIの正しい選び方2025 も参考にしてください。

実際にワークフローを組み立てる

ここからが本題です。以下の6ステップを順番に実行すると、量産ワークフローが完成します。一度作れば、次の記事からはStep3以降を繰り返すだけです。

Step1: 量産対象キーワードをリストアップする

Google Search ConsoleとGoogleキーワードプランナー(無料)を使い、月間検索100〜1000程度・競合難易度が低いキーワードを30〜50個書き出します。スプレッドシートに「キーワード・月間検索数・競合難易度・記事タイプ・ステータス」の列を作って一覧化してください。

このリストが量産の「燃料」になります。リストがなければワークフローは動きません。最初にここを充実させておくことが、後工程の判断コストを大幅に減らします。

Step2: 記事タイプ別の構成テンプレートを3種類作る

ハウツー型・比較型・用語解説型の3パターンについて、見出し構成と各セクションに入れるべき要素をGoogleドキュメントにテンプレートとして保存します。

たとえばハウツー型なら「課題提示→原因→ステップ別解決策→注意点→まとめ」という骨格を固定します。記事ごとに構成を考えるのをやめることで、1記事あたりの判断コストが劇的に下がります。

テンプレートは完璧を目指さなくていいです。使いながら修正すれば十分です。

Step3: AIツールで構成案と下書きを生成する

ChatGPTまたはClaudeに「キーワード・検索意図・テンプレートの型」を指定したプロンプトを入力し、構成案と本文の下書きを出力させます。AIには「下書き生成」と「見出し案の複数出し」だけを任せ、事実確認と締めの文章は必ず人が書くのが鉄則です。

このステップは、以下のGASスクリプトで自動化できます。スプレッドシートのキーワードリストを読み取り、ChatGPT APIに送信して下書きをGoogleドキュメントとして自動生成します。

事前にGASのスクリプトプロパティに OPENAI_API_KEY としてOpenAI APIキーを登録してください。シートのA列にキーワード、B列に howto / list / comparison のいずれかを入力して実行します。

// シート列構成: A=キーワード, B=テンプレートタイプ, C=生成済みドキュメントURL
function generateDraftFromKeywords() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
  const rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, 2).getValues();

  rows.forEach(([keyword, type], i) => {
    if (!keyword || !type) return;

    const prompt = buildPrompt(keyword, type);
    const res = UrlFetchApp.fetch('https://api.openai.com/v1/chat/completions', {
      method: 'post', contentType: 'application/json',
      headers: { Authorization: `Bearer ${apiKey}` },
      payload: JSON.stringify({
        model: 'gpt-4o',
        messages: [{ role: 'user', content: prompt }],
        max_tokens: 2000
      })
    });
    const draft = JSON.parse(res.getContentText()).choices[0].message.content;

    const doc = DocumentApp.create(`【下書き】${keyword}`);
    doc.getBody().setText(draft);
    doc.saveAndClose();

    sheet.getRange(i + 2, 3).setValue(doc.getUrl());
  });
}

function buildPrompt(keyword, type) {
  const templates = {
    howto:      `「${keyword}」について初心者向けにステップバイステップで解説するSEO記事の下書きを書いてください。見出しはH2/H3で構成し、2000字程度。`,
    list:       `「${keyword}」に関するおすすめ10選の記事下書きを書いてください。各項目に特徴・メリットを含め、2000字程度。`,
    comparison: `「${keyword}」の比較記事の下書きを書いてください。比較表と各サービスの長所・短所を含め、2000字程度。`
  };
  return templates[type] ?? templates['howto'];
}

実行するとキーワードごとにGoogleドキュメントが自動生成され、C列にURLが記録されます。テンプレートタイプを増やしたい場合は buildPrompt 内の templates オブジェクトにキーと文字列を追加するだけです。

AIを使った記事効率化の全体像については、SEO記事を効率化するツール活用法 もあわせて読むと理解が深まります。

Step4: 人の手で事実確認と一次情報を追加する

AIが生成した下書きをそのまま公開してはいけません。数値・固有名詞・手順の正確さを一次ソース(公式サイト・論文・統計データ)で確認します。

そのうえで、自社データや実体験など検索結果には存在しない情報を1〜2箇所書き加えます。この「一次情報」こそが、AI生成記事が乱立する検索結果の中で差別化できる唯一の武器です。ここだけは時間を惜しまないでください。

Step5: 品質チェックリストで公開前確認をする

以下の4項目をスプレッドシートのチェックシートで確認し、全項目OKなら公開します。

  1. 検索意図との一致(読者が求めている答えが書かれているか)
  2. 一次情報の有無(自社・自分にしか書けない情報が1箇所以上あるか)
  3. 内部リンクの設置(関連記事へのリンクが自然に入っているか)
  4. メタディスクリプションの記入(120文字前後で検索意図に沿って書かれているか)

チェックリストをスプレッドシートに作っておくと、確認漏れがなくなるだけでなく、後から「どの記事が何を理由に公開されたか」を追跡できます。

Step6: 公開後4〜8週間でパフォーマンスを計測する

公開直後は順位が安定しません。4〜8週間後にSearch Consoleで表示回数・平均順位・CTR(クリック率)を確認し、既存記事の平均値と比較してワークフローの改善点を記録します。

この計測作業も、以下のGASスクリプトで自動化できます。スプレッドシートのA列に計測対象のURLを列挙しておくと、Search Console APIから各記事のデータを自動取得して書き出します。

事前にGASの「サービス」からSearch Console APIを有効化してください。

// スプレッドシートのA列にURLを列挙しておく前提
function fetchSearchConsoleData() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const siteUrl = 'sc-domain:example.com'; // ← 自分のドメインに変更
  const startDate = '2024-01-01';
  const endDate   = '2024-03-31';

  sheet.getRange(1, 1, 1, 5).setValues([['URL','表示回数','クリック数','平均順位','CTR']]);

  const urls = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues().flat();

  urls.forEach((url, i) => {
    if (!url) return;
    const payload = {
      startDate, endDate,
      dimensions: ['page'],
      dimensionFilterGroups: [{
        filters: [{ dimension: 'page', operator: 'equals', expression: url }]
      }]
    };
    const res = UrlFetchApp.fetch(
      `https://searchconsole.googleapis.com/webmasters/v3/sites/${encodeURIComponent(siteUrl)}/searchAnalytics/query`,
      { method: 'post', contentType: 'application/json',
        headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
        payload: JSON.stringify(payload) }
    );
    const row = JSON.parse(res.getContentText()).rows?.[0];
    sheet.getRange(i + 2, 2, 1, 4).setValues([[
      row?.impressions ?? 0, row?.clicks ?? 0,
      row?.position?.toFixed(1) ?? '-', row?.ctr ? (row.ctr * 100).toFixed(2) + '%' : '-'
    ]]);
  });
}

実行後、2行目以降に各URLのパフォーマンスデータが自動入力されます。GASのトリガー設定で週次実行にしておくと、毎週手動で確認する手間がなくなります。

月1回、直近20本の平均順位を集計してワークフロー自体を見直すサイクルを作ると、仕組みが少しずつ改善されていきます。「量産したら品質が落ちた」ではなく「量産しながら品質も上がった」という状態を目指せます。

量産を続けながら品質が落ちていないか確認するには?

ワークフローを回し始めたら、品質の変化を定点観測する習慣を作ってください。感覚ではなく数字で判断するのがポイントです。

公開後4〜8週間でSearch Consoleの表示回数・クリック率を確認し、量産前の既存記事の平均値と比較します。表示回数が伸びているのにCTRが低い場合はタイトルやメタディスクリプションの見直しが必要です。表示回数自体が伸びていない場合はキーワード選定かコンテンツの深さに問題があります。

品質チェックは「一次情報の有無・検索意図との一致・内部リンクの設置」の3点をスプレッドシート1枚で管理するのが最もシンプルです。記事ごとに○×をつけるだけで、後から「どの記事が何を欠いているか」が一目でわかります。

月1回、直近20本の平均順位を集計してワークフロー自体を見直す時間を30分確保してください。「テンプレートのどの部分が機能しているか」「AIの下書きをどこまで使えているか」を数字ベースで確認することで、仕組みが少しずつ精度を上げていきます。

AI検索の普及によってSEO流入の構造が変わりつつある点も頭に入れておくと良いです。Google AI検索でSEO流入が47%減。フリーランスが今すぐ動くべき理由 は、量産戦略を組む前に読んでおく価値があります。

ハナの所見

量産ワークフローで一番難しいのは「テンプレートを作ること」ではなく、「テンプレートに乗らない記事を量産対象から外す判断」です。ここを妥協すると、仕組みが壊れる前に品質が壊れます。最初の1〜2週間は本数より仕組みの検証を優先してください。月20本は、その後に自然についてきます。

まずStep1のキーワードリスト30本から始めてみてください。リストができた時点で、ワークフローの半分は完成しています。

つまずいたときは

❌ AIが生成した下書きの内容が事実と異なる・古い情報が混ざっている

✅ 数値・固有名詞・手順が含まれる箇所は必ず一次ソース(公式サイト・政府統計など)で確認する工程をStep4として必ずワークフローに組み込む。AI出力をそのまま公開しない運用ルールをチームで明文化する。

❌ 量産した記事が軒並みインデックスされない・順位がつかない

✅ 内容が薄い・検索意図とずれているケースが多い。公開前チェックリストの「検索意図との一致」項目を強化し、競合上位3記事と自記事の見出し構成を並べて比較する工程を追加する。

❌ テンプレートを使うと記事が似たり寄ったりになり、サイト全体の評価が下がる気がする

✅ テンプレートは構成の骨格だけに使い、各記事に自社独自の一次情報(事例・データ・体験談)を必ず1箇所追加するルールを設ける。構成が同じでも一次情報が異なれば重複コンテンツにはならない。

❌ キーワードリストが尽きて量産が止まってしまう

✅ 既存記事のSearch Console「検索クエリ」タブを月1回確認し、表示はされているがクリックされていないキーワードを次の量産候補として追加する。サイト内の検索ログがあればそこも参照する。


白米元気

白米元気 | LLM Oops

コピペ・転記・集計といった毎日の手作業は、AIに丸ごと任せられます。このサイト自体、非エンジニアの私が作った“AI社員”7体が、記事執筆から案件対応まで24時間自動で回しています。同じ仕組みを、あなたの業務に。

次のステップ
あなたの作業も、AIで自動化できるかもしれません。
このサイトは、記事作成・案件収集・投稿まで、AIエージェント(AI社員)が24時間動かしています。同じ仕組みを、あなたの毎日の作業にも。まずは30秒の診断からどうぞ。
PR / おすすめ
世界150万人が愛用!あなたの生産性を最大化!AI搭載のボイスレコーダー「Plaud」
詳しくはこちらからご確認ください。

詳細を見る →

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

はじめまして、「白米元気」と申します。

ノースキルで副業をスタートし、2ヶ月で月10万円を達成。
その後も毎日ChatGPTとにらめっこしながら、
「どうやったら仕組みで稼げるのか?」を考え続けてきました。

そんな中出会ったのが「LLM無職」です。
AIと仕組みを作り、AIに仕事をさせる。
副業や働き方そのものを実験していく——そんな挑戦をしています。

このブログでは、わたしのLLM無職への道のりの途中で
AIを活用した具体的な方法や工夫、日々の実践内容を紹介。
ときどき家族の話もまじえながら、
読んでくれた方が「なんかおもしろそう!」と思えるような、
リアルで実験的な情報をお届けしていきます。

コメント

コメントする

目次