指定URLをクロールし、SEO対策に必要な項目を比較するツールをPythonで作ってみました。無料です。
SEO対策にご興味あるかたはご自由にご利用ください。
有用だと思われましたら、SNS等でご紹介いただけますと幸いです。
仕様
本ツールは、入力された自社サイトと競合サイト(最大10件)のHTML構造およびテキストデータを自動でスクレイピングし、SEOにおける主要な内部指標を定量的に比較・可視化するシステムです。日本語の形態素解析にはMeCabを利用しています。
分析時間は、URL数により異なることがありますが、60秒程度を目安としてください。
※通信環境や、利用しているPaaSの状況によりタイムアウトが生じることがあります。その場合は時間をおいて再度お試しください。
解析対象となるコンテンツ領域
本ツールはページ全体のHTMLではなく、「記事本文」のデータを評価するため、以下のフィルタリングを行ってから数値をカウントしています。
「ページ全体」の評価とは異なりますのでご認識ください。また、フィルタリングにかからない情報についても誤差が生じますので、ご了承ください。
- 優先抽出:
mainまたはarticleタグで囲まれた領域を本文として認識します。 - 除外要素:
header、footer、nav、asideなどの共通パーツやナビゲーションタグは解析対象から除外されます。 - サイドバーの除外: クラス名やID名に「sidebar」や「widget」が含まれるブロックも除外対象とし、メインコンテンツ領域を計測します。
評価指標とステータス判定の基準
グラフ上の「水色の帯」は最適値の範囲です。各指標の性質に応じ、以下のロジックで最適値とステータス(良好 / 改善が必要 / 要調査)を表示します。
① 下限を重視する項目
- 対象: 本文の文字数 / 本文のユニーク単語数 / 本文の見出し(hタグ)数 / 本文の画像数
- 判定基準: 競合サイトの平均値の「80%以上」を満たす項目を「良好」と判定します。コンテンツの網羅性や情報量を評価するため、平均値を上回る(上限を超える)分にはマイナス評価としていません。
② 固定の適正範囲を持つ項目
- 対象: タイトルの文字数
- 判定基準: 競合サイトの傾向に関わらず、検索結果画面(SERPs)での視認性における一般的な適正値として、「28文字〜35文字」の範囲に収まっている場合を「良好」、それ以外を「改善が必要」と判定します。
③ 上限・下限の適正割合を設ける項目
- 対象: Dofollow発リンク数
- 判定基準: 外部ドメインへ向けられた発リンクのうち、Dofollow属性のものを計測します。競合平均の「50%〜150%」の範囲内を「良好」、逸脱している場合は「改善が必要」と判定します。
④ 状況に応じて「要調査」とする項目
- 対象: Nofollow発リンク数 / キーワード出現数
- 判定基準: 競合平均の「50%〜150%」を基準値とします。ただし、これらの項目はサイトの性質やキーワードの特性によって適切な扱いが異なるため、基準値を外れた場合でも直ちにエラーとはせず「要調査」のステータスを出力します。
- Nofollow発リンク数: 広告やUGC(ユーザー生成コンテンツ)の量により適正値が変わるため、実態の目視確認を推奨します。
- キーワード出現数: キーワードの過度な詰め込み(スパム判定リスク)を避けるためのアラートとして機能します。

