本ページは、地域イベントプラットフォーム『明日は晴れるかな』の技術仕様をまとめたドキュメントです。WordPress(SWELL子テーマ)を基盤に、AIレビュー、施設自動取得、地域リンク集パイプライン、Wikiモジュールなどの主要機能と内部構造を体系的に解説します。本ページは バイブコーディング実践例 と対になる技術詳細ページです。
1. システム全体構成
『明日は晴れるかな』は、WordPressを中核とし、AI処理モジュール、施設自動取得、Wiki、地域リンク集AIパイプラインなど多数のカスタムモジュールが連携して動作するプラットフォームです。

上図はシステム全体像を示し、左に AI実装 × 人間検証(バイブコーディング)、中央にWordPress本体、右にAIパイプライン・施設自動取得・Wikiなどの主要モジュールを配置しています。
2. カスタム投稿タイプと地域タクソノミー
本システムは複数のカスタム投稿タイプ(CPT)を中心として構成されています。
- event(イベント)
- shop(店舗・施設)
- wiki(地域Wiki)
- sandbox(テスト投稿)
地域分類は「地方 → 県 → 地方圏 → 市町村」の4階層で構成され、イベント・施設・Wiki・AIパイプラインの基盤データとして機能します。
3. 施設自動取得(Google Places API)
イベント投稿時に入力された「会場名」をもとに Google Places API を呼び出し、以下の情報を自動取得します。
- 住所(Google応答データ内の日本語表記を優先)
- 地図URL
- 電話番号(国際形式)
- 公式サイトURL
- place_id
※補足:住所の日本語変換(facility-utils.php)は現在未使用です。Google API応答内に日本語住所が含まれるため、それを優先利用しています。
4. 地域Wikiモジュール(wiki/)
Wikiは、イベント・施設の補完情報を蓄積し“地域辞書”として機能します。「アクセスキー × セッション」による認証により、一般ユーザーでも安全に編集できます。
- 画像修復ツール
- 不要画像削除
- 元イベントとの親子紐付け
- 施設ページとの相互参照
5. AIパイプライン(地域リンク集自動収集)
地域ページ(/region/xxx/links/)を自動構築するために、AIと Google Search API を組み合わせたパイプラインを実装しています。
- Step0:カテゴリ別検索クエリ生成
- Step1:Google Search API によるURL収集
- Step2:重複排除・県境誤抽出フィルタ・正規化
- Step3:AIによる要約と属性付与
- Step4:JSON化し地域ページへ反映
全国自治体への拡張が可能な柔軟な構造となっています。
6. AIレビュー(AI Review Pipeline)
event / shop 投稿はバックグラウンドで AI によるレビューが行われ、結果はメタ情報として保存されます。施設データとの整合性や分類判断に活用されます。
■ レビュー目的
- 入力漏れの検出
- 施設データとの矛盾チェック
- 地域分類の推奨
- 危険性・NGワード判定
- SEO向け要約の生成
レビュー結果の例:
- 住所欄が空欄 → 施設データから補完候補を提示
- 開始日 > 終了日 → 入力誤りとして警告
- タイトルに地名なし → 地域分類の候補(例:会津若松市)を提案
補足:通常フォーム入力の文章からの「自動補完」は未実装ですが、フライヤー画像投稿(AI OCR)でタイトル・日付・会場名などを抽出し、自動補完する機能を今後統合予定です。
■ 保存されるAIメタ情報
- _ai_review_status
- _ai_review_score_step2
- _ai_review_summary
- _ai_risk_flags
- _ai_region_detect
- _ai_facility_match
7. セキュリティ・認証設計
event / shop / wiki / sandbox の全投稿タイプで共通の「アクセスキー × セッション」方式を採用しています。
- 22桁アクセスキー(_access_key22)
- メール認証(wiki_owner_email)
- セッション編集権限
- Passcode Gate(passcode-gate.php)
8. loader.php v2.0(モジュールロード順の統括)
WordPressでは「読み込み順序」が非常に重要です。誤った順序で読み込むと、関数未定義・セッション破壊・ファイルパス誤認識などの重大エラーが発生します。
loader.php v2.0 は以下の順序を保証し、依存関係の事故を防ぎます。
- Ajax → Upload → Form → Handler → Mail → Taxonomy → Wiki
- セッション保護処理を冒頭で実行
- 全モジュールへ作成日・更新日・バージョンを付記
AIとの協働開発プロセスや背景については、バイブコーディング実践例で解説しています。技術仕様とあわせて読むことで、プロジェクト全体の理解が深まります。
Google Places API や AI レビュー処理の運用コストと負荷対策は、 コスト・運用Tips に詳しくまとめています。
開発者プロフィール
Rさん(障がい者施設 支援員/地域情報サイト運営/元エンジニア)
福島県会津で福祉現場に従事しながら、余暇時間を使ってChatGPTとの共同開発を推進。
「人は検証と指示、AIはコーディング」という役割分担を確立し、短期間で多機能な地域プラットフォームを構築。
本ページの内容は、2025年9月〜11月にかけてRさんとChatGPTが実際に構築した「明日は晴れるかな」プロジェクトの開発記録に基づいています。