All plugins

Dragon Content Decay

Identify content losing traffic over time by connecting to Google Analytics 4. Prioritize which posts to refresh.

v1.0.17
5 October 2026

Scores of posts that stopped getting views are now cleared, views are matched to posts more precisely, and the plugin now states that it requires PHP 8.2.

What's new in 1.0.17

  • Changed: requires PHP 8.2. The bundled Google client already needed it, so on PHP 8.0 or 8.1 the plugin could not run; WordPress now says so before installing or updating.
  • Fixed: a post with no views in either period no longer keeps its old score, so the dashboard, the Decaying count and the email digest stop showing declines that are over. Scores are kept when Google returned only part of a report.
  • Fixed: views of a short address such as /pricing are no longer added to a post with the same slug that lives at a longer address (date-based or prefixed permalinks), and drafts and private posts are never credited.
  • Fixed: the Decay column on the posts list is now coloured by trend.
  • Fixed: if the scores table could not be created or upgraded, the plugin tries again on the next page load instead of reporting failed syncs until it is reactivated.
  • Fixed: when Search Console properties cannot be listed, the Settings screen says why instead of "No Search Console properties were found".
  • Fixed: a Google client secret is saved exactly as entered. Characters such as %, < or a double space inside it are no longer removed. Spaces pasted around the secret are still dropped.
  • Changed: posts with the same score are listed with the one that had more views first.
  • Changed: settings from versions before 1.0.1 are moved once instead of being looked up on every page load, and uninstall removes only this plugin's own old settings.
  • Changed: the Connect and Disconnect links and Google's sign-in reply each verify the request themselves before doing anything, and every submitted value is checked before use. A sign-in reply with an unreadable code is refused with the usual "sign-in did not complete" message.

Your settings, scores and Google connection are kept. Run a sync after updating to clear old scores.

v1.0.16
2 October 2026

Uninstalling now deletes your data only when the delete-on-uninstall opt-in is clearly switched on.

What's new in 1.0.16

  • Fixed: uninstall deletes data only when the opt-in is clearly on (1, true, yes or on). A value set by hand to "false", "no" or "off" used to count as a yes and now keeps your data.
v1.0.15
25 September 2026

Scores add up every address of a post, and subfolder installs work.

What's new in 1.0.15

  • A post's score adds up all its Analytics addresses, so paged and feed views no longer overwrite it.
  • Sites installed in a subfolder are matched correctly.
  • Only the post types you track are scored and shown, over full days ending yesterday.
  • Posts scored from partial Analytics data are marked, and an unfinished manual sync carries on instead of reporting success.
  • Setup steps include the Google consent screen, and errors are shown in plain language.
  • The daily sync reschedules itself if it goes missing, on every site of a network.
v1.0.14
25 September 2026

More reliable syncing and digests.

What's new in 1.0.14

  • Fixed: the monthly digest is sent.
  • Fixed: a failed Google Analytics or Search Console request no longer scores posts against zero; the sync stops and shows the reason.
  • Large sites: Analytics and Search Console results are read in pages instead of being cut off.
  • Token refresh backs off after a failure and never runs on visitor page loads.
  • Digest emails have working edit links, show your site name correctly and no longer set their own sender address.
v1.0.13
24 September 2026

Connecting and disconnecting Google now works reliably.

What's new in 1.0.13

  • Fixed: connecting, disconnecting and the Google sign-in callback now redirect correctly.
  • A failed or cancelled Google sign-in now shows a message instead of returning silently.
  • Every screen, email and alert is now translatable, and translations bundled in the plugin's languages folder now load. Counts use proper plural forms, and numbers and dates follow your site's language.
v1.0.12
12 September 2026

Search Console figures are now added up across www/non-www addresses and matched to posts regardless of trailing slashes, so the Search Clicks column no longer under-reports.

What's fixed in 1.0.12

  • Pages with more than one address are counted once, in full. A Domain property reports the same page under https://example.com/a/ and https://www.example.com/a/ (and http/https). Previously whichever row came last won, so a page with 10 + 5 clicks could show 5. Clicks and impressions are now summed across all of a page's addresses, and the average position is weighted by impressions.

  • Only your own domain is counted. Rows for other subdomains in a Domain property (a shop or docs subdomain, say) no longer leak into your figures. www. and non-www. both count as your site.

  • Trailing slashes and encoding no longer break the match. GA4 might report /about while Search Console reports /about/, or one side percent-encodes a character the other does not. The Search Clicks column showed 0 for such pages even though they had clicks. Both sources are now matched on the same normalised path, and GA4 rows that only differ in this way are added together.

  • A sync that could not save every score says so. If the database refuses to write some decay scores, the sync was still reported as complete. The dashboard and the Sync Now button now report how many posts could not be saved, and the sync is recorded as partial or failed.

Run a sync after updating to refresh the stored figures. No settings changes.

v1.0.11
30 August 2026

Dragon Content Decay 1.0.11 is a documentation-only update that fully describes the Google Analytics and optional Search Console connections - no behaviour changes.

= 1.0.11 =

  • Readme: the external services section now also covers the optional Google Search Console API calls (when they happen and what is sent), states that syncs run once a day, and lists the bundled Google client libraries and their licences. No code changes.
v1.0.10
23 August 2026

New: optional Google Search Console integration — see search clicks and impressions alongside your GA4 traffic decline.

= 1.0.10 =

  • New: Google Search Console integration. Turn on "Search Console" under Settings, reconnect to Google to grant read-only access, and pick your verified property — the plugin then pulls per-page search clicks and impressions (current vs previous period) alongside GA4 pageviews, and the decaying-content dashboard gains a Search Clicks column. GA4 remains the decay driver; this is an additional signal, and existing GA4-only setups are untouched until you opt in.
  • Note: this needs the Search Console API enabled in your Google Cloud project, and a reconnect to grant the new scope. GA4-only users are never prompted to reconnect.
v1.0.9
23 August 2026

Small fix: a clearer message when a sync is already running.

= 1.0.9 =

  • Fixed: clicking "Sync Now" while a sync is already in progress (for example during the daily run) now shows a clear "already running" message instead of a misleading "Sync complete. Analyzed 0 posts."
v1.0.8
23 August 2026

Large-site reliability: the analysis sync is now time-bounded and can't overlap itself, and the digest email's links point to the right place.

= 1.0.8 =

  • Improved: the analysis sync now runs within a time budget and works through your content across runs, so very large sites no longer risk the sync timing out mid-way.
  • Improved: overlapping syncs (the daily job and a manual sync) can no longer run at the same time.
  • Fixed: the "View Dashboard" and "Manage notification settings" links in the digest email now open the correct page.
  • Housekeeping: removed an unused internal database table.
v1.0.7
23 August 2026

Security & reliability: adds CSRF protection to the Google connection, encrypts the client secret, and speeds up sync on large properties.

= 1.0.7 =

  • Security: the Google OAuth flow now uses a state token (CSRF protection) and the client secret is encrypted at rest and masked in the UI.
  • Fixed: corrected the OAuth redirect URI so connecting to Google works reliably.
  • Performance: the decay sync resolves URLs in bulk instead of one query per URL, so it no longer times out on large properties.
v1.0.6
22 August 2026

Tested and verified on WordPress 7.1.

  • Compatibility: tested up to WordPress 7.1.
  • Fix: the first-run guidance panel now shows its intended styling.
v1.0.5
19 August 2026

Documents the Google Analytics connection in full, adds a Delete-data-on-uninstall setting, and stops writing debug noise to your server log unless WP_DEBUG is on.

v1.0.4
17 August 2026

Fixed Google Analytics connection errors, and a 90% smaller plugin.

This release bundles the Google Analytics data client correctly — previously, connecting a property or running a report could fail with a fatal error. The bundled Google libraries are also slimmed from about 170MB to 17MB, so installs and updates are much faster, and HTTP/JWT dependencies were updated to close published security advisories. Reconnect is not required; existing connections pick up automatically.

v1.0.3
16 August 2026

A cleaner, consistent look: the Dragon design system arrives.

This release brings Dragon Core's design system to every screen: a consistent header with the Dragon mark, cleaner tables, and unified status colours across the whole plugin family. Purely visual — everything behaves exactly as before.

v1.0.2
11 August 2026

No notes for this release.

v1.0.1
10 August 2026

No notes for this release.

v1.0.0
13 December 2025
  • Initial release
  • GA4 integration
  • Decay detection