=== AI 360 Search Visibility ===
Contributors: imageforward
Tags: ai seo, schema markup, ai visibility, faq schema, llms.txt
Requires at least: 5.5
Tested up to: 6.7
Stable tag: 1.35
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AI-powered search visibility for WordPress — schema injection, AI referral tracking, FAQ management, llms.txt, and position tracking.

== Description ==

**AI 360 Search Visibility** connects your WordPress site to the [riseabove360.com](https://riseabove360.com) platform so you rank in both traditional search and AI-powered answer engines like ChatGPT, Perplexity, and Google Gemini.

**Foundation (Free) features included:**

* Automatic schema injection — LocalBusiness, Article, FAQPage, Breadcrumb, Organization
* AI referral tracking — detect visitors arriving from ChatGPT, Perplexity, Claude, Gemini, and more
* FAQ management with schema.org FAQPage output and a `[wai_faq]` shortcode
* `llms.txt` generation at `/llms.txt` for AI crawler discovery
* AI bot Allow directives appended to robots.txt (GPTBot, PerplexityBot, ClaudeBot, etc.)
* Weekly keyword position tracking via Serper.dev
* Brand guide — business profile, services, and contact info used for schema
* Configurable URL base path for plugin-created pages (default: `/ai/360/`)
* Cloud sync to riseabove360.com dashboard

**Launch (Pro) features via [riseabove360.com](https://riseabove360.com):**

* CSS theme token injection from your brand guide
* CTA shortcode with brand colors
* HowTo schema for step-by-step content
* AEO scanner — check how AI engines see your site
* AI-powered page generator
* Internal links automation
* Monthly visibility reports

The plugin registers your site automatically on first activation. Your Site ID is displayed in **Settings → AI 360** in human-readable `domain-com-xxxxxx` format.

== Installation ==

1. Search "AI 360 Search Visibility" in the WordPress plugin directory, or upload the `ai-360-search` folder to `/wp-content/plugins/`.
2. Activate the plugin via **Plugins → Installed Plugins**.
3. The plugin auto-registers with riseabove360.com. Your Site ID appears in **Settings → AI 360**.
4. Fill in your **Business Profile** (name, phone, services) — this populates schema markup immediately.
5. Optionally add a Serper API key for keyword position tracking.

== Frequently Asked Questions ==

= Is this plugin free? =

Yes. The Foundation tier is completely free. The Launch tier requires a riseabove360.com subscription.

= Does this work with any WordPress theme? =

Yes. Schema markup, the beacon script, and llms.txt are injected via standard WordPress hooks and are theme-agnostic.

= What is llms.txt? =

llms.txt is a proposed standard (llmstxt.org) for telling AI language models about your site's content and purpose. The plugin generates it automatically at `yourdomain.com/llms.txt`.

= Do I need a Serper API key? =

Only for keyword position tracking. Schema injection, FAQ schema, llms.txt, AI referral tracking, and cloud sync all work without one.

= Can I change the URL path for plugin-created pages? =

Yes. The URL base path is configurable in **Settings → AI 360 → URL Base Path**. The default is `ai/360` which places the FAQ page at `/ai/360/faq`.

= Is this plugin open source? =

Yes. The plugin is GPL-2.0+. The riseabove360.com platform API is a separate proprietary service.

== Screenshots ==

1. Dashboard with AI referral metrics and FAQ count
2. Settings page — Site ID, URL base, and business profile
3. FAQ management via the riseabove360.com dashboard

== Changelog ==

= 1.21 =
* Performance: Script defer — non-critical frontend scripts deferred automatically via script_loader_tag filter
* Skips jQuery, jquery-migrate, and handles already carrying async/defer
* Adds wai_defer_script_exclude filter so site owners can exempt specific handles
* Reduces render-blocking JavaScript on all frontend pages

= 1.20 =
* Feature: AI Bot Access Control — per-bot Allow/Disallow checkboxes in Settings → AI 360
* Three groups: Search Engines (always allowed), AI Answer Engines (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot, YouBot, cohere-ai), AI Training Crawlers (GPTBot, ClaudeBot, anthropic-ai, Google-Extended, CCBot, Bytespider, Applebot-Extended, meta-externalagent)
* robots.txt AI directives section dynamically reflects user's Allow/Disallow choices
* New bots added: OAI-SearchBot, Claude-User, CCBot, Bytespider, meta-externalagent

= 1.17 =
* Feature: Approve & Publish to Site — dashboard-approved AI pages are queued and automatically published to WordPress via cloud pull model
* Plugin polls /api/beacon/pending-pages on every admin_init (rate-limited 5 min); creates WP page with nested slug support, then confirms to cloud
* Dashboard: Approve & Publish button per generated page with live status badge (Pending / Published) and link to the published URL

= 1.7 =
* Schema: Speakable — WebPage/SpeakableSpecification injected on every page with h1/h2/.wai-speakable selectors for voice and AI readout
* Schema: Service entities — each service output as hasOfferCatalog > Offer > Service for individual AI discoverability
* Schema: Person — business owner name + title output as Person schema linked to the business (when ownerName is set)
* Settings: Owner / Principal Name and Owner Title fields added to Business Profile

= 1.6 =
* Schema: sameAs entity links — GBP, Yelp, Facebook, LinkedIn, Bing Places injected into LocalBusiness schema
* Schema: openingHoursSpecification — manual Mon-Sun hours in Business Profile injected as structured data
* Schema: aggregateRating — Google and Yelp rating/review count fields combined into AggregateRating schema
* Settings: Online Presence section (sameAs URLs), Business Hours grid, Reviews & Rating fields in Business Profile

= 1.5 =
* Settings: Auto-discover keywords from site headings and brand guide services, labeled Auto-Discovered (amber)
* Settings: Keyword source labels — chips color-coded (amber = Auto-Discovered, blue = Customer Provided)
* Settings: Removed Serper API key and Competitor Domains from customer-facing settings (team-managed via dashboard)
* Settings: Team Activity panel — read-only view of keyword tracking, FAQ status, and citation score link
* Settings: URL Base Path moved out of main form (team-managed setting)

= 1.4 =
* Frontend: Google Review Campaign Page — plugin serves /leave-review/ with a mobile-first "Write a Google Review" CTA
* Settings: Google Review URL field — paste your Google Business Profile review link
* Settings: Shareable review URL with one-click Copy and Preview button

= 1.3 =
* Settings: Keyword chip/tag UI — keywords shown as removable chips, add one at a time or bulk-paste import
* Settings: "Bulk import" expander — paste a list of keywords, merged with existing, duplicates skipped

= 1.2 =
* Admin: AI Citation Tracker page — WP admin page showing citation readiness score (0-100) and 5 AI signals
* Admin: Citation signals: Business Name, Keyword Coverage, Authority, Schema Markup, Content Depth
* Admin: "AI Citations" submenu under AI 360 menu
* API: /api/beacon/citations beacon endpoint — no auth, accepts site_key or UUID

= 1.1 =
* Schema: LocalBusiness, Organization, and FAQPage schema all output correctly on every page
* Schema: full PostalAddress (street, city, state, ZIP) in both LocalBusiness and Organization
* Schema: FAQPage injected in wp_head — visible to crawlers on first request
* Dashboard: executive summary with AI referrals, FAQ count, keywords tracked, and positions gained
* Dashboard: "Files & Code We Manage For You" section — /llms.txt, /robots.txt, Schema, FAQ page, Beacon
* Dashboard: DIY tips show only customer-appropriate actions
* Settings: Business Profile with all address fields for complete schema output
* Admin: WP left nav "AI 360" links directly to executive dashboard
* Admin: activation redirect lands on executive dashboard with success banner
* Branding: fully rebranded to AI 360 Search Visibility / Rise Above 360

= 1.0 =
* Initial release — OOP plugin, PHP 7.4+, WP 5.5+
* Foundation and Launch tier architecture
* Beacon script, schema injection (Organization, LocalBusiness, Article, FAQPage, Breadcrumb), llms.txt
* AI referral tracking — ChatGPT, Perplexity, Claude, Gemini, Bing Copilot
* FAQ shortcode [wai_faq], weekly keyword position tracking, cloud sync to riseabove360.com

== Upgrade Notice ==

= 1.4 =
Install v1.4 to activate the review campaign page — add your Google review URL in Settings → AI 360 → Google Review Campaign, then share spellerstampa.com/leave-review/ with customers.

= 1.3 =
Install v1.3 for the new keyword chip UI — add keywords one at a time or bulk-paste a list in Settings → AI 360 → Target Keywords.

= 1.2 =
Install v1.2 to add the AI Citation Tracker — see your citation readiness score and 5 AI signals in WP Admin → AI 360 → AI Citations.

= 1.1 =
Install v1.1 to activate full schema output — LocalBusiness and FAQPage schema were silently suppressed in 1.0. After upgrading, fill in the new Street Address, City, State, and ZIP fields in Settings → AI 360 → Business Profile.
