Requirements
- MainWP Dashboard with the Pro Reports extension enabled
- Security Ninja for MainWP installed and activated on the Dashboard
- Security Ninja on the child sites you report on (Pro required for events data)
- A MainWP Sync after install or update so cached data is current
Available tokens
Use these anywhere Pro Reports accepts tokens (templates and emails). Table tokens output minimal HTML that works with default templates.
Score and vulnerabilities
[securityninja.score]- Overall Security Ninja score reported by the site
[securityninja.vulnerabilities]- Total number of detected vulnerabilities
[securityninja.vulnerabilities.table]- Table of detected items with columns: Type, Name, Installed, Info
Security test results
[securityninja.tests.table]- All security test results (Status, Title, Timestamp, Message)
[securityninja.tests.passed.table]- Passed security tests only
[securityninja.tests.issues.table]- Failed and warning security tests only
[securityninja.tests.passed.count]- Number of passed security tests
[securityninja.tests.issues.count]- Number of failed and warning security tests
Events
[securityninja.events.table]- Last 10 events (Time, IP, Module, Action, Description)
[securityninja.events.count]- Total number of security events recorded for the site
Monthly client summary
[securityninja.month.summary]- Client-facing monthly HTML summary with blocked events, vulnerabilities, scans, current score, and score or vulnerability progress when enough daily metrics history exists
Table tokens intentionally include no descriptive text so you can wrap them in your own copy.
Insert tokens into reports
- Go to MainWP → Extensions → Pro Reports and edit or create a report.
- Use Insert tokens and pick a Security Ninja token, or paste a token such as
[securityninja.score]. - Save, then preview or generate to confirm replacements.
Insert tokens into emails
- In the report editor, open Email Subject and Email Message.
- Insert or paste tokens the same way.
- Use Preview message with a selected site.
Keep subjects short. Example: Monthly Security Report - Score [securityninja.score]
Data sources and sync
Token values come from MainWP’s cached site details. Empty cache means empty tokens. Sync first, then generate.
- After adding sites or updating plugins, run MainWP → Sites → Sync
- Run Security Ninja tests on child sites to refresh scores and results
- Events need Security Ninja Pro on the child and a successful sync
[securityninja.month.summary]progress needs daily metrics history from repeated syncs
Examples
Report section
Website Security Summary. Score: [securityninja.score]
Monthly summary
[securityninja.month.summary]
Overall score: [securityninja.score]
Vulnerabilities detected: [securityninja.vulnerabilities]
[securityninja.vulnerabilities.table]
Security test results: [securityninja.tests.passed.count] passed, [securityninja.tests.issues.count] issues.
[securityninja.tests.table]
Recent activity ([securityninja.events.count] events total)
[securityninja.events.table]
Email message
Subject: Monthly Security Report. Score [securityninja.score]
Hello,
Here is your monthly security overview.
Score: [securityninja.score]
Vulnerabilities: [securityninja.vulnerabilities]
[securityninja.vulnerabilities.table]
Tests: [securityninja.tests.passed.count] passed, [securityninja.tests.issues.count] need attention.
[securityninja.tests.issues.table]
Recent activity
[securityninja.events.table]
Troubleshooting
- Tokens show as plain text: Confirm square brackets and spelling. Confirm Pro Reports is active and the report was saved.
- Empty tables or zero counts: Sync MainWP, run Security Ninja tests on the child, confirm Pro on the child for events, and allow daily metrics history to build for monthly progress.
- Styling: Table HTML is minimal. Adjust fonts and borders in your report template CSS.
Related
- Install Security Ninja with MainWP
- Bulk actions in MainWP
- Sample templates for MainWP Pro Reports
- Security Ninja for MainWP changelog
Need help? Email [email protected].