Skip to content

Screaming Frog Fixes

Common issues found when auditing with Screaming Frog, and how to fix them.


Cause: A page with noindex also has a <link rel="canonical"> tag.

Fix: In Layout.astro, conditionally suppress the canonical:

{!noindex && <link rel="canonical" href={canonical} />}
{noindex && <meta name="robots" content="noindex, nofollow" />}

Cause: Layout.astro has <link> tags pointing to favicon-32.png or favicon-256.png that don’t exist in /public/.

Fix: Only reference files that actually exist. Until PNG favicons are generated, use SVG only:

<link rel="icon" type="image/svg+xml" href="/favicon.svg" />

Comment out or remove PNG favicon links until the files are created.


Parameter URLs crawled (checkout, payment-return)

Section titled “Parameter URLs crawled (checkout, payment-return)”

Cause: /checkout?plan=starter-website gets crawled and flagged.

Fix: Add to robots.txt:

Disallow: /checkout
Disallow: /payment-return
Disallow: /thank-you

Non-descriptive anchor text (“Learn more”)

Section titled “Non-descriptive anchor text (“Learn more”)”

Cause: Links with visible text “Learn more” give crawlers no context about the destination.

Fix: Add hidden context with a sr-only span. Remove the aria-label from the <a>:

<!-- Before -->
<a href="/services/web-design" aria-label="Learn more about Web Design">Learn more</a>
<!-- After -->
<a href="/services/web-design">
Learn more<span class="sr-only"> about Web Design</span>
</a>

The sr-only text is invisible visually but counted as anchor text by crawlers.


Cause: Social icon links in the footer contain only an <svg> with no text. Crawlers see no anchor text.

Fix: Add sr-only text and aria-hidden="true" on the SVG:

<a href="https://wa.me/..." aria-label="WhatsApp">
<svg aria-hidden="true">...</svg>
<span class="sr-only">WhatsApp</span>
</a>

This appears on every page via the footer, so 2 icon links x 11 pages = 22 reported instances.


Cause: Two different pages have the same H2 text (e.g., “Common questions” on both the homepage and the web design page).

Fix: Make every H2 page-specific:

Generic (bad) Specific (good)
“Common questions” “Website FAQs”
“What’s included” “What’s included in every website”
“Get started” “Ready to launch your site?”

Cause: A footer link points to /#work but the #work section was removed from the homepage.

Fix: Remove or update the link in Footer.astro. Never leave a link pointing to a removed section.


Cause: Screaming Frog was started with www.domain.com as the root URL. Every URL it finds gets a 301 redirect to domain.com.

Fix: This is correct behaviour - the www redirect is working. Start Screaming Frog with https://domain.com (no www) to avoid this noise. The _redirects rule is correct.


Cause: Screaming Frog found 2 URLs (likely the www redirect responses) without Content-Security-Policy or HSTS headers. The 301 redirect response doesn’t carry the headers from _headers - only the final 200 response does.

This is expected behaviour. Redirect responses typically don’t carry security headers. The important thing is that the final destination URL has all headers, which it does via public/_headers.