Greenskeeper is a professional WordPress maintenance plugin for developers and agencies. It centralises update management for WordPress Core, plugins, and themes, pairs it with a polished email reporting workflow, and adds layered comment spam protection — all from a single purpose-built admin dashb
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.8 and PHP 8.0.
SourceWordPress plugins · Oct 21, 2026
01 / Source details
Aboutthistool.
Greenskeeper is a professional WordPress maintenance plugin for developers and agencies. It centralises update management for WordPress Core, plugins, and themes, pairs it with a polished email reporting workflow, and adds layered comment spam protection — all from a single purpose-built admin dashboard.
Updates & Reporting:
Scans for available WordPress Core, plugin, and theme updates in separate sections
Updates items individually or in batch with a real-time progress bar and plain-English error explanations
Logs every update action automatically — searchable by item name or date range, grouped into sessions
Builds a branded HTML maintenance report email from each update session and sends it to your client
Report emails support Update Notes (admin note to recipient) and Additional Manual Updates (for licensed plugins updated outside the plugin)
Configures reliable SMTP email delivery via nine supported providers — no separate SMTP plugin required
Manages agency branding: company logo, company name, and default administrator shown on reports
Works on single-site WordPress installs and Multisite networks
Multisite: Site Scope Selector on Updates, Spam Log, and Settings — view and manage any single site or the full network from Network Admin
Spam Filter & Comments:
Layer 1 — Local filtering (always active): honeypot hidden field, submission time check, link count limit, keyword blocklist, IP blocklist, duplicate comment detection
Layer 2 — Akismet cloud filtering (optional): enter your Akismet API key to enable AI-powered spam detection. Automatically skipped when the standalone Akismet plugin is active
Spam Log page: review every blocked comment attempt — filter by rule or IP, add offending IPs to the blocklist with one click, and bulk-delete entries
Disable Comments: remove comment support from all post types and hide the Comments admin menu site-wide
Important — Akismet licensing: Akismet is free for personal, non-commercial sites only. Any commercial or client site requires a paid Akismet plan available at akismet.com/plans . Greenskeeper provides the integration; you are responsible for having a valid Akismet licence appropriate for your site’s use.
Supported SMTP Providers:
SendGrid, Mailgun, Brevo, SendLayer, SMTP.com, Gmail / Google Workspace, Microsoft / Outlook / Office 365, manual SMTP, or WordPress default.
Who it is for:
Web developers, digital agencies, and WordPress administrators who manage client sites and need a reliable, repeatable maintenance and security workflow with professional client-facing reporting. Named after the greenskeeper who maintains the golf course — meticulous, professional, invisible.
Using the Plugin
Running Updates
01Go to Site Maintenance → Updates .
02The page loads and automatically scans for available updates.
03The Performing Administrator dropdown at the top defaults to your saved default admin (set in Settings). Override it here for this session only.
04Check the items you want to update — or use Select All per section.
05Click Update Selected . Each item updates sequentially with inline feedback.
06When all items are done, the global success banner appears with a link to Send Report Email .
Sending a Report Email
07After running updates, go to Site Maintenance → Email Reports .
08The plugin automatically selects the session you just ran — you will see “Updates from session on [date]” in the Email Template section.
09Confirm the recipient email (pre-filled from Settings) and edit the subject line if needed.
10Click Send Report Email .
11The sent email appears in the Sent Email History table below.
Using the Spam Log
12Go to Site Maintenance → Spam Log .
13The stats card at the top shows how many attempts each rule has blocked since activation.
14The table lists every blocked attempt with date, rule, IP address, author details, and a content preview.
15Click Block IP next to any row to add that IP to the blocklist in Settings immediately.
16Use the Rule and IP filters to narrow the list. Click Apply to filter; × Clear to reset.
17Check individual rows and click Delete Selected to remove entries, or Clear All to wipe the entire log.
Previewing a Sent Email
Click the eye icon in the Sent Email History table. The email renders in a full modal preview using the current template. Even old emails show current branding because the preview always rebuilds the body from the original log entries.
Resending an Email
Click Resend in the Sent Email History table. The email is rebuilt from the original session entries and sent again to the same recipient.
External Services
This plugin connects to one external service: the Akismet API. All other functionality runs entirely on your own server with no external connections.
Akismet Spam Filtering (optional)
What it is: Akismet is a cloud-based spam detection service operated by Automattic, Inc. Greenskeeper includes an optional integration that allows you to submit comment data to Akismet’s API for spam classification.
This feature is entirely opt-in. Akismet is only activated if you enter an Akismet API key in Greenskeeper → Settings → Spam Filter & Comments. If no key is entered, no data is ever sent to Akismet.
What data is sent and when: When Akismet is enabled and a comment is submitted on your site, Greenskeeper sends the following data to Akismet’s API:
Your site URL
The commenter’s IP address
The commenter’s browser user agent string
The HTTP referrer header from the comment request
The URL of the page the comment was submitted on
The comment type, author name, author email, author URL, and comment content
This data is sent each time a new comment is submitted and passes Greenskeeper’s local filters. If Akismet is unreachable, Greenskeeper fails open (allows the comment through) rather than blocking it.
Additionally, when you click “Verify & Save Key” in Settings, your Akismet API key and your site URL are sent to Akismet’s verification endpoint to confirm the key is valid.
Akismet’s terms of service and privacy policy:
Terms of service: https://akismet.com/tos/
Privacy policy: https://automattic.com/privacy/
Important licensing note: Akismet’s free plan is for personal, non-commercial sites only. Any commercial or client site requires a paid Akismet plan. See https://akismet.com/plans/ for details. Greenskeeper provides the integration; you are responsible for holding a valid Akismet licence appropriate for your site’s use.
SMTP Setup Guides
Greenskeeper includes a built-in SMTP configuration panel that reconfigures WordPress’s email delivery without requiring a separate plugin. The following guides walk through setting up each supported provider.
Go to Settings → SMTP & Email Delivery , click your provider’s tile, and enter the credentials described below.
WordPress Default
No configuration needed. WordPress sends email via PHP’s built-in mail() function. This is unreliable on most shared hosting — emails are frequently blocked by spam filters or rejected by recipients’ mail servers. Recommended only as a fallback.
SMTP (Manual)
Use this option with any SMTP server not listed as a named provider — for example your hosting provider’s mail server or a self-hosted mail server.
Fields: * SMTP Host — the address of your mail server (e.g. mail.yourdomain.com ) * Port & Encryption — port 587 with TLS is recommended for most servers; port 465 with SSL is also common; port 25 with no encryption should only be used on internal networks * Username — your SMTP account login (usually your email address) * Password — your SMTP account password * From Name — the display name on outgoing emails * From Email — must be authorised to send from your SMTP server
SendGrid
Free plan: 100 emails per day. No credit card required.
Setup steps: 1. Create a free account at sendgrid.com . 2. Complete the Sender Identity verification (domain authentication or single sender). 3. Go to Settings → API Keys → Create API Key . 4. Choose Restricted Access and enable Mail Send → Full Access . 5. Copy the API key (it is only shown once). 6. In Greenskeeper Settings: select SendGrid , enter apikey (literally, that exact text) as the Username , and paste the API key as the Password . 7. Set your verified sender address as the From Email .
Server details (pre-configured): smtp.sendgrid.net — port 587 — TLS
Mailgun
Free tier: 5,000 emails per month for the first 3 months, then pay-as-you-go.
Setup steps: 1. Create an account at mailgun.com . 2. Add and verify your sending domain under Sending → Domains . 3. Go to Sending → Domain Settings → SMTP credentials . 4. Note your SMTP login (usually postmaster@yourdomain.com ) and generate or copy the password. 5. In Greenskeeper Settings: select Mailgun , enter your SMTP login as the Username , and the SMTP password as the Password . 6. Set a verified sender address as the From Email .
Server details (pre-configured): smtp.mailgun.org — port 587 — TLS
Note: Mailgun’s free tier restricts sending to verified recipient addresses only. Add recipients under Sending → Overview → Authorised Recipients if you are on the free plan.
Brevo (formerly Sendinblue)
Free plan: 300 emails per day, unlimited contacts.
Setup steps: 1. Create a free account at brevo.com . 2. Go to your account profile (top-right) → SMTP & API . 3. Under the SMTP tab, note your Login (your Brevo account email) and click Generate a new SMTP Key to create a password. 4. In Greenskeeper Settings: select Brevo , enter your Brevo login email as the Username , and the SMTP key as the Password . 5. Set a sender address you have verified in Brevo as the From Email .
Server details (pre-configured): smtp-relay.brevo.com — port 587 — TLS
Setup steps: 1. Sign up at sendlayer.com and add your sending domain. 2. From the SendLayer dashboard, copy your SMTP Username and SMTP Password . 3. In Greenskeeper Settings: select SendLayer , enter those credentials, and set a verified address as the From Email .
Server details (pre-configured): smtp.sendlayer.net — port 587 — TLS
SMTP.com
Fr
02 / Source details
Gettingstarted.
Single-Site Install
01In your WordPress admin go to Plugins → Add New → Upload Plugin .
02Upload greenskeeper.zip and click Install Now .
03Click Activate Plugin .
04Navigate to Site Maintenance in the left-hand admin menu.
05Open Settings and configure your company branding, client email, default administrator, SMTP delivery, and spam filtering.
Multisite / Network Install
06Log in as a Super Admin and go to Network Admin → Plugins → Add New → Upload Plugin .
07Upload greenskeeper.zip and click Install Now .
08Click Network Activate to activate across all sites simultaneously, or activate per-site from each site’s own Plugins screen.
09Navigate to Site Maintenance in the Network Admin menu or any site’s admin menu.
10Each site has its own independent Settings, Update Log, and Email Log.
Manual Install
11Unzip the archive and upload the greenskeeper folder to /wp-content/plugins/ .
12Activate from the WordPress Plugins screen.
03 / Source details
Frequently asked questions.
How do I disable WordPress auto-updates for all plugins and themes?
Greenskeeper includes a built-in “Disable All Auto-Updates” feature available in two places. On the Updates page, an amber warning banner appears whenever any plugins or themes have auto-updates enabled, showing the exact count and a “Disable All Auto-Updates” button. On the Settings page, the Auto-Updates card shows the current status — green if all auto-updates are disabled, amber if any are enabled — with the same disable button. Clicking either button disables auto-updates for all plugins and themes in one action and logs the change to the Site Activity Log. A green confirmation card then appears with instructions for re-enabling individual auto-updates via the WordPress Plugins admin screen. The feature works on both single site and multisite WordPress installations.
Why should I disable WordPress auto-updates when using Greenskeeper?
WordPress auto-updates run silently in the background, bypassing Greenskeeper’s update log and client reports. When a plugin auto-updates without going through Greenskeeper, the change is not recorded in the Update Log and will not appear in email reports sent to your clients. Disabling auto-updates ensures that every update on a site goes through Greenskeeper’s documented, deliberate workflow — giving you full control over when updates run, a complete audit trail, and accurate client reports.
How does WordPress.org’s “Protect The Shire” update policy affect Greenskeeper?
In June 2026 WordPress.org introduced a mandatory up-to-24-hour hold on all new plugin and theme updates as part of its “Protect The Shire” initiative. An AI security scanner reviews code changes during this window before they are distributed to sites with automatic updates enabled. The policy was introduced in response to a rise in AI-accelerated supply chain attacks targeting open-source plugin repositories.
Greenskeeper users are largely unaffected by this delay. The 24-hour hold applies to automatic background updates — Greenskeeper’s workflow is the opposite of that. Every update you run through Greenskeeper is deliberate, manually triggered, and documented with a full audit trail. You are not waiting for WordPress to push an update to your site; you are deciding when and what to update.
The one area where the delay is felt is in update discovery — a new plugin release or security patch may not appear on Greenskeeper’s Updates page for up to 24 hours after the developer publishes it, because WordPress.org holds the release in its review queue before making it available via the update API. If you need to apply a critical security patch before it appears in the update queue, you can install the updated plugin manually by downloading it directly from the developer and uploading it via SFTP or the WordPress plugin upload screen. Greenskeeper’s Update Log and Email Reports pages support manual update entries so the patch can still be documented and reported to your client even when applied outside the plugin.
Can I preview the email report before sending it to the client?
Yes — from v2.3.1 onward, the Email Reports page includes a “Preview Email” button next to the Send button. Clicking it opens a full-fidelity preview of the email in a modal window, rendered exactly as it will appear to the client — including the current update note, any manual entries you have added, and all session update data. The preview reflects the live state of the form, so if you add a note and click Preview, the note appears in the preview immediately. From the preview modal you can: click “Send Email” to send without closing the modal, click “Go to Updates → ” to return to the Updates page if something needs to be retried, or click “Close & Edit” to return to the form and make changes before sending.
What happens when I retry an update that already succeeded?
From v2.3, Greenskeeper checks whether the item already has a successful update record in the current session before running the update again. If it does, an amber informational notice appears explaining the item is already up to date, with a Retry button still available if you want to force a fresh check. The item is counted as successful so the batch completion state is not affected.
Why does the WordPress core update banner disappear after Greenskeeper updates core?
Greenskeeper dismisses the WordPress “update available” admin banner after a successful core update by clearing the update_core transient. It then shows its own confirmation notice — “WordPress X.X updated successfully” — which auto-dismisses after 4 seconds. This prevents the WordPress banner from persisting and confusing the admin into thinking the update needs to be retried.
Does Greenskeeper conflict with WP Mail SMTP or other SMTP plugins?
No — from v2.2.1 onward, Greenskeeper is always the sender of record for its own emails by default. It applies its SMTP configuration only to emails it initiates (maintenance reports, admin notifications, test emails) and never interferes with WooCommerce, contact forms, password resets, or any other plugin’s mail. When Greenskeeper detects another SMTP plugin on the site, it shows an informational notice on the SMTP settings card naming the plugin and confirming Greenskeeper is operating independently. If you prefer to hand delivery to the detected plugin, a checkbox on the settings card lets you do that — with a clear warning that a failure in that plugin may prevent Greenskeeper reports from sending and will not appear in Greenskeeper’s email log.
Which SMTP plugins does Greenskeeper detect?
Greenskeeper detects the following SMTP plugins: WP Mail SMTP, FluentSMTP, Post SMTP, Postman SMTP, Easy WP SMTP, Brevo (Sendinblue), Gravity SMTP, WP Offload SES, and Gmail SMTP. Detection covers both site-activated and network-activated installations on multisite.
Does Greenskeeper include a System Info report?
Yes — from v2.1.11 onward, Greenskeeper includes a System Info page (Greenskeeper → System Info in the WordPress admin sidebar). It displays your full server environment (PHP version, extensions, server software), WordPress environment (version, URLs, memory limit, debug mode, database), active theme, and a complete list of active plugins with versions and authors. A sticky copy-and-paste panel lets you copy the full report as plain text to include in support tickets to plugin or theme developers.
Does Greenskeeper send notifications to the administrator after updates?
Yes — from v2.1.10 onward, Greenskeeper can send an internal notification email to the performing administrator when a batch of updates completes. Three notification types are available, each independently toggleable in Greenskeeper → Settings → Email Notifications: (1) All updates succeeded (off by default — routine clean batches don’t need an email), (2) Some updates failed (on by default — partial failures need attention), (3) All updates failed (on by default — complete failures require immediate action). These notifications go only to the administrator, not to the client.
What happens when some updates fail and others succeed?
The Updates page now shows one of three distinct states after a batch completes: (A) All succeeded — green confirmation with a Send Report link; (B) Partial success — amber warning showing how many succeeded and how many failed, with options to retry the failed updates or send a report with only the successful ones; (C) All failed — red warning with a Retry All option. The Send Report link is never shown when all updates failed since there is nothing to report.
If I retry a failed update and it succeeds, does the failure still appear?
No. If a plugin update fails and you retry it in the same session and the retry succeeds, the failed row is suppressed from both the Update Log display and the email report. Only the successful outcome is shown. The failed row remains in the database for audit purposes but is hidden from the user-facing views. This applies to both individual retries and batch retries.
Does Greenskeeper log site activity and user logins?
Yes — Greenskeeper includes a Site Activity Log that records user logins, failed login attempts, plugin changes, theme switches, user account changes, and WordPress core updates. The log is disabled by default and can be enabled in Greenskeeper → Settings → Site Activity Log.
Is the Site Activity Log GDPR compliant?
Yes. The activity log is designed with GDPR data minimisation principles from the ground up. IP addresses are anonymised by default — the last octet of IPv4 addresses and the last 80 bits of IPv6 addresses are zeroed before storage, following the approach recommended by the European Data Protection Board. Log entries are automatically purged after a configurable retention period (default 90 days). You can export all stored activity data as CSV to respond to Subject Access Requests, and bulk-delete all entries at any time from the Site Activity page. Full IP address storage is available as an explicit opt-in for sites with a documented legitimate purpose under GDPR Article 6.
What events does the Site Activity Log record?
Authentication: user logins, failed login attempts, logouts, password reset requests, password changes. User management: account creation and deletion, role changes, administrator profile updates. Site changes: plugin activation, deactivation and deletion, theme switches, WordPress core updates, and changes to key WordPress options (site title, admin email, permalink structure, etc.). Post and page editing activity is reserved for a future Pro version.
How long does Greenskeeper keep activity log data?
By default, log entries are automatically purged after 90 days via a daily WordPress cron event. You can change the retention period in Greenskeeper → Settings → Site Activity Log. Set the retention to 0 to keep entries indefinitely (not recommended for GDPR compliance). Entries can also be manually deleted individually or in bulk from the Site Activity page at any time.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati