Title: Phaerixa Discovery Forensics &amp; Indexing
Author: Rob Art
Published: <strong>October 7, 2026</strong>
Last modified: October 8, 2026

---

Search plugins

![](https://ps.w.org/phaerixa-discovery-forensics-indexing/assets/banner-772x250.
png?rev=3733239)

![](https://ps.w.org/phaerixa-discovery-forensics-indexing/assets/icon-256x256.png?
rev=3733239)

# Phaerixa Discovery Forensics & Indexing

 By [Rob Art](https://profiles.wordpress.org/robword/)

[Download](https://downloads.wordpress.org/plugin/phaerixa-discovery-forensics-indexing.1.3.3.zip)

 * [Details](https://wordpress.org/plugins/phaerixa-discovery-forensics-indexing/#description)
 * [Reviews](https://wordpress.org/plugins/phaerixa-discovery-forensics-indexing/#reviews)
 *  [Installation](https://wordpress.org/plugins/phaerixa-discovery-forensics-indexing/#installation)
 * [Development](https://wordpress.org/plugins/phaerixa-discovery-forensics-indexing/#developers)

 [Support](https://wordpress.org/support/plugin/phaerixa-discovery-forensics-indexing/)

## Description

Phaerixa answers the question “why is this page not in Google?” with evidence instead
of guesswork.

Most SEO plugins give you settings to configure. Phaerixa gives you answers. It 
records every search-relevant change on your site as it happens — noindex, canonical,
slug, status, robots.txt, sitemap membership — and explains, in plain English, what
most likely caused an indexing problem and where to fix it. The free version observes
and explains; it never changes an indexing setting on its own.

**The Indexability Score**

A single number (0–100) built from the local scan of your site. It tells you, at
a glance, how healthy your site’s indexing setup is — and goes up as you fix what
the scan finds.

**Local SEO Diagnostics**

Scans your WordPress install — settings, plugins, post meta, theme output — against
Google’s indexing requirements. It only ever requests your own site’s pages, robots.
txt and sitemap; nothing is sent anywhere else. Results are grouped by severity 
with plain-English explanations and step-by-step fix paths.

**Full Core SEO Layer**

Meta titles and descriptions, Open Graph tags, Twitter/X cards, a robots.txt editor,
canonical URLs and JSON-LD schema markup — all in one plugin, all with sensible 
defaults. Phaerixa does not generate a sitemap: it finds and checks the one your
site already publishes (WordPress has its own since 5.5).

**Change Ledger, Explain and the Investigator**

The Change Ledger keeps one dated row per search-relevant change. Explain turns 
it into a probable cause. The Investigator builds a Page Dossier for any URL: the
evidence, the decision path, and where to fix it.

**Per-Post SEO Panel**

Full meta controls on every post and page — Classic Editor, Block Editor, and Elementor.
Meta title, description, OG image, canonical, noindex toggle, and schema type. Token
preview so you can see how your title pattern renders before you save.

**Pro Features**

Phaerixa Pro is a separate download. The free version is complete on its own and
never expires; Pro adds:

 * Google Search Console — connect your own property for coverage, performance, 
   URL Inspection and request-indexing, mapped to plain-English explanations
 * Redirect manager — 301/302/307 redirects with hit counter, CSV import/export,
   loop detection
 * Bot honeypot — catches crawlers that ignore robots.txt and can block them
 * Fix re-checks — confirms with Google whether a fix actually worked
 * GSC data sync — scheduled every 6 hours via WP-Cron
 * Trend tracking — Indexability Score history and issue count over time

The free version stores no visitor personal data (see Privacy).

### Uninstall

When you delete Phaerixa from the Plugins screen, the uninstall script runs automatically.
If “Remove data on uninstall” is enabled in Settings, all plugin data is removed
from your WordPress database, including:

 * All plugin settings and options prefixed with `phrx_`
 * The stored licence record

The uninstall script does **not** delete:

 * Any site content — posts, pages, users, media, or other plugin data

### Disclaimer

Phaerixa is provided as-is, without warranty of any kind. Rob Snow / Rob Art | WordPress
Development accepts no responsibility or liability for any data loss, ranking changes,
or any damage arising from the use of this plugin. You are solely responsible for
ensuring that your SEO configuration is appropriate for your site and compliant 
with applicable guidelines.

Phaerixa provides tooling and information to help you understand and improve your
site’s indexing. It does not constitute professional SEO advice. Consult a qualified
SEO professional for business-critical decisions.

### External Services

The free version contacts **no external service**. It only requests your own website(
below). The Google and licence services listed here are used by **Phaerixa Pro only**,
a separate download that is not part of this plugin.

**Google Search Console API** (`searchconsole.googleapis.com`, `www.googleapis.com`)—
Phaerixa Pro only. Pro connects to the Google Search Console API v3 and the URL 
Inspection API to fetch your site’s coverage and performance data, to list the properties
your Google account can access, and to submit your sitemap when you ask it to. What
is sent: your site’s own URLs (the pages being inspected), your chosen property,
and the OAuth token issued to your own Google Cloud project. This requires you to
create a Google Cloud project and complete the OAuth2 authorisation flow in Settings;
nothing is transmitted until you connect a property, and the plugin never sends 
visitor data.
 Google Terms of Service: https://policies.google.com/terms Google
Privacy Policy: https://policies.google.com/privacy Google APIs Terms of Service:
https://developers.google.com/terms

**Google Indexing API** (`indexing.googleapis.com`) — Phaerixa Pro only; the free
version never contacts it. Used only when you press “Request indexing” for a page
in the post editor. What is sent: the single URL you selected, plus the OAuth token
from your own Google Cloud project. No other data is transmitted, and nothing is
sent automatically or on a schedule. Same Terms and Privacy Policy as above.

**Your own website** — Phaerixa requests your site’s own pages, robots.txt and sitemap
over HTTP in order to inspect what a search engine would see (page content, response
codes, redirects and headers). These requests go to your own domain only. No data
leaves your server.

**Licence validation** — Phaerixa Pro only. Communicates with the Rob Art licence
server at `https://robart-illustration.eu` solely to verify your Pro licence key.
Only your licence key, plugin slug, and site URL are transmitted. No visitor data,
site content, or scan results are sent. This only occurs when you manually activate
or deactivate a licence from Settings.

### Privacy

Phaerixa stores its data in your own WordPress database. It does not use cookies,
does not track visitors, and sends nothing to Rob Art | Illustration.

**What the free plugin records:** the Change Ledger stores site state — which page
changed, what the old and new values were, and when. That is content and settings
data, not personal data. The scanner and Investigator read your own pages and store
their findings locally.

**Personal data:** the bot honeypot (a Pro feature) records the **IP address and
browser user agent** of requests that hit a hidden bait URL, so those crawlers can
be identified and blocked. That is personal data under GDPR. It is stored only in
your database, is never transmitted anywhere, and can be removed at any time by 
deleting an entry from the Honeypot screen. The free build contains no honeypot 
and records no IP addresses.

**Google Search Console (Pro only):** when you connect a property in Phaerixa Pro,
the OAuth tokens issued to your own Google Cloud project are stored in your database
so the plugin can fetch your data. Revoking the connection in Settings deletes them.
See the External Services section above for exactly what is sent to Google.

Uninstalling the plugin removes its data — see the Uninstall section.

### Support

For documentation and guides visit the [Phaerixa plugin page](https://robart-illustration.eu/plugins-wordpress-development/phaerixa-discovery-forensics-indexing/).

For bug reports or feature requests please use the support forum on the WordPress
plugin directory page or contact us via the plugin page above.

## Screenshots

[⌊Dashboard — Indexability Score, issue queue, and stat tiles showing indexed pages,
critical issues, and GSC coverage split.⌉⌊Dashboard — Indexability Score, issue 
queue, and stat tiles showing indexed pages, critical issues, and GSC coverage split
.⌉[

Dashboard — Indexability Score, issue queue, and stat tiles showing indexed pages,
critical issues, and GSC coverage split.

[⌊Diagnostics — Issue list grouped by severity with plain-English explanations and
fix paths.⌉⌊Diagnostics — Issue list grouped by severity with plain-English explanations
and fix paths.⌉[

Diagnostics — Issue list grouped by severity with plain-English explanations and
fix paths.

[⌊SEO — Meta tab with title pattern editor, OG image picker, and token preview.⌉⌊
SEO — Meta tab with title pattern editor, OG image picker, and token preview.⌉[

SEO — Meta tab with title pattern editor, OG image picker, and token preview.

[⌊Search Console — Coverage status chart with issue breakdown and URL-level detail.⌉⌊
Search Console — Coverage status chart with issue breakdown and URL-level detail
.⌉[

Search Console — Coverage status chart with issue breakdown and URL-level detail.

[⌊Settings — 3-column card layout with System Info, General settings, and Licence
card with modal overlay.⌉⌊Settings — 3-column card layout with System Info, General
settings, and Licence card with modal overlay.⌉[

Settings — 3-column card layout with System Info, General settings, and Licence 
card with modal overlay.

[[

[[

## Installation

 1. Upload the `phaerixa-discovery-forensics-indexing` folder to `/wp-content/plugins/`
    or install via **Plugins  Add New**.
 2. Activate the plugin from the **Plugins** screen.
 3. Navigate to **Phaerixa** in the WordPress admin menu.
 4. Follow the short setup wizard, then run your first scan from Diagnostics.

## FAQ

### Does Phaerixa make external calls?

The free version only requests your own site’s pages, robots.txt and sitemap, to
see what a search engine sees. It contacts no other service. Phaerixa Pro adds a
Google Search Console connection (to Google’s own APIs, with your own Google Cloud
credentials) and licence validation with `https://robart-illustration.eu` — see 
External Services.

### Does it conflict with Yoast / Rank Math / AIOSEO?

Phaerixa detects other active SEO plugins and warns you if they may produce duplicate
meta or canonical output. For sitemap and robots.txt, Phaerixa defers to any detected
plugin to avoid conflicts. It is generally best to use one SEO plugin at a time.

### Do I need a Google Search Console account?

Not for the free version — it contains no Google connection at all. Google Search
Console is part of Phaerixa Pro, and even there it is optional: the ledger, scanner
and Investigator work without it.

### Can I use Phaerixa on a multisite?

Phaerixa is designed for single-site installations. Multisite support is not currently
tested or guaranteed.

### How do I remove Phaerixa completely?

Enable “Remove data on uninstall” in Settings  General, then deactivate and delete
the plugin from the Plugins screen. The uninstall script removes all plugin data
automatically.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Phaerixa Discovery Forensics & Indexing” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Rob Art ](https://profiles.wordpress.org/robword/)

[Translate “Phaerixa Discovery Forensics & Indexing” into your language.](https://translate.wordpress.org/projects/wp-plugins/phaerixa-discovery-forensics-indexing)

### Interested in development?

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

## Changelog

#### 1.3.3

 * Security: internal hardening.

#### 1.3.2

 * Fixed: a Quick Edit (a new date, status or category) marked the SEO score in 
   the posts list as out of date even though nothing it measures had changed. The
   score now only goes out of date when the title, content, excerpt, slug or featured
   image change.
 * Changed: Phaerixa’s menu sits below Comments, beside the other Rob Art tools,
   instead of at the end of the admin menu.

#### 1.3.1

 * Changed: Phaerixa’s menu no longer asks for a high place in the admin menu. WordPress
   now lists it after its own items (Posts to Settings).
 * Improved: on the Dashboard, an odd last statistic box spans the full width instead
   of leaving a gap.
 * Fixed (Pro): Search Console’s Re-sync never updated the page list. It now re-
   checks every page against Google and updates the ones that changed.
 * Fixed (Pro): a page was only matched to Google’s results when its address was
   written exactly the same way. Small differences such as a trailing slash or www
   no longer stop the match.
 * Fixed (Pro): the summary cards grouped pages by severity, so pages Google knows
   about but has not yet shown in search were counted wrongly. They now have their
   own “No impressions” group, and clicking a card shows just those pages.
 * Fixed (Pro): the Status sort on the Search Console list did nothing. It now sorts
   by group, with valid pages first.
 * Fixed (Pro): when Google returns no data, Phaerixa now says so and names the 
   Search Console property it asked, and the report runs up to today.
 * Improved (Pro): a “No impressions” slice in Statistics and a matching figure 
   on the Dashboard.

#### 1.3.0

 * Changed: Google Search Console is now part of Phaerixa Pro. The free version 
   contains no Google connection and contacts no outside service — it only reads
   your own site. Pro installs keep their connection.
 * Changed: features that belong to Pro now live entirely in the separate Pro download
   instead of being switched off inside this one. Where one would appear, the free
   version shows a short description of what Pro adds.
 * Fixed: Statistics  Performance (Pro) showed zeros when Google returned no data
   or refused the request. It now says which, in words, with Google’s own message.
   The figures show “—” instead of 0, and a Connection details panel shows exactly
   what Google answered, with a Refresh from Google button.
 * Fixed: on a site whose homepage lists the latest posts, the Homepage description
   set in SEO  Meta & Social was saved but never added to the page, while the scanner
   reported it as set. It is now printed, together with the homepage’s social-card
   title and description.
 * Fixed: the scanner now checks the robots.txt and sitemap that crawlers actually
   receive, including a robots.txt file placed in the site root. It previously looked
   only at text saved in Phaerixa.
 * Fixed: a static front page no longer counts as “missing a meta description” when
   the Homepage description covers it.
 * Fixed: the image alt-text figure could count alt text left behind by deleted 
   images.
 * Fixed: the same score could read “Good” on one screen and “Needs attention” on
   another. Every score now uses the same bands: 80 and above is Good, 50 and above
   Needs work.
 * Fixed: the setup wizard asked for a licence key in the free version and promised“
   one-click fixes” and “guided repairs”, which Phaerixa does not do. It now describes
   what Phaerixa does and what Pro adds.
 * Fixed: the readme and upgrade panels advertised an “auto-fix engine” that does
   not exist. Removed.
 * Changed: robots.txt snippets added by Phaerixa are now marked with its current
   name. Snippets marked with its old name are still recognised.

#### 1.2.1

 * Security: the stored licence record is signed so it cannot be edited by hand 
   to grant Pro features. That signature used a fixed value shipped inside the plugin,
   which meant it was the same on every installation and offered no real protection.
   Each site now generates its own private signing value, which never appears in
   the plugin’s files. Pro users will need to re-enter their licence key once after
   updating.

#### 1.2.0

 * New: an Upgrade page, reached from its own menu item, setting out what Phaerixa
   Pro adds and what it costs. The free version previously had no way to see this.
 * New: “Upgrade to Pro” buttons throughout the plugin now open a details panel.
   They previously did nothing at all when clicked.
 * New: direct links into your own Google Search Console, from the sidebar on every
   page, from the Search Console tabs, and — most usefully — from a page’s verdict
   in the Investigator, which opens Google’s URL Inspection for that exact page.
 * Fixed: Phaerixa reported that robots.txt was blocking Google on sites where it
   was not. Blocking AI crawlers such as GPTBot is a common and harmless practice,
   and the check mistook it for a site-wide block — then presented that as the decisive
   reason a page was not indexed. The rule is now read for the specific crawler 
   it applies to.
 * Fixed: the Sitemap panel claimed Phaerixa was generating your sitemap and listed
   addresses that did not exist. Phaerixa does not generate sitemaps; it now identifies
   the sitemap your site actually publishes, confirms it works before saying so,
   and reports what it tried when none can be found. This also fixes “Submit to 
   Google” failing.
 * Fixed: robots.txt and the Dashboard no longer advertise a sitemap address that
   redirects, which Google rejects.
 * Fixed: a change in the sitemap check meant a working sitemap could be recorded
   in the Change Ledger as missing.
 * Fixed: the Honeypot could write an unchecked address into the server configuration
   file, which on some hosts could take the whole site offline. Addresses are now
   validated first and the rule is written in a form older servers also understand.
 * Fixed: the Honeypot list no longer runs long browser identifiers across the neighbouring
   columns; they are shortened, with the full text on hover.
 * Fixed: the Change Ledger recorded “Noindex changed” entries where nothing had
   actually changed, reading “Indexed  Indexed”. A page that was already indexable
   could be written two different ways internally, which slipped past the check 
   that suppresses non-changes.
 * Changed: pages with no Google Search impressions are now labelled “No search 
   impressions” rather than “Not seen by Google”, and treated as information rather
   than a warning. The old wording implied Google could not see the page, when it
   only meant the page had not yet appeared in search results — which is normal 
   for anything newly published, and for every page while Google is still processing
   a site’s data.
 * Security and compliance: output escaping tightened across the admin screens, 
   all inline styles and scripts moved into proper files, request data consistently
   sanitised, and the documentation of external services expanded to name every 
   Google address the plugin contacts. A privacy section has been added covering
   what the honeypot stores.

#### 1.1.12

 * Fixed: the honeypot now records the real visitor IP address behind a reverse 
   proxy or managed host. It previously preferred the server’s own connection address,
   so on proxied hosting a triggered honeypot could log and block the proxy rather
   than the offending bot.

#### 1.1.11

 * Fixed: the Statistics “Issues Breakdown” chart now shows your current live issue
   counts, matching the Diagnostics page exactly. It previously read the last recorded
   scan snapshot, so it could show issues you had already fixed.
 * Fixed: the Statistics “Trends” tab now always shows your real recorded scan history
   instead of illustrative demo data, so figures like “Best Score Recorded” can 
   no longer contradict your live score. When too few real scans have been recorded
   yet, it shows an honest “trends build up as your site is scanned” message rather
   than a misleading one- or two-point line. Added axis labels to the trend charts.
 * Fixed: the Meta & Social “Meta Coverage” panel now counts coverage the same way
   the Diagnostics scanner does — it credits per-type default title/description 
   patterns and excludes noindex pages — so it no longer reports pages as “missing”
   that Diagnostics correctly treats as covered.

#### 1.1.10

 * Added: a “This page isn’t an article” toggle in the SEO panel (Advanced). Tick
   it on a shortcode, tool or landing page whose value is its function rather than
   long text, and the word-count / thin-content and readability checks are skipped
   for that page — so a short utility page is no longer flagged as thin content.

#### 1.1.9

 * Fixed: the plugin dashboard’s on-page issue counts and health score now match
   the Diagnostics page exactly. The dashboard was using its own separate calculation
   that didn’t share the diagnostics scanner’s rules (it counted media attachments,
   ignored per-type defaults, and used a different score formula), so it reported
   higher “missing title/description” numbers and a different score. Both views 
   now come from the same scan.

#### 1.1.8

 * Fixed: the orphan-pages check now recognises internal links written as relative
   paths (e.g. “/copyright-policy/”), not just full URLs. WordPress’s editor and
   many themes store internal links relative to the site root, so a page you had
   genuinely linked to could still show as having no links pointing to it. It now
   matches both forms.

#### 1.1.7

 * Fixed: the orphan-pages check no longer flags blog posts that are listed on your
   Posts (blog) page or in a category/tag archive — those posts are reachable through
   those archives, so they aren’t orphaned. Combined with the previous release, 
   the check now reflects pages that genuinely have no internal links pointing to
   them.

#### 1.1.6

 * Fixed: the “pages with no internal links” (orphan) check no longer reports pages
   that ARE linked. It previously only searched post content, so pages linked from
   a menu, an Elementor layout, or a custom post type’s archive listing were wrongly
   flagged. It now recognises custom post type items shown on their archive as linked,
   and also checks navigation menus and Elementor content — so the count reflects
   genuinely orphaned pages.

#### 1.1.5

 * Fixed: the dashboard’s 28-day Clicks & Impressions chart now plots real Search
   Console data. It previously generated a plausible-looking daily curve from the
   28-day totals, so a connected site saw invented daily peaks and troughs presented
   as its own performance. The chart now draws nothing when there is no data rather
   than filling the gap.
 * Fixed: duplicate meta title and description checks compare what each page actually
   renders, not the stored template. Pages sharing a title pattern such as “%title%%
   sep% %sitename%” were reported as duplicates even though every rendered title
   was unique. This also catches genuine duplicates the old comparison missed, where
   a literal value and a template resolved to the same text.
 * Fixed: the attachment-pages warning now reads whether attachment pages are enabled
   before reporting them as indexable. It previously counted attachments and warned
   regardless, so the notice could not be cleared — and its fix link pointed at 
   Reading Settings, which has no attachment control. A setting that genuinely turns
   attachment pages off has been added.
 * Fixed: the tag-archive warning can now be resolved. It asserted that archives
   were publicly indexable without checking, so noindexing every archive left the
   count unchanged. A tag-archive noindex setting has been added, the check reads
   it, and the detail text now reports how many tags are used on only one post.
 * Fixed: images marked as decorative are no longer reported as missing alt text.
   An explicit empty alt attribute is the correct way to mark a decorative image,
   and role=”presentation” and aria-hidden say the same thing; all three are now
   excluded from the tally instead of counted as failures.
 * Fixed: references to deleted images are no longer counted as missing alt text.
   A widget pointing at an attachment that no longer exists is a broken image, not
   an alt-text problem, and there is no media entry on which the alt text could 
   be set.
 * Fixed: images with no source attribute, inline data URIs and SVG icons are excluded
   from the alt-text tally. These are template scaffolding with no media-library
   entry to caption.
 * Fixed: the SEO score column in the posts list now shows when its number is out
   of date. The score is calculated in the editor and saved with the post, so any
   later change made elsewhere left the column showing an older figure with nothing
   to indicate it. A stale score is now faded and marked, and says so on hover.

#### 1.1.4

 * Fixed: the sitemap check no longer reports “No sitemap found” when your sitemap
   is actually working. It now follows redirects (a /sitemap.xml that redirects 
   to WordPress’s /wp-sitemap.xml is a valid sitemap), checks the core sitemap URL
   directly, and retries once so a momentary hiccup on the live check can’t trigger
   a false “missing sitemap” critical.

#### 1.1.3

 * Fixed: pages whose body is a shortcode or page-builder layout (for example a 
   help page built from [plugin_help], or an Elementor page) are no longer wrongly
   flagged as thin content. The scan now measures the rendered word count, so a 
   page that displays plenty of content is judged on what visitors actually see,
   not on the few words stored in the editor.
 * Changed: when you set a default title or description for a content type (SEO  
   Meta & Social  per-type defaults), every item of that type now counts as having
   meta in the site health score — matching what is output on the front end. Setting
   one default for a whole type (e.g. all plugins) now improves the score for all
   of them at once, instead of each still showing as missing.

#### 1.1.2

 * Fixed: the site health scan no longer counts media attachments (or any content
   type hidden from search) when checking for missing meta titles and descriptions.
   Attachment pages never carry editorial meta, so including them flooded the score
   with issues that could never be fixed and could push it to zero. The scan now
   focuses only on content types that are actually meant to be found in search.

#### 1.1.1

 * Fixed: an important settings bug where saving one card on the SEO  Meta & Social(
   or Sitemap/Schema) screen could silently wipe settings you had saved on another
   card — for example your homepage title and description, or your schema social
   links, disappearing after saving a different section. Each setting now keeps 
   its value when you save a different card. If you were affected, simply re-enter
   and save the cleared fields once; they will now stick.

#### 1.1.0

 * Added: SEO for custom post type archives. Archive pages — for example your Books,
   Portfolio or Products listing — now get their own meta title, description and
   Collection Page structured data, generated for any custom type automatically.
   Previously only individual posts and pages were given meta tags.
 * Added: per-content-type SEO defaults. In SEO  Meta & Social you can now set a
   default title and description pattern for each custom content type (e.g. every
   Book), so a whole type shares a format without editing each item. A title or 
   description set on an individual item still takes priority.
 * Added: a Demo data switch (Settings  General, administrators only) that fills
   the dashboards and trends with sample Search Console data for previews, then 
   turns off to show your real data. Replaces the previous developer-only constant
   and keeps every screen consistent.
 * Changed: the site health scan now honours your “Post types to analyse” choice,
   so custom types such as Portfolio or Products are included in the score — not
   just posts and pages.
 * Fixed: the page title is now produced through WordPress’s own title system, so
   there is never a duplicate title tag on themes that manage their own titles.
 * Fixed: pages set to noindex are no longer counted as missing a meta description
   or title, and structured records are no longer flagged as thin content — both
   were unfairly lowering the score.

#### 1.0.24

 * Fixed: the content-light detection from 1.0.22 was too aggressive — pages that
   DO have a real description stored in a plugin field (portfolio items, book pages,
   custom listings) were wrongly treated as having no content, so their content 
   and readability checks were skipped. Phaerixa now decides this from the actual
   amount of readable text on the rendered page, so only genuinely structured records(
   e.g. a copyright-evidence entry with no public description) skip the article 
   checks; described pages are analysed in full again.

#### 1.0.22

 * Added: pages that carry their information in structured fields rather than body
   text — for example a copyright-evidence record, a directory entry or a gallery
   item — are now recognised automatically. The content and readability checks that
   only make sense for an article (word count, headings, in-body keyword, internal/
   outbound links) are marked “not applicable” and no longer drag the score down,
   so a well-optimised structured page can reach a high score on the checks that
   actually apply (title, description, canonical, indexability, schema, images).
 * Fixed: the admin styles now load on every Phaerixa sub-page, not just the dashboard.

#### 1.0.21

 * Fixed: the per-post SEO checks now work on content types whose body text lives
   in plugin or theme fields rather than the main editor — for example portfolio
   items, book pages and custom listings. Phaerixa reads the actual rendered page,
   so the focus-keyword-in-intro, outbound and internal link, heading, and readability
   checks register instead of sitting blank.
 * Note: after updating, re-save an affected page once so its content is re-analysed.

#### 1.0.20

 * Changed: the SEO panel now sits at the bottom of the editor’s metabox column 
   instead of the top, so your own page panels appear first. (You can still drag
   it wherever you prefer; WordPress remembers your order.)
 * Housekeeping: aligned the plugin slug and text domain with the WordPress.org 
   naming requirements. No change to your data or settings.

#### 1.0.19

 * Fixed: the “Images have alt text” check no longer reports missing alt on Elementor
   pages where every image actually has alt. Page-builder images are often rendered
   without WordPress’s wp-image-ID class, so they were being counted a second time
   as anonymous “no alt” images; they are now matched back to their media item by
   their image URL (and decorative CSS background images are correctly excluded).

#### 1.0.18

 * Fixed: the content “Images have alt text” check now recognises the featured image
   and images placed with Elementor (and other page builders) — previously these
   were invisible to the analyser, so a page with every alt set could still read
   as a warning. Their alt text is now resolved from the media library and folded
   into the check.
 * Fixed: content analysis inside Elementor now sees links, headings and images —
   the live extractor returned plain text (dropping every link, heading and image),
   so the internal/outbound link, heading and image checks failed on Elementor pages
   that actually had them. It now reads the rendered markup, and also handles Elementor’s
   flexbox‑container layouts where the older widget selector matched nothing.
 * Fixed: the SEO meta “coverage” percentages no longer exceed 100% — the total 
   and the “has custom meta” counts now measure the same set of post types (previously
   products and other types inflated the numerators against a post/page‑only total,
   e.g. 343%).

#### 1.0.17

 * Fixed: a blank title separator no longer breaks title output — the %sep% token,
   the SERP preview and the active separator option now all fall back to the default
   when the stored value is empty
 * Fixed: the SERP title length bar now fills correctly at the ideal length (full
   at the optimal maximum, pinned and recoloured past it) instead of reading half-
   full
 * Added: Pro updates are delivered directly from the developer’s licence server—
   a licensed Pro install now receives update notices in place (the update link 
   lights up and installs the new version)

#### 1.0.16

 * New Decision Path in the Investigator — see the exact reasoning behind a page’s
   verdict as a step-by-step flow (reachable, published, crawlable, index allowed,
   canonical, Google’s verdict), with the deciding step highlighted and a one-click
   link to where you fix it
 * New Index Matrix — a site-wide table of every published URL with at-a-glance 
   signal columns and an indexability verdict, filterable by type and verdict, each
   row opening its full dossier
 * Dashboard now shows an Indexability summary (indexable / canonicalised / blocked
   across your whole site) and, for Pro, a Fix Verification tally (awaiting / recovered/
   regressed)
 * Fixed: turning a page noindex now correctly logs as an indexing concern and appears
   on the dashboard and Change Ledger (previously some meta changes were silently
   missed)
 * Fixed: a fix is only reported as “Recovered” once genuinely confirmed — an indexing
   fix without Search Console connected now honestly reads “Awaiting Google” rather
   than over-claiming
 * Various Investigator layout and wording polish

#### 1.0.15

 * New Investigator workspace — search any URL on your site and open its full “dossier”:
   a plain-English indexing verdict plus an Evidence Stack showing every signal (
   HTTP status, robots.txt, meta robots, canonical, sitemap, internal links, publish
   status and Google’s own verdict) that decides whether the page gets indexed
 * Type-ahead search — start typing and Phaerixa suggests your own pages, posts 
   and products by name, so you pick a URL instead of copy-pasting it, plus a Clear
   button to start a fresh search
 * Verify results (Pro) now show right in the Change Ledger — each fixed change 
   is badged Recovered, Awaiting Google, or Regressed, so you can see at a glance
   whether a fix actually took
 * Layout fix on the Investigator screen

#### 1.0.14

 * Google Search Console connection is more reliable — after connecting, Phaerixa
   now automatically selects and saves the right property for your site, and the
   status now reflects a genuinely working connection rather than just a stored 
   token
 * Verify (Pro) — when you fix an indexing problem, Phaerixa now watches whether
   Google actually recovers the page, marking it Awaiting Google, Recovered, or 
   Regressed, using Google’s own reporting so “Recovered” means Google really re-
   indexed it
 * Internal reliability and code-quality improvements

#### 1.0.13

 * Change Ledger now watches far more — beyond editor changes it also spots robots.
   txt edits, pages leaving your sitemap, a site-wide noindex header, and per-page
   HTTP problems (404, server errors, soft-404, forbidden, redirect errors) — the
   technical reasons Google drops pages, caught the moment they happen
 * New “Why this page may not be indexed” panel in the post SEO box — when a page
   has an active indexing problem it tells you what’s wrong, when it changed, and
   how to fix it (only appears when there’s something to report)
 * Redesigned Dashboard leads with your indexing activity: recent search-facing 
   changes and any active concerns are front and centre, with your SEO health score
   alongside

#### 1.0.12

 * Product SEO scoring — WooCommerce products now use a product-appropriate profile:
   word count and keyword checks combine the long and short descriptions, image 
   alt-text scanning includes the product featured image and gallery, and article-
   only checks (headings, internal/outbound links) no longer count against product
   pages
 * Product schema now emits the fields Google recognises for a rich result — Offer(
   price, currency, availability), SKU, short description, and star rating — pulled
   from WooCommerce
 * SEO title and meta description character counters and length checks now measure
   the resolved value (e.g. %title%) rather than the literal template text
 * Info tooltips in the post SEO panel now appear at the button you click, not a
   fixed corner
 * Posts-list SEO score badge now matches the score shown in the post editor
 * Change Ledger (new) — records search-relevant changes (indexing, canonical, slug,
   status, permalinks, search visibility, plugin and theme changes) so you can see
   what changed and when
 * Housekeeping — bot honeypot is now fully Pro-only with no trace in the free build;
   added a distribution manifest so only shipping files are packaged

#### 1.0.11

 * WordPress 7.0 compatibility — restored familiar form, button, checkbox and radio
   styling that WP 7.0 changed
 * Added empty-state overlay on Honeypot trap activity chart for sites with no data
   yet
 * Fixed honeypot chart axis labels not rendering (CSS variable typo)

#### 1.0.0

 * Initial release — diagnostics engine, full core SEO layer, GSC integration, per-
   post panel, honeypot bot trap, setup wizard

## Meta

 *  Version **1.3.3**
 *  Last updated **37 minutes ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [crawl](https://wordpress.org/plugins/tags/crawl/)[diagnostics](https://wordpress.org/plugins/tags/diagnostics/)
   [google search console](https://wordpress.org/plugins/tags/google-search-console/)
   [indexing](https://wordpress.org/plugins/tags/indexing/)[seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/phaerixa-discovery-forensics-indexing/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/phaerixa-discovery-forensics-indexing/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/phaerixa-discovery-forensics-indexing/reviews/)

## Contributors

 *   [ Rob Art ](https://profiles.wordpress.org/robword/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/phaerixa-discovery-forensics-indexing/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://paypal.me/robsnowcreative)