Sample report. The site and figures are illustrative, the structure and wording are real

Technical SEO audit of furniture.example

This is what the report you receive looks like. This is a shortened version: 7 findings out of 23, without the URL spreadsheet and screenshots. In a real report every finding links to a tab with the full list of addresses.

Site type
Furniture online store, WooCommerce
Crawled
14,212 URLs, 9,870 indexed by Google
Data
Search Console 16 weeks, CrUX 28 days, logs 21 days
Priorities
3 × P1, 4 × P2, 5 × P3

The one-page summaryIf you read only this, you already know what to do this week

  1. Catalog filters are open to indexing. 6,400 parameter URLs eat the crawl budget, new products get indexed late. Tasks T-01, T-02.
  2. 2,300 product pages share the same title and have no H1. The product template broke after a theme update in July. Task T-03.
  3. After renaming /catalog/ to /shop/, 412 internal links go through two redirects. Task T-04.

Three tasks, roughly 2–3 developer days. The remaining findings below matter, but they do not block the result from the first three.

P1 findingsCritical: directly affects indexation and traffic right now

P1Indexation · catalog filters

Catalog filters generate 6,400 parameter URLs, 5,900 of them open to indexing

What I see
The sort, price, color and material parameters generate unique URLs without a canonical. In Search Console 4,100 of them are “Crawled, currently not indexed”, another 1,800 are indexed with an empty description.
GET /shop/sofas/?sort=price&color=grey   → 200, canonical: none, meta robots: index
GET /shop/sofas/?material=fabric&page=4 → 200, canonical: none
Impact
Over 21 days of logs Googlebot made 61% of its requests to parameter URLs and 9% to product pages. New products get indexed 12–19 days after publication.
Task T-01
For sort, price and page combined with filters return rel="canonical" to the base category. For color and material keep only combinations with search demand indexable, per the “Filters with demand” tab (38 combinations), and give them their own title and H1.
Acceptance
Re-crawl: 0 URLs with sort or price without a canonical; 38 filter pages with unique titles. After 4 weeks, product pages receive over 30% of Googlebot requests in the logs.
P1Metadata · product template

2,300 product pages have the title “Buy online — furniture.example” and no H1

What I see
After the theme update on 14 July the single-product.php template stopped outputting the product name in the title and H1. Affected: every product added after that date and every product without a manually filled SEO title.
Impact
In Search Console clicks on product pages dropped 44% from 20 July with the same number of impressions: Google shows a snippet without the product name.
Task T-03
Restore the default title {product name} — buy online, price {price} | furniture.example and {product name} as H1 in the template. Do not overwrite manual SEO titles.
Acceptance
Crawl: 0 product pages with duplicate titles, 0 without H1. Check in Search Console after 3 weeks: product CTR returns to June levels.
P1Redirects · section migration

412 internal links point to old /catalog/ URLs through a 301 → 301 → 200 chain

What I see
In February the section was renamed to /shop/, then in April a trailing slash was added. The old redirect rules were never merged, and the menu, footer and “Similar products” block still link to /catalog/.
/catalog/sofas → 301 → /shop/sofas → 301 → /shop/sofas/ → 200
Impact
Each of the 412 links loses part of its equity at every hop, and 38 external links to the old URLs pass through two redirects.
Task T-04
In the menu, footer and “Similar products” templates replace hrefs with the final URLs including the trailing slash. In the server rules point old URLs straight to their final destination.
Acceptance
Crawl: 0 internal links to 3xx. Every URL in the “Old URLs” tab answers with a single 301.

P2 findingsImportant: limits growth, fix after P1

P2Speed · category template

LCP on the category template is 4.1 s in field data against the 2.5 s “good” threshold

What I see
The LCP element is a 1.9 MB PNG category banner without dimensions. A 480 KB chat script loads synchronously before the content. Web fonts have no font-display.
Task T-05
Serve the banner as WebP under 120 KB with width/height and fetchpriority="high". Initialise the chat after first interaction. Add font-display: swap to the fonts.
Acceptance
CrUX 28 days after release: LCP p75 on categories below 2.5 s.
P2Indexation · sitemap.xml

sitemap.xml contains 318 URLs that return 404 and 1,100 URLs with noindex

What I see
The plugin builds the sitemap from every record, including deleted products and utility pages. Search Console shows the sitemap status as “Has errors”.
Task T-06
Exclude products with status “deleted” and noindex pages from the sitemap; add lastmod from the real modification date.
Acceptance
Only URLs returning 200 and without noindex in the sitemap; Search Console status “Success”.

In brief: the remaining findingsP2 and P3, each described in full in the complete report

Developer tasksThis is how it looks in the tracker. Time estimates are rough, for planning

IDPriorityTaskAcceptance criterionEstimate
T-01P1Canonical to base category for sort, price, page combined with filters0 URLs with these parameters without a canonical after crawl4 h
T-02P1Unique title and H1 for the 38 filter pages on the list38 pages with their own title, the rest canonicalised6 h
T-03P1Restore product name in the product template title and H10 duplicate titles, 0 products without H12 h
T-04P1Replace /catalog/ links in menu, footer, similar products; merge redirects0 internal links to 3xx; old URLs answer with a single 3013 h
T-05P2Category banner as WebP with dimensions and fetchpriority; chat after interaction; font-displayCategory LCP p75 under 2.5 s in CrUX over 28 days5 h
T-06P2Exclude deleted products and noindex pages from sitemap.xml, add lastmodSitemap status “Success” in Search Console2 h

What happens nextThe order I propose after the walkthrough call

  1. Week 1: T-03 and T-04, because they are the quickest and show a visible effect in Search Console.
  2. Week 2: T-01 and T-02 together, in one release, to avoid an intermediate state with partial canonicals.
  3. Weeks 3–4: T-05, T-06, then P3 in order.
  4. 4 weeks after the last release: re-check and comparison of logs, coverage and product CTR against this report.

Want a report like this for your site? Send the address and what worries you, I reply with an exact quote.

Request an audit