=== EZY.ai - AEO & AI SEO for ChatGPT, Claude & Gemini ===
Contributors: EZY.ai
Tags: chatbot, lead-generation, ai-content, aeo, llms-txt
Requires at least: 5.7
Tested up to: 7.0.1
Stable tag: 2.2.5
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AEO for WordPress: get more customers from ChatGPT, Claude & Gemini, then convert with AI blogs + a lead-capturing chatbot. Free.

== Description ==

EZY.ai is the first all-in-one AEO plugin for WordPress. Get found on ChatGPT, Claude, Perplexity & Gemini - then turn that visibility into customers with AI-written blogs and a lead-capturing chatbot. Free to install with live AI-visit analytics; paid plans from $29/month add one-click optimization, AI blogs and FAQ Hubs, and lead-capturing chat.

The way people search is changing. ChatGPT now has 900M+ weekly users asking for recommendations instead of Googling - and AI search visitors convert at significantly higher rates than traditional search traffic. Without proper Answer Engine Optimization, AI engines either skip your site, cite outdated information, or recommend competitors with cleaner signals.

**Real attributed results:** Galliard Homes traced an £800,000 property sale to a ChatGPT referral. Transputec hit 774% growth in AI assistant visits in under 90 days. GlocuRX hit 332% growth.

= Core Features =

* **AI Analytics** - every AI crawler visit AND every AI-referred human visitor, across ChatGPT, Claude, Perplexity, Gemini & Copilot - plus weekly prompt tracking, competitor citations, and your AI Visibility Score
* **1-Click Fix All** - the only AEO platform that cycles through everything: generates, optimizes and uploads your schema, meta, llms.txt, facts and sitemap in a single click
* **Content Engine** - original, expert-cited blogs and FAQ Hubs in your brand's tone of voice, written and published for you. On Growth and Scale, they inherit your site's own header and footer (theme inheritance)
* **EZY Capture** - an AI assistant on your site, capturing leads 24/7
* **Alerts & Best Practices** - citation changes, competitor moves and AI-visit spikes emailed to you, with guidance on what to do next

= Plans =

Every plan is priced per domain, and annual billing is available on all paid plans.

* **Free forever:** AI-visit analytics, robots.txt, llms.txt, and XML sitemap for one domain, plus an EZY Capture free trial.
* **Starter - $29/month:** the full AEO file suite plus 1-Click Fix All (schema, meta, llms.txt, llms-full.txt, facts, sitemap), Prompts & Competitors tracking, email alerts, 2 AI blogs a month, a FAQ Hub every two months, and EZY Capture (up to 50 visitor messages a day).
* **Growth - $49/month:** everything in Starter, plus 4 AI blogs a month, a FAQ Hub every month, theme inheritance (your blogs and FAQ Hubs use your own site's header and footer), and EZY Capture up to 100 visitor messages a day.
* **Scale - $99/month:** everything in Growth, plus 8 AI blogs a month, 2 FAQ Hubs a month, and unlimited EZY Capture messages.

= What EZY.ai Builds and Maintains on Your Site =

**1. AI Readiness & Technical Files**

* llms.txt and llms-full.txt - machine-readable summaries AI engines use to understand your business
* robots.txt with explicit AI crawler permissions - without it, some AI engines skip your site by default
* AI sitemap.xml - purpose-built for AI crawlers, kept in sync as your site changes
* facts.jsonld - feeds direct facts about your business straight to AI models

**2. Structured Data & Schema**

* Bulk Schema.org injection - full creation, optimisation and injection across your site
* Entity optimisation - helps machines understand the context of your content
* Meta description automation - created, optimised and injected at scale

**3. Analytics & Tracking**

* AI agent + AI-referred user tracking - see every AI bot visit (ChatGPT, Claude, Perplexity, Gemini, Copilot) AND every human visitor who arrived from an AI tool. Two views: are AI engines indexing you, and are AI users actually clicking through?
* Prompt tracking - we test your domain against 5+ prompts across ChatGPT, Claude, Perplexity, and Gemini every week. See exactly where you appear and where you don't.
* Citation tracking - see exactly where you appear (or don't) for each prompt
* Competitor analysis - automatically track competitor citations across AI engines weekly. See where rivals appear that you don't.
* Reddit detector - track your Reddit presence and mentions
* AI Visibility Score - proprietary EZY.ai score, tracked over time
* Email alerts & best practices - when your citations change, a competitor gains ground, or AI visits spike, EZY emails you - with best-practice guidance on what to do about it

**4. Content & Authority**

* AI-assisted blogs - auto-generated and published to your WordPress site on a cadence that matches your plan (from 2 a month on Starter up to 8 a month on Scale). Every post is original (checked against your existing content so nothing is duplicated), written in your brand's tone of voice, cites experts and sources where possible, includes internal links to your key pages, and embeds a lead-capture form - with submissions tracked in your dashboard.
* FAQ Hubs - automatically generates dedicated, topic-clustered FAQ hub pages, each with FAQ structured data (FAQPage schema) so AI engines can read and cite your answers
* Theme inheritance (Growth and Scale) - published blogs and FAQ Hubs render inside your own site's header and footer, so they look like a native part of your website
* Authority scanner - see which pages carry high authority for your topics
* Submission tools - submit directly to Google Search Console and Bing Webmaster Tools

= Content Quality That Actually Gets Cited =

Most AEO plugins generate basic URL lists or thin schema. EZY runs deep LLM analysis on your live, rendered site - producing enriched files that score 95%+ when tested by major AI models. When we asked Google's Gemini to independently assess EZY's generated output, it scored it **98/100** and called it *"an absolute masterclass in GEO."*

The difference shows up where it matters: in citations. AI engines reward enriched, factual, well-structured content - they ignore generic URL dumps. We've spent months tuning our generation to maximise citation eligibility, and the results show in the numbers above.

= EZY vs. Other AEO Plugins =

* **Yoast:** generates a basic llms.txt URL list. No AEO analytics, no AI bot tracking.
* **Rank Math:** same - a config screen for llms.txt, no AEO-specific analytics.
* **Other AEO plugins:** mostly generate schema only. None track AI bot visits, prompt visibility, or competitor citations.
* **EZY.ai:** the full AEO stack - llms.txt + llms-full.txt + facts + schema + meta + AI analytics + competitor tracking + Reddit monitoring.

= EZY Capture - Lead Generation, Set Up for You =

The same AEO data EZY already holds about your site powers a fast, accurate, lead-capturing assistant - switched on in one click, with no training and no extra setup. It answers visitor questions in your brand's voice and captures their details (name, email, and what they asked), so you can follow up. Try it free, then it's included on every paid plan - up to 50 visitor messages a day on Starter, 100 on Growth, and unlimited on Scale.

**It gets smarter on its own.** Over time it learns what your prospects keep asking - and EZY.ai turns those real questions into FAQs and blog posts that answer them. Those answers lift your AI visibility, which feeds the assistant: a loop that compounds while you do nothing.

Every other chatbot makes you upload content, paste FAQs, train the bot and maintain it. With EZY that's already done - the assistant is a by-product of your AEO work, so switching it on costs you nothing extra.

= Set It and Forget It =

EZY runs continuously in the background:

* **Weekly:** tests your domain against 5+ prompts in ChatGPT, Claude, Perplexity, and Gemini
* **Weekly:** tracks competitor citations and surfaces content gaps
* **On schedule:** auto-publishes optimised blog posts and FAQ Hubs to your WordPress site at a cadence that matches your plan
* **Real-time:** logs every AI bot visit and every AI-referred human user
* **Real-time:** re-syncs your llms.txt, schema, and meta when content changes

Most AEO plugins are one-time fixes. EZY is an ongoing service.

= Why EZY.ai is Different =

* **Files live on your site, not ours.** Generated directly on your WordPress site, under your domain - not served from our cloud. More durable, more in your control.
* **Real automation, not just audits.** EZY.ai's Site-Fixer technology doesn't just find problems - it solves them.
* **Cloudflare Worker integration.** Built on infrastructure that already powers most of the web, available for non-WordPress sites too.
* **Built for agencies too.** Manage multiple client domains from one white-label dashboard, with each client on its own plan from $29/month - bundle AEO into your existing offering.
* **Free forever on the plugin and analytics.** Paid plans from $29/month unlock 1-Click Fix All, the content engine, Prompts & Competitors tracking, and lead-capturing chat.

= How It Works =

1. Install the plugin and activate.
2. Connect your free EZY.ai account through the connection wizard.
3. Generate and upload your llms.txt, robots.txt and schema in two clicks.
4. Watch AI visits, citations and engine breakdown in your dashboard.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/ezy-ai-plugin` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Go to **the "EZY AI" tab** in the admin menu to connect your account.
4. Follow the connection wizard to link your WordPress site to your EZY.ai account.

== Frequently Asked Questions ==

= Do I need coding knowledge? =
No. The plugin handles all technical optimisations automatically once connected.

= What AI engines does this support? =
ChatGPT, Claude, Google Gemini (and SGE), Perplexity, Microsoft Copilot, and other major AI search engines.

= How is this different from Yoast and Rank Math? =
Yoast and Rank Math are SEO plugins built for Google rankings. They've recently added basic llms.txt generation but don't track AI bot visits, prompt visibility, or AI-referred traffic. EZY.ai is purpose-built for AEO from the ground up.

= What's the difference between SEO and AEO? =
SEO = ranking on Google's blue links. AEO = being cited and recommended by ChatGPT, Claude, Perplexity, and Gemini. Different signals, different infrastructure, different metrics. Most sites need both.

= Does this replace Yoast or RankMath? =
No. Traditional SEO targets Google. EZY.ai targets ChatGPT, Claude, Perplexity, Gemini and Copilot. Run both for full coverage.

= What is EZY Capture? =
A lead-capturing AI assistant for your site, powered by the AEO data EZY already holds - no training or setup. It answers visitor questions in your brand's voice and captures contact details. Try it free, then it's included on every paid plan - up to 50 visitor messages a day on Starter, 100 on Growth, and unlimited on Scale.

= Will it slow my site? =
No. The plugin is lightweight and runs asynchronously. All processing happens on EZY.ai's infrastructure.

= Is it really free? =
The plugin, AI-visit analytics, robots.txt, llms.txt and XML sitemap are free forever for one domain. Paid plans start at $29/month (Starter) and unlock 1-Click Fix All, the content engine (blogs and FAQ Hubs), Prompts & Competitors tracking, alerts, and lead-capturing chat. Growth ($49/month) and Scale ($99/month) add more content, theme inheritance, and higher chat limits. Every plan is priced per domain.

= Can I use this for my clients? =
Yes. Agencies can manage multiple client domains from one white-label dashboard, with each client on its own plan from $29/month, and bundle AEO into existing service offerings.

= Can you guarantee citations in ChatGPT? =
No. AI models are opaque systems, and no tool can guarantee rankings. EZY.ai significantly improves your eligibility - the rest depends on your content.

= Who's behind EZY.ai? =
Co-founded by James Mackie (SEO since 2004, previously founded and exited a cloud computing company), with co-founders Khodr Badih (PhD Mathematics, MSc Physics) and Adnan Kabani (Lead Developer). 7,000+ websites analyzed. Featured in Yahoo Finance.

== Screenshots ==

1. Auto-generate AEO files: llms.txt, llms-full.txt, robots.txt, sitemap.xml, and facts.jsonld
2. Inject Schema.org structured data, entity optimization, and meta descriptions across your site
3. Track AI visibility and analytics for your website
4. Reach every major AI engine: ChatGPT, Claude, Perplexity, Gemini, and more

== Changelog ==

= 2.2.5 =
* General enhancements, reliability improvements and bug fixes.

= 2.2.4 =
* General enhancements, reliability improvements and bug fixes.

= 2.2.3 =
* UI improvements and design refinements.
* General enhancements, reliability improvements and bug fixes.

= 2.2.2 =
* General enhancements and reliability improvements.

= 2.2.1 =
* Fix: AI-referred human visits from ChatGPT, Claude and other assistants now appear correctly in analytics, even when the assistant strips the referrer.
* Fix: AI visibility chart no longer overlaps the engine breakdown when there is only a single day of data.
* New: robots.txt now explicitly allows the Google Ads crawlers (AdsBot-Google-Mobile-Apps and Google-Adwords-Instant).

= 2.2.0 =
* Update: Plugin store listing refreshed with new description, positioning and tag improvements.

= 2.1.9 =
* General enhancements and improvements

= 2.1.8 =
* New: Recommended Actions panel - shows a personalised checklist of AEO tasks with completion status, and a wins summary for the current period.

= 2.1.7 =
* Improvement: General description and listing enhancements.

= 2.1.6 =
* Improvement: General description and listing enhancements.

= 2.1.5 =
* Update: Plugin store listing refreshed - new positioning, EZY Capture lead-gen chatbot, updated free/paid breakdown, and tag improvements.

= 2.1.4 =
* Fix: Wider SEO-plugin compatibility - meta descriptions and schema markup now render correctly even on sites running a third-party SEO plugin that rebuilds the entire page `<head>` before output. Previously EZY's tags could be removed by such plugins, showing as "uploaded but not visible" on the page.
* Fix: Blog posts whose slugs contain non-ASCII characters (e.g. Croatian, Turkish) no longer return a 404 - the lookup now decodes percent-encoded UTF-8 slugs so they match the stored post.

= 2.1.3 =
* Fix: Content updates now reliably clear page caches across far more caching plugins and managed hosts - LiteSpeed (v3+), SiteGround Optimizer (v7+), WP Fastest Cache, Nginx Helper, Hummingbird, Breeze, WP-Optimize, FlyingPress, Cache Enabler, Swift Performance, Kinsta, Pantheon, Comet, Cachify, Powered Cache and more. Previously some sites showed "uploaded but nothing changed" because purge calls silently no-op'd on newer plugin versions.
* Fix: Schema and meta descriptions now coexist with other SEO plugins (Yoast, Rank Math, All in One SEO, SEOPress). EZY only replaces the structured-data types it manages and preserves the other plugin's Organization, Breadcrumb and WebSite markup instead of removing the whole graph.
* Fix: Generated JSON-LD is validated and sanitised before output - empty sameAs and incomplete GeoCoordinates are dropped, duplicate blocks of the same type are de-duplicated, and non-ASCII content (Turkish, Arabic, Chinese, accents) is preserved exactly.
* Fix: Multisite - schema and meta now match the correct page on subdirectory and subdomain multisite installs, with strict same-host checks to prevent one site's markup appearing on another.

= 2.1.2 =
* Fix: Improved compatibility with other plugins and SEO tools. Various stability and reliability improvements.

= 2.1.1 =
* Fix: Critical - /robots.txt, /llms.txt, /llms-full.txt, /sitemap.xml and /facts.json could return a 404 after recent versions. The file-serving rework deleted the physical files (and added an .htaccess routing block) to force requests through PHP for tracking; on hosts whose web server or gateway serves these filenames directly, that caused a hard 404. Serving now always writes the physical file and never deletes it (the reliable behavior from 1.2.x), and no longer installs an .htaccess block. Previously affected sites self-heal on the next admin page load.
* Note: AI-bot / human hit tracking for these static files is best-effort - any request your server routes through PHP is still recorded; requests served directly as static files by the web server are delivered reliably but not counted in WordPress. Reliable delivery is prioritized over tracking.

= 2.1.0 =
* New: AI chatbot widget. When your site is connected to EZY.AI, an answer-engine chat widget loads on the front end so visitors can ask questions and get answers grounded in your content. The widget is excluded from AI crawlers and bots, never renders in the admin, feeds or trackbacks, and can be toggled off per site.
* New: The chatbot loads via a deferred, async script so it never blocks page rendering.
* Improvement: Analytics no longer counts EZY.AI's own indexer and analysis fetches as visits. Requests carrying EZY's cache-bust marker are now skipped before tracking, so your bot and human counts reflect real traffic only.

= 2.0.2 =
* Fix: AI bot and human visits to /robots.txt, /llms.txt, /llms-full.txt, /sitemap.xml and /facts.json are now tracked in analytics. Previously these were served as static files on disk and bypassed the analytics tracker entirely.
* New: Defense-in-depth serving for the five AEO files. Every request resolves through a layered chain - WordPress option, protected backup at wp-content/ezy-ai-backups/, physical file at the WordPress root, and a hardcoded last-resort fallback - so a bot or AI assistant always receives a valid response, even if one or more layers fail. Every fallthrough is logged so no failure is silent.
* New: /llms.txt and /llms-full.txt now have dedicated WordPress routes - they no longer depend on a file on disk to be reachable.
* New: Health endpoint at /wp-json/ezy-ai/v1/file-tracking-health (requires admin) exposes the current serving source for each file so external monitors can detect degraded states.
* New: On Apache, the plugin silently installs an .htaccess block that routes the five AEO files through PHP so every request is tracked while the physical file on disk remains a cold-DR fallback if WordPress fails.
* Improvement: Tracking hook priority lowered so visits are captured before any handler exits, eliminating a silent gap on robots.txt, facts.json and sitemap.xml.

= 2.0.1 =
* Fix: Analytics chart no longer expands indefinitely when switching to the 24-hour timeline.
* Fix: 24-hour view now labels the X-axis with hourly buckets instead of duplicated date labels.
* Fix: Y-axis numbers are no longer clipped in the AI Discovery Traffic chart.
* Improvement: Chart X-axis shows more day markers across 7-day, 30-day and 90-day ranges.
* Improvement: AI Discovery Traffic header icon restyled to a neutral glass treatment.

= 2.0.0 =
* New: Analytics dashboard works the moment you activate the plugin - no EZY.AI account required. See AI bot vs human visits over time, top pages, agent breakdown, recent crawler and visitor logs, and a visibility score.
* New: Built-in AI agent detection out of the box - identifies ChatGPT, Claude, Gemini, Perplexity, Bing, Grok, DeepSeek, Mistral, Cohere, Apple, Amazon, Bytedance, Meta and more.
* New: Visit history stored locally on your WordPress site with a configurable retention window (default 90 days, adjustable in Settings).
* New: Settings page to toggle analytics, set retention, and opt out of install diagnostics.
* Privacy: URLs and referrers in visit logs strip sensitive query parameters before storage (UTM, gclid, fbclid, msclkid kept for attribution). IPs are stored as a salted hash with the last octet masked.
* Privacy: Optional cloud sync (when connected to EZY.AI) now sends anonymised IPs and stripped URLs only - never raw IPs, full URLs, or full request headers.
* Performance: Visit logging happens after the page is delivered so it never slows down your site.
* Update: Plugin description and visuals refreshed for the v2 launch.

= 1.2.3 =
* Update: Description copy polished (replaced em-dashes with regular hyphens for cleaner rendering)
* No functional plugin changes in this release

= 1.2.2 =
* Update: Plugin description, screenshots, banner, and icon refreshed for the AEO/AI SEO positioning
* Update: Tag list refined for better discoverability (aeo, ai seo, llms.txt, claude, chatgpt)
* No functional plugin changes in this release

= 1.2.1 =
* Fix: Blog posts are now properly cleaned up when disconnecting from WP admin or EZY.AI dashboard
* Fix: Content Sync "Upload" now updates the Integration Completeness score dial in WP admin
* Fix: Content Sync "Upload" now purges page caches (WP Rocket, LiteSpeed, W3TC, etc.) after syncing
* Fix: Blog listing template cache (24hr transient) now invalidated on blog update, delete, and clear
* New: Plugin now notifies EZY.AI backend when disconnected from WP admin (backend reflects accurate status)
* New: Disconnect notification retries automatically if backend was unreachable at disconnect time
* New: Plugin auto-detects when integration is deleted on EZY.AI and cleans up content after confirmation
* New: Plugin uninstall now notifies EZY.AI backend before removing data
* Fix: Uninstall hook now properly includes blog class to prevent fatal error during cleanup

= 1.2.0 =
* Fix: WP-admin schema and meta re-upload now validates payloads before applying so false-success uploads are prevented
* Fix: Schema/meta sync parity improved so WP-admin sync uses the same normalized data shape as dashboard uploads
* Fix: Content Sync status for schema/meta now reflects valid generated payload availability, not timestamp-only signals

= 1.1.9 =
* Fix: Refresh button spin animation now scoped to icon only, preventing layout shift on click
* Fix: Blog content sync now preserves inline `<style>` blocks stripped by wp_kses
* New: Schema.org ld+json script tags now include a `data-ezy-ai="schema"` attribute for easier identification
* Fix: Content Sync panel feature count updated to 9

= 1.1.8 =
* Fix: FAQs sync now works when FAQs are generated but not yet uploaded from the dashboard
* Fix: Facts sync reliability improved with better widget data fallback
* Fix: Content Sync panel now correctly shows "Uploaded" status after syncing and refreshing
* New: Refresh button on Content Sync panel to check latest status without reloading the page
* Fix: Blog posts detection now checks generated blogs in addition to uploaded blogs

= 1.1.7 =
* New: Content Sync panel - upload generated content (robots.txt, llms.txt, schemas, etc.) directly from the WordPress admin
* New: Automatic widget re-analysis after uploading content from the plugin
* New: Plugin now detects generated content on EZY.AI even before uploading
* New: Blog posts sync support
* Fix: Improved content availability detection using widget data fallback

= 1.1.6 =
* Fix: Improved webhook authentication reliability on LiteSpeed, Nginx, and restrictive hosting environments
* Fix: Added fallback authentication header for servers that strip the standard Authorization header

= 1.1.5 =
* Fix: CSS loading compatibility with WordPress 6.9
* Fix: Disconnect redirect reliability
* Fix: Coding standards improvements for plugin submission

= 1.1.4 =
* Fix: CSS loading compatibility with WordPress 6.9
* Fix: Disconnect redirect reliability
* Fix: Coding standards improvements for plugin submission

= 1.1.2 =
* Fix: Minor overall enhancements

= 1.1.1 =
* Minor overall enhancements

= 1.1.0 =
* Minor overall enhancements

= 1.0.0 =
* Initial release
* AI bot tracking
* Prompt tracking
* Visibility score tracking
* Structured data generation
* facts.jsonld generation
* robots.txt and llms.txt optimization
* Sitemap improvements
* Blog metadata fixes
* Competitor tracking
* Reddit presence tracking

== Upgrade Notice ==

= 1.1.9 =
Bug fixes for blog content sync, schema markup identification, and UI refresh animation.

= 1.0.0 =
Initial release of EZY.ai WordPress plugin.

== External Services ==

This plugin connects to the EZY.ai API to provide AI-powered SEO and AEO features.

**EZY.ai Search Intelligence Platform**

* Service: EZY.ai API (https://api.ezy.ai/api/wordpress-plugin)
* Used for: Analyzing website content, generating SEO recommendations, schema markup, blog posts, tracking AI agent visits, and managing SEO files (robots.txt, llms.txt, sitemap.xml, facts.jsonld).
* Data Sent: Website URL, authentication credentials, and (with consent) visit data including user agent and IP address. Endpoints: /auth/initiate, /auth/exchange, /verify, /health, /track, /schemas, /blog/{slug}, /integrations/{id}/*, /robots-txt, /llms-txt, /sitemap-xml, /facts-json, /content-status, /trigger-refetch.
* Provider: EZY.ai. Legal: Terms of Service, Privacy Policy.

No third-party services are used without your explicit connection and consent.
