SEO Audit
A comprehensive SEO auditing dashboard for XenForo administrators. Scan your forum for SEO issues, review detailed reports with severity grades, and auto-fix common problems, all from within your Admin CP.Overview
SEO Audit analyzes your forum across five categories, configuration, schema markup, meta tags, content quality, and link integrity, producing an overall SEO score with a letter grade (A through F). Issues are categorized by severity and presented with actionable recommendations. Each issue includes a "How to fix" recommendation. Where the fix involves a specific AdminCP page, a "Fix it" link takes you straight there.Features
Scanning & Analysis- SEO score with letter grade (A-F) - instant overview of your forum's SEO health
- 5 checker categories - Config, Schema, Meta, Content, and Link checkers cover all major SEO concerns
- Delta scanning - only scan content that changed since the last scan, dramatically reducing scan time on large forums
- Forum and date scoping - target specific forums or date ranges for focused audits
- URL cache - previously checked URLs are cached to avoid redundant HTTP requests during link checks
- Scheduled scans - configure automatic scans via XenForo's cron system
- JSON-LD schema injection - automatically adds structured data markup (CollectionPage for forums/categories, WebPage for pages, WebSite + Organization for homepage)
- Meta description generation - generates missing meta descriptions from content
- Open Graph tags - ensures proper og:title, og:description, and og:image tags are present
Code:
admin.php?seo-audit/auto-fix
Reporting & Tracking
- Score trend charts - track your overall SEO score over time
- Category trend charts - monitor improvement across individual checker categories
- Scan comparison - diff view between any two scan reports to see what changed
- Export as CSV or JSON - download full reports for external analysis or record-keeping
- Email notifications - receive an email summary when scans complete
- Issue severity configuration - customize or completely disable individual issue types
- Detection thresholds - adjust limits for thin content word count, title length, description length, and more
- Issue dismissal - hide known or accepted issues from reports without affecting the scan
Requirements
- XenForo 2.3.0 or later
- PHP cURL extension (for link checking)
Installation
- 1- Download and extract the release ZIP
- 2- Upload the
Code:
Qubn/SEOAudit
Code:
src/addons/
- 3- Go to Admin CP > Add-ons and click Install/upgrade from archive, or install via CLI:
Code:
php cmd.php xf-addon:install Qubn/SEOAudit
Getting Started
1- After installation, go to Admin CP > Tools > SEO Audit2- Click Run new scan to perform your initial full audit
3- Review issues grouped by category and severity
4- Issues with a specific AdminCP fix (configuration, forum descriptions, style properties) have a Fix it link that takes you directly to the right page
5- For automatic corrections, visit
Code:
admin.php?seo-audit/auto-fix
6- Customize thresholds and severity levels under Admin CP > Setup > Options > SEO Audit
7- (Optional) Set up a cron schedule for automatic periodic scans
Support
If you encounter any issues or have feature requests, please use the discussion tab on this resource page. When reporting problems, include:- Your XenForo version
- PHP version
- Any relevant entries from
Code:
xf_error_log
- Steps to reproduce the issue
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
Version 1.0.1 SEOAudit - Fix JSON-LD page type checkboxes on Options page :
Bug Fixes
- Fixed JSON-LD page type checkboxes not rendering on the Options page (Admin CP > Setup > Options > SEO Audit). The four type checkboxes (forums, categories, pages, homepage) now display correctly below the JSON-LD toggle.
- Improved option explanation text to reference both the Options page and the Auto-Fix page for configuration.
- Existing v1.0.0 installs upgrade seamlessly
- No database migration needed
- Install via AdminCP > Add-ons > Install/upgrade from archive
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
SEO Audit v1.1.0 Update
v1.1.0 adds webhook notifications, a CLI scanner, email alerts, impact ranking, and more.
New Features
Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. Three upgrade steps run automatically:
Requirements
v1.1.0 adds webhook notifications, a CLI scanner, email alerts, impact ranking, and more.
New Features
- Webhook notifications - send scan results to Discord or Slack when a scan completes.
- CLI scanner - run scans from the command line with qubn-seoaudit:scan. Supports flags for delta mode, forum targeting, date ranges, email notifications, and more.
- Email notifications - receive an email when scans complete. Works with scheduled scans and CLI --email flag.
- Critical issue alerts - get emailed when new critical issue types appear.
- Score improvement hints - actionable suggestions showing which fixes will boost your SEO score the most.
- Impact-ranked issues - issues are now ranked by priority score (severity x frequency), so you fix what matters first.
- Per-forum breakdown - see how issues are distributed across your forums.
- BreadcrumbList JSON-LD - auto-injects BreadcrumbList structured data on all pages with breadcrumbs.
- ALL CAPS title case correction - auto-fix converts ALL CAPS thread titles to title case at render time.
- Auto-fix audit log - full log of every auto-fix injection with date, type, URL, and injected HTML. Includes debug logging toggle.
- AdminCP dashboard widget - your current SEO score and grade displayed on the main AdminCP page.
- Category trend chart - stacked bar chart showing config/schema/meta/content/links/HTML issue counts over time.
- Bulk dismiss and dismiss-by-type - dismiss multiple issues at once, with undo support.
- Autofix page buttons now render inline (no longer stacking vertically)
- Fix it buttons use primary styling for better visibility
- Scan form integrated directly into the dashboard
- Scheduled scan frequency shown on dashboard
- Autofix log now humanizes raw identifiers (e.g., "missing_meta_description" → "Missing Meta Description")
- All user-facing text fully phraseified for i18n readiness (160+ new phrases)
- Fixed issue config page crash when option value is already decoded as array by XF
Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. Three upgrade steps run automatically:
- Marks any pending scans as failed and adds redirect tracking to URL cache
- Adds per-forum tracking to issues
- Creates the autofix_log table
Requirements
- XenForo 2.3.0+
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
SEO Audit v1.2.0 Update
v1.2.0 adds runtime auto-fix for thread pages, a periodic digest email, and graceful handling of restricted HTTP environments.New Features
- Thread meta description auto-fix - generates fallback descriptions for threads with empty or very short first posts. Cleans BBCode artifacts that slip through XF's regex stripping, and extends short descriptions (<120 chars) with forum and board context.
- Thread JSON-LD - injects DiscussionForumPosting structured data on thread pages with headline, author, dates, and parent forum. Falls back to "Community Member" for deleted or banned authors.
- Email digest - periodic SEO summary email (weekly, biweekly, or monthly) with score trend, scan count, and issue breakdown by severity. Uses the same recipient list as scan alerts, or falls back to the board contact email.
- Graceful HTTP failure handling - link and image checking detects when outbound HTTP is blocked (e.g., restricted hosting environments) and stops gracefully with an informational issue instead of failing the scan.
- Thread sub-option in JSON-LD type selector - enable thread JSON-LD independently from forum, category, page, and index types.
New Options
- Enable digest email (on/off, default off)
- Digest interval (weekly / biweekly / monthly, default weekly)
New Cron Entry
- SEO Audit: Send digest email - checks daily at 06:00, sends only when the configured interval has elapsed.
SEO Audit v1.3.0 Update
v1.3.0 enriches thread structured data by extending XF core's output instead of injecting duplicates, adds drill-down navigation for large reports, and fixes several issues reported by users.New Features
- Thread JSON-LD enrichment - extends XF core's native DiscussionForumPosting via class extension to add commentCount, isPartOf (DiscussionForum with forum name and URL), and author fallback for deleted/banned users. No more duplicate structured data blocks on thread pages.
- Clickable issue counts - every count in the report view is now a link. Click severity counts, category counts, issue summary totals, or per-forum breakdown numbers to drill down to a filtered view instantly.
- Impact sort - sort the full issue list by impact score (page views × severity weight). New "View all issues sorted by impact" link below the top-10 ranking.
- Per-page selector - choose 50, 100, 200, or 500 issues per page in the report view. Useful for forums with large scan results.
- Scanner enrichment detection - three new info-level issue types flag when the enrichment option is disabled: missing commentCount, missing isPartOf, and missing author fallback.
New Option
- Enrich thread JSON-LD (on/off, default on) - toggle under SEO Audit > Auto-Fix. Adds the three enrichment properties to XF core's thread structured data output.
Bug Fixes
- False positive BBCode detection - plain-text brackets like [EDIT], [UPDATE], [SOLVED] no longer trigger false positives. Detection now uses a whitelist of 35 actual XenForo BBCode tags instead of a generic bracket regex.
- "How to fix" toggle - clicking the link on report issues now correctly reveals the recommendation text. Previously appeared to do nothing due to a CSS/JS interaction bug.
- URL extraction - plain URLs with quoted query parameters are no longer truncated. IMG tag extraction handles alt text containing brackets.
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
SEO Audit v1.3.1 - Bug Fixes & False Positive Reduction
v1.3.1 addresses the issues reported by @briansol, @frpsucre, and @akok after v1.3.0. The main focus is eliminating false positive BBCode detections on forums with legacy content and fixing a crash when scanning threads with emoji or very long titles.Bug Fixes
- BBCode false positive refinements - tightened the v1.3.0 BBCode whitelist further. Single-letter tags like
[s], [b], [i]no longer match when followed by a lowercase letter (e.g.,[s]ome, [b]efore). Also applied the same strict matching to the runtime meta description fixer. - Emoji/long thread titles crash - threads with emoji characters or very long titles no longer crash the scan. Content URL and title fields are now safely truncated with
mb_strcut()to respect UTF-8 boundaries and column limits. - Homepage H1 heuristic - the check now fetches actual homepage HTML instead of guessing from an unrelated style property, eliminating false "missing H1" reports.
- Excessive formatting false positive - posts with lots of newlines but no actual BBCode (e.g., data table threads) no longer trigger "excessive BBCode formatting".
- Admin widget link - fixed double-encoded URL that produced "report not found" errors when clicking "View report" on the dashboard widget.
- Meta description truncation - BBCode check now uses the full message instead of a truncated version, preventing false positives from truncation breaking tag pairs.
- BBCode severity - "Thread BBCode in meta description" downgraded from critical to warning severity.
- Non-indexed forums - zero-views and thin-thread checks are now skipped for non-indexed forums (staff-only threads are expected noise).
- robots.txt false positive -
Disallow: /rules targeting specific bots (e.g.,User-agent: BadBot) no longer trigger the "broad Disallow" warning. Only rules underUser-agent: *are flagged. - Internal link entity false positives - HTML entities like
&#039;and&amp;in BBCode URL attributes are now decoded before link checking. URLs containing these entities are no longer falsely reported as broken. - Sitemap XML parsing - handles gzip-compressed sitemaps, strips UTF-8 BOM, detects HTML responses (login redirects), and now includes the XML parse error and response snippet in the issue detail for easier debugging.
SEO Audit v1.3.2 - URL Extraction Fix
Fixes a remaining issue reported by @akok where internal and external links were flagged as broken due to a trailing quote being appended during URL extraction.Bug Fix
- Link checker trailing quote - the plain URL regex was re-matching inside already-parsed
[URL='...']BBCode blocks, capturing the closing quote as part of the URL. This caused valid links to be reported as broken with&#039;appended. The fix strips all[URL]blocks before running the plain URL regex, making duplicate extraction impossible.
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
Pièces jointes

