=== IndexMesh ===
Contributors: xavieremerson
Tags: seo, schema, robots, llms, ai
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AI visibility for WordPress: govern AI crawlers, publish llms.txt, and manage schema/entity context beside SEO plugins.

== Description ==

IndexMesh for WordPress prepares your site for AI search, answer engines, and trusted discovery without replacing your SEO plugin. It gives you one place to govern how crawlers and AI tools see your site, publish an AI-readable `llms.txt`, and manage the schema/entity context that search engines use to understand your business.

Everything runs locally in WordPress. IndexMesh provides machine-readable guidance and diagnostics. It does not promise rankings, crawler behavior, citations, or AI-provider attribution.

**What makes IndexMesh different**
IndexMesh is not a single-purpose `llms.txt` text box. It combines four connected pieces of AI visibility work that normally have to be checked separately:

* crawler policy: AI, search, social, file, scraper, and WordPress route rules for `robots.txt`;
* discovery publishing: guided `llms.txt` content, virtual routes, managed-file sync, preview, and conflict detection;
* entity context: Organization, office, area-served, author expertise, and author credential fields for schema;
* provider coexistence: read-only compatibility with Yoast SEO, Rank Math, AIOSEO, SEOPress, and plain WordPress, with suppression when another owner should control output.

That means the plugin is not just an editor for one public file. It is a local operator console for deciding what AI crawlers may fetch, what AI-readable context the site publishes, whether the live routes are working, and how that output coexists with the site's SEO provider.

IndexMesh focuses on governance, not surveillance. It does not track crawler visits, monitor citations, or send site telemetry to a hosted IndexMesh service.

**Robots governance**
Choose which crawlers and bots can access your site from preset cards (WordPress, shop pages, sitemaps, search engines, social, AI, files, and scrapers), add your own per-crawler rules, and preview the exact `robots.txt` output. Site Access Protection can block a staging or headless site from being crawled, off by default and never without your confirmation. IndexMesh can keep a physical `robots.txt` in sync, and never deletes a file it did not create.

**llms.txt**
Describe your site for AI tools through guided tabs: Site Identity, what you offer, positioning, key pages, and the people behind your content. This creates a curated explanation of the site, not only a generated URL list. IndexMesh serves it at `/llms.txt` and `/.well-known/llms.txt`, either virtually or as a managed file it keeps in sync. If another plugin (for example Yoast SEO) already generates `llms.txt`, IndexMesh detects the conflict, tells you who owns it, and defers by default.

**Schema & entities**
Set the details search engines use to understand your business and authors, without depending on a page builder or a specific SEO plugin: Organization info (logo, website, official IDs, founder, related businesses, and physical offices with full addresses), the areas you serve, and author profiles with expertise and credentials. IndexMesh follows a provider-specific policy: it enriches supported graphs in place where possible, uses distinct supplemental output only where required, and suppresses itself when ownership is unsafe.

**Provider compatibility**
Works with Yoast SEO, Rank Math, AIOSEO, SEOPress, or plain WordPress. IndexMesh is provider-compatible and read-only toward providers, and never writes to another plugin's data.

IndexMesh is a complete, standalone WordPress plugin. It requires no IndexMesh account, subscription, or external IndexMesh service.

IndexMesh is developed and owned by IndexMesh Pvt. Ltd, an India-incorporated company (CIN U62013KL2026PTC105133), which controls the indexmesh.ai domain used in the Author URI above.

== Installation ==

1. Install and activate IndexMesh from Plugins > Add New (or upload the zip).
2. Open the **IndexMesh** menu in wp-admin.
3. **Robots**: turn on the crawler presets you want and preview `/robots.txt`.
4. **AI Discovery (llms.txt)**: fill in the guided tabs (or click "Fill from site info" to prefill from your existing settings), then publish.
5. **Schema & Entities**: add your business details, offices, and authors. If you use a supported SEO plugin, IndexMesh detects it and applies the safe output policy for that provider.
6. Use **Home > Compatibility** and **Schema & Entities > Schema Health** to review ownership and schema output.

== Frequently Asked Questions ==

= Does IndexMesh require an external service or account? =

No. By design, the IndexMesh WordPress plugin does not send data to IndexMesh or to any third party. Its only network requests are same-site health checks for your public routes and rendered pages.

= Does this require Yoast SEO? =

No. IndexMesh is SEO-provider-compatible, not Yoast-dependent. It works with Yoast, Rank Math, AIOSEO, SEOPress, or plain WordPress.

= Is this just another llms.txt editor? =

No. IndexMesh includes a guided `llms.txt` editor, but that is only one part of the plugin. It also manages AI/search crawler policy for `robots.txt`, checks public route health, stores business and author entity context for schema, and applies provider-aware coexistence rules so it does not blindly overwrite or duplicate output from an SEO plugin.

Many simple `llms.txt` tools focus on creating or editing a single Markdown file. IndexMesh focuses on the surrounding WordPress operations: who owns the route, whether the live file matches the intended content, which content should be excluded, how crawlers are allowed or blocked, and whether schema output is safe beside the active SEO provider.

= Will it conflict with my SEO plugin? =

IndexMesh never writes to a provider's data. With Yoast, Rank Math, and AIOSEO it enriches supported graph nodes in place. With SEOPress it enriches Organization and Article in place and may publish a distinct supplemental node, such as an author ProfilePage, when SEOPress cannot accept it. On plain WordPress, IndexMesh can publish eligible JSON-LD directly. Multiple active schema providers suppress IndexMesh output.

For `llms.txt`, IndexMesh defers by default when it detects a physical root file or a recognized competing owner. Because virtual-route ownership varies by provider and hosting setup, always verify the live `/llms.txt` response.

= Does IndexMesh guarantee rich results or AI citations? =

No. IndexMesh helps you publish clean, machine-readable guidance and shows readiness diagnostics. Search engines and AI tools decide what to do with it.

= Where can I get help? =

Open IndexMesh > Help for setup and troubleshooting. Use IndexMesh > Status to copy a diagnostic support report. For private support details, email support@indexmesh.ai. After publication, public setup questions and reproducible plugin issues should use the plugin's WordPress.org support forum.

== Screenshots ==

1. Start with a clear setup checklist for AI Discovery, robots, schema, and SEO-plugin compatibility.
2. Choose a robots preset, then fine-tune crawler access with per-group Allow and Block controls.
3. Build llms.txt from structured business facts, public summaries, and an optional About page.
4. Define your business identity for schema with smart prefill and provider-aware output decisions.
5. See how IndexMesh and your active SEO plugin share ownership of schema, sitemaps, robots, and llms.txt.
6. Verify public files and routes, including robots.txt, llms.txt, sitemaps, and homepage schema.
7. Run local schema health checks and review trust, validation, and provider-coexistence guidance.
8. Follow the built-in quick-start checklist and open focused guides for each IndexMesh workspace.

== Changelog ==

= 0.2.0 =

* Admin overhaul: new Home dashboard (what-needs-attention list + module cards), a consolidated Status health report with public-route checks (robots, llms.txt, .well-known, sitemap, homepage schema) and redirect-loop detection, a Help section with contextual help tabs, and WordPress Site Health integration.
* Context-aware Provider Compatibility: an active-provider ownership card, an optional "SEO plugins IndexMesh works with" install/activate list on plain WordPress, a clear message when multiple providers are active, and a public-output-issue state.
* Invited first-run setup wizard (never forced), a per-user Developer view for builder-facing detail, and Plugins-screen Settings/Get started links.
* Menu renamed around outcomes: AI Discovery (llms.txt), Schema Health, Status, and Help.
* Fixed: llms.txt status reads "live" when a managed file serves under a provider conflict; per-provider canonical sitemap URL (Yoast/Rank Math /sitemap_index.xml, AIOSEO /sitemap.xml, SEOPress /sitemaps.xml); provider-generic admin copy; retired page URLs redirect to their new homes.

= 0.1.0 =

* Robots governance: crawler preset cards, AI-bot policy, per-crawler rules, Site Access Protection, and guarded physical robots.txt management.
* llms.txt & discovery: structured admin, virtual/managed-file delivery, .well-known routing, a read-only REST payload and discovery manifest, caching, and conflict detection (including Yoast SEO llms.txt coexistence).
* Schema & entities: Organization editor (logo picker, page search, identifiers, founder, related businesses, multi-office locations, areaServed list), author E-E-A-T profile fields, per-post Article context, opt-in FAQ schema, and Schema Health.
* Provider compatibility: read-only adapters for Yoast, Rank Math, AIOSEO, SEOPress, and plain WordPress.
* Admin experience: plain-language copy, field placeholders, and smart prefill from site settings and Organization schema.

= 0.0.1 =

* Initial repository setup.

== Upgrade Notice ==

= 0.2.0 =

Admin experience overhaul: Home dashboard, a consolidated Status health report, Help, an invited setup wizard, WordPress Site Health checks, and a per-user Developer view. SEO output is unchanged.

= 0.1.0 =

First feature-complete build of the free foundation.
