SEOクローラーといえば、Screaming Frog SEO Spider Website Crawlerですが、年間3.7万円(199ユーロ)を超えます。
代替を探してみるとタイミングの良いことに、2026年から新しいSEOクローラーツールが試運転されていたので使ってみました。

主な機能
- クロール可能な件数は設定と実行環境の容量に依存
- JavaScript描画に対応(React、Vue、Angularサイトも分析可能)
- SEO要素の抽出(タイトル、メタディスクリプション、見出し等)
- 内部・外部リンクの分析
- PageSpeed Insights連携
- CSV、JSON、XMLでのエクスポート
- SEO問題の自動検出
その導入方法です。
余談
E-E-A-Tに関連する要素を機械的に検出する分析例があります。著者名や外部リンクの検出数は、経験・専門性・権威性・信頼性そのものの評価とは分けて読みます。
自社サイトで分析したところ以下の結果に
| 項目 | 結果 | 評価 |
|---|---|---|
| Schema Markup | 471ページ(100%) | 当時の検出結果。内容の正確性やリッチリザルト適格性は別途確認 |
| External Links | 471/472(100%) | 外部リンクを検出。リンク先が適切かは別途確認 |
| Open Graph Tags | 471/472(100%) | OGPタグを検出。実際のシェア表示は各SNSで確認 |
| HTTPS | 472/472(100%) | 全ページSSL化済み |
| External Citations | 6,192件(平均13.1/ページ) | 外部リンクの件数であり、参照先の正確性や根拠の品質は別途確認 |
| Author Attribution | 0/472(0%) | クローラーが著者情報を検出できなかった結果であり、実際の掲載有無を確認する |
| Sufficient Content | 253/472(54%) | 当時の機械判定。必要な答えの欠落と、取得できない本文を区別 ※有料記事で読み取れないコンテンツがある |
| 4xx Client Error | 12件 | 401・403・404などの内訳と認証/アクセス制限を確認。4xx件数だけでリンク切れと断定しない |
| Issues | 771件 | ツールの判定ルールによる検出件数。重要度と実際の影響は個別に確認 |
LibreCrawlとは

LibreCrawlは、Webサイトのクロール・SEO分析ができるオープンソースの無料ツールです。
Screaming Frog(年間$259)やDeepCrawl、Sitebulbといった有料ツールの代替として使えます。
主な機能
- クロール可能な件数は設定と実行環境の容量に依存
- JavaScript描画に対応(React、Vue、Angularサイトも分析可能)
- SEO要素の抽出(タイトル、メタディスクリプション、見出し等)
- 内部・外部リンクの分析
- PageSpeed Insights連携
- CSV、JSON、XMLでのエクスポート
- SEO問題の自動検出
公式サイト: https://librecrawl.com
GitHub: https://github.com/PhialsBasement/LibreCrawl
インストール方法
方法1: 自動インストール
ターミナルまたはコマンドプロンプトを叩いて、ツールを導入しましょう。
Windows
git clone https://github.com/PhialsBasement/LibreCrawl.git
cd LibreCrawl
start-librecrawl.batMac / Linux
git clone https://github.com/PhialsBasement/LibreCrawl.git
cd LibreCrawl
chmod +x start-librecrawl.sh
./start-librecrawl.shスクリプトがDockerまたはPython環境を自動検出し、必要な依存関係をインストールしてくれます。
方法2: Docker(安定動作)
Docker Desktopがインストール済みの場合はこちらがおすすめです。
Windows / Mac / Linux 共通
git clone https://github.com/PhialsBasement/LibreCrawl.git
cd LibreCrawl
cp .env.example .env
docker compose up -dWindowsの場合はcpの代わりにcopyを使用:
copy .env.example .env方法3: Python手動インストール
自動インストールがうまくいかない場合の手順です。
前提条件
- Python 3.8以上
- Git
Windows
git clone https://github.com/PhialsBasement/LibreCrawl.git
cd LibreCrawl
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m pip install playwright
.\.venv\Scripts\python.exe -m playwright install chromium
.\.venv\Scripts\python.exe main.py --localMac / Linux
git clone https://github.com/PhialsBasement/LibreCrawl.git
cd LibreCrawl
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
./.venv/bin/python -m pip install playwright
./.venv/bin/python -m playwright install chromium
./.venv/bin/python main.py --local起動モードについて
LibreCrawlには2つの起動モードがあります。
| モード | コマンド | 用途 |
|---|---|---|
| ローカルモード | python main.py --local | 個人利用向け。認証なし、制限なし |
| 標準モード | python main.py | 複数ユーザー向け。認証・制限あり |
個人利用なら --local オプション付きで起動するのがおすすめです。
アクセス方法
起動後、ブラウザで以下のURLにアクセス:
http://localhost:5000トラブルシューティング
Windowsで「pip」が見つからない場合
まずPythonが起動するかを確認し、仮想環境内でpython -m pip –versionを実行します。pipという短いコマンドが見つからないだけでは、pipが壊れているとは判断できません。
Python公式配布版でpipが無い場合は、対象の仮想環境で次のコマンドを実行します。ensurepip自体が無い配布版では、そのPythonの導入手順を確認してください。
.\.venv\Scripts\python.exe -m pip --version
.\.venv\Scripts\python.exe -m ensurepip --upgradeWindowsで権限エラー(WinError 5)が出る場合
システムのPythonフォルダに書き込み権限がない場合に発生します。
仮想環境のPythonを使っているかを確認し、その環境へ依存パッケージを入れます。管理者権限でシステム全体へインストールする前に、パスと対象フォルダの権限を確認してください。
.\.venv\Scripts\python.exe -m pip install -r requirements.txtplaywrightコマンドが見つからない場合
Pythonモジュールとして実行してください。
python -m playwright install chromiumMacでpermission deniedが出る場合
chmod +x start-librecrawl.shchmodは起動スクリプトの実行権限を設定するものです。Pythonパッケージのインストール先は仮想環境に分けます。
./.venv/bin/python -m pip install -r requirements.txt設定のカスタマイズ
LibreCrawlの画面で「Settings」をクリックすると、以下の設定が可能です。
- Crawler settings: クロール深度(最大500万URL)、遅延時間、外部リンク追跡
- Request settings: User Agent、タイムアウト、プロキシ、robots.txt対応
- JavaScript rendering: ブラウザエンジン、待機時間、ビューポートサイズ
- Filters: 対象ファイルタイプ、URL除外パターン
- Export options: エクスポート形式と項目
- Custom CSS: UIのカスタマイズ
PageSpeed Insights連携ではGoogleへのAPIリクエストが発生します。利用枠は導入先のプロジェクトで確認し、APIキーを入れれば常に1日25,000回使えるとは扱いません。通常のHTMLクロールと連携機能を分けて検証してください。
プラグインで機能拡張
/web/static/plugins/ フォルダにJavaScriptファイルを配置することで、独自の分析タブを追加できます。
LibreCrawlPlugin.register({
id: 'my-plugin',
name: 'My Plugin',
tab: {
label: 'My Tab',
icon: '?',
},
onTabActivate(container, data) {
container.innerHTML = `
<div class="plugin-content" style="padding: 20px;">
<h2>カスタム分析</h2>
<p>${data.urls.length} URLを検出</p>
</div>
`;
},
});
最初のクロールで照合する項目
| 取得結果 | ブラウザーやWordPressで比べるもの | 次の判断 |
|---|---|---|
| 401・403・404 | 最終URL、ログアウト状態、アクセス制限 | 認証・制限と存在しないURLを分ける。制限を回避して再取得しない |
| 著者が0件 | 公開本文の著者欄と構造化データ | 未検出と未掲載を分ける |
| 文字数不足 | 公開範囲と読者の疑問への回答 | 有料本文や取得失敗を内容不足と断定しない |
| 外部リンクや構造化データが多い | 参照先の根拠とJSON-LDの内容 | 件数だけで品質や検索表示の適格性を判断しない |
本稿の472ページなどの数値は執筆時の記録です。今回のWAZAの掲載数や検索登録数ではありません。対象のホームURLとクロール範囲を決めてから実行し、SEO診断9項目の確認方法に沿って修正対象を絞ります。
取得を停止できること、設定した対象以外へ広がっていないこと、少数の結果をCSVなどへ出力できることを確認してから件数を増やします。
まとめ
LibreCrawlはローカルで動かせるオープンソースのクローラーです。必要な抽出項目・JavaScript描画・停止と出力を小さな対象で確かめ、他のツールから置き換えられるか判断します。
- 用途によってはScreaming Frogの代わりになる
- JavaScript描画サイトにも対応
- プラグインで機能拡張可能
- 処理画面はローカルでも、クロール先・外部リンク先・連携APIへの通信は発生する
まず管理できる少数のURLで、取得結果とブラウザー表示が一致するかを確認します。実際の導入・クロールをこの更新で実施したとは扱いません。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。
ローカル実行の設定を確認する
現行READMEでは自動起動は認証なしのローカルモードです。
自分のPCだけで使う場合は、.envでLOCAL_MODE=trueとHOST_BINDING=127.0.0.1を確認し、認証なしのまま外部公開しないでください。
LOCAL_MODE=true
HOST_BINDING=127.0.0.1公式READMEと取得したバージョンの起動手順を確認し、自動スクリプトの内容を読む前に実行しないでください。
最初は管理権限のある小規模サイトで件数と並列数を抑え、停止、CSV出力、robots.txtの扱いを確かめてから対象を広げます。
この更新ではREADMEとコマンドを照合し、LibreCrawl本体の起動と大規模クロールは実行していません。



