What You’ll Learn
- Setting up the Pro Reports extension and Child Reports plugin
- Creating recurring and one-time reports
- Customizing report templates with tokens
- Managing client information and branding
Extension Add-on - This add-on provides standalone functionality within MainWP Dashboard. No third-party plugins required.
The MainWP Pro Reports Extension combines the free MainWP Child Reports plugin with a customizable reporting engine. The Child Reports plugin tracks changes on your child sites, while the Pro Reports Extension on your Dashboard gathers that information and converts it to PDF reports.
Key features:
- Generate professional reports in seconds
- Pre-made templates to get you started
- Automatic PDF attachment to emails
- Include or exclude specific content
- Customizable template system
- Custom branding options

Setting up the Pro Reports Extension
Installation
Install MainWP Child Reports
Install the MainWP Child Reports plugin on all child sites. This free plugin records logging events that appear in your reports. Records are kept for 100 days.
Install Pro Reports Extension
Install the MainWP Pro Reports Extension on your Dashboard.
MainWP Child Reports Plugin
The MainWP Child Reports plugin records changes on your child sites and communicates them to the Pro Reports Extension. Built on the Stream Plugin, it currently requires PHP 7.4 or higher.Viewing Recorded Data
By default, go to WP Admin > Settings > MainWP Child > Child Reports on your child site to see recorded activity. If you have customized MainWP Child branding, these labels can differ.
Child Reports Settings

| Setting | Description |
|---|---|
| Keep Records for | Maximum days to retain activity records (default: 100) |
| Keep Records Indefinitely | Retains all records (not recommended for performance) |
| Comment Flood Tracking | Track duplicate comments blocked by WordPress (not recommended) |
| Akismet Tracking | Track comment spam attempts blocked by Akismet when Akismet is active |
| WP Cron Tracking | Track WordPress cron event activity when WP-Cron is enabled |
| Reset MainWP Child Reports Database | Delete all activity reports from the database |
Client Information
Pro Reports uses tokens to personalize reports without creating separate versions for each client. Tokens are placeholders like[client.email] and [client.name] that get replaced with actual values when reports generate. You can define client information in two ways:
| Method | Description | Best For |
|---|---|---|
| Client Feature | Define information once, assign multiple sites to a client | Managing many sites per client |
| Per-Site Settings | Set information individually on each site’s Edit page | Maximum flexibility |
When the same token is defined in both locations, the per-site value takes priority.
Setting Per-Site Client Information
Navigate to site settings
Go to MainWP Dashboard > Sites > Manage Sites and click Edit on the desired site.
Token Configuration
Token Configuration
Client vs Site Tokens
Understand token priority and when to use each level.
Report Types
Pro Reports offers two report formats. Recurring reports run on a schedule you define. One-time reports cover a specific date range you select manually.| Aspect | Recurring | One-Time |
|---|---|---|
| Schedule | Daily, Weekly, or Monthly | None (manual send) |
| Date Range | Automatic based on schedule | Custom start and end dates |
| Action | Schedule Report | Send Now |
| Use Case | Ongoing client updates | Project completion, audits |
Create a Recurring Report
Configure report settings

| Setting | Description |
|---|---|
| Report title | Name for identifying this report |
| Report type | Select Recurring |
| Schedule | Daily, Weekly, or Monthly |
| Send report on | Day of week or month (for Weekly/Monthly schedules) |
| Report PDF file name | Optional custom filename for the PDF attachment |
| Report Template | Select from available templates |
Customize content and design

| Tab | Purpose |
|---|---|
| Custom Content | Set the report heading shown on the first page and write the introduction and closing message. All three fields support tokens, and the introduction and closing message use the visual editor so you can add formatted client-facing copy. |
| Report Data | Control which sections appear in the report and whether each one is set to Show, Hide, or Hide if empty. This includes core report areas such as WordPress, plugin and theme updates, posts, pages, users, comments, and uptime, plus any compatible add-on data currently active on your Dashboard such as backups, analytics, monitoring, security, performance, and maintenance sections. |
| Custom Branding | Upload your logo and an optional first-page header image, then set the first-page background, page background, text, accent, link, and table colors. Use this tab to match the PDF layout to your brand. |
| Custom Titles | Rename or translate report titles, subtitles, and table headings for the sections included in the report. These overrides are saved per report, which lets you keep different client-facing wording or language versions. It changes the labels in the report, but not the actual data values returned by WordPress, themes, plugins, or other integrations. |
Configure email settings
| Field | Description |
|---|---|
| Send email from | Your email address and name |
| Send email to | Client email and name (supports tokens like [client.email]) |
| Reply-to | Optional reply address |
| Email subject | Subject line (supports tokens) |
| Email message | Email body (supports tokens) |
| Email template | Select template style |
| BCC email address | Optional blind copy recipient |
| Additional attachments | Optional extra files |
Create a One-Time Report
Configure report settings

| Setting | Description |
|---|---|
| Report title | Name for identifying this report |
| Report type | Select One-time |
| Report date range | Starting and ending dates |
| Report PDF file name | Optional custom filename |
| Report Template | Select from available templates |
Customize content and design

| Tab | Purpose |
|---|---|
| Custom Content | Set the report heading shown on the first page and write the introduction and closing message. All three fields support tokens, and the introduction and closing message use the visual editor so you can add formatted client-facing copy. |
| Report Data | Control which sections appear in the report and whether each one is set to Show, Hide, or Hide if empty. This includes core report areas such as WordPress, plugin and theme updates, posts, pages, users, comments, and uptime, plus any compatible add-on data currently active on your Dashboard such as backups, analytics, monitoring, security, performance, and maintenance sections. |
| Custom Branding | Upload your logo and an optional first-page header image, then set the first-page background, page background, text, accent, link, and table colors. Use this tab to match the PDF layout to your brand. |
| Custom Titles | Rename or translate report titles, subtitles, and table headings for the sections included in the report. These overrides are saved per report, which lets you keep different client-facing wording or language versions. It changes the labels in the report, but not the actual data values returned by WordPress, themes, plugins, or other integrations. |
Configure email settings
| Field | Description |
|---|---|
| Send email from | Your email address and name |
| Send email to | Client email and name (supports tokens) |
| Reply-to | Optional reply address |
| Email subject | Subject line (supports tokens) |
| Email message | Email body (supports tokens) |
| Email template | Select template style |
| BCC email address | Optional blind copy recipient |
| Additional attachments | Optional extra files |
Email Customization
Email Customization
Custom Email Logo
Use a different logo in email body versus PDF attachment.
Custom Email Template
Copy a built-in email template, edit it, upload it, and use it in your report.
HTML-Only Reports
Send reports as HTML email without PDF attachments.
Pro Reports Dashboard

Status Indicators
| Row Color | Meaning | Available Action |
|---|---|---|
| Red | Plugin not activated | Activate |
| Yellow | Update available | Update |
| Normal | Plugin active and current | Hide/Unhide |
Dashboard Columns
| Column | Description |
|---|---|
| Version | MainWP Child Reports plugin version |
| Last Report | When the last report was sent |
| Reports DB Size | Database space used by reports |
Create Custom Report Templates
Pro Reports uses PHP templates that you can customize with HTML. The process involves copying a built-in template and modifying it to suit your needs.
Creating a Custom Template
Download the extension
Download the MainWP Pro Reports Extension from your MainWP Account.
Extract and locate templates
Extract the plugin files and find the default templates in
/mainwp-pro-reports-extension/templates/reports/.Upload the template
Upload your customized PHP file to
/wp-content/uploads/mainwp/report-templates/ on your Dashboard site.Template Resources
Template Resources
Custom Templates Guide
Build custom PHP templates from scratch with detailed token placement.
Add Images to Templates
Insert custom images and graphics into your report templates.
Limit Table Entries
Control how many rows appear in report sections using CSS.
Token Types
Pro Reports uses four token types that you can add directly to PHP templates or through the visual editor.| Type | Description | Example |
|---|---|---|
| Client Tokens | Display data from Individual Child site settings | [client.email], [client.name] |
| Section Tokens | Loop through database records within a date range | [section.plugins.installed]...[/section.plugins.installed] |
| Data Tokens | Display specific values inside section tokens | [plugin.name], [plugin.installed.date] |
| Counter Tokens | Display counts outside section tokens | [plugin.installed.count] |
Client Tokens
Client tokens display data set in the Individual Child site Edit tab. Set values for tokens you plan to use in reports.
[client.email] in the Send email to field to send reports to multiple clients automatically.


How Tokens Work Together
The following example demonstrates all three token types working together in a template:.count.
Section tokens loop through database records within the report date range. They require opening and closing tags.
Data tokens display specific values and must appear between section token tags.


Token Reference
Token Reference
Available Tokens
Complete reference of 100+ tokens for plugins, themes, posts, users, and more.
Conditional Messages
Use PHP filters to display dynamic messages based on data values.
Delete Reports

Duplicate Reports

PDF Storage
PDFs generated by Pro Reports are saved on the Dashboard site in/wp-content/uploads/mainwp_pro_reports/.
Pro Reports REST API
All MainWP REST API calls, including documentation and examples, are available on Postman. See MainWP REST API for details on enabling the API and managing keys.Related Resources
- Create Custom Report Templates - Build custom templates
- Create a custom Pro Reports email template - Copy and customize a built-in email template
- Available Pro Reports Tokens - Token reference
- Agency Add-ons - Browse agency add-ons



