Skip to content

suzuryuquark/Meta-Description-Generator

Repository files navigation

AI Meta Description Generator

WebサイトのURLを指定するだけで、SEOに最適化された Meta DescriptionTitle Tag をAI(Google Gemini)が自動生成するWindowsデスクトップアプリケーションです。

Google検索結果のプレビュー(SERP Preview)機能により、実際の検索結果でどのように表示されるかをリアルタイムで確認しながら、クリック率(CTR)の高いメタデータを効率的に作成できます。

✨ 主な機能

  • 一括生成 (Bulk Generation): [NEW] 複数のURL(最大50件)を一括で入力し、まとめてメタデータを生成。CSVエクスポートと組み合わせることで大規模サイトの管理が容易になります。
  • プロンプトテンプレート管理: [NEW] 「ブログ用」「ECサイト用」など、よく使う指示文をテンプレートとして保存し、瞬時に切り替え可能。
  • AI自動生成: Google Gemini Proモデルを使用し、Webサイトのコンテンツを解析して最適なタイトルと説明文を3パターン提案します。
  • タイトルタグ生成: ディスクリプションだけでなく、SEOに重要なタイトルタグ(30文字前後)も同時に生成します。
  • SERPプレビュー: Google検索結果風のプレビューをリアルタイムで表示。文字数オーバーや見え方を直感的に確認できます。
  • ターゲットキーワード指定: SEOで狙いたいキーワードを指定することで、それらを自然に含んだ文章を生成します。
  • 修正・再生成 (Refinement): 生成された結果に対して、「もっと短く」「問いかけ調で」などの指示を出して何度でも修正可能です。
  • 手動編集: 生成されたテキストは直接編集可能。編集内容はプレビューにも即座に反映されます。
  • 設定の保存: APIキー、共通の指示、ドメイン、ターゲットキーワードなどは自動的に保存され、次回起動時に呼び出されます。
  • クリップボードコピー: ワンクリックで結果をコピーできます。
  • CSVエクスポート: 生成結果をCSV形式でまとめて保存し、Excelなどで管理できます。
  • トーン&スタイルのプリセット: 「プロフェッショナル」「親しみやすい」「キャッチー」などのトーンをボタン一つで指定可能。
  • 生成履歴: 直近の生成結果を50件まで自動保存。アプリ再起動後も確認やコピーが可能です。
  • 文字数アラート: 推奨文字数(タイトル32文字、Desc 120文字)を超えると赤字で警告します。
  • ErrorService (堅牢な挙動): [NEW] APIのクォータ制限や一時的なサーバーエラーを一元管理し、親切なダイアログで通知します。
  • メニューバー: ダークモード切替、GitHubリポジトリへのアクセス、更新履歴の確認が可能です。

🚀 インストールと実行方法

実行ファイル(.exe)を使用する場合

GitHub の Releases ページから最新の MetaDescriptionGenerator.exe をダウンロードして実行するだけで、Python環境がなくても動作します。

ソースコードから実行する場合

  1. リポジトリのクローン

    git clone https://github.com/yourusername/Meta-Description-Generator.git
    cd Meta-Description-Generator
  2. 依存ライブラリのインストール

    pip install -r requirements.txt
  3. アプリケーションの起動

    python main.py

⚙️ 使い方

  1. APIキーの設定: 初回起動時にGoogle Gemini APIキーを入力し、保存ボタンを押します。(APIキーはGoogle AI Studioで取得できます)
  2. URLの入力:
    • 通常生成: 解析したいWebサイトの「ドメイン」と「パス」を入力します。
    • 一括生成: 「一括生成」タブでURLを一行ずつ入力します。
  3. オプション設定:
    • プロンプトテンプレート: 以前保存した指示文があれば選択します。
    • サイト共通の指示: ターゲット層やトーン&マナーなど、常に適用したい指示を入力します。
    • ターゲットキーワード: 含めたいキーワードをカンマ区切りで入力します。
  4. 生成: 「生成する」ボタンをクリックします。
  5. 確認・編集(通常生成のみ): 3つの提案が表示されます。プレビューを確認しながら、必要に応じて手動修正や再生成(修正依頼)を行います。

🛠️ 技術スタック

  • 言語: Python 3.x
  • GUIフレームワーク: Flet (Flutter for Python)
  • AIモデル: Google Gemini API (gemini-2.0-flash-exp)
  • スクレイピング: BeautifulSoup4, Requests
  • パッケージング: PyInstaller

📂 プロジェクト構成

  • main.py: アプリケーションのエントリーポイント、依存性注入
  • core_logic.py: Webスクレイピング、Gemini API通信ロジック
  • services/:
    • storage_service.py: 設定・履歴・テンプレートの永続化
    • export_service.py: CSVエクスポート機能
    • error_service.py: アプリ全体の例外ハンドリング・ユーザー通知
  • ui/:
    • generate_view.py: 通常生成タブのUIとロジック
    • bulk_view.py: 一括生成タブのUIとロジック
    • history_view.py: 履歴表示・CSV管理タブのUI
    • dialogs.py: 共通ダイアログコンポーネント
  • ui_components.py: 汎用的なUIパーツ(結果カード、プレビュー等)
  • requirements.txt: 依存ライブラリ一覧

About

URLを指定するとmetaタグに指定するdescriptionをGemini APIが3パターン提案してくれます。指示を追加して再生成させることも可能です。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages