Skip to content

v3.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:04
Immutable release. Only release title and notes can be modified.
afaf3f3

What's new

  • First WordPress.org release, renamed JAT Search Intel. Every identifier now uses jat-search-intel / jat_search_intel (main file, text domain, options, post meta, tables, REST namespace jat-search-intel/v1, blocks, WP-CLI wp jat-search-intel).
  • Added: automatic one-time migration from the earlier GitHub edition (settings, post meta, redirects, 404 log, roles, block markup); old FAQ/HowTo shortcodes keep working.
  • Added: connected JSON-LD @graph (single script, nodes linked by @id).
  • Added: custom JSON-LD per post.
  • Added: Google News sitemap, video sitemap and HTML sitemap shortcode.
  • Added: automatic image alt text, attachment-page redirects and RSS feed backlinks.
  • Added: Markdown copies of posts for AI agents, per-bot AI crawler rules in robots.txt, and AI crawler / AI referral analytics.
  • Added: Rank Tracker using your Search Console data via a Google service account.
  • Added: AI Search Readiness audit with a 0–100 score and one-click fixes, plus a Refresh Queue of stale pages weighted by Search Console clicks.
  • Added: WordPress Abilities API support (6.9+) for AI agents and MCP: search content, get page SEO data, analyse a post, update SEO fields, run the readiness audit, get the refresh queue.
  • Added: Content Signals (search / ai-input / ai-train) in robots.txt, and crawler presets (allow all, block training only, block AI).
  • Changed: IndexNow generates its key automatically and pings on publish, update and unpublish.
  • Fixed: the REST analyse endpoint and the background rescore job never saved scores.
  • Added: three-step setup wizard, offered through a dismissible notice after activation.
  • Added: Passage Coach panel in the block editor, with one-click answer-paragraph and comparison-table inserts.
  • Added: Page Performance report combining Search Console, AI referrals, AI crawler visits, GEO score and freshness per page.
  • Changed: the admin menu is now six entries (Readiness, Settings, Redirects, AI Search, Reports, Tools) with tabs; every page keeps its address.
  • Fixed: canonical URL, social title/description/image, audience, key topics and fact-check date set in the block-editor sidebar were saved under keys the front end never read. They are now kept in sync both ways and existing values are copied over on update. X (Twitter) title, description and image overrides are now used.
  • Removed: CSP headers, Subresource Integrity, white-label branding and the MainWP reporter (outside the scope of an SEO plugin).
  • Security: password-protected posts no longer leak their text through auto-generated descriptions, Open Graph/X tags, schema descriptions, FAQ/HowTo/speakable schema, the direct-answer tag or the ai-summary tag. An explicitly written meta description is still used.
  • Fixed: under the block editor, the classic meta box re-saved every field with its page-load values after the sidebar saved, undoing sidebar changes (for example canonical URL and noindex). It now saves only fields changed in the meta box.
  • Fixed: the setup wizard no longer replaces individually set crawler rules, and recommends blocking AI training only on a fresh install.
  • Fixed: Readiness no longer offers a fix on a passing check; the Refresh Queue now also considers high-traffic pages beyond the 300 oldest; Readiness and Page Performance stay fast on large sites.
  • Security: REST SEO data is only public for published, non-password-protected posts; focus keywords and scores now require edit access; duplicate /scores and /meta route registrations from the headless module were removed.
  • Fixed: settings pages no longer round-trip every option through hidden fields, which could flatten nested settings and stop some checkboxes from being turned off.
  • Fixed: title templates using %category%, %search_query% or %sep% were mangled when saved.
  • Fixed: entity markup repeated the rest of the sentence after each marked entity, and matched names inside longer words.
  • Fixed: the %tag% title variable and breadcrumbs could cause a fatal error when WordPress returned an error instead of terms.
  • Fixed: the Table of Contents block preview could fail on WordPress 6.5+ where heading text is stored as rich text.
  • Fixed: saving the SEO page switched off breadcrumb and site-search schema (they now have their own controls).
  • Fixed: /sitemap.xml could be redirected to /sitemap.xml/; robots.txt now lists your sitemaps.
  • Fixed: a second robots meta tag was printed next to WordPress's own; directives are now merged into one.
  • Performance: home, post, page and archive views run no extra database queries with the plugin active (measured on WordPress 7.1).
  • Performance: page views now load 18 plugin files instead of 25 (about 250 KB instead of 405 KB) and register 72 hook callbacks instead of 163; the REST API, Passage Coach, abilities, content analyzer and AI Optimizer are built only when a REST request, save or admin screen needs them, and editor meta fields are registered for REST requests only. Extra memory per page view fell from about 0.37 MB to 0.12 MB.
  • Security: editor meta fields can only be changed by users who can edit that particular post.
  • Changed: llms.txt now lists articles as well as pages, skips noindex content and is cached; llms-full.txt includes the full Markdown of each item.
  • Removed the GitHub self-updater; updates now come from WordPress.org.
  • Performance: disabled modules are no longer loaded on each request.
  • Performance: redirect matching uses a cached index, so pages without a redirect run no redirect queries.
  • Performance: growing logs and queues are no longer autoloaded.
  • Added: opt-in "Delete all plugin data" setting; uninstall now also removes tables, cron events and roles.
  • Added: scheduled tasks are cleared on deactivation, and database tables are created on update as well as activation.
  • Changed: a static llms.txt left by another plugin is no longer deleted automatically; you get a notice with a one-click remove button.
  • Changed: llms.txt no longer publishes the admin email address (use the jat_search_intel_llms_contact_email filter to add a contact).
  • Changed: AI-crawler access log stores hashed IPs only.
  • Removed: Google/Bing sitemap ping (both endpoints were retired; use IndexNow).
  • Fixed: background queue cron interval was never registered.
  • Fixed: llms.txt access tracking never ran.
  • Security and coding standards: prepared queries throughout, input sanitization, output escaping and translator comments.

Install

Download jat-search-intel.zip below, then in WordPress go to Plugins → Add New → Upload Plugin. Check the download against jat-search-intel.zip.sha256 if you like. Full documentation is in the wiki.