Title: JonnyAD SEO &#8211; Meta Tags, Schema &amp; Sitemaps
Author: jonnyad
Published: <strong>October 18, 2026</strong>
Last modified: October 18, 2026

---

Search plugins

![](https://ps.w.org/jonnyad-seo-meta-tags-schema-sitemaps/assets/banner-772x250.
png?rev=3752462)

![](https://ps.w.org/jonnyad-seo-meta-tags-schema-sitemaps/assets/icon-256x256.png?
rev=3752462)

# JonnyAD SEO – Meta Tags, Schema & Sitemaps

 By [jonnyad](https://profiles.wordpress.org/jonnyad/)

[Download](https://downloads.wordpress.org/plugin/jonnyad-seo-meta-tags-schema-sitemaps.0.4.3.zip)

 * [Details](https://wordpress.org/plugins/jonnyad-seo-meta-tags-schema-sitemaps/#description)
 * [Reviews](https://wordpress.org/plugins/jonnyad-seo-meta-tags-schema-sitemaps/#reviews)
 *  [Installation](https://wordpress.org/plugins/jonnyad-seo-meta-tags-schema-sitemaps/#installation)
 * [Development](https://wordpress.org/plugins/jonnyad-seo-meta-tags-schema-sitemaps/#developers)

 [Support](https://wordpress.org/support/plugin/jonnyad-seo-meta-tags-schema-sitemaps/)

## Description

JonnyAD SEO is a free WordPress SEO plugin for meta tags, schema markup, XML sitemaps
and social sharing. Set how your pages describe their content to search engines 
and social platforms, with controls for individual posts and your whole site.

Use the SEO tools on their own, or connect your JonnyAD dashboard to keep your business
identity and public social profiles in sync. Changes can flow in both directions,
with conflicts shown for you to resolve.

#### A dashboard that measures, never scores

The JonnyAD SEO menu opens on a dashboard of facts about your site and the tasks
they imply: whether search engines are allowed in, whether the sitemap is served,
which recent pages have no description, what the home page will show, whether a 
robots.txt file on disk overrides the one WordPress serves. Each task names its 
evidence and the screen where it is settled, and disappears when the fact changes.
There is no score, no percentage and no traffic light.

#### Content analysis with evidence

Set a focus keyphrase for a post and the editor lists what the text does and does
not do for it: keyphrase in the search title, description, address, opening paragraph,
subheadings and image text; how often it appears; whether another published page
targets the same phrase; text length, heading structure, long paragraphs and sentences,
a readability estimate, transition words, sentence openings and passive voice (in
English, Portuguese, Spanish, French, German, Italian and Dutch), images without
alt text, internal and external links. Each finding shows the sentence, heading,
image or count it was decided on. The analysis runs on this site and updates while
you type, through the site’s own REST API; nothing is sent elsewhere. A page edited
in Elementor is read from its saved widget data, and the widgets that are not read
are named.

#### SEO titles and meta descriptions

Create title and description templates for the site, for each public post type and
for each taxonomy’s archives, and set a custom SEO title, meta description or canonical
URL for each post, page or public custom post type; the per-post fields always win.
The editor shows the search result and the shared card exactly as the plugin will
print them, says where each value comes from (the field, the excerpt, the featured
image, the site default) and how long it is, and updates while you type. Manage 
indexing rules for post types, archives and search from the Indexing & sitemap screen.

#### Schema markup and XML sitemaps

Add structured data for your organisation or person, website, pages and articles.
Public social profiles become sameAs links. JonnyAD SEO works with the WordPress
XML sitemap, adds each post’s last-modified date to it and excludes content covered
by its privacy and noindex rules.

#### Social sharing and profile sync

Add Open Graph and X card metadata using the featured image or your site default.
Optionally connect JonnyAD to bring in your business identity and sync public social
profile links from the dashboard to WordPress and back.

#### Included SEO features

Every feature is listed in the FAQ, under “What does JonnyAD SEO include?”.

### External services

This plugin contacts an external service only after you switch it on: JonnyAD after
you press Connect JonnyAD (your browser opens JonnyAD with this site’s address; 
the pairing code comes back to this site) or enter a pairing code generated in your
JonnyAD dashboard, and IndexNow after you switch it on under Indexing and sitemaps.
Before that, the plugin does not send requests to either service. Optional map and
video embeds are separate browser requests, described below. The local health checks
request only this site itself.

Service: JonnyAD (https://jonnyad.com; API at https://app.jonnyad.com), operated
by Alex Andrade de Oliveira, ABN 70 824 976 154.

When connected, the site sends to JonnyAD over HTTPS:

 * at pairing: the pairing code (made by JonnyAD for this site when you press Connect
   JonnyAD, or typed by you), this site’s address and name, the plugin version and
   the WordPress version
 * when you start the 10-day trial of SEO Premium from the Account and connection
   screen: your consent to its terms, with the site token; the trial is held by 
   JonnyAD, one per site
 * on each status check and sync: a site token (an Authorization header that identifies
   this site’s connection), this site’s address, and the social profile addresses
   and labels you declare on this site
 * on token renewal: the current site token, to receive its replacement. The token
   has a limited life; the plugin renews it ahead of expiry during the scheduled
   sync or when you press Renew token. An expired token cannot be renewed and the
   settings page asks you to pair again.

JonnyAD returns the workspace name, logo address, website and business location,
whether the workspace’s subscription includes SEO Premium, and the social profiles
the workspace declares. A call happens when you press a button on the settings page(
Connect, Check connection, Sync profiles now, Disconnect) and, after you connect,
twice a day from the WP-Cron event described above until you disconnect or it pauses.
There is no call before you connect, no call from a visitor’s page load, and no 
tracking.

Terms and privacy: https://jonnyad.com/terms/ and https://jonnyad.com/privacy/

Opportunities (SEO Premium, through the connection): when you press Read this page,
this site sends JonnyAD the address of the page you chose (one of this site’s own
published, public pages), its post id and focus keyphrase; JonnyAD reads that page
of this site as visitors see it (respecting this site’s robots.txt, and never following
a redirect to another site) and keeps measurements, never its text. No address of
any other website is sent, read or measured: this plugin asks JonnyAD for nothing
but pages of the site it is installed on, and JonnyAD refuses any other address 
before it reads or counts anything. When you ask for a proposal, it also sends the
field’s current value. For a proposal on the page’s text (a clearer paragraph, or
an internal link), it sends the SHA-256 fingerprint of the stored content and the
page’s paragraphs of plain text, and, for a link, the addresses and titles of this
site’s other published pages. When you apply, revert or reject a proposal, it sends
that decision (and, for an apply, the text applied). The post editor reads this 
page’s proposals from this site’s own REST route. Nothing is sent on a visitor’s
page load, and no AI runs on this site. Opening Pages and posts  Content plan on
a connected site also reads what Opportunities measured for this site’s own pages(
the request carries only the site token; the answer is kept a minute).

Set up with Nexus Cortex (through the connection): opening JonnyAD SEO  Set up with
Nexus Cortex on a connected site, and pressing Apply selected there, reads from 
JonnyAD what your business confirmed for five of this site’s settings (business 
name, short description, logo address, telephone, e-mail address), each with where
and when it was confirmed and until when it holds, and the confirmed address for
you to enter yourself. The request carries only the site token and this site’s address;
nothing is sent back, and nothing on this site changes until you select a value 
and apply it. A connection made before this version is refused by JonnyAD for this
read and the screen asks you to pair again; an existing connection is never widened.

Service: IndexNow (https://www.indexnow.org/), a protocol run by participating search
engines; this plugin sends to its shared endpoint https://api.indexnow.org/indexnow,
which passes the addresses to the engines that take part. Only after you switch 
it on under JonnyAD SEO  Indexing and sitemaps  IndexNow, and never from a site 
marked local or development (WP_ENVIRONMENT_TYPE) or one that discourages search
engines: about a minute after a public, indexable page is published, changed or 
taken down, the site sends this site’s host name, the addresses of those pages (
each checked again right before the send; a page protected or kept out of search
in the meantime is left out; an address IndexNow received less than five minutes
ago waits until then, and nothing is sent while IndexNow has asked the site to slow
down), and this site’s IndexNow key with the address where the key is served. Nothing
about visitors or editors is sent. Each send and its answer are listed on that screen.
IndexNow Terms of Service: https://www.indexnow.org/terms . Its Privacy policy is
the Privacy section on that same page: https://www.indexnow.org/terms#privacy . 
The receiving server also receives the originating server IP as part of the HTTPS
request. Participating search engines apply their own terms and privacy policies
to submitted URLs; see https://www.indexnow.org/faq . This notification does not
guarantee indexing.

OpenStreetMap and Google Maps (several locations): only on a page where you placed
the Location block with its map switched on, or [jonnyad_location map=”1″], for 
a location with coordinates, the visitor’s browser loads the map from openstreetmap.
org (https://www.openstreetmap.org/, terms: https://wiki.osmfoundation.org/wiki/
Terms_of_Use, privacy: https://osmfoundation.org/wiki/Privacy_Policy), as any embed
does. A location’s “Directions” link opens Google Maps (https://www.google.com/maps)
only when the visitor follows it, with that location’s coordinates or address. The
WordPress server sends nothing to either. Loading a map or following Directions 
sends the visitor’s IP address, browser request details and selected location to
the destination service. “Nearest first” uses the position the visitor grants through
their browser only inside that browser. Google Maps terms: https://maps.google.com/
help/terms_maps/ ; Google privacy: https://policies.google.com/privacy .

YouTube and Vimeo: only on a page where you placed the Video block or [jonnyad_video]
with a YouTube or Vimeo video, the visitor’s browser loads that player from youtube-
nocookie.com or player.vimeo.com, as any embed does; YouTube’s thumbnail address(
i.ytimg.com) appears in the page’s structured data. The WordPress server does not
upload videos or visitor records. The embedded player receives the visitor’s IP 
address, browser request details and video identifier when it loads, and may use
its own cookies or storage. YouTube terms: https://www.youtube.com/t/terms ; Google
privacy: https://policies.google.com/privacy . Vimeo terms: https://vimeo.com/legal/;
privacy: https://vimeo.com/legal/privacy .

Google (Search Console and Analytics) is never contacted by this plugin. The Google
and results screen reads the state of Site Kit by Google from its public settings
on this site and, when Site Kit is connected, your browser asks Site Kit’s own REST
routes on this site for the figures; Site Kit, with its own authorisation and its
own privacy terms, is what talks to Google. Google terms: https://policies.google.
com/terms ; privacy: https://policies.google.com/privacy .

Algolia, through WP Search with Algolia: this plugin never contacts Algolia. With
WP Search with Algolia active and “Use JonnyAD SEO’s decisions in Algolia” switched
on (JonnyAD SEO  Visibility and sitemap  Site search, off by default), the records
WP Search with Algolia sends to your Algolia application carry two more values for
each page, whether it is cornerstone content and how many published pages of this
site link to it, and its index settings rank by them; pages kept out of search here
are not sent. WP Search with Algolia sends them under your Algolia account (https://
www.algolia.com/) when that plugin indexes or updates content. Algolia terms: https://
www.algolia.com/policies/terms ; privacy: https://www.algolia.com/policies/privacy.

Documentation links: the crawler catalogue links to provider documentation (including
https://developers.openai.com/api/docs/bots) so administrators can read about crawler
user agents. These are ordinary links, not API integrations: this plugin makes no
request to OpenAI and sends no site or article content to those documentation URLs.
A provider documentation page is opened only when the administrator follows its 
link.

## Installation

 1. Upload the `jonnyad-seo` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the Plugins screen.
 3. Open JonnyAD SEO in the admin menu. The dashboard lists what is in place and the
    next step; First-time setup walks through the identity, the profiles, indexing 
    and Google; Search appearance, Structured data and Indexing and sitemaps hold the
    site settings; Tools imports from another SEO plugin and keeps a copy of the settings;
    Account and Premium optionally pairs the site with a JonnyAD workspace.

## FAQ

### What does JonnyAD SEO include?

 * a dashboard of measured facts and the tasks they imply, with evidence for each;
   a Search column in the posts list
 * a search result and share card preview for every post, built from the same rules
   that print the head
 * a focus keyphrase and a content analysis per post, every finding with its evidence,
   updated while you type; a column in the posts list
 * document titles from a template, with a per-page override
 * one meta description per page (per-page field, else the excerpt, never the whole
   body)
 * one canonical per page, with a per-page override
 * robots directives that respect Settings  Reading, private, draft, scheduled and
   password-protected content, your noindex rules for post types, archives and search,
   and a per-page checkbox
 * privacy by default: a private, draft, scheduled, password-protected or previewed
   post gets no description, canonical, Open Graph, card or schema in its head, 
   and its SEO fields are left out of REST reads by anyone who cannot edit it
 * Open Graph and X card tags, with the featured image or a site default
 * one schema.org graph per page (Organization or Person, WebSite, WebPage, Article)
   consistent with the head, with your social profiles as sameAs
 * breadcrumbs by shortcode or template tag, with BreadcrumbList structured data
   only where the trail is shown
 * redirects (301, 302, 307, 410) with loop and unsafe-destination refusal, and 
   a bounded 404 log by path
 * import from Yoast SEO, Rank Math, All in One SEO, SEOPress or The SEO Framework
   with a dry run first, in batches, every replaced value backed up and restorable,
   the other plugin’s data untouched; a diagnostics file for support without the
   site token; redirect rules export and import
 * internal link counts per page (sent and received) in the posts list, and the 
   published pages nothing links to (orphaned content) as a view of the posts list
   and a list under Tools
 * a bulk editor for the search title and description of many pages at once, which
   saves only what you changed and never writes over a change made meanwhile
 * robots.txt lines added to WordPress’s virtual file (with the search results kept
   from crawlers on request), an opt-in llms.txt, and opt-in IndexNow
 * a content plan: topics with their page, keyphrase, intent, date and status, suggested
   from what the site measured (pages to review, addresses asked for that do not
   exist, shared keyphrases, pages nothing links to), each saved from the version
   you opened
 * an opt-in site-wide structured data feed: the public graph of every indexable
   page in one place, in parts, with the business listed once
 * addresses carrying parameters WordPress does not know sent to the clean address,
   and the site’s search kept from spam, emoji and overlong terms (each off until
   switched on)
 * server configuration for the redirect rules (Apache and Nginx), downloaded for
   whoever manages the server
 * blocks for the block editor: FAQ, How-to, Table of contents, Related links, Sibling
   pages, Subpages, Reading time, Breadcrumbs and Video, each rendered by the site,
   with FAQPage, HowTo and VideoObject structured data only where they show
 * per-term search title, meta description, canonical, share image and “keep out
   of search” on every category, tag and public term
 * SEO Manager and SEO Editor roles; a page’s indexing, robots and schema type are
   kept to editors and those roles unless you let every author change them
 * image, news (named publication) and video (YouTube) sitemaps, named in robots.
   txt
 * LocalBusiness structured data (address, hours, coordinates) for your own business,
   on every page as the site’s publisher; FAQPage and Product structured data from
   entered facts, printed only where that content is shown
 * the WordPress core sitemap, kept consistent with the rules above (password-protected
   posts, noindex post types and pages, and noindex category, tag and author archives
   are left out), with each post’s last-modified date

The local SEO tools work without an account or payment. Connecting a JonnyAD workspace
is optional and required only for the workspace features described below.

**One head owner.** If Yoast SEO, Rank Math, All in One SEO, SEOPress or The SEO
Framework is active, JonnyAD SEO prints no title, description, canonical, robots,
Open Graph or schema of its own, so your pages never carry two of each. It tells
you so on its settings page and never deactivates another plugin. The JonnyAD SEO
Bridge (a small companion) yields to this plugin from Bridge 1.1.2; with an older
Bridge, JonnyAD SEO unhooks the Bridge’s head printer and probe at load so the page
still carries one of each, and the Bridge stays active.

**Optional connection to JonnyAD.** If your business uses JonnyAD (https://jonnyad.
com), you can connect this site to its workspace in one press (Connect JonnyAD: 
you choose the workspace in JonnyAD and come straight back, connected) or with a
one-time pairing code generated in the JonnyAD dashboard. The connection lets the
site:

 * fill its publisher name and logo from the workspace when those are empty (a value
   you typed is never overwritten, and fields the workspace filled are cleared again
   when you disconnect unless you changed them)
 * keep the list of social profiles in step with the workspace, in both directions,
   with conflicts shown for you to decide and never overwritten
 * show whether the workspace’s JonnyAD subscription includes SEO Premium, as verified
   by JonnyAD

The profiles are bound to the workspace you paired with. When you disconnect, they
are kept on this site and sent nowhere; pairing with another workspace starts from
an empty list, and the previous profiles reach the new workspace only if you choose
to import them.

The connection never grants anyone the right to post on your social profiles. Social-
network credentials stay in JonnyAD; the site never receives them.

**Keeping in sync.** After you connect, a WP-Cron event checks the connection and
syncs the profiles twice a day. It stops by itself after five failed runs (the settings
page says so and lets you resume), and it is cleared when you disconnect, when JonnyAD
revokes the connection, and when you deactivate the plugin. WP-Cron runs in its 
own request; no visitor page load makes a network call.

**Licence.** Every feature in this plugin is free. SEO Premium is a JonnyAD service:
the plugin shows it as included only when JonnyAD confirms a live subscription for
the workspace, and shows “not verified” otherwise. It never unlocks anything from
a plan name alone and never sells anything itself.

### Does it work on a multisite network?

Yes. Activate it for the whole network or site by site. Each site keeps its own 
settings, its own connection to JonnyAD and its own permissions; Network Admin  
Settings  JonnyAD SEO lists the sites and chooses the site new sites start from.

### Do I need a JonnyAD account?

No. The local SEO tools work without one. A connection is needed only to bring in
your workspace identity, sync public social profiles and check your JonnyAD subscription
status.

### Can I manage meta tags, schema and XML sitemaps?

Yes. Set SEO titles and meta descriptions, canonical URLs and indexing rules. The
plugin adds a schema graph and filters the WordPress core XML sitemap to respect
its visibility settings.

### Can a developer change the structured data?

Yes. The `jonnyad_seo_schema_graph` filter receives the list of nodes the plugin
prints on a page and what that page is (its kind, address, title and types); return
the list with nodes added, changed or removed. A result that is not a list of nodes,
each with an `@type`, is ignored and the graph is printed unchanged; with WP_DEBUG
on, WordPress names the mistake. Return an empty list to print no generated graph
on that page.

### Can I sync social profiles from my JonnyAD dashboard?

Yes, after connecting the site. Sync runs when you choose Sync profiles now and 
through WP-Cron twice a day. Edits can flow both ways; conflicting changes are shown
for you to resolve. Only public profile links and labels are synced, not social-
network passwords or OAuth tokens.

### I already use Yoast SEO. What happens?

JonnyAD SEO detects it and leaves the SEO head output to Yoast. It does not add 
a second set of title, description, canonical or schema tags. The connection and
profile sync still work. Nothing is deactivated.

### What does Opportunities change on my site?

Nothing until you press Apply on a proposal, and then only that page’s SEO title
or meta description, exactly as shown. Apply refuses if the field changed since 
the proposal was written; Revert puts the previous value back and refuses if you
edited the field after applying. The reading itself changes nothing. It needs SEO
Premium (included in a paid JonnyAD plan, or bought for this site); your history
stays readable and applied changes can be reverted without it.

### Does this plugin or JonnyAD read other websites?

No. Opportunities reads only pages of the site it is installed on: the page you 
choose from your own published, public pages, as visitors see it. There is no field
for another site’s address, this site sends none, and JonnyAD refuses any address
that is not a page of this site before it reads or counts anything. A redirect from
your page or your robots.txt to another site is not followed. The daily self-check(
Overview) reads this site’s own robots.txt, home page and sitemap, and stops at 
any redirect to another site.

### Can I move from Yoast SEO, Rank Math, All in One SEO, SEOPress or The SEO Framework?

Yes. JonnyAD SEO  Tools reads the titles, descriptions, canonicals, share images,
noindex and nofollow marks, focus keyphrases, share and X titles, descriptions and
images, page and article types and cornerstone marks those plugins stored per post(
each has some of these; All in One SEO is read from its own table), and their separator,
home title and description, templates, publisher and share defaults. A share or 
X text built from variables is not carried, because those fields print as written.
Run the dry run first: it changes nothing and lists what would be written, what 
is kept because you already set a value here, and what is skipped because the source
holds only a template. The import then writes in batches. It stores the backup of
a page’s or term’s values before it changes any of them, and writes nothing it could
not back up; a value someone saves while it runs is kept. Restore puts back only
what the import wrote: a value changed since stays as it is, and the screen names
anything it could not put back or whose backup it could not remove, so you can run
it again. The other plugin’s data is never changed or deleted and nothing is deactivated;
it keeps printing the head until you deactivate it yourself. From Rank Math, its
redirections come too: whenever Rank Math is not answering them (switched off, or
waiting for its setup), this plugin answers them exactly as Rank Math did, asking
the site’s own filters of them as Rank Math asked them. One kind Rank Math itself
answers differently once it has seen an address (a regex pattern written with an
HTML entity in it) keeps answering only the addresses Rank Math had already answered;
the dry run names it. From the Redirection plugin, its redirects come too, from 
the same Tools screen: each answers as Redirection 5.10.1 answered it (its letter
case, trailing-slash and query settings, its patterns and their captures, its order,
its error pages and “do nothing”), whenever Redirection is not answering them (deactivated,
or switched off by its own setting). One that answers on a condition this plugin
does not read (who is logged in, the referrer, the browser, a cookie and so on),
sends to a random post or passes the request through is not carried, and the dry
run says why.

### Where is the site token stored?

In a WordPress option that is not autoloaded. It is sent only as an Authorization
header over HTTPS, only to the JonnyAD server it was paired with, never in a URL,
a log line or a page. It expires and is renewed automatically ahead of that; the
settings page shows the date. Disconnecting revokes it in JonnyAD and deletes it
here.

### Can another plugin change where the site token is sent?

The server address is fixed to JonnyAD. A `JONNYAD_SEO_API_BASE` constant in wp-
config.php (for a staging server) and the `jonnyad_seo_api_base` filter are accepted
only for JonnyAD hosts or the host named by that constant; any other value is refused
and the settings page says so. This guards against misconfiguration; it is not a
defence against code that already runs on your site with full access.

### Is anything locked until I pay?

No. The plugin in this directory is complete. JonnyAD’s own paid service lives in
JonnyAD, not in this plugin.

### Does the plugin contact JonnyAD on its own?

Only after you connect, through a WP-Cron event twice a day, and only until you 
disconnect, JonnyAD revokes the connection, you deactivate the plugin, or five runs
in a row fail. Re-activating the plugin puts the event back for a connection that
is still live and not paused; a paused one stays paused until you resume it. Never
from a visitor’s page load.

### Does the content analysis send my text anywhere?

No. It runs in PHP on this site. While you edit, the editor asks this site’s own
REST API (`/wp-json/jonnyad/v1/analysis`, signed with your session) for the analysis
of the unsaved text; the answer is shown in the editor and nothing is stored until
you save. No external service is involved.

### Does the dashboard give my site a score?

No. It lists facts it measured on this site (indexing allowed, sitemap served, pages
without a description, publisher logo present, and so on) and what each one implies,
with the evidence. A score would hide which fact changed; the list shows it.

### Which post types get the SEO fields and the preview?

Every public post type except media attachments, including custom post types registered
by other plugins. Attachment pages are marked noindex by default because they duplicate
the post that embeds the file.

### What happens to password-protected or private posts?

They are noindex, their head carries no description, canonical, Open Graph, card
or schema, their SEO fields are left out of REST reads by anyone who cannot edit
them, and they are left out of the sitemap.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“JonnyAD SEO – Meta Tags, Schema & Sitemaps” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ jonnyad ](https://profiles.wordpress.org/jonnyad/)

[Translate “JonnyAD SEO – Meta Tags, Schema & Sitemaps” into your language.](https://translate.wordpress.org/projects/wp-plugins/jonnyad-seo-meta-tags-schema-sitemaps)

### Interested in development?

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

## Changelog

#### 0.4.3

 * Match every translation domain and bundled catalogue to the assigned WordPress.
   org slug.

#### 0.4.2

 * Keep Tested up to in the readme only.
 * Document external destinations, transmitted data, activation conditions, and 
   terms/privacy links, including IndexNow and optional browser embeds.

#### 0.4.1

 * Opportunities reads only this site’s own pages. The list of other sites’ addresses
   is gone from the screen, from the request this site sends and from the service
   that answers it: this plugin asks JonnyAD to read nothing but one of this site’s
   own published pages, as visitors see it, and JonnyAD refuses any other address
   before it reads or counts anything and never follows a redirect from this site’s
   page or robots.txt to another site. Findings measure the page on its own; proposals
   are written from the page’s own words and your approved facts. Earlier readings
   stay in History with what they recorded; nothing is read again.

#### 0.4.0

Account and connection: one press on Connect JonnyAD pairs the site (you choose 
the workspace in JonnyAD and come straight back; a pasted code still works); the
screen says plainly whether the site is on Free, on its 10-day trial, on Premium,
or expired; the Premium offer and the trial come from JonnyAD and are started or
bought there, never in the plugin. On Free, on the trial and after it ends, the 
plan line also names the services JonnyAD lists, exactly as JonnyAD sends them, 
and names none while that list is empty. The connection line names a trial as a 
trial, held by JonnyAD for this site, never as the workspace’s subscription.

#### 0.3.3

On hosts without the optional PHP mbstring extension, the location finder and the
CSV import now match a Greek word written in capitals against its lower-case form(
a word-end Σ) and leave the Greenlandic ĸ as it is, exactly as hosts with the extension
do.

#### 0.3.2

The location finder and the locations CSV import work on hosts without the optional
PHP mbstring extension, matching any case in any script.

#### 0.3.1

Fix the admin dashboard on hosts without the optional PHP mbstring extension.

#### 0.3.0

Every change in 0.3.0 is listed in changelog.txt, which comes with the plugin. In
short:

 * Saving: the SEO box, every settings screen and the bulk editor write only the
   fields changed on their page, never over a value changed elsewhere meanwhile,
   and say “saved” only once the site holds it. On the SEO box and the settings 
   screens, changes not yet saved are kept in this browser and offered back. The
   SEO fields are kept in WordPress’s own revisions, and in the classic editor’s
   autosave of a published page.
 * Imports: from Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework
   and Jetpack SEO Tools, per post, and per term and archive where the source keeps
   them; the redirections of Rank Math and the redirects of the Redirection plugin,
   each answering as its source answered it, or skipped with the reason. A dry run
   comes first, and Restore puts back only what the import wrote.
 * The site checks itself once a day as a search engine sees it (robots.txt, the
   home page, the sitemap) and turns what it finds into tasks. A JonnyAD SEO box
   on WordPress’s Dashboard, and two tests under Tools  Site Health.
 * Beside WP Search with Algolia (off until switched on): pages kept out of search
   here are left out of its index, and cornerstone content and the most linked pages
   come first among equally relevant results.
 * Key takeaways (connected sites): Nexus Cortex suggestions can write a short list
   of what a page says, from its own paragraphs, and place it at the top of the 
   page as a heading and a list in the page’s language; placed only on the exact
   version it was written for, with a revision kept, and reverted exactly. They 
   can also rewrite the opening paragraph so that it says the focus keyphrase, with
   every fact kept, offered beside the editor’s finding and on the suggestions screen.
   From the bulk editor, ask for a search title and a meta description for up to
   ten pages at once, each reviewed and applied one by one.
 * Content plan: each topic opened shows its brief, built from what this site measured
   on the topic’s page for the topic’s keyphrase (what to write and where, with 
   the evidence, fixes first) and a skeleton of headings by what the reader wants;
   a topic without a page gets the skeleton alone.
 * Beside Jetpack: its share tags, archive canonical and SEO Tools stand aside where
   JonnyAD SEO prints its own, never opening a page Jetpack keeps out of search;
   its sitemap leaves out what is kept out here; Markdown posts are analysed as 
   Jetpack saves them; the screens say whose llms.txt and robots.txt lines apply.
 * Crawlers: robots.txt can keep out, by name, the crawlers of assistants’ search
   answers and of model training (none until you tick it), and takes your own lines;
   llms.txt; IndexNow, paced as it asks (both off until switched on).
 * Readability: the inclusive-language review (off until switched on) checks an 
   English list of 217 terms written for this plugin, each found term with its sentence,
   alternatives and why; a phrase in which a term is fine is left alone. Suggestions,
   not rules.
 * Sitemaps: a post, or every post in chosen categories and tags, can be left out
   of the news sitemap while it stays in search; the video sitemap can list Vimeo,
   Wistia, Dailymotion, VideoPress and TED videos too, with the page’s featured 
   image (off until switched on).
 * WooCommerce: the shop takes the Shop page’s own title, description and sharing
   fields; the cart, checkout and account pages stay out of every list, as WooCommerce
   keeps them out of search; a product shares its price and currency, its availability
   and its SKU.
 * Structured data: several locations with a locator, categories, an open-now line
   and a CSV import, FAQ and How-to blocks, Product, video, the page and article
   type of each content type, and a site-wide feed (locations and the feed are off
   until switched on).
 * Beside The Events Calendar, Seriously Simple Podcasting and WP Recipe Maker: 
   their events, podcast episodes and series, and recipes join JonnyAD SEO’s structured
   data instead of printing a separate copy.
 * Content: the analysis finds a keyphrase in its other forms, gives each related
   keyphrase its own checks, and reads Spanish, French, German, Italian and Dutch
   with each language’s own formula, transition words and passive voice; cornerstone
   content, pages to link to, internal link counts, orphaned content and a content
   plan.
 * Redirects: 451, pattern rules, removed pages, and the rules as Apache and Nginx
   configuration.
 * Set up with Nexus Cortex (connected sites): review the suggestions beside where
   each came from, apply the ones you select, and undo any of them.
 * Every screen: a new look, plain words, icons beside every label and calmer motion.
   Also roles for SEO managers and editors, multisite, WooCommerce’s product brand
   and GTIN, Advanced Custom Fields text, images and links in the analysis, read
   as you type, and a privacy policy text.

#### 0.2.0

 * JonnyAD SEO is a top-level menu: Dashboard, Search appearance, Indexing & sitemap,
   Connection. Bookmarks to the old Settings page land on the dashboard.
 * Dashboard: measured facts about the site and the tasks they imply, each with 
   its evidence and the screen where it is settled; no score.
 * Post editor: a search result and share card preview from the same rules that 
   print the head, with the source and length of each value, updated while you type;
   on every public post type except media.
 * Posts list: a Search column saying where each post’s description comes from and
   whether it is noindex.
 * Sitemap: each post entry carries its last-modified date.
 * Settings are saved per screen; saving Search appearance never resets the indexing
   rules and the reverse.
 * Fixed: a title starting with a curly quote or other multibyte punctuation was
   corrupted by the separator trim.
 * Fixed: a static front page ignored the configured home page title and description(
   it is both the front page and a page; the front page is now asked first). Without
   configured values it is its own page.
 * Fixed: the separate posts page printed the home page’s title and description 
   under its own address and a WebPage node pointing at the home address; it is 
   now its own page, with its canonical (page number included) in the schema.
 * Autosaves and revisions never receive the SEO fields.

#### 0.1.0

 * First release: titles, meta description, canonical, robots, Open Graph, X cards,
   schema graph, sitemap rules, head-owner detection, JonnyAD pairing, two-way social
   profile sync.

## Meta

 *  Version **0.4.3**
 *  Last updated **20 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [meta tags](https://wordpress.org/plugins/tags/meta-tags/)[open graph](https://wordpress.org/plugins/tags/open-graph/)
   [schema](https://wordpress.org/plugins/tags/schema/)[seo](https://wordpress.org/plugins/tags/seo/)
   [xml sitemap](https://wordpress.org/plugins/tags/xml-sitemap/)
 *  [Advanced View](https://wordpress.org/plugins/jonnyad-seo-meta-tags-schema-sitemaps/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/jonnyad-seo-meta-tags-schema-sitemaps/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/jonnyad-seo-meta-tags-schema-sitemaps/reviews/)

## Contributors

 *   [ jonnyad ](https://profiles.wordpress.org/jonnyad/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/jonnyad-seo-meta-tags-schema-sitemaps/)