=== Anansi SEO ===
Contributors: uosamuel
Tags: seo, schema, sitemap, redirect, google news
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.6.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

SEO for WordPress: meta tags, schema, XML and news sitemaps, and redirects. Imports your settings from other SEO plugins and checks every page.

== Description ==

Anansi SEO covers what every site needs from an SEO plugin: titles and meta descriptions, schema, XML sitemaps and redirects. It also adds a Google News sitemap, video schema and internal link suggestions for news and media sites.

Switching is safe. Anansi imports your data from Rank Math, Yoast SEO, All in One SEO, SEOPress, The SEO Framework and Redirection, checks the result page by page, and never changes the old plugin's data. Until you go live, Anansi runs in preview mode: it prints nothing for visitors and shows you, page by page, what it would print.

= What it does =

* **Titles and meta:** templates with variables for every post type, taxonomy and archive; robots and advanced robots; canonical; prev/next.
* **Social:** Open Graph and X (Twitter) cards with image fallbacks.
* **Schema:** an Organization, WebSite, WebPage, Article and breadcrumb graph, plus your stored schema.
* **Schema editor:** add Product, Recipe, Event, Job posting, Review, Local business, Software app, Dataset, Person, Service or your own JSON-LD to any post. Each type shows whether Google gives it a rich result, checks required fields as you type and shows the JSON-LD live. Schema from Rank Math can be edited too; Rank Math's own data is left as it is.
* **Sitemaps:** XML sitemaps with images, a Google News sitemap, an HTML sitemap and robots.txt lines.
* **Redirects and 404 log:** exact, contains, starts/ends with and regex rules; 301, 302, 307, 410 and 451; automatic redirects when a slug changes; loop checks; a test-every-redirect tool.
* **Editor panel:** search preview, focus keywords, SEO checks while you write, robots, canonical, primary category, social and schema settings, and bulk editing in the post list.
* **Internal links:** suggestions while you write, from Ariadne Related Posts when it's installed, Voyage AI embeddings if you add a key, or a local index.
* **Crawlers:** robots.txt editor, AI crawler controls grouped by purpose, llms.txt, IndexNow and site verification.
* **Last updated line:** an optional "Last updated: 14 October 2026" line at the top or bottom of posts. It follows the modified date, so locking the date keeps the line as it is.
* **Small things that matter:** lock modified date, remove the category base, attachment redirects, external link attributes, image alt text and RSS footers.

= What it doesn't do =

No upsell notices, no review begging, no plugins installed for you and no AI switched on by default.

= Privacy =

To read video details, Anansi contacts YouTube (oEmbed or the YouTube Data API) or Vimeo (oEmbed) from your server when a post with a video is saved. If you add a Voyage AI key for internal links, post text is sent to Voyage AI to build embeddings. IndexNow sends changed URLs to participating search engines. No visitor data is sent anywhere.

== Installation ==

1. Upload the `anansi-seo` folder to `/wp-content/plugins/`, or install it from the Plugins screen.
2. Activate Anansi SEO.
3. Open **Anansi SEO** in the admin menu.
4. Optional: to add video schema to older posts at once, run `wp anansi videos`.

== Frequently Asked Questions ==

= Where is the news sitemap? =

At /news-sitemap.xml on your site. Submit it in Google Search Console.

= Why are only recent posts in the news sitemap? =

Google News only reads articles from the last two days. Older posts stay in your normal sitemap.

= Do I need a YouTube API key? =

No. Without one, Anansi uses the video's title and thumbnail and your post's date. A key adds the real upload date, length and description.

== Credits ==

* Figtree font by The Figtree Project Authors, SIL Open Font License 1.1 (assets/fonts/OFL.txt).

== Changelog ==

= 0.6.4 =
* Editor: while Rank Math or another SEO plugin is active, Anansi no longer shows its own SEO panel, meta box, "Lock modified date" switch, term and user fields or list columns, so there is only one set of SEO fields to fill in.
* Editor: saving a post no longer stores empty values for SEO fields you did not touch. Clearing a field removes its saved value.
* Fix: an empty primary category or social image saved by Anansi no longer hides the one set in Rank Math.

= 0.6.3 =
* Settings backup: the file now holds only real settings (no caches or logs), and importing it now also restores the AI abilities switch, block settings and video schema settings.

= 0.6.2 =
* Admin: example text in empty fields is now a lighter grey, and the page preview field says "e.g.", so an empty field no longer looks filled in.

= 0.6.1 =
* New: an optional "Last updated" line in posts (Titles & Meta → Last updated line). Off by default. Choose the content types, text, date format, top or bottom, and whether it shows on every post or only on posts changed after the day they were published.
* The line uses the post's modified date, the same date given to search engines. With "Lock modified date" on, saving keeps the date the line shows.
* Turning "Lock modified date" on and saving in the same step now keeps the date in the block and classic editors.

= 0.6.0 =
* New: schema editor. In the Schema tab, add, edit or remove schema for a post: Product, Recipe, Event, Job posting, Review, Local business, Software app, Dataset, Person, Service, or custom JSON-LD.
* New: each type is marked "Rich result in Google" or "Helps Google understand". The form shows missing required and recommended fields, a live JSON-LD preview, and a link to Google's Rich Results Test once the post is published.
* New: schema rows from Rank Math can be edited or removed. Anansi saves its own copy and never changes Rank Math's data.
* The classic editor gets the same forms in the Anansi SEO box.
* AI abilities: "Get post SEO fields" now lists the post's schema rows.

= 0.5.11 =
* New switch: "Let AI tools read and edit SEO fields" (General → AI abilities), on by default.

= 0.5.10 =
* Lock modified date moved next to Publish: in the block editor's post summary and the classic editor's Publish box.
* Dashboard: the Editor panel item opens the post editor where the panel lives.

= 0.5.9 =
* New: the dashboard is rearranged. Google Search and page preview sit on the left, one status card (mode, checks and the go-live switch) on the right, and the features are grouped into Search appearance, Sitemaps and crawling, and Tools.
* New: the dashboard's Google Search card has a 7 days / 28 days / 3 months switch and a small chart of clicks per day.

= 0.5.8 =
* Fix: "Submit to Google" for the sitemap failed with "Google returned an error" (Google needs a zero body length on that request).
* Google screen: once connected, the connection is one status line instead of a card; URL Inspection and Sitemap share one even row with the submit button next to the sitemap link.

= 0.5.7 =
* Admin: no thin outline edges on cards and boxes; shading separates them. Form fields keep their borders.

= 0.5.6 =
* Dashboard: feature tiles in up to four columns on wide screens.

= 0.5.5 =
* Dashboard: each feature tile links to its settings, and the tiles stay at three columns at most on very wide screens.

= 0.5.4 =
* Dashboard: "What Anansi does" is a full-width grid of feature tiles instead of one long list.

= 0.5.3 =
* Redirects: the Rank Math tab only shows while there are Rank Math redirects left to import.
* Import & Migrate: download Rank Math's redirects as a CSV backup.
* Sitemaps: the sitemap index address is a link, and the HTML sitemap section explains how to show it and links to its page.

= 0.5.2 =
* IndexNow: plain help text for every site, the key file address shown, and a "Make a new key when I save" switch.
* More space between items in the settings side menu, and between stacked cards on Redirects, Import and News & Video.
* The "Replace Rank Math auto-generated videos" option only shows on sites that have Rank Math video data.

= 0.5.1 =
* Google screen: the cards keep their size after you connect, and the property menu has the normal field style.
* Clearer help text on the "Own robots rules" switches.

= 0.5.0 =
* New look for every Anansi screen, in light and dark: a soft colour background, bigger and bolder type, roomy cards and a glass section menu.
* The save bar now floats up only when you have changed something, shows how many changes are waiting, and has a Discard button.
* Choices, tabs and the appearance switch show the selected option as a dark pill; switches use the new orange-to-violet colour.
* The classic editor box and the term and profile fields match the new look.
* Uses the Figtree font, included in the plugin (SIL Open Font License). Nothing is loaded from other sites.

= 0.4.7 =
* Social images: the site-name alt text is only used for fallback images, not for a post's own image in another format.

= 0.4.6 =
* Faster: the sitemap index builds about 13 times faster on large sites, fewer database queries on every page, and only the code a page needs is loaded.
* Dashboard: the page comparison labels its columns clearly in live mode.
* Social images: a swapped-in image (such as a logo fallback) gets its own alt text instead of the page title.

= 0.4.5 =
* Admin: settings pages open on the right tab straight away, without showing every section for a moment.

= 0.4.4 =
* Schema: posts without a real author credit the publisher instead of a nameless person.
* Schema: new "Site details on every page" setting (on for new sites) keeps the organization, website and web page on pages that have no schema type.
* Admin: notices use a soft tint and get space above them.
* Titles: page 2 and later of an archive always show the page number, so they never repeat page 1's title.
* Editor checks: the featured image now counts as an image.

= 0.4.3 =
* Fix: the internal link index table could not be created on MariaDB 11.7+ and MySQL 9, where "vector" is a reserved word. Existing tables are upgraded in place.

= 0.4.2 =
* Admin: status pills no longer wrap in narrow table columns.

= 0.4.1 =
* Google: choose the date range for Search Console data (7 days to 16 months, or custom dates), on the Google screen and in the editor panel.

= 0.4.0 =
* Google Search Console: connect your own Google Cloud client, see clicks, impressions, CTR, position, top pages and queries, inspect a URL and submit your sitemap. A "Search performance" panel in the editor.
* FAQ and HowTo blocks from Rank Math keep their schema and output without Rank Math.
* Google Preferred Sources link block and shortcode.
* WordPress Abilities API support for reading and updating a post's SEO fields.
* Optional sitemap cache and an option to replace auto-generated video schema.
* Better defaults on new sites: Article schema for posts and pages, WordPress's title separator, news sitemap off unless you used one before.
* Works with Ariadne Related Posts: noindexed and redirected posts stay out of related lists.

= 0.3.0 =
* Full SEO feature set: titles and meta, social tags, schema, XML sitemaps, redirects and 404 log, editor panel with SEO checks, internal link suggestions, crawler controls, and importers from other SEO plugins.
* Preview mode with a page-by-page comparison before you go live.

= 0.2.0 =
* New settings screen: glass design, light and dark, follows your admin colours.

= 0.1.0 =
* First release: Google News sitemap and video schema.
