Guru Site Health Score, Audit & One-Click Fixes

Описание

Install it, click Run scan, and in a few seconds you have one number: how healthy your WordPress site actually is, out of 100.

Nothing about your site ever leaves it. No account, no API key, no telemetry, no fonts fetched from Google — not one external request, by design rather than by setting. That is not a privacy policy, it is an architecture: there is no code here that could send anything anywhere, and the assistant below is not a language model, so there is nothing to send it to.

For anyone who looks after sites for other people, that removes paperwork rather than adding a virtue: no subprocessor to declare, no data-processing agreement, no account for the client to inherit when you hand the site over, and no key that quietly expires on a site you stopped billing for. It also means it works unchanged on a staging box, behind a firewall, or on an intranet install — the places where anything that phones home simply stops working.

Underneath the number sits the list that produced it: outdated plugins, security settings still on their defaults, autoloaded options quietly bloating every page load, images with no alt text, SEO basics switched off — sorted so the thing that matters most is at the top.

Every item tells you what is wrong, why it matters, what to do about it, and the evidence behind it. Nothing changes unless you press a button — and anything it changes, it can undo.

Some of those items have a 1-click fix. Press it and Guru Site Health makes the change, records exactly what it did, and puts an Undo next to it. Press Fix all and it works through every safe one at once, showing you the full list first. Or ask Guru, the assistant on the dashboard, and it will take you through them one at a time.

Thirteen findings can be fixed this way, including the SEO ones most often left wrong by accident — a site still telling search engines not to index it, plain permalinks, a sitemap switched off. It is an auto fix you can read before you press and undo after you have.

Think of it as the health check WordPress’s own Site Health screen gestures at, carried all the way through: scored, ranked, and in thirteen places fixable from where you are standing.

There is nothing to configure, no account to create and no API key to paste.

Features

The score

  • Six areas weighted into a single number you can track over time.
  • Anything that cannot be measured is excluded from the average, never counted as zero.
  • Severity adapts to your environment — debug mode is a serious problem on a live site and completely normal on a laptop.

Fixing it for you

  • 1-click fixes on the findings where a change is safe and reversible — search-engine visibility, open registration, permalinks, sitemaps, XML-RPC, version disclosure, the file editor, expired transients, and automatic updates for core, plugins and themes.
  • Fix all applies every safe one at once, and shows you the complete list before you press it.
  • Undo on every change, individually or all at once. A Changes made card lists everything the plugin has altered on your site.
  • Guru, an assistant on the dashboard, answers questions in your own words and applies fixes on your say-so. It makes no external requests — nothing is sent to a language model or anywhere else.
  • Ask it where am I losing points and it weighs each area’s score against its weight to tell you which one is actually costing you the most, which is rarely the one that looks worst.

Finding and fixing

  • Every issue says what is wrong, why it matters, and exactly what to do about it.
  • The evidence behind each finding is shown, so you can check it rather than take it on faith.
  • Issues grouped by severity and filterable by area, so you can start with what actually matters.
  • Reads Rank Math or Yoast SEO where they are installed, clearly labelled.

Seeing what changed

  • Score history over the last 7, 30, 90 or 365 days, or any custom date range.
  • Compare two periods to see precisely which issues appeared and which were resolved.
  • Email alerts only when something genuinely regresses. No daily digest.
  • Scans on a schedule: hourly, twice daily, daily or weekly.

Reporting

  • A printable report with a plain-English summary, charts, and every fix.
  • Save it as a PDF from your browser — no PDF library is bundled to do it.
  • Comparisons export the same way, which is the document to send a client.

Built for real sites

  • Scan history lives in its own database table, never in autoloaded options — we do not cause the bloat we scan for.
  • Large sites can spread a scan across several requests so it never times out.
  • Keeps the last 100 detailed scans by default, adjustable from 10 to 2000.
  • A short guided introduction on first run, re-openable whenever you like.
  • A REST API under bwg-site-health/v1 exposes every scan, so the data is yours.
  • No external requests of any kind.
  • Fully translatable.

What it checks

Every check below runs on your own site, with no account and no setup. A full audit takes a few seconds, and the scan itself only reads — nothing is changed until you press a fix.

  • Updates — outdated core, plugins and themes, PHP versions past their security-support date, and whether anything is blocking automatic updates from landing.
  • Security & configuration — weak or default authentication keys, the file editor, debug output in production, plain HTTP, open registration handing out privileged roles, XML-RPC, predictable admin usernames.
  • Database — autoloaded option bloat, revision build-up, expired transients, orphaned metadata: the routine maintenance nobody remembers to do.
  • Media — images missing from disk after a bad migration, oversized unoptimised originals, missing alt text.
  • Accessibility — a built-in accessibility checker looking at your real content: images with no alt attribute, links a screen reader announces as nothing, skipped heading levels.
  • SEO — an SEO audit of the basics that get left wrong by accident: search-engine visibility, a robots.txt blocking your whole site, plain permalinks, a missing sitemap.

Where it fits alongside your other plugins

You already have plugins that each watch one thing. Guru Site Health is the layer above them: it reads what is actually happening on your site, works out how healthy it really is, and answers three questions on one screen — what is important, what changed, and what next.

It does not replace your SEO plugin, your security plugin, or your cache plugin. It reads alongside them and turns a pile of separate signals into one score you can act on.

What it needs, and what it works with

It requires nothing. No other plugin, no account, no API key, no service. Install it, press Run scan, and all 32 checks run on their own. Every feature described here works on a completely bare WordPress install.

What it does do is read what you already have, so your existing plugins make the score better rather than being ignored:

  • Rank Math — reads its SEO analysis and folds it into your score, every finding labelled so you always know it came from Rank Math rather than from us.
  • Yoast SEO — the same, through its own reader.
  • Any sitemap plugin — if Rank Math, Yoast, SEOPress, AIOSEO or The SEO Framework is publishing your sitemap, the sitemap fix stands down rather than switching WordPress’s own back on and leaving you with two.

If you run none of these, nothing is missing. The SEO checks still run on their own, and an area that cannot be measured is excluded from your score rather than counted as zero.

That is the rule everywhere: Guru Site Health never asks you to install another plugin to work, and never counts a missing plugin against your score.

Honest scoring

Two rules make the number trustworthy:

  1. What cannot be measured is never scored as zero. If a check has no data source, it is reported as not measured and excluded from the average entirely. Not having a particular plugin installed can never lower your score.
  2. Severity depends on context. Debug mode is a serious problem on a live site and completely normal on a developer’s machine. Guru Site Health reads your environment type and scores accordingly, instead of nagging every local install.

Automatic monitoring

Guru Site Health scans on a schedule and keeps a history, so you can see your score over time and exactly which issues appeared or were resolved between any two scans.

It emails you only when something genuinely regresses — a new high-severity problem, or a real drop in score. There is no daily digest, because a daily «still fine» email is a daily email you will learn to ignore.

Reports you can hand to someone else

Your latest scan opens as a printable report: a plain-English summary of what the score means, charts showing where the problems are, and every finding with its fix and the evidence behind it. Save it as a PDF straight from your browser.

No PDF library is bundled to do it. Your browser already renders type better than any PHP library would, and the result is selectable text rather than a picture of text.

You can also compare any two periods — the last 7, 30, 90 or 365 days, or a custom date range — and export that comparison the same way. If you look after sites for other people, that is the document that shows what actually changed this month.

Privacy: nothing leaves your site

Guru Site Health makes no external requests at all. No accounts, no API keys, no telemetry, no analytics, no «anonymous usage data». Every scan runs on your server and every result is stored in your own database.

The only email it ever sends goes to the address you choose, through your own site’s mail configuration.

That includes fonts. The dashboard’s typeface is bundled with the plugin and served from your own site. A font pulled from Google Fonts would hand a third party the IP address of every administrator who opens the page, which is exactly the kind of quiet leak this plugin exists to find — so it is never loaded that way.

The one exception is the question it asks when you deactivate it, and even then your server sends nothing: picking a reason opens a feedback page in your own browser, carrying the reason, the plugin version and anything you typed. No site URL, no email, no scan data. Just deactivate skips it entirely, and deactivation is never blocked. Switch it off for good with the bwg_site_health/deactivation_survey filter, or point it elsewhere with bwg_site_health/feedback_url.

Try it

Install it, click Run scan, and you will have your score in a few seconds. No account, no key to paste, and nothing on your site is changed.

A longer walk through how the score is built — the six areas, how they are weighted, and the two rules that decide what a missing check does to your number — is at buildwithguru.com.

Скриншоты

Установка

Install from your dashboard (easiest)

  1. In WordPress, go to Plugins Add New.
  2. Search for Guru Site Health.
  3. Click Install Now, then Activate.

Install from a downloaded file

  1. Download the .zip file from this page.
  2. Go to Plugins Add New Upload Plugin.
  3. Choose the .zip, click Install Now, then Activate.

Your first scan

  1. Look for Guru Site Health in the left-hand admin menu. It sits below Settings, near the bottom.
  2. Click Run scan. On most sites this takes a few seconds.
  3. You will see a score out of 100, the six areas that produced it, and a list of issues with the worst first.

A short guided tour opens the first time you visit. You can reopen it at any point with the Guide button in the top right.

What to do next

Work down the issue list from the top. Click any issue to expand it: you get what is wrong, why it matters, the steps to fix it, and the evidence the finding is based on.

Fix one thing, run another scan, and watch the score move. That is the whole loop.

There is nothing to set up first. Automatic daily scanning is on from the moment you activate, and you can change the schedule, add an email address for alerts, or switch it off entirely in Settings.

Requirements

  • WordPress 6.4 or newer
  • PHP 8.1 or newer

On an older PHP version the plugin shows a notice and deactivates itself rather than breaking your site.

Where your data is kept

In your own database, on your own server. Nothing is sent anywhere, so there is no account to create and no key to paste. Deleting the plugin removes its two tables and every option it created, leaving nothing behind.

Часто задаваемые вопросы

What exactly does it check?

Six areas, all on your own site, with no account and no setup:

  • Updates — outdated core, plugins and themes, PHP past its security-support date, anything blocking automatic updates.
  • Security & configuration — weak or default authentication keys, the file editor, debug output in production, plain HTTP, open registration, XML-RPC, predictable admin usernames.
  • Database — autoloaded option bloat, revision build-up, expired transients, orphaned metadata.
  • Media — images missing from disk, oversized originals, missing alt text.
  • Accessibility — images with no alt attribute, links a screen reader announces as nothing, skipped heading levels.
  • SEO — search-engine visibility, a robots.txt blocking your site, plain permalinks, missing sitemap.

A full audit takes a few seconds, and the scan itself only reads.

Why do I need this if I already have SEO and security plugins?

Because they are built to go deep in one area, and nothing was looking at the whole. Your SEO plugin does not tell you that a plugin is three versions behind; your security plugin does not tell you that half your images have no alt text; neither tells you which of those matters more this week.

This looks across six areas at once, weights them, and puts what needs attention first. Open the dashboard and use What this checks for a side-by-side of what this covers and what stays with your specialist plugins.

Will it change anything on my site?

Not unless you press a button. Scanning only reads — it never modifies anything to produce a score.

A small number of findings offer a 1-click fix, and those do change something. Three rules decide what is allowed to appear there:

  1. It must be reversible. Every fix can be undone from the same screen that applied it, restoring the exact previous value. The dashboard keeps a Changes made list of everything it has altered, with an Undo on each one.
  2. It never touches a file. No wp-config.php, no .htaccess, no theme files. A plugin that writes to wp-config.php can white-screen the site it was installed to protect.
  3. It never deletes your content. Revisions, post meta and media are yours. Pruning them may well be correct, but it cannot be undone, so it is not offered behind a one-click button.

That leaves settings the plugin can read back, and filters it owns and can stop applying. Most findings will never have a fix — they need a file edited, words written, or a decision only you can make — and the plugin says so rather than guessing.

The one exception to rule 1 is clearing expired transients, which is labelled cannot be undone before you press it, because there is genuinely nothing to restore: they had already expired.

Does it send my data anywhere?

No. Guru Site Health makes no external HTTP requests whatsoever — no accounts, no API keys, no telemetry, no analytics, no «anonymous usage data». Nothing about your site leaves your server.

The single exception is one you trigger yourself: if you deactivate the plugin and choose to answer the short «why are you leaving?» question, your browser opens a feedback form and carries three things with it — the reason you picked, the plugin version, and any note you typed. No site URL, no email address, no scan data. Your server still sends nothing, and choosing «Just deactivate» skips it entirely.

How is this different from WordPress’s built-in Site Health?

Core’s Site Health screen runs a list of pass/fail tests and leaves you to decide which of them matter. This runs a weighted audit across six areas and reduces it to one number, then keeps a history of that number — so you can see whether the maintenance you did last month actually improved anything. Core’s health check tells you what is true right now; this tells you what changed, and what to do next.

It also reads Rank Math or Yoast where they are installed, which core does not.

Does this replace my security or SEO plugin?

No, and it is not trying to. Guru Site Health does not scan for malware and does not check keyword rankings — those need constantly-updated threat databases and search-engine crawling, which dedicated plugins are funded to do properly. Guru Site Health measures the things nobody else covers and normalises everything into one score.

Do I need Rank Math or Yoast?

No. Guru Site Health’s SEO checks run on every site. If one of those plugins is installed, Guru Site Health additionally reads its per-post analysis to give you more detail — clearly labelled with where it came from.

Will it bloat my database?

No, and this is one of the things it scans other sites for, so it would be a poor look. Guru Site Health keeps the last 100 detailed scans by default — adjustable from 10 to 2000 in Settings — and removes older ones automatically. Your score history is kept separately in a much smaller table, so the long-term trend survives even though the detail behind old scans does not. Deleting the plugin removes both tables and every option it created.

Why is one of the modules showing «Not measured»?

Because it has no data source on this site. That is reported honestly and excluded from your score rather than counted as a failure — a module you cannot measure is not a problem with your site.

My score is 100 but I know something is wrong

Guru Site Health only reports what it can verify from inside your server. Real-world page speed, Core Web Vitals and malware detection cannot be measured that way, and it will not pretend otherwise.

Can I run scans automatically?

Yes, and it is on by default. Choose hourly, twice daily, daily or weekly in Settings. Note that WordPress’s scheduler only runs when your site receives traffic, so a very quiet site may see scans run late.

Does it work on multisite?

Scans run per site and correctly account for network-activated plugins. A central multi-site dashboard is planned for a later release.

Отзывы

Нет отзывов об этом плагине.

Участники и разработчики

«Guru Site Health Score, Audit & One-Click Fixes» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

Журнал изменений

1.0.9

  • 1-click fixes. Thirteen findings can now be resolved from the dashboard: search-engine visibility, the role open registration hands out, permalinks, core’s XML sitemap, XML-RPC, version disclosure, the plugin and theme file editor, expired transients, and automatic updates for WordPress core, active plugins, inactive plugins, your theme and inactive themes.
  • Applying an automatic-update fix now also asks WordPress to run its updater straight away, instead of waiting for a twice-daily pass that on many sites is not scheduled at all. It goes through core’s own automatic updater, which keeps a backup of the previous version and restores it if an install fails.
  • The file editor is switched off by defining DISALLOW_FILE_EDIT from the plugin rather than writing it into wp-config.php — so nothing is edited into a file, and deactivating Guru Site Health restores the editor with no residue left behind.
  • Everything is reversible. Each fix records the previous value and puts an Undo beside it, and a new Changes made card lists everything the plugin has altered on your site. The single exception, clearing expired transients, is labelled «cannot be undone» before you press it, because there is nothing to restore.
  • Fix all applies every safe fix at once and shows the complete list of what it will change first — no confirmation dialog that asks «are you sure?» without saying what about.
  • Guru, an assistant on the dashboard. Ask about your score, what is wrong, or what to do first, in your own words, and it will explain anything it finds or apply a fix for you. It is not a language model and makes no external requests: every sentence it can say ships with the plugin, so nothing about your site is ever sent anywhere.
  • Ask it where am I losing points and it weighs each area’s score against its weight. The area that scores lowest is often not the one costing you the most, and the module gauges cannot show that on their own.
  • Scanning itself is unchanged and still only reads. Nothing on your site changes unless you press a button.
  • Note on 1.0.8: it carried these same changes but was published without the files that implement them, so it would have fatally errored on activation. It was withdrawn the same day, was never served by the directory, and nobody had it installed.

1.0.8

Withdrawn. Published incomplete and never served — see 1.0.9, which is the same work shipped correctly.

1.0.7

  • The plugin now points at its own home page rather than a wordpress.org profile, so «Visit plugin site» on your Plugins screen goes somewhere that explains how the score is built. No code paths changed and nothing is scored differently.

1.0.6

  • Deactivating the plugin now asks why, once, with a short list of reasons and a box for anything else. It never blocks deactivation, and your server sends nothing — if you choose to answer, your own browser opens the form. Only the reason, the plugin version and your note travel with it: no site URL, no email address, no scan data. See «Privacy» above for exactly what happens, or switch it off with the bwg_site_health/deactivation_survey filter.

1.0.5

  • The dashboard and the printable report now use Plus Jakarta Sans, bundled with the plugin and served from your own site — never fetched from Google Fonts, which would send a third party the address of every administrator who opens the page. It is a single 27KB variable font covering every weight the interface uses, so the type reads as one family from a 10px label to the score itself.
  • Fixed: 1.0.4 asked the browser for a font that was not actually shipped, so every dashboard load made three requests that could only fail. Nothing looked wrong — it fell back to your system font — but the failed requests are gone.

1.0.4

  • Softer typography throughout. The dashboard and the printable report now ask for the operating system’s own interface font — Segoe UI Variable on Windows 11, SF Pro on a Mac — both of which are optically sized, so small labels and the large score are each drawn for the size they appear at. Heavy weights and tight letter-spacing have been eased across the board. No webfont is downloaded.
  • A proper first run. A new install now opens on a single screen that says what the scan will do and offers one button, instead of starting a scan on its own and opening the introduction on top of a dashboard of empty panels. The scan shows its own progress, and the dashboard arrives afterwards as one reveal — with the guided tour opening once there is something for it to point at.
  • Fixed: the progress bar has never drawn anything, in any release. Both of its elements are spans with no display set, and an inline box ignores width and height, so the moving part measured zero pixels.
  • The dashboard is now one full-width section per row, read top to bottom: your score, then how it has moved, then which areas produced it, then what to do about it. The chart and the module gauges previously shared a row and neither had the width it wanted.
  • The score chart is redrawn at full width, with times or dates along the bottom, the high and low points labelled where they happened, and a plain note when every scan has scored the same instead of a flat line under a large coloured block.
  • Issues are now separate cards rather than rows in one long list, so each reads as something you can act on. The compact view is unchanged.
  • The list of passed checks lines up properly: each area’s coloured rule runs down its whole group, with the heading flush to the ticks beneath it.
  • Cards no longer stretch to match the tallest one beside them.

1.0.3

  • Fixed: every heading in the What this checks panel was rendering almost black on a dark background, which made most of the panel unreadable. Present since 1.0.1.
  • Fixed: the list of passed checks left large empty gaps where one area had far fewer checks than the one beside it.
  • The score chart no longer draws a flat line under a large coloured block when every scan has the same score. It now says so in a sentence, and the chart returns as soon as the score moves.
  • The score panel is tinted far more lightly. A perfectly healthy site was being washed in warning colour.

1.0.2

  • A clean result now shows its working. Each module says how many checks passed, and What passed lists them by name — so a site with nothing wrong looks inspected rather than looking like the scan never ran.
  • After you follow a link to fix something, coming back to the dashboard now offers a rescan, so you actually see the score move instead of having to remember to check.
  • The review request now also appears once your score has genuinely improved, rather than only after a week of use. If the plugin has visibly worked, that seemed a better moment to ask.
  • The name in your Plugins list is now just «Guru Site Health», which fits the column.

1.0.1

  • The dashboard now says what this plugin is for. A line above the score explains that it works alongside your SEO and security plugins rather than replacing them, and opens a panel showing exactly what it checks, what stays with your specialist plugins, and what it deliberately does not do.
  • The health score now explains itself. It is an overall figure across six areas, and was easy to misread as an SEO or security percentage.
  • Issues that can be fixed on a WordPress screen now link straight to it — outdated plugins to the Plugins screen, missing alt text to the Media Library, and so on. These only navigate; nothing is changed for you.
  • The dashboard now uses its dark theme for everyone, instead of following the browser’s light or dark setting. It previously shipped both, which meant the interface did not match the screenshots for anyone on a light system.
  • Browser-drawn controls inside the dashboard — scrollbars, date pickers, select menus — now render dark to match, rather than appearing as white widgets on a dark panel.

1.0.0

  • Initial release.
  • Six analysis modules: Updates, Security & Configuration, Database, Media, Accessibility and SEO.
  • Weighted health score that excludes anything it cannot measure instead of scoring it zero.
  • Environment-aware severity, so development sites are not judged as broken production sites.
  • Scan history with per-issue comparison between scans, pruned automatically so the table cannot grow without limit.
  • Long-term score trend kept in a compact table, so history outlives the detailed scans behind it.
  • Score trend over 7, 30, 90 or 365 days, or any custom date range.
  • Printable report of every issue, its fix and its evidence — save it as a PDF from your browser.
  • Guided first-run introduction, re-openable from the Guide button.
  • Optional email reports, sent only on a genuine regression.
  • Reads Rank Math and Yoast SEO where present, with clear attribution.
  • Scheduled and optionally chunked scanning for large sites.
  • REST API under bwg-site-health/v1.
  • No external requests of any kind.