Title: Native AEO Pack
Author: Fernando Tellado
Published: <strong>June 8, 2026</strong>
Last modified: June 8, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/native-aeo-pack.svg)

# Native AEO Pack

 By [Fernando Tellado](https://profiles.wordpress.org/fernandot/)

[Download](https://downloads.wordpress.org/plugin/native-aeo-pack.1.0.0.zip)

[Live Preview](https://wordpress.org/plugins/native-aeo-pack/?preview=1)

 * [Details](https://wordpress.org/plugins/native-aeo-pack/#description)
 * [Reviews](https://wordpress.org/plugins/native-aeo-pack/#reviews)
 *  [Installation](https://wordpress.org/plugins/native-aeo-pack/#installation)
 * [Development](https://wordpress.org/plugins/native-aeo-pack/#developers)

 [Support](https://wordpress.org/support/plugin/native-aeo-pack/)

## Description

**Native AEO Pack** brings together everything a WordPress site needs for technical
SEO without installing a heavyweight all-in-one plugin. It is built around WordPress
native features (`wp_robots`, `wp_sitemaps_*`, `register_post_meta`, the Block Editor
sidebar) and stays out of your way: no custom database tables, no cron jobs, no 
third-party calls beyond a cached Gravatar lookup.

Three modules — Meta Tags, NoIndex and Sitemap — that you can toggle independently
from a single settings page.

#### Meta tags and social cards

 * **Document title and meta description** on home, singulars, taxonomy archives
   and author archives, auto-generated from the content you already have (post title,
   excerpt, term description, user biographical info).
 * **Open Graph** tags (`og:title`, `og:description`, `og:image`, `og:url`, `og:
   type`, `og:site_name`).
 * **Twitter Card** tags (`summary_large_image` when an image is available, `summary`
   otherwise).
 * **Article + BreadcrumbList JSON-LD** on posts and pages for Google rich results.
 * **Person JSON-LD** on author archives with `sameAs` from user profile social 
   URLs (E-E-A-T).
 * **Smart image detection** for `og:image`: per-post override  featured image  
   WooCommerce gallery  first inline image in the content  fallback Open Graph image.
 * **Customizable**: max length of auto-generated descriptions, home description
   override, fallback Open Graph image, site-wide Twitter `@username` and Facebook
   App ID, publisher logo for Article schema.
 * **Per-post overrides** in the post sidebar: meta title (also replaces the document
   title), meta description, Open Graph image.
 * **Author social URLs**: fields added to the user profile (Twitter/X, LinkedIn,
   GitHub, Mastodon, Instagram, YouTube) used as `sameAs` in Person schema.

#### Robots directives (noindex / nofollow)

 * **Bulk noindex / nofollow by post type** — Set entire post types (pages, posts,
   products, etc.) as noindex, nofollow or both with a single checkbox per directive.
 * **Bulk noindex / nofollow by taxonomy** — Set entire taxonomy archives (categories,
   tags, product attributes, etc.) as noindex, nofollow or both. Works with all 
   public taxonomies, including WooCommerce product categories, tags and attributes.
 * **Smart exclusions** — When a post type or taxonomy is set to noindex or nofollow,
   exclude specific posts or terms that should keep the default behavior. Exclusions
   work independently per directive.
 * **Individual noindex / nofollow** — Set noindex or nofollow on specific posts
   or taxonomy terms without affecting the entire content type or taxonomy.
 * **Instant search** — Find content and terms quickly with a live search field 
   in the settings page. Click to add, click to remove.
 * **Link-level nofollow** — A nofollow checkbox in the Classic Editor link popup
   lets you mark individual links with `rel="nofollow"` without leaving the editor.
   The Block Editor already exposes a native nofollow toggle in its link popover.
 * **Quick Edit** — Toggle noindex and nofollow directly from the post list table
   without opening the editor.
 * **Bulk actions** — Set or remove noindex and nofollow on multiple posts at once
   from the post list.
 * **Robots column** — Two color-coded icons in your content lists show the current
   index/follow state at a glance.
 * **Search results noindex / nofollow** — Prevent internal search result pages 
   from being indexed and/or having their links followed.
 * **404 pages noindex / nofollow** — Keep 404 error pages out of search indexes
   and stop crawlers from following dead-end links.
 * **Date archives noindex / nofollow** — Apply either or both directives to daily,
   monthly and yearly archive pages.
 * **Paginated archives noindex / nofollow** — Apply either or both directives to`/
   page/2/`, `/page/3/` and beyond, including Query Loop block pagination on block
   themes.
 * **Attachment pages noindex / nofollow** — Apply either or both directives to 
   media attachment pages.
 * **Author archives noindex / nofollow** — Apply either or both directives to author
   archive pages.
 * **RSS feeds noindex / nofollow** — Granular control to noindex and/or nofollow
   RSS feeds by type: main feed, taxonomy feeds, author feeds, site comments feed
   and per-post comments feeds. Works via the `X-Robots-Tag` HTTP header since feeds
   are XML.

**Priority logic** (applies independently to noindex and nofollow):

 1. Individual directive always applies.
 2. Post type / taxonomy bulk directive applies unless the post or term is specifically
    excluded.
 3. Exclusions override the bulk setting for specific posts or terms.

#### Native XML sitemap control

 * **Exclude post types** from the native `wp-sitemap.xml`.
 * **Exclude taxonomies** entirely from the sitemap.
 * **User control** — exclude specific user roles, individual users, or disable 
   the entire users sitemap for single-author sites.
 * **Flexible content exclusions** — exclude posts and pages by ID or by slug patterns;
   exclude taxonomy terms by ID or by slug fragments.
 * **Lastmod dates** — adds last-modification dates to every URL in the sitemap 
   and to every entry in the sitemap index (Google’s most used optional field).
 * **Smart redirects** — automatically redirect old sitemap URLs left over by other
   SEO and sitemap plugins (Yoast, Rank Math, AIOSEO, SEOPress, Google XML Sitemaps,
   Jetpack and others) to the native WordPress sitemap (301), so you don’t lose 
   crawl signals when switching.
 * **Static sitemap detector** — spots leftover `sitemap.xml`, `sitemap_index.xml`,`
   news-sitemap.xml` and similar files in your WordPress root that silently override
   the native sitemap, and helps you remove them.
 * **Performance** — customize the maximum number of URLs per sitemap (1–50,000).
 * **Noindex-aware** — content marked as noindex by the NoIndex module is automatically
   excluded from the sitemap, so search engines won’t even find it there.

#### Block Editor integrated

A single sidebar panel in the Block Editor exposes everything you need per post:

 * Meta title (also replaces the document title).
 * Meta description.
 * Open Graph image (with media picker and live preview).
 * `noindex` toggle.
 * `nofollow` toggle.

The panel is implemented as a `PluginDocumentSettingPanel` — fully compatible with
WordPress collaborative editing.

#### Classic Editor compatible

When the Block Editor is disabled for a post type, all the per-post controls are
exposed as a single Classic Editor meta box with the same fields. Quick Edit and
Bulk Actions on the post list provide the noindex/nofollow toggles without opening
the editor.

#### Zero database tables

Native AEO Pack uses standard WordPress options and post/term/user meta tables. 
No custom tables, no cron jobs, no scheduled background processes, no external API
calls beyond a cached Gravatar avatar probe (24h TTL) for E-E-A-T author images.

#### Replaces full SEO plugins, doesn’t coexist with them

Native AEO Pack is not designed to run alongside Yoast SEO, Rank Math, All in One
SEO, SEOPress, The SEO Framework or Slim SEO. Running two SEO plugins emits duplicate`
<head>` tags and hurts your SEO. If Native AEO Pack detects one of these active 
it will warn you on the settings page — you should keep one and deactivate the other.

If you want full keyword analysis, redirect managers, content scoring and dozens
more features, stick with your current SEO suite. If you want the essentials, fast
and native, Native AEO Pack is for you.

#### Perfect companions

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

 * [VigIA](https://wordpress.org/plugins/vigia/) — AI visibility, crawler analytics,
   Site Identity JSON-LD on the home page. Native AEO Pack coordinates `@id` references
   with VigIA so both can emit schema without duplicating the Organization or WebSite
   nodes.
 * [AI Share & Summarize](https://wordpress.org/plugins/ai-share-summarize/) — share
   buttons for social networks and AI assistants. Helps your content reach both 
   audiences and language models.
 * [AI Content Signals](https://wordpress.org/plugins/ai-content-signals/) — control
   how AI systems can use your content (training, search, both) through `robots.
   txt` directives endorsed by Cloudflare.
 * [Vigilante](https://wordpress.org/plugins/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/

## Installation

 1. Upload the `native-aeo-pack` folder to `/wp-content/plugins/` or install through
    the Plugins screen.
 2. Activate the plugin.
 3. Open **Native AEO Pack** in the admin sidebar (bottom of the menu) 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 Native AEO Pack replace Yoast / Rank Math / AIOSEO?

For most sites, yes. Native AEO Pack covers what 90% of sites actually need: titles,
meta descriptions, Open Graph, schema, robots directives and sitemap control. It
does not include keyword analysis, redirect managers or content scoring. If you 
don’t need those, Native AEO Pack is a much lighter alternative. If you do, stick
with your current SEO plugin — Native AEO Pack isn’t meant to run alongside.

### Are there any database tables?

No. Native AEO Pack 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 General tab lets you toggle Meta Tags, NoIndex and Sitemap 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 **Native AEO Pack** panel in the post sidebar and 
tick the noindex toggle. In the Classic Editor, the same toggle is in the Native
AEO Pack meta box. You can also use Quick Edit or Bulk Actions from the post list.

### Where does Native AEO Pack 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 Native AEO Pack’s robots state?

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

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Native AEO Pack” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Fernando Tellado ](https://profiles.wordpress.org/fernandot/)
 *   [ Ayuda WordPress ](https://profiles.wordpress.org/ayudawp/)

“Native AEO Pack” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/native-aeo-pack/contributors)
for their contributions.

[Translate “Native AEO Pack” into your language.](https://translate.wordpress.org/projects/wp-plugins/native-aeo-pack)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/native-aeo-pack/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/native-aeo-pack/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/native-aeo-pack/)
by [RSS](https://plugins.trac.wordpress.org/log/native-aeo-pack/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release. Native AEO Pack unifies the functionality previously split across
   the three legacy AyudaWP SEO plugins (Native SEO Meta Tags, Native SEO NoIndexer,
   Native SEO Sitemap Customizer) into a single lightweight plugin built around 
   WordPress native features.
 * Meta Tags module: per-post meta title, meta description and Open Graph image;
   automatic title and description from native fields; Open Graph and Twitter Card
   with smart image fallback chain (per-post  featured  WooCommerce gallery  first
   inline  settings fallback); Article + BreadcrumbList JSON-LD on singulars; Person
   JSON-LD on author archives with `sameAs` from six social URL fields added to 
   the user profile screen; coordination with VigIA’s Site Identity JSON-LD via `
   @id` references.
 * NoIndex module: bulk noindex / nofollow by post type and taxonomy; per-post and
   per-term overrides with explicit “exclude from bulk” inversion; additional rules
   for search, 404, date archives, pagination (including block-theme Query Loops),
   attachment pages and author archives; X-Robots-Tag HTTP header for five feed 
   types (main, taxonomy, author, site-wide comments, per-post comments); `rel="
   nofollow"` checkbox in the Classic Editor link popup.
 * Sitemap module: filters every `wp_sitemaps_*` hook to exclude post types, taxonomies,
   specific posts and terms (by ID or slug pattern), users by role or ID; customizable
   max URLs per sub-sitemap; lastmod dates on entries and on the sitemap index; 
   cross-feature link that keeps anything Native AEO Pack flagged as noindex out
   of the XML sitemap automatically.
 * Settings UI: top-level menu in the admin sidebar, four tabs (General, Meta Tags,
   NoIndex, Sitemap), iOS-style master toggles, tabs of disabled modules are dimmed
   with an “Off” badge and their forms rendered `inert`, in-context notices when
   WordPress is set to discourage search engines or when another SEO plugin / legacy
   AyudaWP plugin is active.
 * Editor integration: unified Native AEO Pack meta box on the Classic Editor (Meta
   Tags + Robots sections), unified PluginDocumentSettingPanel on the Block Editor
   with the same fields, Quick Edit and Bulk Actions for noindex / nofollow on every
   public post type list table, Robots column with index/follow status icons.
 * Term integration: noindex / nofollow checkboxes on the edit-term form of every
   public taxonomy plus the Robots column on the term list table.
 * Detection: warns when a full SEO plugin is active (Yoast SEO, Rank Math, All 
   in One SEO, SEOPress, The SEO Framework, Slim SEO, SureRank) or when a legacy
   AyudaWP plugin (Native SEO Meta Tags, NoIndexer, Native SEO Sitemap Customizer)
   is active. Native AEO Pack never silences its own output — the user decides which
   plugin stays.

## Meta

 *  Version **1.0.0**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.1 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/native-aeo-pack/) and [Spanish (Spain)](https://es.wordpress.org/plugins/native-aeo-pack/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/native-aeo-pack)
 * Tags
 * [meta description](https://wordpress.org/plugins/tags/meta-description/)[noindex](https://wordpress.org/plugins/tags/noindex/)
   [open graph](https://wordpress.org/plugins/tags/open-graph/)[seo](https://wordpress.org/plugins/tags/seo/)
   [sitemap](https://wordpress.org/plugins/tags/sitemap/)
 *  [Advanced View](https://wordpress.org/plugins/native-aeo-pack/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/native-aeo-pack/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/native-aeo-pack/reviews/)

## Contributors

 *   [ Fernando Tellado ](https://profiles.wordpress.org/fernandot/)
 *   [ Ayuda WordPress ](https://profiles.wordpress.org/ayudawp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/native-aeo-pack/)