Finding your next read
Practical craft for people building for the web.
Explore DevelopmentFinding your next read
THE FINDERPRESS TOOL DIRECTORY
Explore this tool and check the official listing for its latest features and requirements.
01 / SOURCE DETAILS
Visibility is the SEO essentials in one light plugin: meta tags, canonical URLs, Open Graph, schema, robots rules, redirects, a robots.txt editor, llms.txt, Markdown for AI agents and control of the native XML sitemap, in about 505 KB. Free, all of it. No Pro version, no upsell banners, no account. No tracking. Nothing phones home. Light. Built on WordPress core APIs, with no database tables of its own and no cron jobs. Easy to switch to. One-click import from Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO and SureRank. Ready for AI search (AEO and GEO). Clean metadata, llms.txt and a Markdown version of every page, for ChatGPT, Perplexity, Gemini and other AI assistants to read and cite. Four modules, switch on only what you need Discover: meta tags, schema and AI discovery Meta title and meta description, with templates and per-post and per-term overrides. Canonical URLs on entries and on every listing. Open Graph and Twitter Cards. JSON-LD schema: Article, BreadcrumbList, Person, ProfilePage, FAQPage and Site Identity (Organization, LocalBusiness or Person). Choose the type per content type, or None to leave it to another plugin. Author details (job title, topics and credentials), shown with the Author details block or the [visibility_author_details] shortcode. Each author can pick a page as their profile page. AI discovery: llms.txt, llms-full.txt, a Markdown version of each page and a robots.txt editor with AI crawler rules. Respect nosnippet: content set to nosnippet stays out of the llms.txt summaries, llms-full.txt, Markdown and FAQPage. A filter for content that has not been updated in a while. Indexing: noindex and clean URLs noindex, nofollow, noimageindex and nosnippet, in bulk by content type and taxonomy or one by one. Rules for search results, 404, date, paginated, attachment and author archives, and for RSS feeds. Keep part of a page out of Google’s snippets with data-nosnippet , from the block editor or the classic editor. Remove the base of any taxonomy, choose a WooCommerce product URL structure and redirect attachment pages to their parent, with 301 redirects from the old URLs. Quick Edit, bulk actions and a Visibility column on your post and term lists. Sitemaps: control of the native XML sitemap Works on the sitemap WordPress already generates, instead of adding a second one. Exclude post types, taxonomies, users, posts and terms. Noindexed content stays out automatically, and so does content whose canonical URL points to another address. Add URLs of pages served outside WordPress. lastmod dates, and 301 redirects from the sitemap URLs of your previous SEO plugin. Keeps /wp-sitemap.xml answering 200 on a site with no blog posts, which older WordPress versions got wrong. Redirects: 301, 302, 307 and 410 Managed from the admin: no .htaccess editing, no custom table, no 404 log. CSV import and export. A suggested redirect when you delete a post. Take over the redirects WordPress creates when a slug changes. Redirect chains answered in one hop, and loops refused. Good to know Per-post controls live in the Block Editor sidebar and in a Classic Editor meta box, with a live preview of your Google result, your social card and an AI answer. The Tools tab groups the importers and exports your configuration as JSON for another site. AI agents can read and edit the SEO of your posts and terms through the WordPress Abilities API, with the WordPress MCP Adapter, Novamira or any other client. EMCP Tools exposes the same fields over MCP while you edit a page in Elementor. Visibility replaces a full SEO plugin instead of running next to one, and warns you if another one is active. Perfect companions Visibility works on its own. These plugins pair well with it: VigIA : see which AI crawlers visit your site. Both plugins share the Site Identity schema without duplicating it. Share Buttons & AI-powered Summaries : share buttons for social networks and AI assistants. AI Content Signals : tell AI systems how they may use your content (training, search or both) through robots.txt . Vigilante : all-in-one WordPress security: firewall, login protection, security headers, 2FA and file integrity monitoring. External services This plugin connects to Gravatar (operated by Automattic Inc.) to check whether an author has a public avatar, so it can be used in Open Graph ( og:image ) and in Person schema ( image ). What is sent: an MD5 hash of the author email, in a HEAD request to https://www.gravatar.com/avatar/{hash}?d=404 . The email address itself is never sent. When: on a single post or page with Open Graph on and no other image available (social image, featured image, WooCommerce gallery image or image in the content), and on an author archive with Person schema on. How often: the result is cached for 24 hours, so later page loads do not contact Gravatar again. It is the same lookup WordPress uses for comment avatars. Gravatar’s privacy policy: https://automattic.com/privacy/ Performance and security “Lightweight” should be a measurement, not a slogan. These are the real numbers for this release, refreshed on every update. Footprint (3.0.0) Download size: about 505 KB zipped. Codebase: 51 PHP files, roughly 39,700 lines of PHP, plus 3,400 lines of JavaScript and 2,600 of CSS, loaded only where they are used. On a page view: 26 PHP files, and no database query added to a post, a page or the home page of a default install. No custom database tables. One option for the settings and native WordPress meta for per-post, per-term and per-author values. No cron jobs. No external HTTP calls , except the cached Gravatar check described above. Built on WordPress core APIs ( wp_robots , wp_sitemaps_* , register_post_meta , get_canonical_url , the Block Editor). Measured against other SEO plugins The same clean WordPress, the same theme and the same 30 posts, with one SEO plugin active at a time on its default settings. Each figure is what that plugin adds to WordPress with no SEO plugin. Measured in October 2026 on the current release of each one, on a single machine: what carries over to your site is the order, not the exact figure. PHP files loaded on every page view: 26. SureRank 122, SEOPress 134, Rank Math 267, All in One SEO 303, Yoast SEO 588. Database queries added to a post: none. SEOPress 1, Yoast SEO 3, SureRank 7, Rank Math 16, All in One SEO 32. Server time added to every page view: about 2 ms. Yoast SEO 7, SEOPress 8, Rank Math 11, SureRank 12, All in One SEO 17. JavaScript loaded in the editor: 41 KB. SEOPress 89 KB, Rank Math 1.4 MB, SureRank 1.9 MB, Yoast SEO 3.5 MB. Download size: about 505 KB. SEOPress 2.8 MB, Rank Math 3.6 MB, Yoast SEO 4.9 MB, SureRank 6 MB, All in One SEO 7.3 MB. Custom database tables and cron jobs: none. SureRank 0 and 1, SEOPress 1 and 0, Rank Math 6 and 4, Yoast SEO 6 and 6, All in One SEO 13 and 1. Security Every release passes a security audit of the changed code before it ships. Small attack surface: no custom tables, no unauthenticated endpoints, escaped output, validated input and prepared database queries. No telemetry and no data collection. Support Need private support or custom development? Do you need one-on-one help, priority troubleshooting, or a custom feature, integration, or tweak built specifically for your site? I offer private support and custom development. Just contact me and tell me what you need. Need help or have suggestions? Official website WordPress support forum YouTube channel Documentation and tutorials Love the plugin? Please leave us a 5-star review and help spread the word! About AyudaWP We are specialists in WordPress security, SEO, AI and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.
02 / SOURCE DETAILS
Upload the native-aeo-pack folder to /wp-content/plugins/ or install through the Plugins screen. Activate the plugin. Open Visibility in the admin sidebar to review the active modules and tune the defaults. Done. Meta tags, robots directives and sitemap filters are applied automatically based on your settings.
03 / SOURCE DETAILS
Is Visibility an alternative to Yoast, Rank Math, All in One SEO or SEOPress? For most sites, yes. It covers titles, meta descriptions, canonical URLs, Open Graph, schema, robots rules, redirects and the sitemap, and it imports your data from those plugins in one click. It has no keyword analysis or content scoring. If you need those, keep your current plugin: Visibility is not meant to run alongside another SEO plugin. How do I migrate from another SEO plugin? Install and activate Visibility. Your old plugin can be active or already deactivated. Open the Tools tab. The import card shows what it found, field by field. Import, check a few entries and deactivate the old plugin. What to expect: From: Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO and SureRank. What comes over: titles, meta descriptions, canonical URLs and robots rules of posts and terms, social titles, descriptions and images, schema types, verification codes and title templates. Site identity: entity type (with its organization or business type), name, logo, social profiles, contact, address and company details from SEOPress, Rank Math and Yoast SEO. Coordinates, price range and opening hours from Rank Math. More than one plugin: the one in use takes each value (active first, then installed, then the one set up last), and it decides the entity type. Redirects: from Rank Math, All in One SEO, SEOPress and the Redirection plugin. Templates: variables such as %%title%% are converted. One that needs a custom field or a date is left where it is. Safe to repeat: nothing is deleted from the old plugin, what you already set in Visibility is kept, and running it again never duplicates anything. I used Native SEO Meta Tags, NoIndexer or Sitemap Customizer. How do I migrate? Install and activate Visibility, open the Tools tab and click Import now . The import copies your data and never deletes it, and what you already set in Visibility is kept. Then deactivate the old plugins. Is Visibility free? Is there a Pro version? It is free. There is no Pro version, no add-ons and no upsell banners. Everything on this page is in the plugin you download, including the redirects, the importers, the WooCommerce URL structures and the AI discovery files. No account and no license key. Will Visibility slow down my site? It is built not to: no database tables of its own, no cron jobs and no external calls apart from a cached Gravatar check. Most of the work is done by WordPress core functions. The numbers of each release are in “Performance and security”. Does Visibility track me or send my data anywhere? No. There is no telemetry, no usage analytics and no account. The only outside request it can make is the cached Gravatar check described in “External services”, which sends a hash of the author email and never the address. Are there any database tables? No. Settings live in one WordPress option, and per-post, per-term and per-user values in native WordPress meta. Deleting the plugin removes the option and keeps those values, so reinstalling does not lose your work. Can I disable individual modules? Yes. The Overview tab switches Discover, Indexing, Sitemaps and Redirects on and off independently. What are AEO and GEO, and does Visibility do them? AEO (answer engine optimization) and GEO (generative engine optimization) mean being found, understood and cited by AI assistants such as ChatGPT, Perplexity, Claude and Google’s AI answers. Nobody outside those companies knows exactly how they choose their sources, so Visibility works on what you can check yourself: Freshness: a filter and a Last updated column for content that has gone stale. Authorship: author details in Person schema and on the page. Questions and answers: FAQPage from the Q&A you have published. No plugin can promise you a citation. How does Visibility help with AI (AEO / GEO)? It gives AI search and assistants clean signals to read: Site Identity schema: who is behind the site. llms.txt and llms-full.txt: a Markdown index of your content. A Markdown version of every page at its .md URL. A robots.txt editor to allow or block AI crawlers by name. The companion plugin VigIA shows which AI crawlers actually visit. Can an AI agent manage my SEO? Does Visibility work with MCP and Novamira? Yes, on WordPress 6.9 or later, which is where the Abilities API arrived. Visibility registers six abilities with it, and any client finds them: the WordPress MCP Adapter, Novamira and others. Read and write the SEO of a post, a page or a product. Read and write the SEO of a category, a tag or a term. List the entries with no Meta description or no Meta title. Read the SEO status of the site. An agent can do no more than the user it is signed in as: each ability asks for the same permission as the editor. Visibility adds no server, endpoint or API key of its own. To switch them off, untick the box in Visibility > Overview > AI agents. Does Visibility generate llms.txt and a Markdown version of my pages? Yes, both, generated on the fly from your content, so there is nothing to regenerate when you publish: /llms.txt : a Markdown index of your site, by content type and taxonomy, with WooCommerce-aware entries. /llms-full.txt : the long version. Every entry also answers at its own .md URL. Both files are kept in wp-content/uploads/native-aeo-pack/ , one per language, and rebuilt on the first request after a change. With the physical file option on, your server has to pass /llms.txt to WordPress when the file is missing. Keep expectations realistic: llms.txt is a proposed convention, not a standard. Google has said it ignores it and no major AI vendor has confirmed support. Does Visibility add schema markup and structured data? Yes, as a single JSON-LD graph, with per-post and per-term overrides: Article, with the type chosen per content type (BlogPosting, NewsArticle and others). BreadcrumbList. Person and ProfilePage for authors. FAQPage from Details and Accordion blocks. Site Identity (Organization, LocalBusiness or Person, and WebSite) on the home page. It does not add Recipe, Product, Event or HowTo. Those need data that the plugins owning it already mark up, such as WooCommerce for Product. Does Visibility add local business (local SEO) schema? Yes. In Discover > Site Identity pick Local business as the entity type: Business type: Restaurant, Dentist, Store and many more, or the generic LocalBusiness. Address and coordinates. Phone and email. Price range. Opening hours, with split hours. Cuisine and menu, for restaurants, cafés, bars and other food businesses. Google lists the address as required for a local business. The settings screen warns you when it is missing. It is one node on the home page, shared with the rest of the schema. It is not a store locator and it does not manage reviews. My business has more than one location. Can I mark up the others? Visibility describes one business. Give each other location a page of its own and add its node there with the native_aeo_pack_schema_graph filter: add_filter( 'native_aeo_pack_schema_graph', function ( $graph, $context, $post ) { if ( 'article' === $context && $post && 'riverside' === $post->post_name ) { $graph[] = array( '@type' => 'Restaurant', '@id' => get_permalink( $post ) . '#business', 'name' => 'Casa Marta Riverside', 'url' => get_permalink( $post ), 'address' => array( '@type' => 'PostalAddress', 'streetAddress' => 'Calle del Río, 3', 'addressLocality' => 'Segovia', 'addressCountry' => 'ES', ), 'parentOrganization' => array( '@id' => home_url( '/#identity' ) ), ); } return $graph; }, 10, 3 ); Google asks for each location to be a LocalBusiness of its own, with the address of its page in url . How do I tell Google the name of my site? In Discover > Site Identity : Name : the name of the site. Empty, it is the site title. Alternate names : an acronym or a shorter name, one per line. Both go in the WebSite markup of the home page, which is where Google reads the site name from. That markup stays on the home page when you print the identity on another page. The Rich Results Test does not show my organization. Why? The test only lists an organization that carries a contact detail. Add an email or a phone in Discover > Site Identity and it shows up. Without one, the markup is still valid and Google still reads the name, the logo and the profiles. You can see it in the page source or in validator.schema.org. Can I stop Visibility from writing schema and use a specialised plugin instead? Yes, at three levels: Everything: uncheck JSON-LD: Article and BreadcrumbList in the Discover tab. One content type: set its schema type to None . One entry: pick None in its Schema type field. None adds no Article, BreadcrumbList or FAQPage to that content. Site Identity is a separate setting and keeps working. Developers can also use the native_aeo_pack_schema_graph filter. Does Visibility mark up author pages as ProfilePage? Yes. The author archive of anyone with at least one published post gets a ProfilePage with their Person: job title, topics, credentials and profiles. An author can also pick a page, such as About me, as their profile page, and that page becomes their ProfilePage. The Author details block or the [visibility_author_details] shortcode shows those fields on the page. Does Visibility control the XML sitemap? Yes. It customizes the sitemap WordPress already generates at /wp-sitemap.xml , so there is no second sitemap, no cache to clear and nothing to rebuild: Exclude post types, taxonomies, single posts and terms, and users by role. Noindexed content stays out automatically. Content whose Canonical URL points to another address stays out too. Google asks not to list one address in the sitemap and declare another as canonical. Add URLs of pages that are not WordPress content. Set lastmod dates and the number of URLs per sitemap. The sitemap URLs of your previous SEO plugin ( sitemap.xml , post-sitemap.xml ) are 301-redirected to the native o
KEEP EXPLORING