How to fix what a site audit finds
Step-by-step fixes for WordPress, Shopify, Wix, Squarespace, Webflow and plain HTML. Each guide names the audit checks it fixes and the vendor documents its steps were checked against.
The guides
-
robots.txt that blocks search or AI crawlers, is missing or has errors
Open your site's robots.txt and make sure no rule disallows the pages you want found for Googlebot, Bingbot or the AI search crawlers: OAI-SearchBot for ChatGPT, Claude-SearchBot for Claude, and PerplexityBot. You can still opt out of AI training by disallowing GPTBot, ClaudeBot, Google-Extended and Applebot-Extended. Then check your CDN: Cloudflare's AI bot settings can block crawlers that robots.txt allows.
Fixes these audit findings: Pages robots.txt blocks for Googlebot; Pages robots.txt blocks for Bingbot; AI search crawlers blocked in robots.txt; No robots.txt file; robots.txt syntax problems.
-
Broken images, scripts and stylesheets
A broken image, script or stylesheet is a file your page loads that answers an error, usually 404 because it was deleted, renamed or moved. Put the file back at its address, or update every tag that loads it, each srcset entry included. Visitors see alt text or an empty space instead of a broken image, and a missing script or stylesheet can break the page's layout or features.
Fixes these audit findings: Pages with broken internal images; Pages with broken internal scripts or stylesheets.
-
Broken links to pages that answer an error
A broken link points at an address that answers an error: 404 or 410 when the page is gone, a 5xx code when the server fails. Change each link to the page's live address, or remove it. When a page has moved, also redirect its old address to the new one with a permanent 301. When a page is gone for good, let it answer 404 or 410.
Fixes these audit findings: Pages linking to broken internal URLs; Pages returning 4xx errors; Pages returning 5xx server errors; Pages linking to URLs that could not be loaded; Broken outbound links (sampled).
-
Canonical tags that are missing, conflicting or pointing at the wrong URL
Give every indexable page one canonical tag: a link element with rel="canonical" in the page's head, holding the full https address of the URL you want search engines to index, usually the page's own. Declare it once, in one place, and point it at a live page that answers 200, not a redirect or an error. Google treats it as a strong hint, not a rule.
Fixes these audit findings: Missing canonical tag; Conflicting canonical URLs; Canonical points to a broken or redirecting URL; Relative canonical URL; Canonical points to another domain; Pages canonicalised to another URL.
-
Files sent uncompressed, without a cache lifetime or unminified
Have your web server or CDN compress HTML, CSS and JavaScript with Brotli or gzip. Send images, scripts and stylesheets with a Cache-Control max-age, a year for files whose names change with each version. Minify scripts and stylesheets when the site is built or with your platform's setting. Shopify compresses and minifies theme files itself.
Fixes these audit findings: HTML served without compression (over 10 KB); Static files served without a cache lifetime; Scripts and stylesheets that look unminified (estimate).
-
Links, buttons and form fields without accessible text, and a missing lang attribute
Give every link and button words that say what it does: visible text, or an aria-label when it shows only an icon. Give an image link alt text that names the destination. Tie every form field to a visible label element. And put the page's language on the html element, such as lang="en", so screen readers read the page with the right pronunciation.
Fixes these audit findings: Links without accessible text; Buttons without accessible text; Form fields without labels; Missing html lang attribute.
-
Missing or multiple H1 headings and skipped heading levels
Give each page one H1 that names what the page is about, at the top of its main content. Use H2 for the page's sections and H3 for parts of a section, never jumping from H2 straight to H4. Most site builders turn the page or post title into the H1, so the headings you add inside the content start at H2.
Fixes these audit findings: Missing H1; Multiple H1 headings; H1 identical to the title; Heading levels skipped.
-
hreflang tags with invalid codes, missing return links or broken alternates
hreflang tags tell Google which language or regional version of a page to show each searcher. On every version, list all the versions, the page itself included, with full https addresses and valid codes: a language such as en, optionally with a country such as en-GB, plus x-default for everyone else. Each version must link back, and each address must be a live, indexable, canonical page.
Fixes these audit findings: Invalid hreflang codes; hreflang without return links; hreflang set without a self-reference; hreflang set without x-default; hreflang points to a broken or redirecting URL; hreflang points to a noindex or canonicalised page; Conflicting hreflang annotations.
-
HTTPS that is missing, not enforced or has certificate problems
Serve every page over HTTPS with a valid certificate that covers both your www and non-www addresses, and permanently redirect every http:// address to its https:// twin. Then change resource, link and form addresses on your pages from http:// to https://, renew the certificate automatically before it expires and allow only TLS 1.2 and 1.3. Shopify, Wix and Squarespace issue certificates for you.
Fixes these audit findings: Pages served over plain HTTP; Site has no working HTTPS; HTTP version does not redirect to HTTPS; Mixed content (HTTP resources on HTTPS pages); Internal links to HTTP URLs; Forms that submit to HTTP; Missing HSTS header; TLS certificate expires within 30 days; TLS certificate expires within 7 days; Outdated TLS version (below TLS 1.2); The www or non-www address has an invalid certificate.
-
Images missing alt text
Give every image an alt attribute. If the image carries information, describe what it shows in a short phrase that fits the page. If the image is a link, say where the link goes. If it is only decoration, give it an empty alt so screen readers skip it. SERPCompass flags images with no alt attribute at all, and most site builders have an alt text field for each image.
Fixes these audit findings: Images missing alt text.
-
Orphan pages, deep pages and weak internal links
Link every page you want found from at least one related page on your site, with an ordinary HTML link whose words name the page's topic. Pages only your sitemap lists, pages more than three clicks from your home page and pages that link nowhere need links added, and links that say click here or read more need descriptive words. Menus, hub pages and related-content links do the work.
Fixes these audit findings: Orphan pages (only reachable from the sitemap); Search Console pages no link or sitemap reaches; Pages more than three clicks from the start page; Pages with only one incoming internal link; Pages with no outgoing internal links; Pages linked only with generic or empty anchor text; Links with generic anchor text; Nofollow on internal links; Pages with more than 300 links.
-
Content that only JavaScript shows
Google can index content that JavaScript adds: it renders pages in a recent version of Chromium, though a page can wait in a queue first. Many AI crawlers read only the HTML your server sends: a December 2024 study by Vercel and MERJ found that OpenAI's, Anthropic's and Perplexity's crawlers did not run JavaScript. Put your main text in that HTML with server-side rendering or pre-rendering.
Fixes these audit findings: Content that needs JavaScript to appear; Main content added by JavaScript (rendered sample).
-
Images that are too large or in an older format
Resize each image to no more than the size it is shown at, compress it, and serve it as WebP or AVIF, with smaller copies in srcset for small screens. SERPCompass flags image files over 200 KB, and JPEG, PNG, GIF, BMP or TIFF files over 100 KB. Shopify, Wix and Squarespace resize and convert images themselves; there, upload sensibly sized files.
Fixes these audit findings: Images larger than 200 KB; Images over 100 KB not in WebP or AVIF.
-
Layout shift: content that jumps while the page loads
Layout shift is content moving while the page loads, measured as Cumulative Layout Shift (CLS). Give every image and video width and height attributes, reserve space for ads, embeds and banners before they arrive, and keep web fonts from reflowing text. web.dev calls a CLS of 0.1 or less good; SERPCompass flags pages over 0.25 in its lab test.
Fixes these audit findings: Poor layout stability (CLS over 0.25, lab); Images without width and height.
-
An llms.txt file that is missing or does not follow the format
llms.txt is an optional Markdown file at your site's root, /llms.txt, proposed at llmstxt.org, that gives AI tools a short map of your site. Start it with one H1 title, then a one-line summary and sections of links to your most useful pages. Google says Search ignores it, so it does not affect rankings, and OpenAI's and Anthropic's crawler pages do not say they read it.
Fixes these audit findings: No llms.txt file; llms.txt does not follow the format.
-
Meta descriptions that are missing, duplicated, too long or too short
Give every page its own meta description: one or two plain sentences, in the page's head, that tell a searcher what the page offers. Google may show it as the text under your result's title, though it often picks text from the page instead. SERPCompass flags descriptions under 70 or over 160 characters, and pages that share one. Most site builders and SEO plugins have a description field.
Fixes these audit findings: Missing meta description; Duplicate meta descriptions; Meta description too long or too short.
-
Pages blocked from Google by noindex or robots.txt
Remove the noindex rule from every page you want in Google. It sits in a robots meta tag in the page's head or in an X-Robots-Tag HTTP header, and site builders set it with a hide-from-search switch. Take pages you keep noindexed out of your XML sitemap. Check that robots.txt does not disallow pages you want found and answers 200 or 404, never a server error.
Fixes these audit findings: Pages set to noindex; Noindex pages listed in the sitemap; Pages with a page-level nofollow directive; Pages hidden from Bing or other crawlers; Pages blocked by robots.txt; robots.txt returns a server error or cannot be reached.
-
Open Graph and Twitter/X card tags that are missing
Put Open Graph meta tags in the head of every page: og:title, og:type, og:image and og:url, which the Open Graph protocol requires, plus og:description. Then add a twitter:card tag set to summary_large_image. X reads the Open Graph title, description and image when its own tags are missing, but without twitter:card it may show only a small card. Most SEO plugins and site builders write them from your settings.
Fixes these audit findings: Incomplete Open Graph tags; Missing Twitter/X card.
-
Redirect chains, loops and other redirect problems
Point every internal link straight at the final address, so no link passes through a redirect. Make each redirect a single hop to a page that answers 200, and never a loop. Use a permanent 301 or 308 for a move you will not undo, and a server-side redirect rather than a meta refresh. Each platform's redirect manager or your server configuration can do all of this.
Fixes these audit findings: Redirect chains (two or more hops); Redirect loops; Temporary (302/307) redirects; Internal URLs that redirect; Internal links pointing to redirects; Meta refresh redirects; Internal URLs that redirect to another domain; Pages Google still shows answer an error or redirect.
-
Schema markup (JSON-LD) that is missing, broken or incomplete
Add a JSON-LD block to your home page that describes your business: Organization, or the most specific LocalBusiness type if customers visit you. Include at least name, url, logo and sameAs links to your official profiles, plus a full address for a local business. Then test the live page in Google's Rich Results Test and the Schema Markup Validator and fix every error they report.
Fixes these audit findings: No structured data on the site; Home page has no Organization or LocalBusiness schema; Structured data that cannot be parsed; Structured data missing required properties; Structured data missing recommended properties; Structured data with invalid property values; Misspelled schema.org types or properties.
-
Slow-loading pages and a poor Largest Contentful Paint
Largest Contentful Paint (LCP) is the time until the biggest image or block of text in view has rendered; web.dev calls 2.5 seconds or less good. To shorten it, make the server answer quickly with caching or a CDN, load the main image early instead of lazy-loading it, keep that image small, and stop scripts and stylesheets in the page's head from holding up the first paint.
Fixes these audit findings: Poor Largest Contentful Paint (over 4 s, lab); Slow server response (over 1.5 s); First content image is lazy-loaded (likely above the fold); Many render-blocking resources.
-
Soft 404s: missing pages that answer 200 OK
A soft 404 is a page that tells visitors it does not exist, or shows next to nothing, while the server answers 200 OK. Make missing pages answer 404, or 410 if they are gone for good, and redirect a page that moved to the page that replaced it, never to the home page. Your friendly not-found page can stay; only its status code changes.
Fixes these audit findings: Soft 404 pages (an error page that returns 200); Missing pages answer 200 instead of 404.
-
Thin, duplicate and near-duplicate pages
Decide what each weak page is for. Expand a thin page with specific, useful information, or merge it into a stronger page and redirect it there. Send exact duplicates to the version you keep with a 301 redirect or a canonical tag. Rewrite near-duplicates, such as location pages built from one template, so each has something of its own.
Fixes these audit findings: Thin content (under 200 words); Exact duplicate content; Near-duplicate content; Low text-to-HTML ratio (under 10%).
-
Title tags that are missing, duplicated or too long
Give every page exactly one title tag, inside its head, that says what that page is about in the words people search for. Make each title unique to its page and put the important words first. SERPCompass flags titles over 60 characters, which are often cut off in search results, and under 30, which rarely say enough. Most site builders and SEO plugins give each page a title field.
Fixes these audit findings: Missing page title; Duplicate page titles; Title longer than 60 characters; Title shorter than 30 characters; More than one <title> element.
-
XML sitemaps that are missing, unreadable or list the wrong pages
Publish an XML sitemap that lists every page you want in search results by its full https address, and nothing else: no redirects, error pages, pages whose canonical names another address, or pages robots.txt blocks. Name it in robots.txt with a Sitemap line, keep each file under 50,000 URLs and 50 MB, and submit it in Google Search Console and Bing Webmaster Tools.
Fixes these audit findings: No XML sitemap found; Sitemap files that cannot be read; Sitemap lists URLs that are not live pages; Sitemap lists canonicalised URLs; Sitemap entries or files on another domain; Sitemap entries that are not full URLs; Sitemap lists URLs blocked by robots.txt; Indexable pages missing from the sitemap; Sitemap files over the protocol limits; Sitemap lastmod dates that are invalid or in the future.
Not sure which of these your site needs? The free scan crawls up to 40 pages and shows your most urgent findings, each linked to its guide where there is one.
Start with a free scan of your site.
Two to five minutes, no account. You get your three most urgent findings, and the exact count of everything else.