Aivec AI Search Schema
AI-focused structured data (JSON-LD) for LocalBusiness, breadcrumbs, FAQ extraction, and llms.txt. Overview / 概要 WordPress plugin for generating structured data optimized for AI-powered search engines, including Local SEO, breadcrumbs, and FAQ extraction. Optimizes your site for AI-powered answer engines (sometimes called AEO: Answer Engine Optimization). Configure everything in Settings → AI Search Schema and the plugin will emit JSON-LD tailored to your organization or storefront. AI検索最適化・ローカルSEO対応のWordPressプラグインです。設定 → AI Search Schema で会社情報・LocalBusiness 情報・SNS・ジオコーディングなどを入力すると、検索エンジン向けの JSON-LD を一括生成できます。 Why Structured Data Matters Now / 今、構造化データが重要な理由 The Age of Answer Engines / 回答エンジンの時代 Search is evolving from “10 blue links” to AI-powered answer engines (Google SGE, Bing Copilot, ChatGPT with browsing). These systems don’t just index pages—they understand them. Structured data (JSON-LD) is the language that helps AI comprehend your content. 検索は「10本の青いリンク」から、AIによる回答エンジン(Google SGE、Bing Copilot、ChatGPTのブラウジング機能)へと進化しています。これらのシステムはページを単にインデックスするだけでなく、「理解」します。構造化データ(JSON-LD)は、AIがあなたのコンテンツを正しく理解するための言語です。 Why AI Search Optimization Matters / AI検索最適化が重要な理由 AI citations: When AI assistants answer questions, they cite sources. Proper schema increases the chance of being cited. AI引用: AIアシスタントが質問に回答する際、出典を引用します。適切なスキーマは引用される可能性を高めます。 Rich results: Google displays enhanced search results (stars, prices, FAQs, breadcrumbs) for sites with valid schema. リッチリザルト: Googleは有効なスキーマを持つサイトに対し、拡張検索結果(星評価、価格、FAQ、パンくず)を表示します。 Local SEO/MEO: LocalBusiness schema directly powers Google Maps and local pack rankings. ローカルSEO/MEO: LocalBusinessスキーマはGoogleマップとローカルパックの順位に直接影響します。 Voice search: Structured data helps voice assistants provide accurate answers from your site. 音声検索: 構造化データは音声アシスタントがあなたのサイトから正確な回答を提供することを助けます。 Features / 機能 Organization / LocalBusiness JSON-LD – address, geo, price range, payment methods, reservations, storefront imagery, areaServed, branchOf などを 1 つの @graph に統合 Organization / LocalBusiness スキーマ:住所・緯度経度・価格帯・支払方法・予約可否・店舗画像・商圏情報を1つのJSON-LDに集約 Article / FAQ / QAPage / Product – per-post metabox lets editors switch schema types, auto injects FAQPage mainEntity, and WooCommerce products map to Product schema with offers/brand/rating/images 投稿メタボックス切替 / WooCommerce連携:Article / FAQPage / QAPage / Product を選択可能。WooCommerce商品はブランド・価格・在庫・ギャラリー画像付き Product スキーマに自動変換 BreadcrumbList & ItemList – structured breadcrumbs plus archive ItemList, with optional frontend breadcrumbs template Structured Breadcrumbs:パンくず / アーカイブ ItemList を JSON-LD で出力し、テンプレートでも表示可能 SearchAction & Site metadata – WebSite includes SearchAction, supported languages, and SearchAction URLs SearchAction 対応:サイト内検索を SearchAction で明示し、対応言語タグを JSON-LD に反映 Automatic geocoding – Google Maps Geocoding API + OpenStreetMap fallback, rate limiting and caching ジオコーディング:Google Maps Geocoding API+OSMフォールバック、レート制御・キャッシュ機能付き Self-diagnostics – Validator checks required Google Rich Results properties (WebSite/Organization/LocalBusiness/Article/Product) and shows admin notices when fields are missing 自己診断:Google推奨プロパティを自動検証し、不足項目を管理画面で警告 Multilingual admin – 全 UI と翻訳リソースを英語ベースで整備し、日本語翻訳を同梱 多言語UI:英語ベースの翻訳ファイル&日本語翻訳を標準同梱 llms.txt Generation – Auto-generate llms.txt to help AI systems understand your site structure. Editable in the settings. llms.txt生成:AI検索エンジンがサイト構造を理解しやすいllms.txtを自動生成。設定画面で編集可能 Geocoding / ジオコーディング Obtain a Google Maps Geocoding API key (limit it to “Geocoding API” only) and add referrer/IP restrictions plus daily quotas. Google Geocoding APIキー を取得し、API制限(Geocoding のみ)、HTTPリファラー/IP制限、クォータ設定を行ってください。 Google Cloud Console で新規プロジェクトを作成し、Geocoding API を有効化(他 API は不要) 「認証情報」から API キーを発行し、HTTP リファラーまたは IP 制限を設定 1 日あたりのクォータ上限を設定して不正利用を防止 Enter the key in Settings → AI Search Schema. The key is saved only in WordPress options and never rendered in HTML/JS. キーは WordPress のオプションにのみ保存され、HTML/JS には出力されません。 Click Fetch coordinates to geocode the current address. Requests are rate-limited (10 seconds) and cached. Re-fetching is required only when address fields change. 住所から緯度・経度を取得 ボタンで geocode が発火します。10 秒のレート制御とキャッシュを実装しているため、住所を変更したタイミングのみ再取得してください。 When the key is empty the plugin falls back to OpenStreetMap (Nominatim) for development use. Production sites should keep a Google API key configured. キー未設定時は開発用フォールバックとして OpenStreetMap (Nominatim) を使用します。本番では Google API キーの設定を推奨します。 Security / セキュリティ This plugin follows WordPress security best practices: 本プラグインはWordPressのセキュリティベストプラクティスに従っています: All settings require administrator privileges / 全設定に管理者権限が必要 User inputs are sanitized and validated / ユーザー入力はサニタイズ・検証済み API keys are stored securely (never exposed in HTML) / APIキーは安全に保存(HTMLに露出しない) Installation / セットアップ Upload the plugin folder to wp-content/plugins/aivec-ai-search-schema プラグイン一式を wp-content/plugins/aivec-ai-search-schema に配置 Activate from WordPress admin 管理画面で有効化 Open Settings → AI Search Schema and complete the forms 設定 → AI Search Schema で各項目(ブランド情報/店舗情報/SNS/APIキー 等)を入力して保存 FAQ / よくある質問 See See the FAQ on GitHub: for frequently asked questions about: よくある質問については See the FAQ on GitHub: をご覧ください: Schema conflicts with other plugins / 他プラグインとのスキーマ衝突 LocalBusiness schema setup / LocalBusinessスキーマの設定 Troubleshooting common issues / よくある問題のトラブルシューティング License / ライセンス GPLv2 or later Support Policy Free version support: Bug reports only. What We Support Bug reports with clear reproduction steps Issues causing PHP errors or broken schema output What We Do NOT Support Usage questions (“How do I…?”) SEO/AEO strategy consulting Feature requests Customization requests Response Policy Best effort – no guaranteed response time Issues without reproduction steps will be closed Bug reports: GitHub Issues only We do not provide support via WordPress.org forums. WP.orgフォーラムでのサポートは行っておりません。 Required Information for Bug Reports WordPress version, PHP version, plugin version Theme name and active plugins (especially SEO plugins) Steps to reproduce (mandatory) Expected vs actual behavior Error logs (if available) External Services This plugin can connect to external services only when you use specific features. Google Maps Geocoding API (optional) Used to convert the address you enter into latitude/longitude when you click “Fetch coordinates”. API endpoint: https://maps.googleapis.com/maps/api/geocode/json Data sent: the address fields you entered, your site locale, and your site URL in the User-Agent header. Service provided by Google. Terms: https://cloud.google.com/maps-platform/terms | Privacy: https://policies.google.com/privacy OpenStreetMap Nominatim (optional fallback) Used only when no Google Maps API key is configured and you click “Fetch coordinates”. API endpoint: https://nominatim.openstreetmap.org/search Data sent: the address fields you entered, the admin email (if available), and your site URL in the User-Agent header. Service provided by OpenStreetMap (Nominatim). Usage policy: https://operations.osmfoundation.org/policies/nominatim/ | Privacy: https://osmfoundation.org/wiki/Privacy_Policy ZipCloud (optional, Japan only) Used to auto-fill address fields from a Japanese postal code when you enter a 7-digit zip code in the admin settings. API endpoint: https://zipcloud.ibsnet.co.jp/api/search Data sent: the postal code you entered (e.g., “1000001”). Timing: only when you type a valid 7-digit Japanese postal code in the settings page. Service provided by ZipCloud. Terms: https://zipcloud.ibsnet.co.jp/rule/api | Privacy: https://ibsnet.co.jp/privacy-policy/
Top keywords
- api22×2.46%
- google20×2.23%
- ai17×1.90%
- schema13×1.45%
- search12×1.34%
- geocoding10×1.12%
- https9×1.01%
- json-ld9×1.01%
- localbusiness9×1.01%
- only9×1.01%
- wordpress9×1.01%
- data8×0.89%
Init Live Search – AI-Powered, Related Posts, Slash Commands
Deliver an ultra-responsive search experience to your visitors — no page reloads, no jQuery, no lag. Init Live Search is a modern, lightweight, and fully accessible live search solution for WordPress — now with native Block Editor (Gutenberg) blocks and Abilities API support (WordPress 6.9+), an optional MySQL FULLTEXT search index, optional Meilisearch integration, tag-aware matching, SEO metadata support, ACF integration, WooCommerce product filters, and customizable UI presets. It replaces the default with a clean, intuitive search modal powered entirely by the WordPress REST API. Everything loads in real-time — with zero disruption to browsing flow. Perfect for content-heavy blogs, WooCommerce stores, or even headless sites. Every interaction is fast, fluid, and designed to work across devices. Want typo-tolerant, sub-50ms relevance ranking on top of that? Connect your own self-hosted or cloud Meilisearch instance in a few clicks — Init Live Search will automatically prefer it for search, and just as automatically fall back to the built-in database search if it’s ever unreachable. Your visitors never see a broken search box. Prefer working entirely in the Block Editor? Three dynamic blocks — Live Search Box, Related Posts, and AI Related Posts — live under their own Init Live Search category in the block inserter, each with a live server-side preview as you configure it, and each sharing the exact same rendering code as its shortcode counterpart. For AI agents and automated tools, two read-only abilities (search and related posts) are also exposed through the standard WordPress Abilities API on WordPress 6.9+. It also brings AI-powered related posts and an advanced keyword generator — giving your visitors smarter ways to discover content. This plugin is part of the Init Plugin Suite — a collection of minimalist, fast, and developer-focused tools for WordPress. GitHub repository: https://github.com/brokensmile2103/init-live-search What’s New in Version 2.0.0 Abilities API support (WordPress 6.9+): search and related-posts exposed as two read-only, discoverable abilities (init-live-search/search-posts, init-live-search/get-related-posts) — optional and fully backward-compatible on older WordPress versions Block Editor (Gutenberg) support: three new blocks — Live Search Box, Related Posts, AI Related Posts — under their own block category, each with a live editor preview and sharing the same rendering code as their shortcode counterparts Requires at least raised from 5.9 to 6.9 to support the Abilities API. Requires PHP remains 7.4 What’s New in Version 1.8.x & 1.9.x Optional FULLTEXT Search Index (1.9.5): opt-in MySQL FULLTEXT-indexed table for Title/Excerpt/Content, replacing slow LIKE '%term%' scans on large sites. Off by default, auto-builds in the background via WP-Cron once enabled (no SSH/WP-CLI needed), with wp init-live-search fulltext-reindex available for a manual/faster build. See “FULLTEXT Search Index” below for details. Optional Meilisearch Integration: connect your own Meilisearch server (self-hosted or cloud) as the primary search engine Typo-tolerant, relevance-ranked, sub-50ms search results straight from Meilisearch Automatic, transparent fallback to the local database search whenever Meilisearch is disabled, unreachable, or misconfigured — search availability is never compromised New Meilisearch settings tab: Host URL, Index Name, Search Key, Admin/Indexing Key, request timeout, one-click “Test Connection”, and (1.9.5) a one-click “Reindex Now” button for sites without WP-CLI/SSH access Posts are synced automatically on publish/update/trash/delete (non-blocking — won’t slow down the editor) WP-CLI command wp init-live-search meili-reindex for bulk-indexing or rebuilding the entire index Sensitive indexing key can be defined via the INIT_LIVE_SEARCH_MEILI_ADMIN_KEY constant in wp-config.php instead of the database, for extra security AI-Powered Related Posts: brand new [init_live_search_related_ai] shortcode Uses multi-signal scoring (tags, series, title bigrams, same_keyword via ACF, category, views, comments, freshness) Shares templates with [init_live_search_related_posts] (no extra styling needed) Fully filterable via new developer hooks: ai_candidates, ai_signals, ai_weights, ai_score Advanced Keyword Generator: upgraded algorithm for admin keyword suggestions Replaced TF-IDF with BM25 term weighting Added NPMI (fixed probability base) and Log-Likelihood Ratio (Dunning) for collocation strength Generates bigrams and trigrams for richer, more specific keyword suggestions Cross-document frequency penalty down-ranks phrases that are too generic across the site MMR (Maximal Marginal Relevance) selection ensures diverse, non-redundant final keywords Title-only source: clean signal, no excerpt noise, works reliably across all site types Unicode-safe, locale-aware stop words (Vietnamese & English), and soft fallback mode 404 Smart Redirect Added “Auto Redirect 404 to Best Match” mode driven by Init Live Search scoring Fully respects “Post Types to Include” settings Uses unified resolver + filters for extensible post-type handling Safety checks to avoid loops, invalid targets, and cross-type mismatches Developer Filters Expansion New filters added for AI related posts and keyword signals Complete list now includes over 20 filters (*_fallback, *_post_ids, *_results, *_weights, *_commands, etc.) Developers can hook into candidate pools, signal scores, and schema output with fine-grained control Performance Optimizations Smarter candidate pooling for related posts (recent + context-based) Pre-cached scoring loop for AI signals to minimize queries Safer regex handling in keyword processing to avoid PCRE errors Reduced memory footprint in bigram statistics without sacrificing accuracy Backward Compatible Enhancements [init_live_search_related_posts] and [init_live_search_related_ai] now share the same rendering pipeline Existing templates, schema, and CSS continue to work without modification Auto insert related posts still works and can be switched to AI mode via shortcode override Features Packed with everything a modern live search needs — and more: Live search via REST API (no admin-ajax, no jQuery) NEW: Block Editor (Gutenberg) blocks — Live Search Box, Related Posts, and AI Related Posts — under their own block category, each with a live server-side preview in the editor NEW: Abilities API support (WordPress 6.9+) — search and related posts exposed as discoverable, executable abilities via wp_get_abilities() and the wp-abilities/v1 REST namespace NEW: Optional MySQL FULLTEXT search index — faster Title/Excerpt/Content matching than LIKE queries on the built-in database search, auto-builds in the background NEW: Optional Meilisearch integration — typo-tolerant, relevance-ranked external search with automatic fallback to local DB search Smart tag-aware search mode (title + tag match) SEO metadata support: Yoast, Rank Math, AIOSEO, SEOPress, TSF ACF field matching and customizable filters Synonym expansion with fallback scoring logic Slash commands: /recent, /popular, /tag, /id, /sku, /price, /coupon, etc. WooCommerce support: search by product, SKU, brand, attribute, variation, coupon Clean modal UI with keyboard navigation (↑ ↓ Enter Esc) Optional voice input (SpeechRecognition) Tooltip Quick Search (select text to trigger) Favorites system via heart icon or /fav commands Infinite scroll and smart category filter (no extra API) Deep linking: ?modal=search&term=... New [init_live_search] shortcode: insert input or icon anywhere UI presets: default, fullscreen, topbar — with full CSS override Local caching + analytics (CSV export, no personal data) Developer-ready: custom slash commands, REST filters, JS hooks Dark Mode Support Enable dark mode for the modal by either: Adding the dark class: document.querySelector(‘#ils-modal’)?.classList.add(‘dark’); Or using a global config: window.InitPluginSuiteLiveSearchConfig = { theme: ‘dark’ }; Options: dark, light, auto Admin Settings Choose post types to include in search Enable an optional MySQL FULLTEXT search index for faster Title/Excerpt/Content matching, with automatic background indexing Connect an optional Meilisearch server (Host, Index, Search/Admin keys, timeout, one-click connection test, one-click Reindex Now) Configure modal triggers (input focus, triple click, Ctrl+/) Enable slash commands (e.g. /recent, /tag, /id) Enable support for + and - keyword operators (must-have, must-not-have) Set default slash command to run on modal open (only if slash is enabled) Set debounce time and max results Choose search mode (title-only, tag-aware, full content) Define custom ACF fields to include in search (optional) Enable Search in SEO Metadata (Yoast, Rank Math, etc.) Toggle excerpt display below each result (1-line contextual snippet) Toggle fallback logic (bigram/trim) Enable synonym expansion and manage synonym mappings (JSON editor) Enable Search Analytics to log queries (no personal data stored) Set max words for tooltip search Enable voice input (SpeechRecognition API) Enable result caching (localStorage) Choose frontend UI style (default, fullscreen, or topbar) Allow theme override via init-live-search/style.css Automatically insert related posts after content or comments (optional) Option to disable all built-in CSS completely Add default UTM parameter to result links Define or auto-generate keyword suggestions FULLTEXT Search Index (Optional) The built-in database search normally uses LIKE '%term%' queries, which can’t use a regular index and get slow on sites with a large number of posts. Tick FULLTEXT Search Index (Settings → Init Live Search → General) to sync Title/Excerpt/Content into a dedicated indexed table (your wp_posts table is untouched) and match with MySQL’s MATCH() AGAINST() instead. Once enabled, the index builds itself automatically in the background via WP-Cron — no SSH/WP-CLI needed — or you can speed things up with wp init-live-search fulltext-reindex. If your server doesn’t support FULLTEXT, or the index isn’t built yet, the plugin simply keeps using the standard LIKE-based search — nothing ever breaks. Tag search, SEO metadata, ACF fields, synonyms, and the +/- operators all keep working the same either way. Meilisearch Integration (Optional) Init Live Search works great out of the box with zero setup — the built-in database search handles everything by default. But if you want faster, typo-tolerant, relevance-ranked search at scale, you can connect your own Meilisearch instance in a few minutes. How it works: Install and run Meilisearch yourself — self-hosted (a small VPS is plenty for most blogs) or via Meilisearch Cloud. This plugin does not host or manage a server for you. Go to Settings → Init Live Search → Meilisearch, enter your Host URL, Index Name, and a search-only API key, then enable the integration. Index your existing published content either by running wp init-live-search meili-reindex via WP-CLI, or by clicking the “Reindex Now” button right on the Meilisearch settings tab (handy if you don’t have WP-CLI/SSH access) — it runs in the background (~200 posts every 5 seconds) with a live progress status. That’s it — search requests are now answered by Meilisearch. New, updated, and deleted posts stay in sync automatically. Built for safety, not lock-in: If Meilisearch is disabled, unconfigured, or fails to respond (timeout, wrong key, server down), the plugin automatically and silently falls back to the local database search — visitors never see a broken search box. Reindexing (via the button or WP-CLI) is always manual-only, and auto-stops with a clear error after 3 consecutive failed batches instead of retrying forever. Your sensitive indexing key can live in wp-config.php (INIT_LIVE_SEARCH_MEILI_ADMIN_KEY) instead of the database. Turn it off any time — nothing about your site’s core search behavior depends on Meilisearch being present. Keyboard Shortcuts Arrow Up / Down — navigate between results Arrow Right — add selected result to favorites (if not already added) Arrow Left — remove selected result from favorites Enter — open selected result or submit Escape — close modal and reset state Slash (/) — start a command instantly (e.g., /recent, /id 123) Developer Reference: Shortcodes, Filters, and Hooks Shortcodes [init_live_search] Display a search icon or input anywhere that opens the Init Live Search modal. Attributes: – type: icon (default) or input – choose between a clickable icon or a search box – placeholder: (optional) text inside the input if type="input" – label: (optional) adds a label next to the icon if type="icon" – class: (optional) add custom classes like dark, my-style, etc. – stroke_width: (optional) set the stroke width for the search icon (default: 1) – radius: (optional) override the border radius of the input form (default: 9999px from CSS; only applied if value differs) [init_live_search_related_posts] Display a list of related posts (static HTML) based on post title or keyword, optimized for SEO and fully themable. Attributes: – id: (optional) the post ID to find related posts for (defaults to current post) – count: (optional) number of posts to display (default: 5) – keyword: (optional) override the keyword used for finding related posts – template: (optional) layout template to use — default, grid, classic, compact, thumbright – css: 1 (default) or 0 – disable default CSS if you want to fully style it yourself – schema: 1 (default) or 0 – disable JSON-LD ItemList output for SEO schema [init_live_search_related_ai] Display a list of AI-powered related posts using multi-signal scoring (tags, series, title bigrams, same_keyword via ACF, category, views, comments, freshness). Uses the same templates as [init_live_search_related_posts], so no extra styling is required. Attributes: – id: (optional) the post ID to find related posts for (defaults to current post) – count: (optional) number of posts to display (default: 5) – post_type: (optional) restrict results to one or more post types (default: post) – template: (optional) layout template to use — default, grid, classic, compact, thumbright – css: 1 (default) or 0 – disable default CSS if you want to fully style it yourself – schema: 1 (default) or 0 – disable JSON-LD ItemList output for SEO schema Filters for Developers Init Live Search includes many filters to help developers customize behavior and output at various stages of the search flow. Full documentation (with code samples & advanced usage): Using Filters in Init Live Search Popular filters init_plugin_suite_live_search_enable_fallback Enable or disable fallback logic when few results are found. init_plugin_suite_live_search_post_ids Customize the array of post IDs returned from the query. init_plugin_suite_live_search_result_item Modify each result item before it’s sent in the response. init_plugin_suite_live_search_results Filter the final array of results before being returned. init_plugin_suite_live_search_query_args Modify WP_Query arguments for different commands. init_plugin_suite_live_search_ai_weights Adjust AI scoring weights for related posts. (…and more in the full docs) REST API Endpoints Fully documented, lightweight, and API-first endpoints. Ideal for headless or decoupled builds. All endpoints are under namespace: initlise/v1 Full documentation (with examples & parameters): REST API Endpoints in Init Live Search Popular endpoints /search?term=example Standard search query (uses plugin settings like post types, search mode, fallback…). /id/{id} Fetch a post by ID (returns permalink). /recent Fetch the most recent posts. /tax?taxonomy=category&term=slug-or-id Fetch posts by taxonomy (category, tag, or custom). /related?title=page-title&exclude=ID Fetch posts related to the current page title. /product?... Fetch WooCommerce products with flexible query parameters. (…and more in the full docs) License This plugin is licensed under the GPLv2 or later. You are free to use, modify, and distribute it under the same license.