Every audit finding, and what to do about it

Every rule a crawl can report is listed below. The wording here is the wording the audit page and the WordPress plugin show, because all three read one table.

Technical

Page returns a server error

A 5xx means the page did not load at all. Google drops pages that keep failing, and a shopper who hits one usually leaves rather than retrying.

Fix: Check the server error log for the exact URL, fix the fault, then request indexing for the page once it returns 200.

Redirect loop

The page can never load. Nothing indexes it and no visitor reaches it.

Fix: Find the two rules pointing at each other and remove or repoint one of them.

Important page is set to noindex

A noindex tag tells Google to leave the page out of search entirely. On a category or product page that is usually an accident, and it removes the page from every result it used to hold.

Fix: Remove the noindex robots meta tag or header, then request indexing.

Page has no title tag

The title is the headline in search results and the strongest single on-page signal. Without one Google writes its own, usually from the navigation.

Fix: Write a title of roughly 50 to 60 characters that names the thing and the brand.

robots.txt blocks a page you want indexed

A blocked URL cannot be crawled, so Google cannot see the content, the canonical or the noindex on it.

Fix: Remove the matching Disallow rule, or narrow it so it stops covering this path.

Canonical points at a different page

The page is telling Google to index something else instead, so it will not rank on its own.

Fix: Point the canonical at this URL unless the page really is a duplicate.

Internal link points at a missing page

A link from your own site to a 404 wastes the crawl budget Google spends on you and sends visitors to a dead end.

Fix: Either repair the link to point at the live page, or redirect the old URL to its replacement with a 301.

Page loads an asset over plain HTTP

Browsers block or warn on insecure assets inside a secure page, which can break layout and scares shoppers off a checkout.

Fix: Change the asset URL to https, or host the asset yourself.

Page has no internal links pointing at it

A page nothing links to is one Google rarely re-crawls and a visitor cannot navigate to.

Fix: Link to it from a relevant category, menu or related-products block.

No canonical link on the page

Without a canonical, Google picks which of several similar URLs to index. On a shop with filters and sort parameters, that choice is often the wrong one.

Fix: Add a self-referencing canonical link to the page head, and point filtered variants at the clean URL.

Redirect chain of three or more hops

Each hop costs a round trip before anything renders, and Google stops following after a handful. Link equity thins out along the chain.

Fix: Point the first URL straight at the final destination so every chain is one hop.

Sitemap lists a URL that returns 404

A sitemap full of dead URLs lowers the trust Google places in the whole file, so real new pages get found slower.

Fix: Regenerate the sitemap so it only lists live, indexable URLs.

No XML sitemap found

A sitemap is how a new or deep page gets found quickly. Without one, discovery depends entirely on internal links.

Fix: Publish an XML sitemap, submit it in Search Console, and reference it from robots.txt.

Content

Page has very little text

A page with almost no words gives Google nothing to match a search against, and gives a shopper nothing to decide on.

Fix: Add the detail a buyer actually asks for: dimensions, materials, fit, what is in the box, who it suits.

Two or more pages share a title

Duplicate titles make the pages compete with each other, and the result Google shows is often not the one you would have chosen.

Fix: Give each page its own title, usually by adding what makes it different: the variant, the category or the location.

Page duplicates another page on the site

Two pages with the same text compete for the same searches, and Google usually indexes only one of them.

Fix: Merge the pages and redirect one, or rewrite one so the two answer different questions.

Page has no H1

The H1 is the page heading a reader and a crawler both use to decide what the page is about.

Fix: Add one H1 that matches the page title in meaning, not word for word.

Images have no alt text

Alt text is what a screen reader announces and what image search reads. On a product page it is also the only description of the photo.

Fix: Describe what the image shows in a short phrase. Leave alt empty only for purely decorative images.

Page has no meta description

Google writes its own snippet when there is none. A written one is your sales line in the results page and it measurably changes click rate.

Fix: Write 140 to 155 characters that say what the page offers and give a reason to click.

Page has more than one H1

Several H1s make the page look like several pages, which dilutes the topic signal.

Fix: Keep one H1 and demote the others to H2.

Title is longer than the results page shows

Anything past roughly 60 characters is cut off, so the end of the title is written for nobody.

Fix: Put the words that matter first and trim to about 60 characters.

Content score is below the pass mark

The score is the sum of the small things: the keyword in the heading, a description that is the right length, enough links, readable sentences. Each is minor and together they decide whether the page competes.

Fix: Open the page in the editor and work through the failing checks. Most are a one-line fix.

Page has fewer than three internal links out

Internal links are how ranking strength moves around the site. A page that links nowhere is a dead end for both a reader and a crawler.

Fix: Add links to related products, the parent category and any guide that supports the page.

No focus keyword set for the page

Without a focus keyword there is nothing to score the page against, so the editor cannot tell you what is missing.

Fix: Set the phrase this page should win, then check the heading, the first paragraph and the title against it.

Meta description is longer than the snippet shows

Past roughly 155 characters the snippet is truncated, so the call to action at the end is never read.

Fix: Trim to 140 to 155 characters with the reason to click near the front.

Woo

Product page has no image

A product with no photograph converts at a fraction of one that has, and it cannot appear in image or shopping results at all.

Fix: Add at least one image, on a plain background, large enough to zoom.

Product page has no product structured data

Without product schema the result shows no price, no stock state and no stars, so it loses clicks to the ones that do.

Fix: Output Product schema with name, image, price, currency, availability and any review data you hold.

Out of stock product is still indexed and linked

A shopper who lands on a sold-out page usually leaves the site rather than browsing. At scale it drags the whole shop down.

Fix: Keep the page, but show the nearest alternative above the fold, and stop featuring it in category listings while it is out.

Filter and sort URLs are indexable

Faceted URLs multiply: a shop with five filters can generate thousands of near-identical pages, and they eat the crawl budget the real pages need.

Fix: Set a canonical to the clean category URL on filtered views, and block the parameter patterns that add nothing.

Structured data price differs from the page price

Google cross-checks the two. A mismatch gets the rich result removed and can flag the item in Merchant Center.

Fix: Make the schema read the same price object the page renders, including any sale price.

Variable product does not describe its variations

A variable product with one flat price hides the range a shopper is searching on, and variant-level results are where the specific searches land.

Fix: Emit a ProductGroup with a variant for each purchasable variation, each with its own SKU, price and availability.

Product has no SKU

The SKU is how Merchant Center, feed tools and your own reporting identify the item. Without it a product is hard to match anywhere.

Fix: Set a SKU on the product and on every variation.

Category page has no description

A category page with only a grid of products has no text to match a search, so it loses to competitors who wrote two paragraphs.

Fix: Write a short introduction that says what the category covers and who it is for. Put it above or below the grid, not hidden behind a toggle.

Cart or checkout page is indexable

These pages have no search value and can expose session URLs. They also waste crawl budget on a shop with thousands of products.

Fix: Set noindex on cart, checkout and account pages.

Speed

Largest Contentful Paint is slow

LCP is how long the main thing on screen takes to appear. Past 2.5 seconds a measurable share of visitors leave before it does.

Fix: Find what the largest element is, usually the hero image, and serve it smaller, in a modern format, and without waiting on a script.

Server takes too long to respond

Time to first byte is the floor under every other speed number. Nothing on the page can be fast if the server is slow to start.

Fix: Add page caching, check the slowest database queries, and look at any plugin that runs on every request.

Layout shifts while the page loads

Content that jumps makes people tap the wrong thing, which on a product page means adding the wrong variant to the cart.

Fix: Set explicit width and height on images and reserve space for anything that loads late, including banners and embeds.

Interaction to Next Paint is slow

INP measures how long the page takes to respond to a tap. A slow one feels broken even when everything eventually works.

Fix: Cut the JavaScript that runs on interaction, and break long tasks so the main thread can answer the tap.

Images are far larger than they are displayed

A 3000 pixel photograph rendered at 400 pixels costs the visitor the whole download for none of the detail. On mobile data that is the page.

Fix: Serve sized variants and a modern format, and let the browser pick with srcset.

Stylesheets or scripts block the first render

The browser will not paint anything until these finish, so every one of them is added directly to how long the page looks blank.

Fix: Defer scripts that are not needed for the first screen, and inline only the small amount of CSS that is.

Back to the documentation