Title: SiteHale
Author: sitehale
Published: <strong>August 4, 2026</strong>
Last modified: August 4, 2026

---

Search plugins

![](https://ps.w.org/sitehale/assets/banner-772x250.png?rev=3634250)

![](https://ps.w.org/sitehale/assets/icon-256x256.png?rev=3634250)

# SiteHale

 By [sitehale](https://profiles.wordpress.org/sitehale/)

[Download](https://downloads.wordpress.org/plugin/sitehale.0.4.11.zip)

 * [Details](https://wordpress.org/plugins/sitehale/#description)
 * [Reviews](https://wordpress.org/plugins/sitehale/#reviews)
 *  [Installation](https://wordpress.org/plugins/sitehale/#installation)
 * [Development](https://wordpress.org/plugins/sitehale/#developers)

 [Support](https://wordpress.org/support/plugin/sitehale/)

## Description

**Site Checkup — free, no account needed.** Install, click SiteHale  Site Checkup,
and get an honest, read-only health check of your WordPress site, run locally in
that page load:

 * **Scheduled tasks** — overdue WP-Cron events and Action Scheduler backlog. Dead
   cron silently stops scheduled posts, backups and update checks.
 * **PHP errors** — fatal errors hiding in logs nobody reads, plus oversized logs
   quietly eating disk.
 * **Database health** — autoloaded-options weight (the most common hidden cause
   of a slow site), expired transients, table overhead.
 * **Updates & environment** — pending core/plugin/theme updates, and whether your
   PHP and MySQL/MariaDB versions are past their security-support end dates.
 * **Administrator audit** — every admin account listed. A new admin you didn’t 
   create is the classic compromise sign.
 * **Outbound email test** — one click proves whether your site can actually send
   mail, before a customer tells you the contact form is broken.

The checkup sends nothing anywhere — it reads your site and prints the results. 
It is yours, free, forever, with no account and no connection.

**Checkup history & weekly re-check (also free, also local).** Every checkup stores
a compact snapshot (last 12, on your own site), so the page shows what changed since
last time — “autoloaded options grew 40%”, “2 fewer fatal errors”. A weekly background
re-check runs the same snapshot automatically, and if something _regresses_ — a 
new administrator account, new fatal errors, cron gone overdue, an autoload jump—
you get one dismissible admin notice. No regression, no notice, ever.

**Email the checkup.** Send yourself (or your developer) a plain-text copy of the
results via your own site’s wp_mail(). An optional, off-by-default checkbox also
shares the summary with SiteHale so a human can review it and reply with recommendations—
that is the only way the free half of the plugin ever sends anything anywhere, and
only if you tick the box.

**The other half: SiteHale managed care.** The checkup runs once, when you click
it. The SiteHale service (https://sitehale.com) runs checks like these — plus SEO
optimization, content work, verified backups and uptime monitoring — on a schedule,
every week, with a human reviewing alerts and a monthly report you can actually 
read. If you connect, this plugin becomes the companion:

 1. **Connect** — a one-click handshake using WordPress core’s own Application Passwords
    authorization screen. The plugin never creates users and never mints credentials
    itself; you approve access on WordPress’s native consent page, under your own account,
    and can revoke it any time from Users  Profile.
 2. **Health diagnostics** — read-only REST endpoints (the same data the Site Checkup
    shows) that let the SiteHale service watch over sites it cannot reach any other
    way. All endpoints require an Application Password plus administrator capability.
 3. **Care reports** — your monthly SiteHale care report, rendered right in your dashboard:
    a dashboard widget with the latest summary plus a Care Reports page with the last
    12 full reports. Reports are pushed by the SiteHale service (authenticated, size-
    limited, HTML sanitized on arrival).

#### External services

This plugin connects to the SiteHale managed care service (https://sitehale.com),
operated by the plugin author. It makes exactly three kinds of outbound requests,
each strictly after an explicit administrator action:

 1. `https://connect.sitehale.com/connect/facts` — a one-time site snapshot (WordPress/
    PHP/database versions, theme, plugin list, permalink settings) sent when you click
    Connect, so the service can be configured for your site.
 2. `https://connect.sitehale.com/connect/pair` — the Application Password you approved
    on WordPress’s authorization screen, sent once to complete the connection. WordPress
    core returns that credential to _your own site_, and the plugin forwards it from
    your server directly to SiteHale over an encrypted connection, so it is never placed
    in a web address or handled by your browser.
 3. `https://connect.sitehale.com/connect/checkup` — sent ONLY when you tick the off-
    by-default “share with SiteHale” checkbox on the Email-this-checkup form: the checkup
    summary (the health lines shown on the page — no content, no visitor data) plus
    the email address you entered, so a SiteHale human can reply with recommendations.

No other outbound requests are made. The diagnostic and report endpoints are _inbound_:
the SiteHale service calls your site, authenticated with the Application Password
you approved. Disconnecting (or revoking the Application Password under Users  Profile)
fully stops all access and transmission. Service information, pricing, and support
live at https://sitehale.com — see How It Works (https://sitehale.com/how-it-works/),
Support (https://sitehale.com/support/), Privacy Policy (https://sitehale.com/privacy/),
and Terms (https://sitehale.com/terms/).

#### Privacy

**The free half of the plugin transmits nothing at all.** The Site Checkup, its 
history, the weekly re-check and the regression notice run entirely on your own 
site, and are fully usable without an account, a connection, or a subscription.

The plugin makes **no outbound request until you explicitly ask for one** — clicking
Connect, or ticking the off-by-default “share with SiteHale” checkbox on the Email-
this-checkup form. When you connect, a one-time snapshot of your site’s environment(
WordPress/PHP/database versions, theme, plugin list, permalink settings — no content,
no visitor data) is sent to SiteHale so the service can be configured for your site.
Disconnecting (or revoking the Application Password) fully stops all access and 
transmission.

Full policy: https://sitehale.com/privacy/ · Terms: https://sitehale.com/terms/

## Screenshots

[⌊Site Checkup — free local health check: cron, PHP errors, database weight, updates
and environment EOL, admin audit, mail test.⌉⌊Site Checkup — free local health check:
cron, PHP errors, database weight, updates and environment EOL, admin audit, mail
test.⌉[

Site Checkup — free local health check: cron, PHP errors, database weight, updates
and environment EOL, admin audit, mail test.

[⌊The SiteHale page — what the free plugin does on its own, what the paid Care and
Managed plans add, and your connection status. Connecting is one click and uses 
WordPress core's own Application Passwords flow; the plugin never creates users 
or mints credentials itself.⌉⌊The SiteHale page — what the free plugin does on its
own, what the paid Care and Managed plans add, and your connection status. Connecting
is one click and uses WordPress core's own Application Passwords flow; the plugin
never creates users or mints credentials itself.⌉[

The SiteHale page — what the free plugin does on its own, what the paid Care and
Managed plans add, and your connection status. Connecting is one click and uses 
WordPress core’s own Application Passwords flow; the plugin never creates users 
or mints credentials itself.

[⌊WordPress core's native authorization screen — you approve SiteHale under your
own account and can revoke it any time from Users → Profile.⌉⌊WordPress core's native
authorization screen — you approve SiteHale under your own account and can revoke
it any time from Users → Profile.⌉[

WordPress core’s native authorization screen — you approve SiteHale under your own
account and can revoke it any time from Users  Profile.

[⌊Care Reports — your monthly SiteHale care report rendered right in wp-admin, with
the last 12 reports on file.⌉⌊Care Reports — your monthly SiteHale care report rendered
right in wp-admin, with the last 12 reports on file.⌉[

Care Reports — your monthly SiteHale care report rendered right in wp-admin, with
the last 12 reports on file.

[⌊The dashboard widget — latest care summary and the number of automated checks 
that ran on your site this period.⌉⌊The dashboard widget — latest care summary and
the number of automated checks that ran on your site this period.⌉[

The dashboard widget — latest care summary and the number of automated checks that
ran on your site this period.

## Installation

Using the free Site Checkup — no account, no configuration, no connection:

 1. Install and activate the plugin.
 2. Go to **SiteHale  Site Checkup**. The checkup runs on that page load and shows 
    your results immediately.
 3. Optionally use **Email me this checkup** to send yourself a copy, and **Send test
    email** to prove outbound mail works.

That is the whole free setup. A weekly background re-check starts on its own and
only speaks up if something regresses.

Optional — connecting to the paid SiteHale care service:

 1. Go to **SiteHale** and click **Connect to SiteHale**.
 2. Approve access on WordPress’s own Application Passwords authorization screen.
 3. Connecting is free and starts no subscription; care reports appear under **SiteHale
    Care Reports** once a plan is active. Revoke any time from **SiteHale  Disconnect**
    or **Users  Profile**.

## FAQ

### Does this plugin slow my site down?

No. It adds no front-end code at all. The diagnostic endpoints only run when the
SiteHale service calls them (authenticated), and each is a cheap, bounded read.

### What data leaves my site?

Nothing, unless you ask. The Site Checkup and the weekly re-check are entirely local.
Data leaves your site in only two cases, both listed under External services: when
you click Connect, and when you tick the off-by-default share checkbox on the Email-
this-checkup form. The recipient is always SiteHale, never a third party. Disconnect
stops everything.

### Can I use this without a SiteHale subscription?

Yes — the Site Checkup page, its history, and the weekly background re-check are
free, run entirely locally, and never expire. The Connect flow, remote diagnostics
and monthly care reports are the parts that pair with the paid managed service.

### Does clicking Connect start a subscription or charge me?

No. Connecting only links your site to SiteHale so the Care service can be set up
for you — it is free, starts no subscription, and nothing is ever charged through
the plugin. The SiteHale page shows your plan status (Free, Care, or Managed: not
active / awaiting activation / active) at all times.

### Does the weekly background check send anything anywhere?

No. It runs the same local snapshot the checkup page uses and stores the result 
on your own site. Its only visible output is a dismissible admin notice, and only
when something actually regressed (a new admin account, new fatal errors, overdue
cron, an autoload jump). A clean week produces nothing at all.

### Will this plugin nag me with notices?

No. There is exactly one notice, it only appears when the weekly check finds a regression,
it is dismissible, and a subsequent clean check clears it automatically.

### Where do I get support?

Managed clients: https://sitehale.com/support/ or plugins@sitehale.com. Free-plugin
questions are welcome on the WordPress.org support forum for this plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SiteHale” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ sitehale ](https://profiles.wordpress.org/sitehale/)

[Translate “SiteHale” into your language.](https://translate.wordpress.org/projects/wp-plugins/sitehale)

### Interested in development?

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

## Changelog

#### 0.4.11

 * Hardened: the SiteHale page no longer updates the stored connection timestamp
   from a page address. The connection is recorded only by the server-to-server 
   handshake that actually completes it, so a crafted link can never make a site
   appear connected.
 * Clarified the readme: the Site Checkup, its history and the weekly re-check are
   free and fully usable on their own; the Privacy section no longer implied a subscription
   is required. Installation now documents the free setup first.

#### 0.4.10

 * Internal code-quality annotation only. No functional change.

#### 0.4.9

 * Removed an unused connection setting left over from the previous release. No 
   change to behaviour; the plugin now contacts only the three addresses listed 
   under External services.

#### 0.4.8

 * Security: the Application Password created when you click Connect is no longer
   passed through a redirect to an external address. WordPress now returns it to
   your own site, and the plugin sends it to SiteHale directly over an encrypted
   server-to-server request. Nothing about what is shared changes; it simply never
   travels in a web address.
 * Connect failures are now reported instead of failing quietly, so you are never
   left with an unused Application Password and no explanation.

#### 0.4.7

 * Housekeeping: stored care reports are now reconciled when a new report arrives,
   so a report body can no longer linger in the database after its entry has gone.
   No change to what is shown or reported.

#### 0.4.6

 * Connect: the confirmation URL shown on the WordPress authorization screen is 
   now much shorter and easier to read. No change to how the connection works or
   what is sent.

#### 0.4.5

 * Hardened: the database-health and Action Scheduler diagnostic queries now bind
   every value through $wpdb->prepare() with explicit placeholders instead of interpolating
   them. No change to the data reported.

#### 0.4.4

 * Fixed: sites set up by the SiteHale service directly (without the browser Connect
   flow) showed “Not connected” even while receiving care reports. Receiving an 
   authenticated care report now marks the site as connected, so the Connection 
   section always matches the plan status.

#### 0.4.3

 * New: “Your plan” panel now shows the SiteHale Managed plan ($149/mo) — everything
   in Care plus updates applied for you (staging-tested first), speed and database
   optimization, and verified backups with restore drills. The badge lights up when
   your site is on the Managed plan.
 * Improved: care report delivery now records which plan the site is on, keeping
   the plan panel accurate automatically.

#### 0.4.2

 * Improved: the Care Reports page lets modern dashboard-style care reports use 
   the full admin width; legacy email-style reports in the history keep the original
   boxed rendering.

#### 0.4.1

 * New: “Your plan” panel on the SiteHale page — a side-by-side breakdown of the
   Free plan (the full plugin: Site Checkup, weekly re-check, regression notices—
   free forever) versus the paid SiteHale Care service ($49/mo), with a live status
   badge: Not active, Awaiting activation (connected but Care not yet started), 
   or Active (a care report has been delivered).
 * Clarified: connecting links your site so Care can be set up — it is free, does
   not start a subscription, and nothing is ever charged through the plugin. The
   connected state now says so instead of implying the service is running.

#### 0.4.0

 * New: Checkup history — every Site Checkup stores a compact local snapshot (last
   12) and the page shows what changed since last time, in both directions.
 * New: Weekly background re-check (WP-Cron, local only) with a single dismissible
   admin notice shown only when something regressed: new administrator account, 
   new fatal errors, cron gone overdue, autoload-weight jump, or an environment 
   component reaching end of security support. A clean check clears the notice.
 * New: Email this checkup — send the summary to any address via your own site’s
   wp_mail(). Optional off-by-default checkbox shares the summary with SiteHale 
   for a human follow-up (disclosed under External services).
 * Uninstall now also removes the checkup history, regression state, and the scheduled
   event.
 * Fix: database-health diagnostics on MySQL 8 hosts emitted PHP 8 “Undefined array
   key” warnings (information_schema returns UPPERCASE column names on MySQL, lowercase
   on MariaDB) — every column is now explicitly aliased.

#### 0.3.0

 * New: Site Checkup — a free wp-admin page that runs the plugin’s health diagnostics
   locally (cron health, PHP error logs, database health, pending updates plus PHP/
   database end-of-support grading, administrator audit, outbound mail test). No
   account, no network calls, read-only.

#### 0.2.1

 * Connect intake moved to the connect.sitehale.com subdomain (marketing site now
   lives at sitehale.com). No change to already-connected sites.

#### 0.2.0

 * Care reports: authenticated report-push endpoint, SiteHale  Care Reports admin
   page (last 12 reports), and a dashboard widget showing the latest care summary.

#### 0.1.0

 * Initial release: Connect flow (core Application Passwords authorization), connect-
   code fallback, diagnostic REST endpoints (cron, PHP errors, DB health, updates,
   admins, mail probe).

## Meta

 *  Version **0.4.11**
 *  Last updated **18 hours ago**
 *  Active installations **10+**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [diagnostics](https://wordpress.org/plugins/tags/diagnostics/)[maintenance](https://wordpress.org/plugins/tags/maintenance/)
   [monitoring](https://wordpress.org/plugins/tags/monitoring/)[site health](https://wordpress.org/plugins/tags/site-health/)
 *  [Advanced View](https://wordpress.org/plugins/sitehale/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sitehale/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sitehale/reviews/)

## Contributors

 *   [ sitehale ](https://profiles.wordpress.org/sitehale/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sitehale/)