Automated technical SEO audits for WordPress sites. Checks 50+ SEO factors and generates actionable reports.
Stop guessing why your WordPress site isn't ranking. This toolkit gives you a complete, data-driven picture of every technical SEO issue on your site — from missing title tags to broken redirect chains — and tells you exactly what to fix and in what order.
- 50+ automated SEO checks across technical, on-page, and content dimensions
- JSON report output for integration with dashboards, Slack, or CI/CD pipelines
- Schema.org validator supporting 8 structured data types with error/warning levels
- Content quality analysis — thin content, duplicate metadata, keyword stuffing detection
- Rank Math Pro configurator — apply agency-grade settings in seconds
- Yoast → Rank Math migration with dry-run mode and full change logging
- Client-ready report template — copy, fill scores, deliver
- Works with any WordPress installation (WP 5.0+, PHP 7.4+)
- No external API keys required for core audits
git clone https://github.com/yourusername/wordpress-seo-audit-toolkit.git
cd wordpress-seo-audit-toolkit# Place in your WordPress root or run via WP-CLI
php audit/technical-seo-checker.php --url=https://yoursite.com --output=report.jsonphp audit/schema-validator.php --url=https://yoursite.com/sample-page/php audit/content-quality-checker.php --sitemap=https://yoursite.com/sitemap.xmlwp eval-file scripts/rank-math-config.php# Dry run — no changes written
wp eval-file scripts/yoast-to-rankmath-migration.php -- --dry-run
# Live migration
wp eval-file scripts/yoast-to-rankmath-migration.php| Check | What We Validate |
|---|---|
| Title Tags | Presence, length (30–60 chars), duplicates across pages |
| Meta Descriptions | Presence, length (120–158 chars), uniqueness |
| H1 Tags | Missing H1, multiple H1s per page, duplicates site-wide |
| Canonical Tags | Present, self-referencing, no canonical chains |
| robots.txt | Accessible, not blocking critical resources, valid syntax |
| XML Sitemap | Exists, valid XML, submitted to Search Console, max 50k URLs |
| SSL / HTTPS | Full site HTTPS, mixed content detection |
| Open Graph | og:title, og:description, og:image (min 1200x630px) |
| Schema Markup | JSON-LD present, valid type, required properties |
| Image Alt Text | Coverage rate, missing alts on above-fold images |
| Internal Links | Orphan pages, broken internal links, link depth |
| 404 Errors | Crawled 404s, soft 404s |
| Redirect Chains | Chains >2 hops, redirect loops |
| Mobile Viewport | viewport meta tag present and correct |
| Page Speed | Server response time, resource count estimates |
| Hreflang | Present for multilingual sites, correct lang codes, return links |
Validates JSON-LD blocks against Schema.org specs for:
Organization/LocalBusinessArticle/BlogPostingProductFAQPageBreadcrumbListWebPage/WebSite
- Word count per page, thin content flagging (<300 words)
- Duplicate title tags and meta descriptions
- Heading hierarchy violations (H2 before H1, skipped levels)
- Keyword density analysis and stuffing detection (>3% density)
- Internal link density per page
- Orphan page detection
All audit scripts output structured JSON:
{
"audit_date": "2026-04-25T10:30:00Z",
"site_url": "https://yoursite.com",
"score": 74,
"summary": {
"critical": 3,
"warnings": 11,
"passed": 38
},
"issues": [
{
"check": "meta_description",
"status": "critical",
"message": "23 pages missing meta description",
"affected_urls": ["https://yoursite.com/page/", "..."],
"recommendation": "Add unique meta descriptions of 120-158 characters to all pages."
}
]
}Use this JSON to feed into:
- Google Data Studio / Looker Studio dashboards
- Slack webhook notifications
- GitHub Actions / CI pipelines
- Client reporting tools
| Requirement | Version |
|---|---|
| WordPress | 5.0+ |
| PHP | 7.4+ (8.x recommended) |
| WP-CLI | 2.0+ (for migration scripts) |
| PHP Extensions | curl, dom, json, libxml |
| Rank Math Pro | 3.x (for rank-math-config.php) |
wordpress-seo-audit-toolkit/
├── audit/
│ ├── technical-seo-checker.php # 50+ technical SEO checks
│ ├── schema-validator.php # JSON-LD / Schema.org validator
│ └── content-quality-checker.php # Content & on-page analysis
├── scripts/
│ ├── rank-math-config.php # Rank Math Pro configurator
│ └── yoast-to-rankmath-migration.php # Yoast → Rank Math migration
├── templates/
│ └── seo-audit-report.md # Client-facing report template
└── README.md
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Ensure all new checks include:
- A clear
statuslevel (critical,warning,passed) - A human-readable
message - An
affected_urlsarray - A
recommendationstring
MIT License — see LICENSE for details.
Free to use commercially. Attribution appreciated but not required.
Built for WordPress agencies, freelance SEO consultants, and site owners who want real answers — not generic checklists.