自サイトのURLを入力するだけで、メタ情報からキーワードを自動抽出し、競合サイトを発見するデスクトップアプリを作りました。SEO対策や市場調査に活用できるツールだと思います。
概要
競合サイト分析ツール v1.0
※ ツールのメイン画面
主な機能:
- サイト自動分析
- キーワード自動抽出(使用頻度順)
- 検索エンジンによる競合サイト発見
- 結果をCSV出力(Excel対応)
技術スタック
| 技術 | 用途 |
|---|---|
| Electron | クロスプラットフォーム対応 |
| Playwright | ブラウザ自動化 |
| JavaScript/HTML/CSS | UI実装 |
ワークフロー
ステップ1:サイト分析
自サイトのURLを入力すると、以下の情報を自動的に取得・分析します。
- サイト名(titleタグ)
- メタディスクリプション
- メタキーワード
これらの情報とサイトの特徴を表すキーワードを使用頻度順に抽出します。
// メタ情報取得の実装例
const title = document.querySelector('title').textContent;
const metaDescription = document.querySelector('meta[name="description"]').getAttribute('content');
const metaKeywords = document.querySelector('meta[name="keywords"]').getAttribute('content');
ステップ2:キーワード選択
抽出されたキーワードは以下の方法でカスタマイズできます。
- クリックで選択/解除 – トグル式の直感的なUI
- 手動入力 – 独自のキーワードを追加可能
ステップ3:競合サイト検索
選択したキーワードをもとに、検索エンジンで自動的に競合サイトを検索します。検索結果は以下の情報とともに一覧表示されます。
- サイトURL
- ページタイトル
- 説明文(スニペット)
※ 競合サイト一覧(URL、タイトル、説明文)
ステップ4:結果の出力
検索結果はワンクリックでCSV形式に出力できます。Excel等の表計算ソフトで開いて、さらなる分析が可能です。
技術的な実装ポイント
キーワード抽出ロジック
単純な文字列処理ではなく、以下の工夫を実装しています。
- ストップワード除外 – 一般的な助詞や接続詞を除去
- 使用頻度分析 – 2回以上出現したキーワードのみ抽出
- n-gram処理 – 2〜8文字の日本語キーワードを効率的に抽出
- 優先度ソート – 出現回数の多い順に表示
// キーワードの頻度カウント
const freq = {};
words.forEach(word => {
freq[word] = (freq[word] || 0) + 1;
});
// 頻度2回以上のものを抽出
const keywords = Object.entries(freq)
.filter(([word, count]) => count >= 2)
.sort((a, b) => b[1] - a[1]);
URL正規化と重複削除
検索結果から重複を効率的に削除するため、URLの正規化処理を実装しています。
const normalizeUrl = (url) => {
let normalized = url.trim().toLowerCase();
normalized = normalized.replace(/\/$/, ''); // 末尾スラッシュ削除
normalized = normalized.replace(/^http:/, 'https:'); // プロトコル統一
return normalized;
};
地域設定の最適化
日本市場向けに最適化された検索結果を取得するため、以下の設定を実装しています。
// ブラウザコンテキストの設定
const context = await browser.newContext({
locale: 'ja-JP',
timezoneId: 'Asia/Tokyo',
geolocation: { longitude: 139.6917, latitude: 35.6895 }
});
活用シーン
SEO対策
- 自サイトと同じキーワードで上位表示されているサイトを発見
- 競合のタイトルや説明文を参考にコンテンツを改善
市場調査
- 新規事業立ち上げ時の競合リサーチ
- 業界トレンドの把握
コンテンツマーケティング
- 類似コンテンツを提供している競合の発見
- 差別化ポイントの洗い出し
まとめ
これまでは、検索ワードを一つ一つ検索エンジンに入力して、ページを開いて、内容を確認して、メモして…という作業の繰り返しでした。それが今ではURL入力するだけ。数分後には分析結果が整理されて出てきます。浮いた時間で、次にどう動くか考えたり、実際に手を動かしたりできるようになりました。ただ早くなっただけじゃなくて、本当に大事なことに時間を使えるようになったのが大きいですね。
競合分析、手動でやっていませんか?
従来の競合サイト調査は、多くの時間と労力を必要としていました。
手動調査の課題
- 検索エンジンで1件ずつ調べる手間
- キーワードの選定に悩む
- URLやタイトルをコピペする作業
- 結果をスプレッドシートにまとめる時間
- 定期的な調査の手間
→ 1回の調査に30分〜1時間かかることも…
このツールなら、わずか数分で完了
| 作業内容 | 手動 | 本ツール |
|---|---|---|
| キーワード選定 | 5〜10分 | 自動(数秒) |
| 検索・収集 | 20〜40分 | 自動(10秒) |
| 整形・出力 | 5〜10分 | ワンクリック |
| 合計時間 | 30分〜1時間 | 約3分 |
作業時間を90%削減
浮いた時間で、より重要な戦略立案やコンテンツ制作に集中できます。
あなたの業務も、自動化できます
今回ご紹介した競合サイト分析ツールは、「手動で時間がかかる作業」を自動化した一例です。
このような業務効率化アプリケーションの開発を承っております。
自動化できる業務の例
- データ収集・スクレイピング – Webサイトから情報を自動収集
- レポート自動生成 – 複数のデータソースを統合してレポート作成
- ファイル処理の自動化 – Excel、PDF、画像ファイルの一括処理
- API連携ツール – 複数のサービスをつないで業務フロー構築
- 監視・通知システム – 特定の条件を満たしたら自動通知
- 社内専用ツール – 業務に特化したカスタムアプリケーション
こんなお悩みはありませんか?
- 毎日同じ作業を繰り返している
- 複数のシステムを手動で連携させている
- Excelマクロでは限界を感じている
- 既存のツールでは要件を満たせない
- 社内の業務フローを効率化したい
→ アプリケーション開発で、これらの課題を解決できます。
開発実績の技術スタック
| 分野 | 技術 |
|---|---|
| デスクトップアプリ | Electron, Python (Tkinter, PyQt) |
| Webアプリ | React, Vue.js, Node.js, Django |
| 自動化・スクレイピング | Playwright, Puppeteer, Selenium |
| データ処理 | Python (pandas, openpyxl), Node.js |
| API連携 | REST API, GraphQL, Webhook |
開発の流れ
1. ヒアリング
課題と要件を詳しくお伺いします
2. 提案・見積
最適なソリューションをご提案
3. 開発
要件に基づいて開発を進めます
4. 納品・サポート
納品後のサポートも対応
小規模な自動化から、本格的なシステム開発まで対応
予算や規模に応じて柔軟に対応いたします。まずはお気軽にご相談ください。
