Titles, schema, robots, sitemap, redirects and WooCommerce product URLs, plus llms.txt, Markdown endpoints and Site Identity JSON-LD for AI agents. Four modules on the WordPress core, with no database tables, no cron jobs and no Pro version to buy later.
Same clean metadata. Three audiences, one source of truth.
Answer engines and AI assistants now summarize and cite your content. They read the same metadata Google does, when it's clean enough to understand.
ChatGPT, Perplexity, Google AI and the rest paraphrase and link your pages. If your title, description and schema are messy, so is the way they represent you.
All-in-one suites pile on features you never open, constant upgrade prompts and a wide attack surface. Most sites use a small fraction of all that weight, and it is measurable: on one install the heaviest of the eight adds 3.9 MB of memory to a page a visitor loads, and another adds 32 database queries to it. See the measurements.
Classic SEO and AI visibility usually mean separate tools and duplicated effort. Your metadata should serve search, answers and AI at the same time, from one place.
Run the whole thing or just the part you need. Each module is independent and built on a native WordPress API.
Six tabs in the admin: Overview, Discover, Indexing, Sitemaps, Redirects and Tools. No setup wizard, no onboarding funnel and no dashboard widget you didn't ask for.
From the Discover tab, Visibility serves the endpoints, feeds and structured identity that AI agents need to find and read your content, all built on the WordPress core, with no file on disk and no cron.
Markdown index of your site for LLMs and AI agents. It lists every published entry of the content types you choose (whole taxonomies or specific terms) and can add taxonomy archive sections, so agents see how your content is organized and not just the individual entries. Force pages in or out, exclude URLs by pattern and write it as a physical file if you prefer; if another plugin leaves a physical llms.txt that would shadow this one, Visibility replaces it. Version 2 of the specification is built in: every page advertises the llms.txt that covers it, with a rel="describedby" link and a Link header, and each entry links to its Markdown version, content already clean for a language model.
The same index with the full Markdown text of each included page, for agents that need more than titles and URLs. It is the one to point an agent at when you want it to read your site rather than browse it. Both files are built on the fly, with no file on disk and no cron, they update themselves as your content changes, and both run the same access checks: what a logged-out visitor can’t read never reaches either of them. Inside llms.txt it is listed in the Optional section the specification reserves for secondary links, and as a link line rather than a sentence, so parsers that read the file to the letter no longer skip it.
Clean Markdown of any post or page at its URL with a .md suffix, with a YAML frontmatter block that lists its categories and tags, and on WooCommerce products the SKU, price, currency, stock status and rating. Tables arrive as tables, nested lists keep their numbering and code blocks carry their language, so the agent reads the document a reader sees. An X-Markdown-Tokens header estimates the token count, the same Markdown is returned when a client asks for it with an Accept: text/markdown header, and it's advertised with both an alternate link tag and a Link header.
Pick exactly which AI crawlers to Disallow from a grouped, selectable list, with model-training crawlers and AI search assistants kept apart. Add your own rules and preview the final robots.txt live, whether it's served through the WordPress virtual file or written to a physical one. The file references your llms.txt, and when another plugin writes a physical robots.txt, Visibility merges its directives into it in its own block and leaves everything else untouched, so your AI-crawler rules always reach crawlers.
The WebSite JSON-LD node points AI agents to your llms.txt, llms-full.txt and Markdown endpoints with ReadAction entries, so any assistant that reads your schema knows where to find the structured content. The Organization or Person node declares your logo, social profiles as sameAs and an optional Google sitelinks search box. The Article, FAQPage and Person graphs reference it, so search engines and AI assistants know who is behind the site, on the home page or any page you choose.
Every other line on this page is about handing AI more of your content and better structured. This one goes the other way. nosnippet is the directive Google documents for limiting how much of your text may be reproduced, on the result page and inside an AI answer, and it is the only lever you have over the quoting itself. Visibility puts it where noindex and nofollow already were, per entry, per term archive, in Quick Edit, in Bulk Actions and as a bulk rule by content type or taxonomy, each with its own per-entry exception, next to noimageindex for the images. It doesn’t touch indexing, so the entry still ranks, and the bulk tables warn you what you are trading before you save: your position doesn’t move, your clicks do.
llms.txt and the Markdown endpoints rebuild your content outside the normal template, and that is exactly how other plugins end up handing an AI agent an entry a reader would never see. Since 2.1 both ask first whether this visitor may read the entry: password-protected and members-only posts stay out of llms.txt, the entry types that membership, course and LMS plugins gate in their own templates are held back, and every AI document is built as a logged-out visitor, so an administrator generating one can no longer leak what only that administrator may read. The meta description, the Open Graph image and the JSON-LD stopped drawing on the body of an entry the visitor cannot open, though a hand-written excerpt is still used, because it was written to be shown. For any plugin Visibility doesn't know yet, the native_aeo_pack_content_is_public filter teaches it.
Three things the research keeps pointing at, and nothing that only looks good in a feature list.
Pages refreshed in the last month get cited noticeably more often by AI assistants. Your content lists now carry a "not updated in 90 days" filter with its count and a sortable Last updated column, over the same date the plugin already emits as dateModified and as sitemap lastmod. No score and no traffic light: which article deserves a rewrite is your call, and the threshold is yours to set.
The user profile gains job title, topics of expertise and credentials, emitted as jobTitle, knowsAbout and hasCredential on author archives, with WordPress.org and Facebook joining the sameAs URLs. A WordPress.org profile is a credential that a social account is not, because it exposes the contributor résumé behind it.
Switch it on and the native Details and Accordion blocks in your entries become FAQPage JSON-LD, question from the block heading, answer from its content, in the same schema graph as everything else. No separate builder and no duplicate fields, so the markup can only describe Q&A that is genuinely on the page. Off by default, because a Details block is not always a question.
What we don't claim: FAQPage helps AI assistants read your Q&A structure, it does not bring back the FAQ rich results Google retired in 2023. Piling on schema types doesn't move citations on its own either, which is exactly why there's no visual schema builder here.
Empty the /product/ base and WooCommerce puts it back. Ask for a category in the path and it forces a base in front. These three structures need a plugin, and now that plugin can be the one you already use for SEO.
The product slug on its own, with no base in front. The shortest URL a store can have, and the one WooCommerce refuses to keep.
The main category and the slug. You choose which category is the main one, and every other combination that still resolves 301s here.
The full category path. Deep structure without a single extra rewrite rule, because product URLs resolve in PHP after WordPress has done its own matching.
Drop /product-category/, /product-tag/, /brand/ and your product attribute bases independently, while your blog keeps /category/ if you want it. The screen shows how many rewrite rules your selection adds before you save, because a base-less URL costs one rule per term and you deserve to know that.
Visibility detects Premmerce Permalink Manager, names the conflict and says which one wins, because two plugins building the same URLs is how a store gets redirect loops. Its URL structure imports in one click from the Tools tab, read from its own settings whether it's still active or already switched off. The product tag base and the automatic 301 redirects that Premmerce charges for are free here, and so are the bases it doesn't cover at all: post tags, brands and product attributes. See the two side by side →
Cart, checkout and my-account need no setting, because WooCommerce marks them noindex itself, and the Indexing tab says exactly that instead of selling you a checkbox that promises what your store already does. What it does offer is one click for the archives that usually repeat your shop listing: product tags and the attribute archives you enabled start out noindexed, with a notice naming them. If one of those is a page people search for, a plus-sizes archive say, untick it and it gets the full treatment, meta title and description per term included. On store pages Visibility also stops emitting its own BreadcrumbList, because WooCommerce emits one there, so you get a single trail per page.
What most sites actually need for SEO, AEO and GEO, without the weight of an all-in-one suite.
The same clean metadata that ranks in search is what answer engines and AI assistants read to summarize and cite you.
Uses native APIs for robots, sitemaps and post meta. No custom database tables, no cron jobs, no external calls.
245 KB of PHP read on a visit, against the 2.5 MB of AIOSEO and the 3.1 MB of Yoast, measured on the same install. Every release passes a security audit before it ships.
Seven SEO suites, Redirection and Premmerce, all read in one click: titles, descriptions, title and description templates, canonicals, robots overrides, social images, verification codes, redirects and WooCommerce URL structure.
No Pro tier, no locked features, no banners in your admin, no data collection. The whole plugin, free, forever.
Site Identity declares who you are in JSON-LD, llms.txt hands AI agents a structured index, the .md endpoint serves any page as clean Markdown and the robots.txt editor controls crawler access.
The Tools tab exports every setting plus per-entry and per-term values as one JSON file, matched by slug rather than database ID, so staging to production works between sites that were never clones.
Four documented filters change what gets emitted, from the schema graph to the meta description, the OG image and the FAQ pairs, and public helpers read the resolved robots state without touching any storage.
Shares schema references with its sibling plugins instead of duplicating them, so your structured data stays clean.
The editor shows how your entry can look as a Google result, a shared social card and an AI Overview citing your page, with a plain character count and no traffic lights.
When Visibility finds data left by your previous plugin, whether that's Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO or SureRank, redirects from Redirection or the URL structure from Premmerce, the Tools tab offers a one-click import: titles, meta descriptions, title and description templates, canonical URLs, robots overrides, social titles and images, webmaster verification codes, redirects and WooCommerce URL settings, on posts and on taxonomy terms. It's non-destructive and idempotent, your existing values always win, and nothing is touched in the source plugin.
Visibility works on its own, but these plugins by the same author fit right in. Each one owns its job, so nothing overlaps or duplicates work.
Monitors and controls AI crawlers with analytics, blocking controls and an AI visibility score. Visibility handles the metadata and AI endpoints; VigIA owns the crawler side: who's visiting, how often, what they're taking. They share schema references so structured data never duplicates.
vigia.dev →Share buttons for social networks and AI assistants, with a citation back to your site. Built on the same clean metadata Visibility emits, so what gets shared and quoted stays accurate.
View on WordPress.org →Declare how AI systems may use your content through a physical robots.txt with AI signals. The policy layer that sits right above the metadata Visibility produces.
View on WordPress.org →An AI assistant for WooCommerce that turns the product data you already have into publication-ready product sheets, with rotating angles so no two products in your catalogue read the same. Data first, AI second: it flags what's missing instead of inventing it. Early access is open.
intellimmerce.com →Translate your content with AI without breaking blocks, images, SEO or taxonomies, and it also imports and translates posts from other sites.
vulgatai.com →Put WordPress on a diet: critical CSS, deferred JavaScript and bloat switches organized by risk level. Zero config to start, fully configurable if you want.
dietpress.dev →All-in-one WordPress security: firewall, two-factor authentication, security headers and file integrity, without the bloat of the big suites.
vigilante.works →Yes. There is no Pro version, no feature locked behind a paywall, no upsell banners and no data collection. The complete plugin is free and stays free.
For most sites, yes. It covers titles, meta descriptions, canonical URLs, Open Graph, schema, robots directives, redirect management, sitemap control and WooCommerce URLs. It leaves out keyword analysis and content scoring on purpose, so if you rely on those, keep your current suite. Either way, don't run two SEO plugins at once: they emit duplicate head tags and hurt your SEO, so keep one and deactivate the other.
Yes, with nosnippet, the directive Google documents for limiting how much of your text may be reproduced on the result page and inside AI answers. You get it per entry, per term archive, in Quick Edit, in Bulk Actions and as a bulk rule by content type or taxonomy, each with its own per-entry exception, alongside noimageindex for keeping images out of image search. Neither touches indexing, so the entry still ranks. The bulk tables say what it costs before you save: with nosnippet your position doesn’t move, your clicks do.
Yes, including its premium version. Visibility builds the same product URLs, removes the product tag base and adds the automatic 301 redirects that Premmerce charges for, plus the bases it doesn't cover at all: post tags, brands and product attributes, each on its own switch. If both plugins are active, Visibility wins and the Indexing tab names the conflict, because two plugins building the same URLs is how a store gets redirect loops. Import its structure from Tools, then deactivate it.
Yes. The one-click importer reads Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO and SureRank, bringing over titles, meta descriptions, canonical URLs, robots overrides, social titles and descriptions, social images and site-wide settings such as webmaster verification codes, plus exact-match redirects from Redirection and the URL structure from Premmerce. It's non-destructive, your existing values always win and nothing is changed in the source plugin, so you can run it safely and review before deactivating the old one.
Yes. The Tools tab exports every setting plus the per-entry and per-term values as one JSON file, matched by slug rather than database ID, so staging to production works even between sites that were never clones. On import you choose whether the file only fills in what is empty or replaces what is there, everything is validated exactly as the settings screen validates it, and no content is ever created: it tells you how many entries and terms didn't exist.
Partly, and here is the factual split. The reading side is done: llms.txt and llms-full.txt to version 2 of the specification, Markdown endpoints and Site Identity JSON-LD with ReadAction pointers, so an agent can find and read your content today. The writing side, registering abilities with the WordPress Abilities API so an agent can edit your SEO fields, is not in the plugin yet. Shipping it would force the minimum WordPress version up to 6.9, which today leaves about a quarter of all WordPress sites without updates, and that price isn't worth a headline. It arrives when that gap closes.
No. It's built on native WordPress functions, with no custom database tables, no cron jobs and no external API calls beyond a cached author avatar lookup. Even the WooCommerce product URLs resolve in PHP after WordPress has done its matching, instead of adding rewrite rules, so the number of rules on your site doesn't grow.
Yes. All public post types and taxonomies are supported, including WooCommerce product categories, tags, brands and attributes. Visibility controls the product URL structure and the taxonomy bases, leaves the Product schema and the store breadcrumbs to WooCommerce so nothing duplicates, and the Markdown version of a product carries its SKU, price, currency, stock status and rating in the frontmatter, so AI agents get the commercial data too.
Yes. On a network, each site serves its own robots.txt and llms.txt through Visibility's virtual endpoints. The physical file, a single file shared by the whole install, is only written where it really is that site's own (a single-site install or the main site of a subdirectory network), so one site can never overwrite another's rules. When a physical robots.txt in the network root is answering for every site, a network-admin button routes /robots.txt back into WordPress on Apache and LiteSpeed, checks what crawlers actually receive, and backs itself out if the server ignored it; the file on disk is never touched.
Site Identity is the JSON-LD that tells search engines and AI assistants who is behind your site: an Organization or Person node with your logo, social profiles as sameAs links and an optional SearchAction for the Google sitelinks search box. The WebSite node it produces also points AI agents to your llms.txt and Markdown endpoints with ReadAction entries. If your site already has a plugin handling Organization schema, check for duplicates, because the two will conflict. For most WordPress sites with no existing schema, enabling Site Identity in Discover is the right call.
Visibility is a project by AyudaWP, the largest Spanish-speaking WordPress community, created by Fernando Tellado, who has been helping WordPress users for over 20 years with tutorials, guides and plugins. We build tools that solve real problems. No gimmicks, no unnecessary subscriptions, no data collection. Plugins that work. Period.
Install Visibility in under a minute. It's free, needs no account, and your data never leaves your site.
Free download →