Visibility – Lightweight SEO for Search and AI

Description

Visibility is the SEO essentials without the suite. It covers what most sites actually need (meta titles and descriptions, canonical URLs, Open Graph and Twitter Cards, JSON-LD schema, robots directives, redirects and the native XML sitemap) in about 145 KB, with no Pro tier, no upsell banners and nothing phoning home. It is built on WordPress core APIs (wp_robots, wp_sitemaps_*, register_post_meta, the Block Editor), so most of the work is the platform’s, already optimized.

Coming from Yoast, Rank Math, All in One SEO or SEOPress? Visibility imports your titles, descriptions, robots, Open Graph, schema and redirects in one click, so switching takes minutes. And the clean metadata it outputs is exactly what search engines and AI assistants (ChatGPT, Perplexity, Gemini) read to understand and cite your content: the AEO/GEO angle, without the bloat.

Four modules you toggle independently from the Overview tab:

  • Discover — meta title and description, Open Graph and Twitter Cards, and Article, BreadcrumbList and Person JSON-LD with a schema @type per content type. Per-post and per-term overrides for title, description, canonical, social title and description, and image.
  • Indexing — bulk or per-item noindex / nofollow by post type and taxonomy, with smart exclusions and rules for search, 404, date, paginated, attachment and author archives plus RSS feeds. Quick Edit, Bulk actions and a Robots column on your lists.
  • Sitemaps — control over the native XML sitemap: exclude post types, taxonomies, users, posts and terms; lastmod dates; 301s from old sitemap URLs; and anything noindexed is kept out automatically.
  • Redirects — a lightweight 301 / 302 / 307 / 410 manager resolved in PHP (no .htaccess, no custom table, no 404 log), with CSV import / export, suggested redirects when you delete a post, and the WordPress slug-change redirects surfaced to manage.

Per-post controls live in a single Block Editor panel, with a matching Classic Editor meta box, plus Quick Edit and Bulk actions on the post list.

Visibility replaces a full SEO suite, it does not run alongside one: two SEO plugins fight over the <head>. If it detects Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework or Slim SEO active, it warns you on the settings page so you run only one. The exact footprint, the migration detail and the recommended companion plugins are below.

Perfect companions

Visibility is fully independent — these plugins aren’t required — but they pair really well with it:

  • VigIA — AI visibility, crawler analytics, Site Identity JSON-LD on the home page. Visibility coordinates @id references with VigIA so both can add schema without duplicating the Organization or WebSite nodes.
  • AI Share & Summarize — share buttons for social networks and AI assistants. Helps your content reach both audiences and language models.
  • AI Content Signals — control how AI systems can use your content (training, search, both) through robots.txt directives endorsed by Cloudflare.
  • Vigilante — all-in-one WordPress security: firewall, login protection, security headers, 2FA, file integrity monitoring.

External services

This plugin connects to Gravatar (operated by Automattic Inc.) to check whether the post or page author has a public Gravatar avatar, so it can be exposed in Open Graph tags (og:image) and in Person JSON-LD (image) for E-E-A-T.

What data is sent and when:

  • When a singular view is rendered and the Open Graph module is active, and no other image source exists (per-post og:image, featured image, WooCommerce gallery image, inline content image), the plugin sends an MD5 hash of the lowercased and trimmed author email to https://www.gravatar.com/avatar/{hash}?d=404 via wp_remote_head() (HEAD request, no body).
  • When an author archive is rendered and the Person schema module is active, the same probe is performed for that author.
  • The original email address is never sent — only an MD5 hash, which is the standard Gravatar lookup mechanism.
  • The result (found / not found) is cached for 24 hours in a transient so subsequent page loads do not hit Gravatar again.

This is the same mechanism WordPress itself uses to display Gravatar avatars in comments. 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 (1.6.0)

  • Download size: about 145 KB zipped.
  • Codebase: 32 PHP files, roughly 12,500 lines of PHP.
  • Zero custom database tables. Settings live in a single autoloaded option; per-post, per-term and per-author values use native WordPress meta that is already in the object cache.
  • Zero cron jobs and no scheduled background processes.
  • Zero external HTTP calls, with a single exception: a cached Gravatar HEAD probe (24-hour TTL) that exposes the author avatar for E-E-A-T, the same lookup WordPress already performs for comment avatars.
  • Built on WordPress core APIs (wp_robots, wp_sitemaps_*, register_post_meta, get_canonical_url, the Block Editor), not private reimplementations, so most of the work is the platform’s and already optimized.

Security

  • Every release passes a security audit of the changed code (sanitization, escaping, nonces, capabilities, SQL) before it ships. It is a release gate, not an afterthought.
  • Minimal attack surface by design: no custom tables, no unauthenticated endpoints, output escaped where it is emitted, input validated against allowlists, and prepared statements for every database query.
  • No premium tier, no telemetry, no data collection. Nothing phones home.

A smaller surface is a smaller target.

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?

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.

Installation

  1. Upload the native-aeo-pack folder to /wp-content/plugins/ or install through the Plugins screen.
  2. Activate the plugin.
  3. Open Visibility in the admin sidebar to review the active modules and tune the defaults.
  4. Done. Meta tags, robots directives and sitemap filters are applied automatically based on your settings.

FAQ

Does Visibility replace Yoast / Rank Math / AIOSEO?

For most sites, yes. Visibility covers what 90% of sites actually need: titles, meta descriptions, canonical URLs, Open Graph, schema, robots directives, redirect management and sitemap control — and it imports your per-post data from those plugins in one click. It does not include keyword analysis or content scoring. If you don’t need those, Visibility is a much lighter alternative. If you do, stick with your current SEO plugin — Visibility isn’t meant to run alongside.

How do I migrate from Yoast SEO, Rank Math or All in One SEO?

Install and activate Visibility. If data from any of those plugins exists in your database (the suite can be active or already deactivated), the Overview tab shows an import card with a per-field breakdown: titles, meta descriptions and robots overrides on posts and on taxonomy terms, plus canonical URLs, Open Graph images, social titles and descriptions, the default social image and the per-content-type schema type. Your existing 301, 302, 307 and 410 redirects come over too, from Rank Math, All in One SEO and SEOPress. One click copies it all into Visibility without touching the source plugin, skipping anything you already set here and any value built from the suite’s template variables (%%title%%, %title%, #post_title) — Visibility generates those from your real content. From its free version, All in One SEO stores fewer fields (no Open Graph images and no per-term SEO, which are AIOSEO Pro features); Yoast and Rank Math import the full list, taxonomy terms included. The per-field breakdown always shows exactly what was found before you import, and the import is non-destructive and idempotent: your existing Visibility values win and re-running never duplicates. Review a few entries, then deactivate the suite. Old sitemap URLs (sitemap.xml, post-sitemap.xml…) keep working through a 301 redirect to the native /wp-sitemap.xml.

I used Native SEO Meta Tags, NoIndexer or Sitemap Customizer. How do I migrate?

Install and activate Visibility. If it finds data from any of those plugins, the Overview tab shows an import card with a per-plugin breakdown and an “Import now” button. The import is non-destructive (it copies, never deletes) and your existing Visibility values win on any conflict, so you can run it safely. Once you’ve imported and checked everything, deactivate the old plugins.

Are there any database tables?

No. Visibility stores its settings in a single WordPress option and uses native post, term and user meta tables for per-content overrides. Deleting the plugin removes the option; per-content overrides remain so reinstalling does not lose your work.

Can I disable individual modules?

Yes. The Overview tab lets you toggle Discover (meta tags), Indexing (robots), Sitemaps and Redirects independently. You can run only what you need.

Does it work with custom post types and custom taxonomies?

Yes. All public post types and taxonomies are supported — including WooCommerce product categories, tags and attributes (the latter requires “Enable Archives?” in the WooCommerce attribute settings).

How do I set noindex on a single post?

In the Block Editor, open the Visibility panel in the post sidebar and tick the noindex toggle. In the Classic Editor, the same toggle is in the Visibility meta box. You can also use Quick Edit or Bulk Actions from the post list.

Where does Visibility store per-post overrides?

In standard WordPress post meta (_native_aeo_pack_* keys). Term overrides go to term meta, user social URLs to user meta. Nothing leaves the standard WordPress tables.

How can other plugins or themes detect Visibility’s robots state?

Public helper class methods are available for third-party integrations. Documentation will be expanded as the public API stabilizes.

Reviews

June 23, 2026
Perfect SEO plugin for anyone who wants essential SEO features without bloat. Lightweight, fast, and fully integrated with WordPress core. Includes everything needed for modern SEO, AEO, and AI visibility.
June 23, 2026
From what i’ve seen it has a lot already and apparently it plans to be a bigger one having pro features from other plugins for free so definitely giving it a try and prob gonna be my new SEO plugin from now on
Read all 2 reviews

Contributors & Developers

“Visibility – Lightweight SEO for Search and AI” is open source software. The following people have contributed to this plugin.

Contributors

“Visibility – Lightweight SEO for Search and AI” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Visibility – Lightweight SEO for Search and AI” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.6.0

  • New: Redirects — a new module with a lightweight redirect manager. Send old or moved URLs to a new destination with a 301, 302, 307 or 410, matched by exact path. Redirects are stored in a WordPress option and resolved in PHP on every request, so they work on any server with no .htaccess, no custom database table and no 404 log. From the Redirects tab you can add, edit and delete them (with a post search to fill the target), find and bulk-delete them in a paginated, instant-search table, and import or export the whole list as CSV, including CSV files exported by other redirect plugins such as Redirection.
  • New: Beyond the redirects you create, the Redirects tab surfaces two more kinds for you to manage: the slug-change redirects WordPress makes on its own when a published post’s URL changes (take one over to edit it, or remove it), and a suggested redirect for the URL of any published post you trash or delete (turn it into a 301 or a 410, or dismiss it). Nothing is created without your action, and restoring a post clears its suggestion.
  • Improved: When you import from Rank Math or SEOPress, your redirects come over too, non-destructively (your existing redirects win and re-running never duplicates).

For older changelog entries, please check the changelog.txt file.