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:
- 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.
- 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.
- 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:
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.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.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





Installation
Using the free Site Checkup — no account, no configuration, no connection:
- Install and activate the plugin.
- Go to SiteHale Site Checkup. The checkup runs on that page load and shows your results immediately.
- 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:
- Go to SiteHale and click Connect to SiteHale.
- Approve access on WordPress’s own Application Passwords authorization screen.
- 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.
ContributorsTranslate “SiteHale” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by 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).
