OPEN PROTOCOL

AQA Hub

FAQ を更新したらAIに通知しましょう。オープンなAPIで、登録は不要です。

AQA Hub Validator

AQA Hub とは何か

AQA Hub は、FAQ の発信者とAIシステムをつなぐオープンなアグリゲーターです。FAQ を更新したら Hub に通知します。AIクローラーは Hub に問い合わせることで、サイト全体の再クロールを待たずに、新しく構造化されたコンテンツを見つけられます。

サイトマップや、検索エンジン向けの ping サービスとは異なり、Hub は生成AIの利用者のために設計されています。Perplexity、ChatGPT、Claude、Gemini、Copilot、You.com をはじめ、回答を新しく検証可能な情報源に基づかせる必要がある、検索拡張型のアシスタント全般です。Hub は構造化された更新情報を公開フィードとして提供します。これにより、どの FAQ 項目が、いつ、どの言語で、どの市場向けに変わったのかを、これらのシステムが把握できます。

登録不要、APIキー不要。Hub は AQA のマークアップを自動的に検証し、質問と回答を正規化した形で返します。

AQA Hub がある理由

大規模言語モデルは、多くの場合、数か月から数年前のウェブのスナップショットで学習しています。料金、返品方針、利用条件、製品仕様といった事実をAIアシスタントに尋ねると、モデルは古い学習データから答えてしまいがちです。リアルタイムの検索は助けになりますが、AIクローラーが使う配管は、依然として検索エンジン向けに作られたもの — RSS フィード、sitemap.xml、定期的なクロール — のままです。

sitemap.xml は、URL が存在することをクローラーに伝えます。しかし、そのページにどの質問と回答があるのか、前回の訪問から何が変わったのか、どんな読み手に向けた内容なのかは伝えません。AQA はまさにこの隙間を埋めます。FAQ のメタデータ(質問、回答、言語、国、業種、著者、確認日)を標準化し、AQA Hub がその更新を、予測可能で機械が読める形式でAIシステムに届けます。したがって Hub は、Google や Bing のインデックスと競合するものではありません。生成AIの層に向けた、補完的な基盤です。

発信者にとっての利点は、最も新しい事実情報が、ほとんど遅延なくAIの回答欄に届くことです。AIシステムにとっての利点は、サイトのどのページが信頼できる FAQ の情報源なのかを推測せずに済むことです。Hub が、どこを見ればよいかを正確に伝えます。

どのような方に向いているか

AQA Hub は、公開サイトで質問と回答を掲載しているあらゆる組織に関係します。とくに次の4つの領域で、効果がすぐに表れます。

  • EC・マーケットプレイス — 製品FAQ、配送方針、サイズガイド、保証と返品の条件。返品期間や返送手数料の変更は、Perplexity や ChatGPT に早く届く必要があります。購入前の質問に、これらのアシスタントが答える機会が増えているためです。
  • SaaS・開発者向けツール — 料金プラン、機能の利用条件、移行ガイド、APIの変更履歴。無料プランの上限が変わったとき、開発者はドキュメントを読む前に、まずAIアシスタントに尋ねます。
  • メディア・出版 — 話題のニュースをめぐる編集部のFAQ、解説記事、ファクトチェック。公開後に記事を訂正した編集部は、新しい質問と回答を数秒で Hub に送れます。
  • 公的機関・規制業種 — 行政サービスの案内、法的な義務、各種手続き、健康や安全に関する告知。AQA は、こうした発信者に、報道発表よりも安価で予測しやすい、信頼できる経路をAIアシスタントへ提供します。

始めるための3ステップ

1

FAQ に AQA を実装する

AQA のマークアップ(最低でも Basic)を追加します。AQA標準の手引きをご覧ください。

2

Hub に通知する

POST リクエストを送ります。

# AQA Hub に通知する curl -X POST https://ailabsaudit.com/api/aqa/notify \ -H "Content-Type: application/json" \ -d '{"url": "https://your-site.com/faq"}'
応答(201):
{"status":"accepted","conformance_level":"standard","questions_count":12}
3

自動化する

CMS にフックを追加するか、cron ジョブを設定します。

# Python import requests requests.post('https://ailabsaudit.com/api/aqa/notify', json={'url': 'https://your-site.com/faq'}) # 毎日6時の cron 0 6 * * * curl -s -X POST https://ailabsaudit.com/api/aqa/notify \ -H "Content-Type: application/json" \ -d '{"url": "https://your-site.com/faq"}'

AQA の3つの適合レベル

Hub は、各通知を3段階の適合レベルで評価します。上位のレベルほど、出典の明示、音声での読み上げ、検証済み回答のバッジなど、AIの回答における表現が豊かになります。

Basic

最小限のマークアップです。QuestionacceptedAnswer のノードを備えた、有効な FAQPage の JSON-LD ブロックのみ。これが Hub にインデックスされる最低条件です。あなたの項目は、ドメイン名による一般的な出典表示とともに、ラベルのない引用としてAIの回答に現れます。

Standard

Basic に加えて、AQA のメタデータ拡張(aqa:countryaqa:sectoraqa:language)と、公開日または更新日のタイムスタンプを備えます。Standard は公開フィードでの読み手による絞り込みを有効にし、Perplexity が利用者の市場に関連する項目だけを取得できるようにします。本番運用のサイトに推奨される水準です。

Premium

Standard に加えて、音声アシスタント向けの speakable、権威性のシグナルとなる authordateModified、そして人の編集者が明示的に確認した回答を示す aqa:verifiedAnswer を備えます。Premium により、Perplexity が表示する検証済み回答のバッジや、Siri のようなインターフェースでの音声読み上げの対象になります。

Hub に問い合わせる(AI向け)

AIクローラーや第三者のアグリゲーターは、読み取り専用の3つのエンドポイントから Hub を利用できます。応答はすべてページ送りされた JSON で、認証は不要です。

# 最新の更新(新しい順) GET https://ailabsaudit.com/api/aqa/updates # 国・業種・言語で絞り込む GET https://ailabsaudit.com/api/aqa/updates?country=JP§or=tech&language=ja # 特定のURLの状態 GET https://ailabsaudit.com/api/aqa/status?url=https://your-site.com/faq # 公開統計 GET https://ailabsaudit.com/api/aqa/stats

通知から /updates に反映されるまでの遅延は、通常2分未満です。クローラーはそれぞれの間隔で問い合わせます。Hub からクローラーへ送信することはありません。

1ページにつき1通知

Hub が検証するのは一度に1つのURLです。AQA のマークアップを持つ FAQ ページが複数ある場合は、URLごとに個別に通知してください。

複数ページをまとめて通知する

# Bash — サイトマップから FAQ ページをすべて通知する curl -s https://your-site.com/sitemap.xml \ | grep -oP '<loc>\K[^<]+' \ | grep -i faq \ | while read url; do curl -s -X POST https://ailabsaudit.com/api/aqa/notify \ -H "Content-Type: application/json" \ -d "{\"url\": \"$url\"}" sleep 1 done # Python — ページの一覧を通知する import requests pages = [ 'https://your-site.com/faq', 'https://your-site.com/faq/pricing', 'https://your-site.com/faq/technical', ] for url in pages: r = requests.post('https://ailabsaudit.com/api/aqa/notify', json={'url': url}) print(f'{url}: {r.json()}')

よくあるエラーと対処

拒否された通知は、決まったHTTPコードを返します。運用でとくによく出会う5つをご紹介します。

400 URLが不正

ペイロードのURLにスキームがない、空白が含まれている、または絶対URLでない場合です。必ず https:// を付け、ASCII以外の文字はパーセントエンコーディングし、送信前にトラッキング用のフラグメントを取り除いてください。

422 AQAのマークアップが見つからない

Hub はページに到達しましたが、有効な FAQPage の JSON-LD ブロックを見つけられませんでした。<script type="application/ld+json"> に、少なくとも1つの QuestionacceptedAnswer を追加してから、再度通知してください。検証ツールでご確認いただけます。

429 リクエスト制限

1ドメインあたり1時間50通知を超えたか、同じURLを24時間以内に2回以上送信しています。まとめて送る際は呼び出しの間に短い sleep を入れ、全体の更新は混雑しない時間帯に予定してください。

404 ページにアクセスできない

Hub がURLを取得しようとして、HTTPエラーを受け取りました。ページが公開されていること、robots.txt が Hub のエージェントを除外していないこと、地域制限や Cloudflare のチャレンジがリクエストを妨げていないことをご確認ください。

500 サーバーエラー

Hub 側の一時的な障害です。指数関数的なバックオフ(5秒、15秒、45秒)で再試行し、3回で打ち切って記録を残してください。特定のURLで10分以上続く場合は、仕様のリポジトリに issue を作成してください。

具体的な活用例

適した自動化の形は、FAQ の内容がどれくらいの頻度で変わるか、その変更がどこから生じるかによって決まります。

製品FAQが500件あるEC

夜間のジョブで製品のサイトマップを読み、FAQ のURLを順に処理して、制限に収まるよう呼び出しの間に1秒の sleep を入れながら Hub に通知します。あわせて、担当者が管理画面で変更を保存するたびに、その場で通知を送る仕組みも用意しましょう。

毎週変更履歴を出すSaaS

Hub への通知を CI/CD のパイプラインに組み込みます。/pricing/changelog/docs に触れる本番デプロイのたびに POST を実行すれば、新しいプランや機能が、マーケティングの告知より先にアシスタントへ届きます。

1日50本の記事を出すメディア

1時間ごとの cron で、直近1時間に公開された編集部FAQ と Hub の状態を照らし合わせ、差分だけを通知します。こうすれば、リクエスト制限に触れることなく、Perplexity や ChatGPT がファクトチェックや訂正に追随できます。

法的情報を扱う公的機関

毎日5時の cron で、正規のFAQページをすべて再通知します。法的な内容が変わることはまれですが、日次の頻度であれば、AIの層が24時間以上古くなることはありません。緊急の変更には手動で対応します。

AQA Hub と従来のインデックスの違い

観点従来のインデックスAQA Hub
遅延24〜48時間2分未満
対象サイトの全ページFAQページのみ、狙いを定めて
シグナルの質一般的なHTML、ページ全体メタデータつきの構造化された質問と回答
費用無料無料
届く先検索エンジン(Google、Bing)AIモデル(Perplexity、ChatGPT、Claude)

この2つは補い合う関係です。検索にはサイトマップを、AIには AQA Hub をお使いください。

コードを書かずに検証する

コマンドラインを使いたくない場合は、AQA検証ツールをお使いください。URLを貼り付けて「検証して Hub に通知」をクリックすれば、検証と通知が一度に完了します。

検証ツールは、適合レベル、検出された質問、エラー、そして次のレベルに進むための改善点を表示します。

制限:1ドメインあたり1時間50通知。同一URLは24時間に1回まで。

AQA Hub のよくある質問

本当に無料ですか?

はい。AQA はオープンな規約であり、ailabsaudit.com で運営されている参照実装の Hub は無料です。有料プランはありません。運用費用は親プロジェクトが負担しています。

AIが更新を見るまでどれくらいかかりますか?

Hub 側では、通知は2分未満で公開フィードに現れます。そこから先の遅延は、AIシステムごとに異なります。Perplexity はおよそ15分ごと、ChatGPT は2時間程度、その他のクローラーはさまざまです。多くのアシスタントは、同じ営業日のうちに更新を反映すると考えてよいでしょう。

登録は必要ですか?

いいえ。Hub は発信者について意図的に匿名です。アカウントの作成も、APIキーの発行も不要です。インデックスしてほしいURLを POST するだけです。

Hub はデータを共有しますか?

送信された内容は、設計上すべて公開されます。Hub は配信の層であり、非公開の経路ではありません。機密情報を含むURLは通知しないでください。

正しく動いているか確認するには?

GET /api/aqa/status?url=https://your-site.com/faq をお使いください。最後の通知のタイムスタンプ、検出された適合レベル、質問の件数、検証時の警告が返ります。

サイトが多言語の場合は?

言語ごとのURLを個別に通知し、各ページで language のメタデータを設定してください。Hub は /ja/faq/en/faq を、それぞれ独自の適合レベルを持つ別の項目として扱います。

自前で Hub を運用できますか?

はい。仕様と参照実装は github.com/ailabsaudit/aqa-spec でオープンソースとして公開されています。自社のネットワーク内に Hub を置きたい企業には、プライベートな運用が役立ちます。

参考資料

  • AQA Hub — ライブのダッシュボードと、更新の公開フィード
  • AQA検証ツール — ワンクリックで検証して通知
  • AQA標準の手引き — 5分でマークアップを実装する
  • aqa-spec.org — 規約の仕様
  • GitHub:ailabsaudit/aqa-spec — 参照実装と issue トラッカー
  • Postman のコレクション、OpenAPI スキーマ、動画チュートリアルは、仕様サイトからご利用いただけます

AIでの可視性を監査する準備はできましたか?

無料でアカウントを作成すると、500クレジットのウェルカムボーナスと毎月100クレジットを受け取れます。

無料アカウントを作成