Sample report
This is an anonymized, abridged example based on a real Professional audit. The organization, website and all identifying details are fictional ("Example Consulting Co.", example-consulting.com). Download the sample as PDF.
Website audit & test report · Professional tier · SAMPLE
Example Consulting Co. (example-consulting.com)
A practical, evidence-based review of how well the site helps prospective clients find Example Consulting Co., trust its expertise and get in touch. Prepared by peoplefirst.si.
01 / Executive summary
Strong substance, held back by loose ends. The content is the site's biggest asset: a clear audience, specific services with concrete deliverables, and verifiable credentials. The problems are mostly upkeep: old pages that should not be public, a slow server, missing basics such as a privacy policy and zoom support, and a homepage that doesn't ask visitors to get in touch soon enough.
Lighthouse performance, home (mobile)
Server response time
Draft pages live and in sitemaps
Broken links (of ~150 checked)
Overall scorecard
| Area | Rating | What drives the rating |
|---|---|---|
| Site hygiene & content governance | Urgent | Several old draft pages are public, indexable and listed in the sitemap; one shows a theme's demo contact details. |
| Performance & speed | Needs work | Lighthouse mobile performance in the high 60s to low 80s. Pages take 2–3.5 s to start responding; HTML is not compressed. |
| Mobile experience | Needs work | Pinch-to-zoom is disabled. The homepage scrolls sideways on a 390 px phone. |
| Accessibility | Needs work | Images lack alt text, heading order skips levels, no <main> landmark. No contrast failures. |
| On-page SEO | Fair | Unique titles, descriptions and canonicals; two sitemap plugins run in parallel; thin structured data. |
| Security & trust | Needs work | Valid TLS 1.3, but no security headers, mixed-content images and an exposed author username. |
| Messaging & content | Strong | Clear audience, specific deliverables and verifiable credentials. |
| Conversion paths | Needs work | No contact button in the hero or header; phone and email only in the footer. |
| Local & AI search basics | Needs work | City listed two different ways; no business schema; no FAQ content. |
| Analytics & measurement | Needs work | Basic page-view stats only; no conversion tracking. |
| Legal pages | Urgent | Privacy policy URL returns 404, while the contact form collects personal data and third-party cookies are set. |
The five things that matter most
- Critical: retire the old draft pages.
- High: turn on page caching and compression.
- High: publish and link a privacy policy.
- High: make "Get in touch" the first, easiest step.
- High: restore zoom and add image descriptions.
02 / Audit checklist (excerpt)
The full report covers 77 checks: in this sample, 21 Pass · 48 Comment · 8 Not tested.
| Check | Status | Note |
|---|---|---|
| Legacy / draft pages unpublished | Comment | Old drafts public and in sitemap |
| 404 page returns HTTP 404 | Pass | True 404 |
| Internal links resolve | Pass | No broken links; a few extra 301 hops |
| External links open in new tab | Comment | Social profile links replace the site |
| Primary contact CTA above the fold | Comment | Hero has two "explore" buttons |
| LCP ≤ 2.5 s (mobile) | Comment | 3.5–5.5 s |
| Text compression | Comment | Off |
| Zoom allowed | Comment | user-scalable=0 |
| Color contrast | Pass | 0 violations |
| Image alt text | Comment | Missing |
| Canonical tags | Pass | Self-referencing |
| Structured data | Comment | No address, phone or sameAs |
| HTTPS certificate | Pass | TLS 1.3, valid |
| Security headers | Comment | None present |
| Privacy policy | Comment | 404 |
| AI crawlers allowed | Pass | Not blocked in robots.txt |
| llms.txt | Comment | Absent (optional) |
03 / Findings (excerpt)
Critical · Legacy draft pages are public, indexable and in the sitemaps
Evidence: Five numbered draft pages ("1-home", "3-contact" and so on) return HTTP 200 with index, follow, self-referencing canonicals and entries in both sitemaps. One still shows the page-builder theme's demo footer with a placeholder phone number, email and street address, next to the real one, plus a different city from the live pages.
Simplest fix: Set each draft to Private and 301-redirect it to its live equivalent. Move any useful copy first. (Client decides · Agency implements)
High · The server is slow to generate pages (no page cache)
Evidence: Time to first byte for HTML was 2.0–3.5 s on every page across curl, Lighthouse and browser tests, while a static CSS file on the same server returned in about 0.2 s. That points to page generation, not the network. Lighthouse attributes about 60% of mobile LCP to server time.
Simplest fix: Enable full-page caching and gzip/Brotli compression, then re-test. Target TTFB under 0.8 s. (Agency)
High · No privacy policy
Evidence: /privacy-policy/ returns 404 and no privacy link appears in the footer or at the contact form, which collects name, email and message. Third-party analytics cookies are set on every page.
Simplest fix: Publish a short plain-language policy, link it in the footer and under the form, and have it reviewed by someone qualified. (Client (content) · Agency (setup))
High · Pinch-to-zoom is disabled on every page
Evidence: The viewport tag includes maximum-scale=1.0, user-scalable=0. Lighthouse and axe-core both flag it; it fails WCAG 1.4.4 (Resize Text).
Simplest fix: Change it to width=device-width, initial-scale=1 (usually one theme setting). (Agency)
High · The homepage doesn't invite a conversation early enough
Evidence: Hero buttons are "Explore services" and "See our work". The first contact prompt is the final banner. On mobile the headline fills the first screen and the buttons sit below it.
Simplest fix: Add one primary action ("Book a 20-minute call" or "Contact us") to the header and hero; make the phone a tel: link near the top on mobile. (Client (offer) · Agency (build))
Medium · Social profile links replace the website in the same tab
Evidence: Footer social icons use target="_self"; a stubbed click test confirmed the tab navigates away. A contact-page email item is configured as a web URL instead of mailto:, so it opens a broken page.
Simplest fix: Open external profiles in a new tab with rel="noopener noreferrer"; fix the email item to mailto:. (Agency)
Medium · Structured data doesn't describe a professional service
Evidence: JSON-LD declares a combined Person/Organization with only a logo (over http://). No address, phone, service area, sameAs or services.
Simplest fix: Use ProfessionalService (or LocalBusiness) with full details, plus a Person for the principal with credentials. (Agency)
04 / Prioritized action plan
| # | Action | Severity | Est. effort |
|---|---|---|---|
| 1 | Unpublish and redirect the legacy draft pages | Critical | 1 hr |
| 2 | Enable page caching and compression | High | 1–2 hrs |
| 3 | Re-enable zoom | High | 10 min |
| 4 | Publish and link a privacy policy | High | 2–3 hrs |
| 5 | Fix social and email links | High | 30 min |
| 6 | Add a primary contact CTA to header and hero | High | 2–4 hrs |
| 7 | Add alt text to all content images | High | 1–2 hrs |
| 8 | Set up analytics with 3 conversion events + Search Console | Medium | 2–3 hrs |
| 9 | Fix headings, add <main>, fix mobile overflow | Medium | 2 hrs |
| 10 | Add security headers; disable XML-RPC and user enumeration | Medium | 2 hrs |
| 11 | Upgrade business schema, add an FAQ, standardize contact details | Medium | Half day |
05 / Next steps
- A 30-minute review call to confirm the one goal the site should serve.
- A one-week cleanup sprint (actions 1–5), then re-run the same tests.
- A messaging and measurement pass over the following month.
06 / Assumptions & needs human review
- We assume the numbered pages are leftover drafts; confirm none is linked from proposals before redirecting.
- The contact form was inspected, not submitted; send yourself a test message.
- Rankings and business-profile data need account access to verify.
- This report is not legal advice or an accessibility certification.
07 / Method & tests that could not run
| Test | Tool / method | Status |
|---|---|---|
| Crawl & on-page SEO | Python crawler from homepage + sitemaps; 10 HTML pages parsed | Completed |
| Link & asset check | ~150 unique URLs, following redirects | Completed |
| Lighthouse | Home (mobile + desktop) and 4 key pages (mobile) | Completed |
| Accessibility | axe-core via Playwright/Chrome, WCAG 2.2 A/AA | Completed; manual screen-reader test not done |
| Security | Headers, TLS, mixed content, read-only exposure checks, SPF/DKIM/DMARC | Completed |
| Forms | Markup inspection only | No form submitted, by design |
| PageSpeed Insights field data | Google API | Not run (quota); lab data used |
Ratings are peoplefirst.si's judgment based on measured evidence. Lab numbers vary between runs; use them to track direction.