WordPress.org

Plugin Directory

Visibility – Lightweight SEO, AEO and GEO for Search and AI

Image
Image

Visibility – Lightweight SEO, AEO and GEO for Search and AI

Description

Visibility is the SEO essentials without the suite: 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 482 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.
  • 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.

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 edit Visibility’s SEO fields too: EMCP Tools exposes them over MCP, for example while editing 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 (2.9.1)

  • Download size: about 489 KB zipped.
  • Codebase: 50 PHP files, roughly 38,000 lines of PHP, plus 3,400 lines of JavaScript and 2,600 of CSS, loaded only where they are used.
  • 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).

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?

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.

Screenshots

Blocks

This plugin provides 1 block.

  • Author details Shows the job title, topics of expertise, credentials and profile links from the author's user profile.

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

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?

  1. Install and activate Visibility. Your old plugin can be active or already deactivated.
  2. Open the Tools tab. The import card shows what it found, field by field.
  3. 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.

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.

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.

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.

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.
  • 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 one.

My sitemap looks fine in the browser but Google says it could not be read. Why?

Because it answers with a 404 status while showing the right file, and Google discards any sitemap that does not answer 200. It happens on sites with no published blog posts: a shop, a portfolio, a site made of pages only.

Whether it affects you depends on your WordPress version: it was fixed in WordPress 7.1.1, from a report that came out of this plugin. On older versions, Visibility answers /wp-sitemap.xml with a 200 itself, with a switch for it in the Sitemaps tab. A sitemap with nothing in it still answers 404, as it should.

My old sitemap URLs redirect to a page that does not exist. What is wrong?

Something has switched off the sitemap WordPress generates, so the old address has nowhere to go. The usual causes:

  • A snippet that sets wp_sitemaps_enabled to false, in functions.php or in a snippets plugin.
  • Another SEO plugin serving a sitemap of its own.
  • “Discourage search engines from indexing this site” ticked in Settings > Reading.

Visibility checks before redirecting and leaves the old address alone in that case.

Does Visibility manage redirects? Do I need .htaccess or a separate plugin?

Redirects are included and you need neither:

  • 301, 302, 307 and 410, with no .htaccess editing and no custom table.
  • CSV import and export.
  • A suggested redirect when you delete a post.
  • Take over or remove the redirects WordPress creates when a slug changes.

It does not log 404 errors, on purpose: that needs a table and a cleanup job. The companion plugin VigIA records the 404s that crawlers hit.

Does Visibility work with Elementor, Divi and other page builders?

Yes. The Visibility panel shows in the Block Editor sidebar, and as a meta box on the classic editing screen when a builder replaces the block editor.

With Elementor, the Markdown version of a page is built from the Elementor layout, so AI agents get the real text.

Does Visibility work with WooCommerce?

Yes:

  • Products, categories, tags and attributes get titles, descriptions, social tags, schema and robots rules like any other content.
  • The product gallery image is a fallback for og:image.
  • llms.txt is WooCommerce-aware.
  • Cleaner product and category URLs: see “Can I clean up my WooCommerce URLs?”.

It does not add Product schema: WooCommerce already does, with price, stock and reviews.

Does it work with custom post types and custom taxonomies?

Yes, with all public post types and taxonomies. WooCommerce attributes need “Enable Archives?” switched on in their settings.

Can I preview how my page will look on Google, social networks and AI answers?

Yes. The Visibility panel has a live preview with three views: your Google result, your social card and an AI Overview citing your page. It updates as you type.

It shows what goes into your HTML, not a score: the final look depends on each platform.

Can I change how the automatic title tag is composed?

Yes, with a template in the Discover tab. Combine these placeholders with your own words:

  • %%title%%: the title of the page.
  • %%sep%%: the separator you chose.
  • %%sitename%% and %%tagline%%.
  • %%page%%: the page number.
  • %%taxonomy%%: the first category of the entry, or the product category of a product.

Example: %%title%% %%sep%% %%sitename%%.

  • The front page, each content type and each taxonomy can have a template of their own.
  • A Meta title typed on an entry or a term always wins.
  • The meta description works the same way, with one more placeholder: %%excerpt%%.
  • Custom fields and dates are not available, on purpose: they need a query on every page.
  • A theme that prints its own title tag, without the WordPress title API, is not reached by the template.

How do I set noindex on a single post?

Open the Visibility panel in the editor sidebar, or the Visibility meta box in the Classic Editor, and tick noindex.

You can also use Quick Edit or Bulk Actions in the post list, and in the category, tag and taxonomy lists.

How do I keep part of a page out of Google’s snippets?

  • Block editor: turn on Keep out of search snippets in the Advanced panel of a Group block, or apply the format of the same name to selected words.
  • Classic editor: use the button of the same name in the Visual toolbar, or nosnippet in the Text tab.

Visibility also leaves that text out of the descriptions and summaries it generates. The Markdown version and llms-full.txt keep the whole page.

The mark on a Group stops applying if you deactivate Visibility. The one on words stays in the content.

What does Respect nosnippet do?

nosnippet tells Google to show no snippet and not to use the text in AI Overviews and AI Mode. Respect nosnippet (Discover tab) applies the same to the files Visibility generates. With it on, an entry set to nosnippet:

  • is listed in llms.txt by title and link only,
  • has no text in llms-full.txt,
  • has no Markdown version,
  • gets no FAQPage.

It is on in new installs. On an update it turns on only if that changes nothing your site already serves.

Does my robots.txt always work, even on a subdirectory install?

Yes. WordPress alone can answer 404 at /robots.txt on a subdirectory install or when its rewrite rules are stale. Visibility serves /robots.txt itself, so it always loads.

If another plugin writes a physical robots.txt, Visibility adds its rules to that file in a block of its own and leaves the rest untouched. /?robots=1 is redirected to /robots.txt.

Does Visibility work on WordPress Multisite?

Yes, and each site keeps its own settings:

  • On a subdomain or mapped-domain network, each site serves its own /robots.txt and /llms.txt.
  • On a subdirectory network there is one robots.txt at the domain root, owned by the main site.
  • A physical file is written only where it belongs: a single site, or the main site of a subdirectory network.
  • Is a physical robots.txt in the network root giving every site the same rules? On Apache and LiteSpeed, a button in the Discover tab routes /robots.txt through WordPress. Only a network administrator sees it.
  • On nginx, the screen gives you the directive for whoever administers the server.

Activate Visibility per site or for the whole network.

Where does Visibility store per-post overrides?

In standard WordPress post meta (_native_aeo_pack_* keys). Term overrides go to term meta and author fields to user meta.

Can I copy my configuration to another site?

Yes. The Tools tab exports your settings and the per-entry and per-term values as one JSON file, and imports it on another site.

  • Content is matched by slug, so it works between sites that are not clones.
  • On import, choose between filling in only what is empty (the default) and replacing what is there.
  • Nothing is created: values land on content that already exists.
  • Redirects have their own CSV export in the Redirects tab. Author profile fields are not included.

How do I know which content has gone stale?

Set a threshold in the Discover tab (90 days by default). Your content lists get a “Not updated in 90 days” filter with a count, and a sortable Last updated column. Set it to 0 to switch both off.

Why it matters: an Ahrefs analysis of 17 million citations found that the pages AI assistants cite were updated more recently, on average, than the ones ranking in Google’s organic results. Google’s AI Overviews were the exception.

Can I clean up my WooCommerce URLs?

Yes, in the Indexing tab:

  • Remove the base of each taxonomy on its own: /product-category/, /product-tag/, /brand/.
  • Choose a product URL structure WooCommerce does not allow: the product slug alone (/my-product/), the category and the slug (/t-shirts/my-product/) or the full category path.
  • Old URLs are 301-redirected to the new ones, so a product is never reachable at two URLs.

Good to know:

  • A page or a term that already uses a path keeps it.
  • Removing a base adds rewrite rules for every term. The settings screen tells you how many before you save.
  • If you use Premmerce Permalink Manager, import its structure from the Tools tab, check your URLs and deactivate it.

Does Visibility generate FAQ structured data?

Yes, from content you already have. Switch on JSON-LD: FAQPage in the Discover tab and Visibility reads the Details and Accordion blocks of your entries: the question from the heading, the answer from the content.

It is off by default, because a Details block is not always a question. It helps AI assistants read your Q&A. It does not bring back Google’s FAQ rich results, retired in 2023.

Is there an API for plugins and themes?

Yes.

Read what Visibility resolved:

  • Native_AEO_Pack_Frontend_Robots::is_noindex( $post_id ), is_nofollow( $post_id ), is_term_noindex( $term_id, $taxonomy ) and is_term_nofollow( $term_id, $taxonomy ).
  • Native_AEO_Pack_Settings::get( $group, $key, $default ).
  • Native_AEO_Pack_Settings::is_robots_ai_blocking() and get_robots_ai_agents().

Change what is printed, with six filters:

  • native_aeo_pack_schema_graph ($graph, $context, $object): the JSON-LD nodes before they are printed. $context is article, person or identity. Return an empty array to print nothing.
  • native_aeo_pack_identity_business_types ($types): the schema.org types offered for a local business identity.
  • native_aeo_pack_document_title ($title): the Meta title before it reaches <title>. Return plain text, which is escaped afterwards, or an empty string to hand the title back to the theme.
  • native_aeo_pack_canonical_url ($url, $object): the canonical of a listing. Return an empty string to print none. Single entries keep the core get_canonical_url filter.
  • native_aeo_pack_meta_description ($description): the final description, used in the meta tag, Open Graph, the Twitter card and the schema.
  • native_aeo_pack_og_image ($image, $post): the image chosen for a single entry.
  • native_aeo_pack_schema_faq_pairs ($pairs, $post): the question and answer pairs before they become FAQPage. Return an empty array to skip it.

Reviews

Image
22. sept 2026 1 reply
Finally a lightweight SEO plugin that does it's job properly without bloating.Using it on our main domain and default for all new sites.Compatible with EMCP Tools to do mass SEO audits and changes using IA 🙂 Only small suggestion, maybe add an optional setting to move Visibility under Settings, as for example Slim SEO does by default, to keep visual impact minimal hehe
Image
19. sept 2026 1 reply
Después de años de uso, decidí quitar Rank Math después de leer el amplio y detallado estudio que el autor de Visibility recién publicó en su sitio web, titulado: "¿Qué plugin de SEO es más ligero y que consume menos recursos?" (recomiendo leerlo). Allí se puede constatar, a través de datos reales, cuales son las sustanciales diferencias que hay entre Visibility y otros conocidos plugins de SEO. Visibility es un plugin liviano y veloz, con funcionalidades Pro, que aporta todo lo necesario para el SEO en estos tiempos de IA. ¡Mil gracias y muchas bendiciones!
Image
30. juuli 2026 1 reply
Para que quede claro lo que me ha gustado, he quitado Rankmath SEO pro y he puesto este sencillo y práctico plugin de Fernando Tellado. 100% optimizado para el SEO sin recargar ni agregar cosas innecesarias. Y, lo mejor, no veía el mapa del sitio y utilicé el soporte y Fernando me contestó a los 5 minutos. Más no se puede pedir. Al final no era problema del plugin sino de mi cahé. ¡Bravo por todo!
Image
1. juuli 2026 1 reply
Llevo como 15 años en el tema de marketing y desarrollo web, y después de trabajar con Yoast y otros plugins que al final es un lío de opciones que cada vez valen menos, este plugin pone lo que es útil y necesario en tu web para que sea entendible y te puedes dedicar a lo importante. Además, el soporte es muy rápido si necesitas algo.
Image
23. juuni 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.
Image
23. juuni 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 6 reviews

Contributors & Developers

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

Contributors

“Visibility – Lightweight SEO, AEO and GEO for Search and AI” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Visibility – Lightweight SEO, AEO and GEO 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

2.9.1

An organization with a phone number no longer appears twice in the Google Rich Results Test, the second time as a local business with warnings. The phone now goes in a contact point. A local business and a person are unchanged.

  • Fix: An organization with a phone number showed up twice in Google’s Rich Results Test, once as an organization and once as a local business, the second with two warnings for the address and the image that Google asks of a business with premises. It happened with every organization type, the generic Organization included, because Google reads a telephone written on the organization itself as the sign of a local business; with the email alone, or with the phone inside a contact point, it lists the organization only. The phone of an organization is now written in a contactPoint (customer service), which Google also documents for an organization, and the test lists the organization alone. A local business and a person keep the telephone on the entity. This changes the markup of every organization that has a phone: telephone is no longer on the entity and contactPoint is.

2.9.0

Site Identity adds Local business and Organization types, email, phone, address and company details. The importer brings them from SEOPress, Rank Math and Yoast, choosing the plugin in use. The import table is clearer.

  • New: Local business as a Site Identity type. Pick the business type (Restaurant, Dentist, Store and more than a hundred and thirty other schema.org types, listed in words, or the generic LocalBusiness) and fill in the address, the coordinates, the price range and the opening hours, with two time ranges a day for split hours. It is written as one node, the same #identity the Article and Person graphs point to, so the organization is not printed twice.
  • New: An organization can carry its own type, which is what Google asks for (the most specific one that fits): Corporation, Online store, Online business, NGO, News media organization, Government organization, a school or a college, a sports team and some twenty more, or the generic Organization.
  • New: Contact and company details in Site Identity: email and phone for any type and, for an organization or a local business, the postal address, legal name, VAT ID, founding date and number of employees. All are optional and an empty one is left out of the markup. Google’s Rich Results Test only lists an organization that carries a contact detail such as an email or a phone, so an identity made of a name, a logo and its profiles was valid and read, and still did not show up in that test.
  • New: The importer brings the site identity from SEOPress, Rank Math and Yoast SEO: entity type with its organization or business type, name, description, logo, social profiles, email, phone, address and company details, and from Rank Math also the coordinates, price range and opening hours. A field is imported only while yours is still empty, and only what the plugin itself prints for that entity: a Person carries no address or company details, a Yoast Person is the WordPress user it is linked to (its name, bio and profiles), SEOPress with its Knowledge Graph off brings nothing, and the opening hours, price range and coordinates of Rank Math come over only for a local business, because it ships a placeholder week of 09:00 to 17:00 that nobody entered and drops the hours and the price range of an organization type itself. Hours are read as people type them (9:00, 9h30, 5 pm, a dash or the word to; two bare hours such as 9-14 only when they make a day, and 9-5 is left out because it does not say which half of the day), and a name that is only the site title is not copied.
  • New: When more than one plugin has data, the one in use takes each value: the plugin that is active first, then the ones installed, then the one whose settings were created last, which is what the database says about which was set up after which. That plugin also decides the entity type, even when it is a plain Organization, and what only a local business has (its subtype, coordinates, price range and hours) is offered only when the entity is one, so a Person from one plugin is not given the Restaurant of an older one. Until now the plugins were always read in the same order, whichever one was in use.
  • New: native_aeo_pack_identity_business_types and native_aeo_pack_identity_organization_types filters, to add or remove the types offered.
  • Improved: The import card and the notice that follows it. The table has one row per kind of data and one column per plugin, only the rows that have something, with a total, and under it a line says what the Site identity and Site settings numbers are made of (Address (5), Opening hours (5), Verification codes (2)). Each column says whether its plugin is active, installed or data only, and the columns go in the order in which they win a value. What two plugins both store is counted once, under the first, which is how the import then goes, so the numbers the card promises are the ones the import copies. The explanation is shorter and the detail of what gets imported folds under it. A line warns when Site Identity is off, because an imported identity is not printed until it is on.
  • Fix: After importing from the AyudaWP plugins (Native SEO NoIndexer, Native SEO Meta Tags and Native SEO Sitemap Customizer), the card kept offering the same data, with the same numbers, under the notice of the import that had just copied it. It counted what the old plugins hold, not what is left to copy. It now counts what is pending, as the SEO-suite import already did, so the offer goes away once it is copied and comes back only if the old plugin saves something new, and the result counts the same way, so the notice reports what the card offered. The Run import again button goes with it.
  • Fix: Pressing Import now twice, a double click or a retry, replaced the result of the first import with the empty result of the second, and the notice of what had been copied never appeared. The result of the first one is kept.

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