Documentation · v1.7.8

Docs.

Everything you need to install RecapWP, brand the monthly recap, and ship it on the day you choose. Written in plain English, organized by job. The plugin runs entirely inside your WordPress admin — no external service to host, no account to manage.

Articles58
Last updatedJun 3 2026
Read timeSelf-paced

Browse the docs.

11 sections · 58 articles. Most teams start with Getting started, then revisit Templates & branding when it's time to make every recap look like it came from you.

Docs/Get started/Getting started

Getting started.

Install the plugin, pick where reports get sent, choose a day and a template, and send your first recap. Most installs are done in under fifteen minutes.

CategoryGet started
Read5 min read
UpdatedMay 28 2026
Applies toFree & Pro

RecapWP is a WordPress plugin that quietly collects site metrics every day and emails a branded monthly summary on the day you choose. There's no dashboard to host and no account to manage — the plugin runs on standard WP-Cron and stores everything in your existing database.

This guide takes you from fresh install to first recap in the inbox. Before you start, make sure you have:

  • A WordPress site on 6.2 or higher, running PHP 8.0+.
  • An administrator account on that site.
  • An email address where the first recap should land — usually you.

01Install RecapWP

Open Plugins → Add New in your WordPress admin, search for RecapWP, click Install Now, then Activate. You'll find the plugin under RecapWP in the admin sidebar.

Activation does four things behind the scenes: it creates four custom database tables (snapshots, reports, logs, health scores), schedules four cron events, drops a protected uploads/recap-reports/ directory, and runs an initial metric collection inline. No external service is contacted.

Tip

The Free plugin already collects around 25 native WordPress metrics. Pro adds API integrations, seven more report templates, the Health Score, white-label, and the annual Year in Review. You can install Free first and add Pro later without losing data.

02Wait for the first collection

As soon as the plugin activates, the Dashboard tab shows a "First data pending…" banner with a Retry now button. The initial collection takes about 150ms on a quiet site — refresh and the banner disappears once the first snapshot lands. If anything goes wrong, the activity log (RecapWP → Logs) explains why.

03Pick your recipient

By default, RecapWP sends to WordPress's Administration Email Address. To send somewhere else — a client, a shared inbox, your phone — open RecapWP → Settings → Report delivery and toggle Use a custom recipient.

04Set your send day and time

On the same tab, set the day of the month and the time the recap should go out. The default is the 1st at 08:00 in your site's timezone. Free plans send on day 1; Pro picks any day from 1–28.

Behind the scenes, two cron events do the work. recap_daily_collect runs at midnight to record a snapshot, and recap_monthly_send runs every morning at 8am — on the day you chose it compiles the month's snapshots into a report and sends it.

05Pick a template and send a test

Open RecapWP → Settings → Templates. Free plans are locked to Agency Grid, RecapWP's flagship 2-column stat-card layout. Pro plans see all eight templates as preview cards. Set your brand color (#3B6EF8 by default) and upload a logo if you have one.

Pro users can hit Send test email to receive the current month's recap right now — it uses real snapshots but does not write a History row. Free users can preview the report inline on the Dashboard.

06What's next

That's the whole setup. From here, most users branch one of three ways: understand the Health Score if you're on Pro, set up white-label if you're an agency, or switch templates if Agency Grid isn't the layout you want.

Next up · 02 of 11
The Health Score →
Docs/Get started/The Health Score

The Health Score.

A 0–100 composite calculated from eight weighted factors of your site's health, recomputed every month and rendered into every Pro report.

CategoryGet started
Read4 min read
UpdatedMay 28 2026
Applies toPro

What it is

The Health Score is a single 0–100 number that summarizes how your site is doing across performance, security, and platform health. It's recomputed every time the monthly report builds, stored in its own recap_health_scores table, and rendered into every Pro report template, the Dashboard's Health Hero, and (optionally) the email subject line.

The score is Pro-only because four of its eight inputs come from Pro API integrations. On Free, the underlying snapshots still happen, but the score isn't calculated or persisted.

The eight factors

Each factor contributes a weighted earned-out-of-max ratio to the final score:

  • PageSpeed performance — Google PageSpeed score for the home page (mobile-weighted).
  • SSL — whether the site has a valid TLS certificate and how many days remain before it expires.
  • Failed-login count — rolling monthly count of failed login attempts.
  • WP debug mode — whether WP_DEBUG is on in production (it shouldn't be).
  • WordPress version — how current your WordPress core is.
  • PHP version — how current your PHP runtime is.
  • Outdated plugins — how many active plugins have updates pending.
  • Uptime — uptime percentage for the rolling 30-day window.

The final score maps to a letter grade: A (90–100), B (75–89), C (60–74), D (45–59), F (below 45). Per-factor thresholds and exact weights live in the admin Glossary tab.

Reading the dashboard trend

The Dashboard tab leads with the Health Hero: a 60×60 pixel ring showing the current month's score, a textual grade, and four breakdown bars. With at least two months of history, a sparkline appears showing the trend across up to 12 months.

To put the score into the email subject line, add {health_score} to your subject template in Settings → Report delivery. Months without a calculated score render as an em-dash so the subject still composes cleanly.

Next up · 03 of 11
Templates & branding →
Docs/Reports & branding/Templates & branding

Templates & branding.

Pick from eight report layouts, set your brand color and logo, customize the email subject, and preview before sending.

CategoryReports & branding
Read5 min read
UpdatedMay 28 2026
Applies toFree & Pro

The eight templates

RecapWP ships eight report templates. Free plans are locked to Agency Grid; Pro plans can switch between any of the eight. Every template renders the same data — the differences are in layout and emphasis. All are table-based with inline styles so they render reliably across email clients, with dark mode and responsive mobile layouts.

  • Agency Grid — 2-column stat cards with key/value rows. Free default; the only choice on Free.
  • Premium Dashboard Pro — dark hero strip, stat cards, key/value snapshot grid.
  • Editorial Pro — typeset narrative with inline month-over-month deltas and a pull-quote.
  • Content Hero Pro — proportional bar charts for content activity and a typeset Site snapshot.
  • Card Dashboard Pro — one branded card per metric, like a stack of receipts.
  • Newspaper Pro — 2-column key/value groups split between columns.
  • Branded Cover Pro — 3-up cover strip, 8-card grid, full snapshot. The heaviest layout.
  • Sealed Recap Pro — a midnight hero with a wax-seal month badge. The most design-forward layout.

Picking a template

Open RecapWP → Settings → Templates. Pro users see all eight as preview iframe cards rendered with dummy data — click one to select it. Template selection is saved separately from the rest of the settings form, so you can switch without filling out the full page.

Brand color and logo

Brand color (#3B6EF8 by default) flows through every template — cover, charts, section accents, button colors, the email header band. Any hex code works. Logo upload uses the standard WordPress media library.

Subject line

The email subject is templated. The default is {site_name} — {month} site report. Four tokens are supported:

  • {site_name} — your WordPress site title.
  • {month} — full month name (e.g. May).
  • {year} — four-digit year (e.g. 2026).
  • {health_score} — the calculated Health Score, or an em-dash when no score exists.

Preview and test

Every template card renders a live preview iframe using the same dummy report, so you can compare layouts apples-to-apples. The Dashboard tab also includes a Latest delivered preview that re-renders your most recent real report inline.

Next up · 04 of 11
White-label setup →
Docs/Reports & branding/White-label setup

White-label setup.

Replace every RecapWP reference with your agency identity so each report arrives from your brand, not ours.

CategoryReports & branding
Read4 min read
UpdatedMay 28 2026
Applies toPro

Turn it on

White-label is a master toggle. Open RecapWP → Settings → White-label and switch Enable white-label on. When the toggle is off, all white-label fields are ignored even if filled in — the report still goes out, just with RecapWP's identity.

Replace the brand

Three fields drive your agency identity in every template:

  • Agency name — appears in the report header when no logo is set, and in the email footer.
  • Agency website — URL behind the agency name and logo.
  • Logo — replaces the RecapWP wordmark wherever it would have appeared.

All eight templates fully consume the white-label identity: the logo, agency name, website, and brand color cascade through the cover, header, footer, and any in-template branding chrome.

From and Reply-To headers

By default, email goes out with WordPress's standard headers. To send from your own address, set a From name, a From email, and optionally a Reply-To.

Heads up

If you set a From email on a domain that doesn't authorize your WordPress host via SPF/DKIM, mail will go to spam. See Email delivery for the deliverability tips that go with this.

First Pro activation

When you activate a Pro license for the first time, RecapWP automatically enables all six Pro report sections so your first Pro report is fully populated rather than an empty husk. Subsequent deactivate-then-reactivate cycles preserve whatever toggles you've set since — the auto-enable only fires once.

Next up · 05 of 11
Email delivery →
Docs/Reports & branding/Email delivery

Email delivery.

How RecapWP sends mail through your existing SMTP setup, what you can do to improve deliverability, and how the public "view in browser" link works.

CategoryReports & branding
Read4 min read
UpdatedMay 28 2026
Applies toFree & Pro

How RecapWP sends mail

RecapWP uses WordPress's wp_mail() function for every email it sends — monthly reports, agency digests, the annual Year in Review, update alerts, and test emails. RecapWP does not ship a mailer. Whatever wp_mail() is configured to use on your site is what RecapWP uses.

On a default install, wp_mail() uses your hosting provider's PHP mail() binary, which is usually fine for low volume but unreliable for client-facing mail. Most production sites should configure an SMTP plugin instead.

Improving deliverability

If your reports go to spam or never arrive, the fix is almost always at the WordPress mail layer, not in RecapWP. Three things to do, in order:

  1. Install an SMTP plugin and point it at your transactional mail provider.
  2. Configure SPF and DKIM for your sending domain. Without these, your mail is essentially guaranteed to land in spam at Gmail and Outlook.
  3. If you're white-labeling, the From email needs to be on a domain you actually control and have authorized for sending.

"View in browser" links

Every delivered report's footer carries a View in browser link. The link is public but secret: it carries an HMAC token tied to your site's WordPress auth salt and the report ID, constant-time validated server-side. If you rotate WordPress salts, every previously sent link stops working — that's the safety property.

Test sends

Pro plans get a Send test email button. Test sends build a real report from the current month's snapshots and send through the same wp_mail() path as a real send — so if tests fail, real reports will too. They do not write a row to History, and the subject is prefixed with [TEST].

Next up · 06 of 11
Report intelligence →
Docs/Reports & branding/Report intelligence

Report intelligence.

Connect your own AI provider and let RecapWP write each report's summary, "what changed" line, recommendations, and subject from your data — off by default, and always safe to leave off.

CategoryReports & branding
Read5 min read
UpdatedJun 3 2026
Applies toPro

What it does

Report intelligence is RecapWP's AI layer. With it switched on, an AI model turns each month's numbers into plain-English report copy — a short executive summary, a "what changed" line, and prioritized recommendations — instead of the built-in rule-based text.

It's a Pro feature, off by default, and fully fallback-safe: if AI is off, isn't configured, or a call fails, RecapWP silently uses its rule-based copy, so a report is never blocked or broken by AI.

Connect a provider

RecapWP never bundles or runs a model — you connect your own. Open RecapWP → Settings → Report intelligence and turn on Enable AI features. You can point RecapWP at any OpenAI-compatible provider, or use the built-in WordPress AI Client on WordPress 7.0+ where the connection comes from WordPress's own connectors.

Click Test connection. RecapWP runs a tiny one-token completion to confirm the connection works and locks it in on success — no separate Save.

Tip

Because you connect the provider and pick the model, RecapWP carries no token cost and there's no lock-in — switch providers or models whenever you like.

Tone, audience, and language

Three presets shape how the copy reads, and apply to every generated piece:

  • Toneconcise (default), detailed, friendly, or technical.
  • Audienceowner (default), client, or developer. Set it to client to keep language jargon-free for a report you forward to a customer.
  • Language — leave blank to follow your site's locale, or name a specific language.

The monthly request cap

A spend guard. Monthly request cap sets the maximum number of AI requests per calendar month — 0 means unlimited. RecapWP also caches each month's copy, so previewing a report and then sending it counts as a single request, not two.

What AI writes, and the "∗ AI" label

With AI on, RecapWP can produce the executive summary, a one-line "what changed" narration, up to three prioritized recommendations, optionally the email subject line, and an AI Year in Review paragraph. All of it renders across every one of the eight templates. To disclose AI use, turn on Show AI-generated labels on reports — each AI section gets a small ∗ AI mark and the footer gains a one-line note.

Privacy

When AI is on, that month's report figures — your site's own metrics, never your visitors' personal data — are sent to the provider you chose.

Next up · 07 of 11
Ask RecapWP →

Ask RecapWP.

RecapWP's in-admin AI assistant — ask plain-English questions about your reports and setup, and let it make settings changes or run jobs for you, always with a confirm step.

CategoryReports & branding
Read4 min read
UpdatedJun 3 2026
Applies toPro

What it is

Ask RecapWP is an AI assistant built into the plugin. A header Ask button opens a chat panel on any RecapWP tab. It runs on the same AI connection you set up under Report intelligence, so it's a Pro feature and needs a provider configured before it can answer.

What it can answer

It's grounded in your site's data, not generic WordPress trivia. RecapWP hands the model a compact context pack — your delivery settings, the real scheduler status, your latest report's headline metrics, and recent activity-log entries. Typical questions:

  • "Why didn't my report send?"
  • "Explain my latest report."
  • "How do I change my send day?"
  • "What should I improve this month?"

Changing settings for you

Beyond answering, the assistant can make a change for you — "change my send day to the 15th," "switch my template to Newspaper." It never writes silently: it offers an inline Apply / Cancel card, and the setting changes only when you click Apply, which re-validates everything server-side and logs the change.

Running jobs for you

It can also run a one-off job — "collect my data now," "send this month's report," "send me a test email." Each becomes an Apply / Cancel card and runs through the same guarded action it would if you clicked the button yourself.

What it won't touch

Some things are never available to the assistant, enforced server-side: API keys, your license, the logo, white-label identity, recipient and agency email addresses, and the "delete all data on uninstall" switch. Destructive or sensitive actions are off-limits too.

Next up · 08 of 11
Billing & plans →
Docs/Account/Billing & plans

Billing & plans.

Free vs Pro at a glance, how Pro activation works, what happens when license checks fail, and what happens when you downgrade.

CategoryAccount
Read4 min read
UpdatedMay 28 2026
Applies toFree & Pro

Free vs Pro at a glance

Free covers the core promise: roughly 25 native WordPress metrics collected daily, the Agency Grid template, a monthly HTML email, the dashboard with a 6-month content activity chart, the report preview, the full report history, and the activity log.

Pro adds everything that needs external APIs or a longer commitment:

  • API integrations: PageSpeed Insights, uptime monitoring, and SSL expiry.
  • Seven additional report templates.
  • The Health Score — 0–100 composite from eight weighted factors.
  • Smart commentary, month-over-month deltas, and full white-label.
  • Agency digest, plugin update alerts, and the renewal reminder.
  • Annual Year in Review sent each January, custom send day, and CSV export of History.

Activating Pro

Open the License tab and click Activate license. Enter your key (or buy one). When activation succeeds, Pro features unlock immediately, the current month's report rebuilds to persist a Health Score, and all six Pro report sections auto-enable on first activation.

License checks and the grace period

A weekly cron event revalidates your key. RecapWP is tolerant of intermittent API failures:

  • The first failed check preserves your Pro status — this is your grace period.
  • The second consecutive failed check reverts the site to Free.
  • Recovery is automatic: when the API is reachable again, the next weekly check reactivates Pro.

Downgrading

You can deactivate Pro from the License tab. RecapWP hides Pro-only sections from new reports (your data is not deleted), switches the template back to Agency Grid, and stops calling external APIs. All existing reports stay in History at the template they were sent with.

Your data

Deleting the plugin keeps your data by default. To wipe everything, turn on Delete all data on uninstall under Settings → Uninstall before you delete the plugin. Deactivating never touches your data either way.

Next up · 09 of 11
Settings reference →
Docs/Reference/Settings reference

Settings reference.

Every option in the Settings tab, organized by the section it lives in. Defaults, tier, and what each option does.

CategoryReference
Read6 min read
UpdatedMay 28 2026
Applies toFree & Pro

All settings live under RecapWP → Settings. The page is organized into ten sections; the tables below mirror that order.

Report delivery

Use a custom recipient recap_recipient_email_override Free
Default off. When off, reports go to WordPress's Administration Email Address.
Auto-delivery recap_auto_delivery Free
Default on. Disable to pause monthly sends entirely without uninstalling.
Send day recap_send_day Pro
Integer 1–28. Default 1. Pro to change; Free is locked to 1.
Send time recap_send_time Free
HH:MM in your site's timezone. Default 08:00.
Subject line recap_subject_line Free
Template string supporting {site_name}, {month}, {year}, {health_score}.

Report sections

Six toggles that decide which sections render. All are Pro and default to off; activating Pro for the first time auto-enables all six.

Site Health recap_section_site_health Pro
WordPress and PHP versions, theme, plugin counts, disk usage, debug mode.
Security recap_section_security Pro
Failed logins, SSL status and expiry, plugin updates pending.
Performance recap_section_performance Pro
PageSpeed scores, Core Web Vitals, uptime. Requires API keys.
WooCommerce recap_section_woocommerce Pro
Orders, revenue, new customers. Only meaningful when WC is active.
Content Types recap_section_content_types Pro
Custom post types, taxonomy term counts.
Users / Team recap_section_users Pro
User counts by role, top commenters.

Templates

Report template recap_report_template Pro
Default template-agency-grid. Free locked to Agency Grid; Pro picks any of eight.
Brand color recap_brand_color Free
Hex color. Default #3B6EF8.
Logo recap_logo_id Free
WordPress attachment ID. Mainly used by white-label.

Insights & scoring

Health Score recap_show_health_score Pro
The 0–100 composite, shown in every report and the dashboard trend.
Smart commentary recap_show_commentary Pro
One-line plain-English notes beside individual metrics.
Month-over-month recap_show_comparisons Pro
The up/down deltas against last month.

Report intelligence

Enable AI features recap_ai_enabled Pro
Master toggle, default off. Gates all AI report copy.
Provider recap_ai_provider Pro
Your AI provider — any OpenAI-compatible provider, or the WordPress AI Client on 7.0+.
Model recap_ai_model Pro
Blank uses the provider's default.
API key recap_ai_api_key Pro
Stored masked; never logged in full.
Monthly request cap recap_ai_monthly_cap Pro
Max AI requests per month; 0 = unlimited.

White-label

Enable white-label recap_whitelabel_enabled Pro
Master toggle for the agency identity below.
Agency name / website recap_agency_name Pro
Your brand name and URL, used across every template.
Email From / Reply-To recap_email_from_email Pro
Send from your own address instead of WordPress's default headers.
Send agency digest recap_send_agency_digest Pro
Plain-text internal summary sent alongside the monthly report.

Uninstall

Delete all data on uninstall recap_delete_data_on_uninstall Free
Default off. When on, deleting the plugin drops the four database tables, every recap_* option, and the stored reports. Affects deletion only — deactivating never touches your data.
Next up · 10 of 11
Metrics & glossary →
Docs/Reference/Metrics & glossary

Metrics & glossary.

Every metric the plugin collects, grouped by report section. Mirrors what you'll find in the Glossary tab inside your dashboard.

CategoryReference
Read6 min read
UpdatedMay 28 2026
Applies toFree & Pro

RecapWP collects around 25 native WordPress metrics on Free plans, plus three categories of API-driven metrics on Pro. For the per-metric definition, check the Glossary tab inside your dashboard — it's the canonical reference.

Content Free

Collected every day on every plan, summarized monthly.

  • Posts published this month, total posts; pages updated, total pages; media uploaded.
  • Comments approved, pending, trashed, and spam blocked this month.
  • New users this month, total users; draft and scheduled posts.
  • Top 5 commenters (with hashed email identifiers, no PII).

Site Health Pro

  • WordPress version, PHP version, active theme name and version.
  • Active plugins count, plugins needing update, SSL status.
  • PHP memory limit, debug mode, uploads disk usage, object cache status.
  • Post revisions, transients count and size, cron events count.

Security Pro

  • Failed login attempts this month (rolling counter, written per attempt).
  • Plugin updates pending; WP_DEBUG mode on/off.
  • SSL certificate status and days until expiry.
  • Two-factor auth status — detects the major 2FA plugins.

Performance Pro

Requires Pro plus API keys. Collected daily when reachable; nullable fields stay blank if the API can't return them.

  • PageSpeed mobile performance score; Lighthouse Accessibility, SEO, Best Practices.
  • Core Web Vitals lab data: LCP, CLS, FCP, TBT; CrUX field data and category.
  • Uptime % for the 30-, 7-, and 90-day windows; average response time, outages, downtime minutes.

WooCommerce Pro

Auto-detected. No configuration beyond having WooCommerce installed.

  • Completed orders this month, completed order revenue, new paying customers.
Source of truth

Every metric above has a per-row definition with thresholds and source notes at RecapWP → Glossary inside your WordPress admin. The Glossary updates with the plugin.

Next up · 11 of 11
Troubleshooting →
Docs/Reference/Troubleshooting

Troubleshooting.

The things that go wrong, why they go wrong, and what to do about each one.

CategoryReference
Read7 min read
UpdatedMay 28 2026
Applies toFree & Pro

WP-Cron isn't firing

Symptom: reports don't send on the scheduled day, daily snapshots are missing, the activity log is empty for long stretches.

Why: WordPress's default WP-Cron isn't a real scheduler — it only fires when someone visits the site. Low-traffic sites can miss cron windows by hours.

Fix: set up a real system cron pointing at your site's wp-cron.php every five minutes, and add define( 'DISABLE_WP_CRON', true ); to wp-config.php so the broken default stops competing.

Emails aren't arriving

Symptom: the activity log shows reports being sent but nothing lands in the inbox.

Why: on a default install wp_mail() uses PHP's mail() binary, which most modern mail providers reject or spam-filter because there's no SPF/DKIM signature.

Fix: install an SMTP plugin, connect it to a transactional mail provider, and set SPF/DKIM for your sending domain. Pro users can hit Send test email to verify the path end-to-end.

PageSpeed test fails

Symptom: the Test button under Settings → Integrations returns an error for the PageSpeed key.

Why: the site URL is on a private network, the API key isn't enabled for PageSpeed Insights, or the key is rate-limited.

Fix: verify your site is reachable from the public internet, then confirm the key has the PageSpeed Insights API enabled. If you're behind a staging password, RecapWP can't measure PageSpeed — that's a Google limitation.

License won't activate

Symptom: clicking Activate license returns an error, or activation succeeds but Pro features don't unlock.

Why: usually a typo in the key, or the site can't reach the licensing API (strict outbound firewall, dev server with no internet).

Fix: verify the key is exact. After two consecutive failed weekly checks the plugin reverts to Free automatically; once connectivity returns, the next weekly check reactivates Pro.

Reading the activity log

Where: RecapWP → Logs. Filter by level (info / warn / error), search messages, and use Clear all to start fresh. The log writes structured rows for every send path, every failed and successful login, and every cron event. If something went wrong, the log will tell you where.

Support

Still stuck? Email hello@recapwp.com with the relevant activity log lines, your plugin version, and your WordPress + PHP versions. The faster we can see what your site sees, the faster we can help.

Reference
Changelog →