Client name withheld. Figures are from our measurements on the stated dates.
Business: a manufacturer of professional lighting equipment, selling through a WordPress site in two languages. Sales had declined and the in-house marketing team had not identified why. We audited the site and separately reviewed a competitor-comparison spreadsheet the client had already commissioned.
What we checked
We sampled 216 pages from a local mirror, cross-checked link counts against a 707-page crawler report, and ran a sequential (non-parallel) live check of the main menu to avoid loading the client's server. The competitor spreadsheet was treated as unverified input, read in an isolated environment, then re-derived from its own numbers.
What we found
The main inquiry form is on nearly every page but reachable from almost none of them. Its HTML block appeared on all 216 pages sampled. Only 2 links or buttons on the entire site open it.
PHP errors expose the server's file path to any visitor. We counted 1,131 occurrences of a leaked server path across 78 of the 216 pages, 40 of them on the homepage alone.
Two core service pages have returned server errors (500) since at least mid-2023, and are still linked hundreds of times. Both pages, in both languages, return 500, and appear across all 216 sampled pages via the sitewide menu — 611 links in total. Wayback Machine snapshots show both last worked on June 5, 2023, while a neighboring, still-live section kept getting crawled afterward. That is close to July 1, 2023, when the site's only analytics tag (Universal Analytics) stopped collecting data as Google shut the product down globally; no GA4 or Ads tag was found anywhere in the tag container. We reported the dates lining up as a coincidence we noticed, not a proven cause.
Basic on-page SEO signals are absent sitewide. Of 5 pages parsed in detail, none had an H1 (one ran 16 H2s instead). Zero pages had Open Graph or Twitter Card tags, so shared links show no preview. Zero Schema.org markup existed anywhere — no Organization, Product, or breadcrumb data.
The sitemap and robots.txt were not maintained. The sitemap, built by a third-party crawler tool, lists 312 URLs sharing one fabricated lastmod date, October 23, 2017. Separately, robots.txt blocks the entire blog — 52 URLs that sit in the sitemap but can't be crawled.
The commissioned competitor spreadsheet did not hold up to its own numbers. It has no collection date anywhere in the file. Recalculating each competitor's stated efficiency (lumens per watt) from the wattage and lumen figures in the same row, 3 of 16 comparison rows didn't match their own stated figure — one because the linked source was a different, unrelated product. The client's own product line had its two weakest comparison cells left blank.
What we recommended
- Fix or remove the two 500-error pages; find when and why they broke, from server logs or Search Console, which we did not have access to.
- Install GA4 and reconnect conversion tracking — the site has had no working analytics for roughly three years.
- Make the inquiry form reachable from more than 2 entry points.
- Remove the leaked file-path errors; add H1 tags, Open Graph/Twitter tags, and Schema.org markup.
- Regenerate the sitemap with real modification dates and unblock the blog in robots.txt.
- Redo the competitor comparison with dated, sourced figures per product, linked to the exact SKU compared.
No implementation has taken place. These are audit recommendations only — there are no before/after results to report.