The SEO audit fetches a business’s own website and checks its page essentials (title, meta description, heading, canonical link, mobile viewport, language) and its structured data. It gives you a plain list of gaps, ordered by severity, so you can tell the business exactly what to fix.
Before you start
- You need an administrator account (the audit overview and settings are for administrators).
- The listing must have a website address saved. Without one, both checks report “no website on listing” and the audit has nothing to score.
- The website must be reachable from your server over http or https. Addresses on private or local networks are refused.
- No AI key is needed. The two built-in checks read the page HTML directly.
How to use it
- Open the Audit tab of the Directory screen in your WordPress admin. You see the “SDP Audit” overview with the “Listings” and “Settings” tabs.
- Type part of a business name into “Search listings by name…”. Use the All, Audited and Never run buttons to narrow the list.
- Click the business name. Its audit dashboard opens, titled “Audit:” followed by the name.
- Click “Run audit”. If the listing has been audited before, the button is “Re-run audit” at the top right of the listing bar.
- Wait while the button reads “Running…”. The site is fetched once for each check, with a 15 second timeout, and the report is saved.
- Click the Findings tab. The “All findings” card lists every gap, High first, then Med, then Low.
- Read each finding’s title, the short explanation under it, and the check it came from (shown as “in On-page SEO” or “in Structured data”).
- Fix the issues on the business’s website, then click “Re-run audit” to check again.
What the two checks look for
On-page SEO reads the page HTML and starts from 100, taking points off for each gap. Structured data looks for JSON-LD, microdata and RDFa types.
| Finding | Severity | Triggered when |
|---|---|---|
| Missing <title> tag | High | No title, or an empty one |
| Title is short / may be truncated | Medium / Low | Under 25 characters / over 70 characters |
| Missing meta description | Medium | No description, or an empty one |
| Meta description short / may be truncated | Low | Under 70 characters / over 170 characters |
| Missing <h1> | High | No h1 on the page |
| Multiple <h1> tags | Low | More than one h1 |
| Missing canonical link | Medium | No canonical link in the head |
| No mobile viewport meta | High | No viewport meta tag |
| Missing <html lang> attribute | Low | No lang on the html element |
| Heavy HTML payload | Medium | HTML larger than 2 MB |
| HTTP error from website | High | The site returns a status below 200 or 400 and above |
| No structured data detected | High | No JSON-LD, microdata or RDFa types found |
| Structured data present but no LocalBusiness type | Medium | Types found, but none is a local business type such as LocalBusiness, Organization, Restaurant or Store |
Good to know
- Score bands are Great (80 and above), Good (60 to 79), Fair (40 to 59) and Poor (below 40).
- The composite score is a weighted average of the checks that ran. With only the two built-in checks, On-page SEO counts for 0.30 and Structured data for 0.15, and the result is scaled to 0 to 100.
- A check that fails (for example, the site cannot be reached) is left out of the average rather than counted as zero.
- Every run is saved. A report is marked to be refreshed after 30 days, and a claimed listing is re-audited automatically every 30 days.
- The Audit tab also shows an “Opportunity value”, a rough heuristic built from a category baseline and the score gap. It is a talking point for pitching, not a forecast, and you can adjust it under Settings.
- The Raw data tab shows the exact JSON report, with a “Copy JSON” button.
- The History and Pitches tabs display “Coming soon” and do not work yet. On the finding rows, the “Add to pitch”, “Dismiss”, “Filter” and “Export CSV” buttons are not connected to actions yet, so plan to copy findings from the screen for now.
FAQ
Do I need an AI key to run an audit?
No. The On-page SEO and Structured data checks fetch and read the page HTML on your own server. Nothing is sent to an AI provider.
Which page is checked?
The website address saved on the listing. If it has no http or https prefix, https is added, and up to 5 redirects are followed.
Why does a check say “unavailable” or “no website on listing”?
The listing has no website saved, so there is nothing to fetch. Add the address to the listing and run the audit again.
Can other checks such as page speed be added?
The scoring has weights reserved for Page Speed, Google Business Profile and Local pack ranking, but only the two checks above are built in. Developers can add more through the sdp_audit_register_probes filter.
Who can run an audit?
Anyone who can edit the listing can run and read its audit. The overview list and the settings are limited to administrators.