DX人材育成の完全ガイド|必要なスキル・育成方法・成功のポイントを徹底解説
DX推進ガイド
n8nとApifyを連携させ、競合記事の見出し(Hタグ)構成を自動抽出してスプレッドシートに集約する方法を解説します。面倒な手作業を排除し、SEOリサーチの工数を大幅に削減できます。戦略的なコンテンツ企画に集中できる自動化ツール構築ガイドです。
・6万名以上のエンジニアネットワークを活用して課題を解決※
・貴社のDX戦略立案から実行・開発までワンストップで支援可能
※エンジニア数は2026年8月期 第1四半期決算説明資料に基づきます。
競合記事のリサーチはSEO対策やコンテンツ制作において欠かせない工程ですが、手作業で行う場合は時間と労力がかかり、継続的な運用が難しいと感じている方も多いのではないでしょうか。特に検索上位の記事構成やトレンドの変化を追い続けるには、効率的な情報収集の仕組みが求められます。
そこで本記事では、ワークフロー自動化ツールであるn8nとスクレイピングツールのApify、さらに検索結果取得に特化したSerpApiを組み合わせ、競合記事リサーチを完全自動化する方法を解説します。リサーチの自動化により、作業時間を削減しながら分析の精度を高める実践的な手法を、具体的な手順とともに分かりやすく紹介します。
n8nとApifyによるスクレイピングとは、Web上にある必要な情報を自動で収集し、業務に活用しやすい形へ整理する仕組みを構築することです。n8nは複数ツールをつなぐ自動化基盤として機能し、Apifyは実際にWebページから情報を取得する役割を担います。両者を組み合わせることで、これまで手作業で行っていた検索・収集・整理の流れを自動化でき、調査業務の効率と再現性を高められます。特にSEOや競合分析、価格調査、コンテンツ企画など、継続的なデータ取得が求められる業務と相性の良い手法です。
デジタルマーケティングやSEO運用の現場では、意思決定に必要な情報量が年々増えています。競合サイトの更新状況や検索順位、価格変動、トレンドの移り変わりなどを継続的に追うには、従来の手作業だけでは限界があります。こうした状況の中で、必要な情報を定期的かつ自動で取得できるスクレイピングの重要性が高まっています。ここでは、スクレイピングが必要とされる主な背景を整理します。
SEOや市場分析では、競合サイトの構成や更新頻度、検索結果の変化を継続的に観測する必要があります。しかし、確認対象のキーワードやサイト数が増えるほど、収集すべきデータ量は急激に膨らみます。手作業で対応すると確認漏れや記録ミスが起こりやすくなり、分析精度にも影響します。スクレイピングを活用すれば、必要な情報を一定条件で自動取得できるため、継続的なモニタリング体制を安定して構築しやすくなります。
情報収集を担当者の手作業に依存していると、業務負荷が増えるだけでなく、進め方や判断基準が個人に依存しやすくなります。その結果、同じ調査でも担当者ごとに取得データの粒度や精度がばらつき、組織としての再現性が低下します。スクレイピングにより収集ルールを自動化すれば、作業品質を均一化しやすくなり、担当者が変わっても同じ条件で継続的にデータを蓄積できる体制を整えられます。
Web上の情報は日々変化しており、検索順位や商品価格、話題化しているテーマなどは短期間で大きく動くことがあります。こうした変化を把握するのが遅れると、競合への対応や施策の見直しが後手に回る恐れがあります。スクレイピングを用いて定期的にデータを取得しておけば、変動の兆候を早期に察知しやすくなり、迅速な改善や意思決定につなげやすくなります。
データが検索結果、競合サイト、SNS、価格比較ページなど複数のチャネルに分散していると、情報を横断的に整理するだけでも多くの時間がかかります。さらに、収集フォーマットがバラバラだと比較や分析も難しくなります。スクレイピングを活用してデータを一元的に取得・整形できれば、分析基盤の統一が進み、必要な情報を素早く比較できるようになります。結果として、判断のスピードと精度の両立が図れます。
n8nとApifyを組み合わせることで、単なるデータ取得にとどまらず、収集から加工、保存までを一連の流れとして自動化できます。これにより、作業時間の削減だけでなく、情報の鮮度維持や分析環境の整備にもつながります。特に定期的な競合調査やSEOリサーチのように、同じ処理を継続して繰り返す業務では大きな効果を発揮します。ここでは主なメリットを見ていきます。
従来は人が検索し、対象ページを開き、必要項目を確認して記録する必要がありました。n8nとApifyを使えば、この一連の流れを自動化できるため、調査にかかる時間を大幅に短縮できます。定期実行の設定を行えば、決まったタイミングでデータ収集を継続できるため、担当者が毎回作業する必要もありません。結果として、繰り返し業務の負担を減らしながら、安定した情報取得を実現できます。
単純な情報収集作業に多くの人手を割くと、本来注力すべき分析や施策立案の時間が圧迫されます。自動スクレイピングを導入すれば、定型的な作業をシステム側へ移せるため、人的リソースをより付加価値の高い業務へ振り向けやすくなります。結果として人件費の圧縮だけでなく、チーム全体の生産性向上にもつながり、少人数でも継続的な運用がしやすくなります。
一度きりの調査では見えない変化も、継続的にデータを蓄積することで傾向として把握しやすくなります。例えば検索上位記事の見出し構成やメタ情報を定期取得すれば、どのような変化が起きているかを比較しやすくなります。時系列での分析が可能になることで、施策立案の根拠が強まり、感覚ではなくデータに基づいた判断を行いやすくなる点も大きなメリットです。
n8nはさまざまな外部ツールと連携できるため、取得したデータをGoogleスプレッドシートやデータベース、チャットツール、BIツールなどへ自動連携できます。これにより、スクレイピング結果を単に保存するだけでなく、そのまま分析や共有、通知へつなげることが可能です。情報取得と活用が分断されにくくなるため、データドリブンな運用基盤を構築しやすくなります。
競合記事のリサーチはSEOやコンテンツ制作において欠かせない工程ですが、手作業で行う場合は多くの時間と労力がかかります。特に複数キーワードを対象に継続的な調査を行う場合、作業の属人化や情報の抜け漏れが発生しやすく、分析の精度にも影響を与えかねません。
そこで有効なのが、n8nとApifyを組み合わせた自動スクレイピング環境の構築です。この仕組みを導入することで、検索結果の取得から記事構成の抽出、データの蓄積までを一連の流れとして自動化できます。これにより、従来は数時間かかっていたリサーチ作業を大幅に短縮し、常に最新の競合情報をもとにした分析が可能になります。
本章では、実際に競合記事の構成データを自動で取得・整理する具体的な方法を解説します。環境構築の準備からワークフローの設定、実行までを順を追って説明するため、初めて自動化に取り組む方でも再現しやすい内容となっています。実務にそのまま活用できる形で解説しますので、ぜひ参考にしてください。
本記事で構築する自動リサーチフローでは、主に「n8n」「Apify」「SerpApi」の3つのツールを使用します。それぞれ役割が異なり、組み合わせることで検索・取得・加工・保存までの一連のプロセスを自動化できます。
まずn8nは、複数のサービスを連携させるワークフロー自動化ツールです。各処理をノードとしてつなぐことで、ノーコードまたはローコードでデータ処理の流れを構築できます。今回のように複数ツールを組み合わせる場合に、全体の制御役として機能します。
次にSerpApiは、Google検索結果をAPI経由で取得するためのツールです。指定したキーワードに対して上位表示されている記事のURLやタイトル情報を取得し、競合リサーチの起点となるデータを提供します。
そしてApifyは、取得したURL先のWebページから必要な情報を抽出するスクレイピングツールです。記事内の見出し構成(Hタグ)やメタディスクリプションなどを自動で収集できるため、コンテンツ分析の精度を高めることが可能になります。
これら3つのツールを連携させることで、競合記事リサーチを効率的かつ継続的に行える仕組みを構築できます。
このワークフローは、以下の4つのステップで市場調査や競合分析を自動化します。
まず、n8n上で調査の起点となる「検索キーワード」と、分析対象としたい「記事数(リサーチしたい件数)」を具体的に指定します。
設定した条件に基づいてGoogle検索を自動実行し、検索結果の上位に表示されているWebサイトのURLを抽出し、リスト化します。
取得したURLリストを外部ツール「Apify」と連携させ、各記事から「タイトル」「メタディスクリプション(概要説明)」「Hタグ(見出し構成)」などの構成要素を自動的に抜き出します。
最後に、抽出したすべてのデータをGoogleスプレッドシートへ自動的に書き込み、保存します。これにより、手動でのコピペ作業なしに分析用リストが完成します。

n8nで構築したワークフローの全体構成
このワークフローを実行すると、以下のように検索エンジンで上位表示されている記事の記事構成がスプレッドシートに書き込まれます。

自動で取得された競合記事の構成データ
この章では、ワークフローを構築するために必要なAPIキーの取得とファイルの準備を行います。
なお、本記事では両サービスの無料枠を組み合わせ、コストをかけずにゼロから自動化フローを構築する方法をご説明します。
SerpApiは検索エンジンで上位表示されている記事のURLを取得するために使用します。
以下のURLから無料で取得できます。
取得先
SerpApiはGoogleやBingなどの検索結果をJSONで取得できる便利なツールで、月100回までは無料で利用可能です(クレジットカード登録も不要)。
公式サイトからアカウントを作成し、ダッシュボードに表示される「Private API Key」をコピーしてコードに設定してください。
出典: SerpApi Pricing
Apify API keyはスクレイピングを実行するために使用します。
以下のApify公式サイトから無料会員登録し、取得できます。
取得先
APIキー取得手順
Apifyには「Personal」という無料プランがあり、毎月$5分のプラットフォーム利用クレジット(Compute Units)が自動で付与されます。
今回使用する Cheerio Scraper はブラウザを起動しない軽量なスクレイパーのため消費リソースが少なく、この無料枠だけでも数千〜数万ページの処理が十分に可能です。
出典: Apify Pricing
取得した記事構成を書き込むGoogleスプレッドシートを準備します。
スプレッドシート設定手順
セル位置 | 入力テキスト |
|---|---|
A列1行 | サイトURL |
B列1行 | titleタグ |
C列1行 | descriptionタグ |
D列1行 | ## 他社記事1 |
E列1行 | Hタグ構成 |
スプレッドシートIDの確認方法
書き込み先のスプレッドシートのIDも控えておいてください。
IDはスプレッドシートに表示されるURLを見れば確認できます。
以下のサンプルURLでは、「〇〇」の部分がIDに該当します。
“`
“`

スプレッドシートのヘッダー行設定例
以下のJSONファイルをダウンロードしてください。このファイルには、ワークフローの設定がすべて含まれています。

ダウンロード用のJSONファイル
n8nにログインし、ワークフローをインポートします。
インポート手順

JSONファイルのインポート画面
JSONファイルをインポートすると、以下のようなワークフローが取り込まれます。

JSONファイルをインポートした直後のワークフロー画面
SerpApiとApifyはデフォルトではn8nにインストールされていません
n8nから「SerpApi」と「Apify」をそれぞれノード検索し、「Install node」ボタンをクリックしてインストールしてください。
以上で準備は完了です。
この章では、ワークフローの各ノードを設定していきます。
左から2つめの「Edit Fieldsノード」の設定を行います。
※一番左にあるManual Triggerノードはワークフローを手動で開始するためのスイッチの役割を果たすため、設定の必要はありません。
「Fields to Set」の設定内容
フィールド名 | 型 | 値の例 | 説明 |
|---|---|---|---|
keyword | String | クォッカ 好物 | 記事構成を調査したい検索キーワード |
spreadsheetId | String | (取得したID) | データを書き込むスプレッドシートのID |
numResults | Number | 3 | 取得する記事数(網羅的に調査したい場合は10程度を推奨) |
上記の設定により、「クォッカ 好物」というキーワードで上位表示されている記事3つを取得するという意味になります。

Edit Fieldsノードの設定画面
「Search Query (q)」の右横にあるスイッチをFixed→Expressionに変更し、以下のコードをコピー&ペーストしてください。
“`
{{ $json.keyword }}
“`

SerpApiノードの設定画面
ノード内に「JavaScript」という項目があるので、以下のコードをコピー&ペーストしてください。
“`javascript
// SerpApiの結果からorganic_resultsを取得
const organicResults = items[0].json.organic_results || [];
// 各結果からURL、title、descriptionを抽出
const processedResults = organicResults.map((result, index) => {
return {
rank: index + 1,
url: result.link || ”,
title: result.title || ”,
description: result.snippet || ”
};
});
// Cheerio Scraper用の完全なInput JSONを作成
const apifyInput = {
startUrls: processedResults.map(result => ({
url: result.url
})),
pageFunction: “async function pageFunction(context) { const { $ } = context; const headings = []; $(‘h1, h2, h3, h4, h5, h6’).each((i, el) => { headings.push({ tag: $(el).prop(‘tagName’).toLowerCase(), text: $(el).text().trim() }); }); const description = $(‘meta[name=\”description\”]’).attr(‘content’) || ”; return { headings: headings, description: description }; }”
};
return [{
apifyInput: apifyInput,
processedResults: processedResults
}];
“`

Codeノードの設定画面
Apifyではスクレイピングツールのことを「Actor」と呼びます。
設定手順
設定項目 | 設定値 |
|---|---|
Resource | Actor |
Operation | Run an Actor |
Actor Source | Recently Used Actors |
Actor | Cheerio Scraper (apify/cheerio-scraper) |
Input JSON | {{$json.apifyInput}} |

Apify(Run an Actor)ノードの設定画面
ApifyのActorが取得したデータは「Dataset」と呼ばれる格納庫のようなものに保存されます。よって、Get dataset itemsノードでDatasetに格納された情報を引き出します。
Dataset IDの項目右横にあるスイッチをFixed→Expressionに変更し、以下のコードをコピー&ペーストしてください。
“`
{{$json.defaultDatasetId}}
“`
2つのApify関連ワークフローを追加したことにより、検索結果で上位表示されているサイトの記事構成が取得できるようになりました。

Apify(Get dataset items)ノードの設定画面
Apifyで収集したデータを見やすいように加工します
使用するノードはCodeノードです。
ノード内に「JavaScript」という項目があるので、以下のコードをコピー&ペーストしてください。
“`javascript
// Apify Datasetからの結果を整形
const scrapedData = $input.all();
const sheetsData = scrapedData.map((item, index) => {
const site = item.json;
// Hタグ構成を見やすい形式に変換
const htagStructure = site.headings
.map(h => `${h.tag.toUpperCase()}: ${h.text}`)
.join(‘\n’);
return {
rank: index + 1,
url: site[‘#debug’].url,
title: site.headings.find(h => h.tag === ‘h1’)?.text || ‘No H1 found’,
description: site.description,
htagStructure: htagStructure
};
});
return sheetsData;
“`

データ加工用Codeノードの設定画面
収集した情報をGoogleスプレッドシートに書き込むための設定を行います。
設定手順
設定項目 | 設定値 |
|---|---|
サイトURL | {{ $json.url }} |
titleタグ | {{ $json.title }} |
descriptionタグ | {{ $json.description }} |
## 他社記事1 | 空欄のままで問題ありません |
Hタグ構成 | {{ $json.htagStructure }} |

Google Sheetsノードの設定画面
設定が完了したらキャンバスへ戻り、「Execute workflow」をクリックして実行してみてください。
確認項目
□ ワークフロー実行
エラーが発生せず、最後まで正常に実行されること。
□ データ取得
指定した件数分のデータが漏れなく取得されていること。
□ スプレッドシート書き込み
抽出された結果が、連携先のGoogleスプレッドシートに正しく書き込まれていること。
ワークフローが正常に動き、スプレッドシートに結果が書き込まれていれば成功です。

ワークフロー実行後のスプレッドシート
これまで手作業で行っていた情報収集と分析を自動化することで、作業時間を大幅に短縮し、より本質的な「執筆」や「戦略立案」にリソースを集中できるようになります。
このシステムは記事構成の抽出だけでなく、以下のような業務にも応用可能です。
特定の競合サイトを定期的に巡回し、記事の更新状況やページ構成の変更を自動でチェックします。これにより、競合他社の戦略変化をいち早く察知し、自社の対策に活かすことができます。
特定のキーワードで上位表示されている記事の傾向を分析します。どのようなトピックや構成がGoogleに評価されているのかを定量的に把握できるため、SEO対策や市場ニーズの特定に役立ちます。
収集した上位サイトのHタグ(見出し構成)データをAI(LLM)に直接渡すことで、その構成パターンに基づいた新しい記事の構成案を自動生成させることができます。これにより、リサーチから企画立案までの工数を大幅に削減することが可能です。
スクレイピングを起点としたあらゆる業務に活用してみてください。
本記事の作成にあたり、以下の情報を参考にしました。
n8n(ワークフロー自動化)
SerpApi(検索エンジン結果取得)
Apify(ウェブスクレイピング・自動化)
用語解説
用語 | 説明 |
|---|---|
n8n | オープンソースのワークフロー自動化ツール。ノーコードで様々なサービスを連携可能 |
SerpApi | 検索エンジンの結果をAPIで取得できるサービス。Google、Bingなど複数の検索エンジンに対応 |
Apify | Webスクレイピングと自動化のためのクラウドプラットフォーム。6000以上のプリビルトスクレイパー(Actor)を提供 |
Actor | Apifyにおけるスクレイピングプログラムの単位。すぐに実行可能で、API経由でも利用可能 |
Dataset | Apifyで取得したデータの格納庫 |
Hタグ | HTMLの見出しタグ(H1〜H6)。記事の構造を表す重要なSEO要素 |
株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。
幅広い支援が可能ですので、
ぜひお気軽にご相談ください!