Free WordPress plugin

Visible to search.
Visible to AI.

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.

4
Modules
0
Database tables
9
Plugins to import from
100%
Free forever
One post · three audiences reading it
Search engine
Structured data that AI can read
visibility.quest › blog
A clean meta description pulled straight from your own content, no template tags left behind…
AI assistant
Clean metadata and schema are what let AI assistants understand and quote your page.1
1 · visibility.quest
Rich result
Home › Blog › Schema
ArticleBreadcrumbAuthorFAQPageOrganizationWebSite
JSON-LD built from the content you already have.

Same clean metadata. Three audiences, one source of truth.

The problem

You optimized for Google. But who else is reading?

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.

01
Who's reading

A new layer of readers

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.

02
Plugin bloat

SEO plugins got heavy

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.

03
Disconnected

Two layers, no bridge

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.

How it works

Four modules. Toggle each one on its own.

Run the whole thing or just the part you need. Each module is independent and built on a native WordPress API.

01 · Discover

Meta tags, schema & AI layer

  • Titles and meta descriptions from your real content, or composed by a template built from six WordPress-native pieces (page title, separator, site name, page number, tagline and the entry's main taxonomy term), in your own order and wording, with one template per content type, per taxonomy and for the front page. Open Graph and Twitter Cards with smart image fallback, and a neutral character count under each field.
  • JSON-LD: Article, BreadcrumbList, FAQPage, Person and Site Identity, that is Organization or Person plus WebSite with logo, social profiles as sameAs and optional SearchAction.
  • Author expertise in the Person graph: job title, topics of expertise and credentials from the user profile, emitted as jobTitle, knowsAbout and hasCredential.
  • llms.txt and llms-full.txt on the fly, with every published entry of the types you choose, taxonomy archive sections and URL-pattern exclusions.
  • Markdown endpoint for any post or page at its .md URL, with YAML frontmatter carrying categories, tags and WooCommerce product data, also via Accept: text/markdown header.
  • robots.txt editor: pick which AI crawlers to Disallow, add custom rules, preview the file live and keep your rules in force even when another plugin writes a physical robots.txt.
  • Editor preview of how the entry can look as a Google result, as a social card and as an AI Overview citing your page, resolved live from your fields.
  • Content freshness in your list tables: a "not updated in 90 days" filter with its count and a sortable Last updated column, on every content type.
  • FAQPage built from the native Details and Accordion blocks you already use.
  • Verification codes for Google, Bing, Yandex and Pinterest, canonical URL control on any entry, plus per-post and per-term overrides.
02 · Indexing

Robots directives & URLs

  • Bulk noindex, nofollow, noimageindex and nosnippet by content type and by taxonomy, one setting for every entry of that type or every term archive.
  • Per-post and per-term overrides for each of the four directives, with explicit exclusions that invert the bulk rule for a single entry.
  • nosnippet limits how much of your text may be reproduced, on the result page and inside AI answers, and noimageindex keeps its images out of image search. Neither touches indexing.
  • Own rules for the pages engines don't need: search results, 404s, date archives, attachment pages and author archives, each with its own switch.
  • Pagination covered even in block themes, and an X-Robots-Tag HTTP header on five feed types, where a meta tag can't reach.
  • Product URL structure WooCommerce won't build: the slug alone, the category and the slug, or the full category path, with 301s from every old variant.
  • Remove the base of each taxonomy on its own, from /product-category/ to /product-tag/, brands and product attributes, with the rewrite-rule cost shown before you save.
  • Quick Edit, Bulk Actions and one Visibility column with robots and sitemap status together, on post lists and, since 2.5, on every taxonomy term list too, plus a rel="nofollow" checkbox in the Classic Editor's link popup.
  • Filter views next to All and Published for the entries you set to noindex yourself and the ones you keep indexable against a bulk rule, with cached counts and no empty views.
  • Anything flagged noindex is kept out of the XML sitemap automatically, so you never hand engines a URL you're asking them to ignore.
03 · Sitemaps

Native XML sitemap

  • Exclude post types, taxonomies, users or single entries.
  • Keep an entry or a term archive out of the sitemap without setting it to noindex, which is what a thank-you page, a campaign landing or a category you don't want crawled needs: indexable if someone links it, not offered up for crawling.
  • Additional URLs in their own sub-sitemap for pages that live outside WordPress: a static landing page, a microsite on a subdomain, the pages of a headless front end.
  • Lastmod dates on every URL and on the index.
  • A real 200 on sites with no blog posts, where bare WordPress serves the sitemap under a 404 and search engines discard it.
  • 301 redirects from legacy sitemap URLs to the native one.
  • Detector for static sitemap files that override the core.
04 · Redirects

Redirects manager

  • 301, 302, 307 and 410 redirects matched by exact path, so a rule never fires on a URL you didn't mean.
  • No .htaccess needed, it resolves in PHP on every request, so it works the same whatever your server runs.
  • Add, edit, bulk-delete and import or export as CSV.
  • Handles WordPress slug changes and suggests a redirect when you delete an entry.
  • One-click import of your exact-match redirects from the Redirection plugin, from the Tools tab, with nothing changed in the source plugin.

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.

AI-native layer

Everything an AI agent needs. All native to WordPress.

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.

/llms.txt

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.

/llms-full.txt

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.

/your-post.md

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.

robots.txt editor

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.

Site Identity connects the graph

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.

And how much of it they may quote

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.

What is closed stays closed

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.

AEO with evidence

The signals that actually get you cited

Three things the research keeps pointing at, and nothing that only looks good in a feature list.

01

Freshness you can see

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.

02

Author expertise, verifiable

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.

03

Q&A structure from your own blocks

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.

WooCommerce

Product URLs WooCommerce won't build

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.

/my-product/

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.

/t-shirts/my-product/

The main category and the slug. You choose which category is the main one, and every other combination that still resolves 301s here.

/clothing/t-shirts/my-product/

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.

taxonomy bases, one by one

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.

Paying for Premmerce? You can stop

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 →

Straight answers for the rest of the store

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.

Why Visibility

The essentials, done natively

What most sites actually need for SEO, AEO and GEO, without the weight of an all-in-one suite.

01

SEO, AEO & GEO at once

The same clean metadata that ranks in search is what answer engines and AI assistants read to summarize and cite you.

02

Built on the WordPress core

Uses native APIs for robots, sitemaps and post meta. No custom database tables, no cron jobs, no external calls.

03

Light by design

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.

04

Bring what you actually used

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.

05

Zero upsell, really free

No Pro tier, no locked features, no banners in your admin, no data collection. The whole plugin, free, forever.

06

Built for the agentic web

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.

07

Your setup, portable

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.

08

Made to be extended

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.

09

Part of a coordinated family

Shares schema references with its sibling plugins instead of duplicating them, so your structured data stays clean.

10

Factual diagnostics, not scoring

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.

Migration

Coming from another SEO plugin?

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.

TitlesDescriptionsTitle templatesCanonicalsnoindex / nofollowSocial titles & imagesVerification codesPer-term metaRedirectsWooCommerce URLs
Not sure which one to leave behind? Compare SEO plugins →
Import summary
Post titles & descriptionsready
Canonical URLsready
Robots overridesready
Term metaready
Premmerce URL structureready
Import now
Perfect companions

Part of a WordPress family

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.

FAQ

Common questions

Is it really free?+

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.

Does it replace my current SEO plugin?+

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.

Can I control how much of my text AI answers reproduce?+

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.

Can Visibility replace Premmerce Permalink Manager?+

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.

Can I migrate from another SEO plugin?+

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.

Can I move my configuration between sites?+

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.

Is Visibility ready for AI agents and MCP?+

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.

Will it slow my site down?+

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.

Does it work with WooCommerce and custom post types?+

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.

Does it work on multisite?+

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.

What is Site Identity and do I need it?+

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.

Compare Visibility with other SEO plugins →
About

Created by Fernando Tellado

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.

+20
Years with WordPress
4
Modules in one
100%
Free
0
Data collected

Get found. By everyone, and everything.

Install Visibility in under a minute. It's free, needs no account, and your data never leaves your site.

Free download →