Catalog / janspinballmods.com
62

SEO audit for janspinballmods.com

Home

ecommerceWordPress

Health 62/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

The Home ofZeDMD & PPUC SHOP NOW

Screenshot of janspinballmods.com
50
pages crawled
29
indexable pages
2
errors
154
warnings
403
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 58 1 66 33
Crawlability 98 1 0 11
Performance 81 0 32 133
Content 90 0 16 33
Budget 92 0 14 0
Meta Description 93 0 12 15
Duplicate 97 0 5 7
Indexability 98 0 4 0
Sitemap 99 0 2 0
Structured Data 99 0 2 29
Robots 99 0 1 0
Agent Readiness 100 0 0 8
Cache 100 0 0 32
Headings 100 0 0 1
Images 100 0 0 3
Security 100 0 0 33
Social 100 0 0 12
Titles 100 0 0 43
URL 100 0 0 10
Findings

Errors (2 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 1 occurrence(s)

error Client error (4xx) response

Rule status.4xx · Crawlability · 1 occurrence(s)

Warnings (13 rules)

warning robots.txt-disallowed URL receives internal links (crawl-budget leak)

Rule budget.disallow_linked · Budget · 13 occurrence(s)

  • https://janspinballmods.com/mods/ac-dc/?add-to-cart=3441 — internal links point to https://janspinballmods.com/mods/ac-dc/?add-to-cart=3441, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ac-dc/.
  • https://janspinballmods.com/mods/ghostbusters/?add-to-cart=2726 — internal links point to https://janspinballmods.com/mods/ghostbusters/?add-to-cart=2726, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/.
  • https://janspinballmods.com/mods/ghostbusters/?add-to-cart=2731 — internal links point to https://janspinballmods.com/mods/ghostbusters/?add-to-cart=2731, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/.
  • https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/?add-to-cart=2726 — internal links point to https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/?add-to-cart=2726, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/.
  • https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2726 — internal links point to https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2726, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/library-ghost/.
  • https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2731 — internal links point to https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2731, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/library-ghost/.
  • https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/?add-to-cart=2731 — internal links point to https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/?add-to-cart=2731, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/.
  • https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2726 — internal links point to https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2726, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/.
  • https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2731 — internal links point to https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2731, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/.
  • https://janspinballmods.com/mods/ppuc/?add-to-cart=3942 — internal links point to https://janspinballmods.com/mods/ppuc/?add-to-cart=3942, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ppuc/.
  • https://janspinballmods.com/mods/ppuc/dmd/?add-to-cart=3942 — internal links point to https://janspinballmods.com/mods/ppuc/dmd/?add-to-cart=3942, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ppuc/dmd/.
  • https://janspinballmods.com/mods/ppuc/microsd-card-adapter/?add-to-cart=3942 — internal links point to https://janspinballmods.com/mods/ppuc/microsd-card-adapter/?add-to-cart=3942, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/ppuc/microsd-card-adapter/.
  • https://janspinballmods.com/mods/tron/?add-to-cart=3441 — internal links point to https://janspinballmods.com/mods/tron/?add-to-cart=3441, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://janspinballmods.com/mods/tron/.

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 1 occurrence(s)

  • https://janspinballmods.com/installation/ — this noindex page has 33 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://janspinballmods.com/, https://janspinballmods.com/checkout/, https://janspinballmods.com/privacy-policy/.

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 5 occurrence(s)

warning Page is noindex

Rule index.noindex · Indexability · 3 occurrence(s)

warning noindex + nofollow (blocks link equity flow)

Rule index.noindex_nofollow · Indexability · 1 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 66 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 32 occurrence(s)

warning robots.txt blocks CSS/JS the pages need to render

Rule robots.blocks_css_js · Robots · 1 occurrence(s)

  • https://janspinballmods.com/ — robots.txt Disallow blocks render-critical CSS/JS under: /wp-admin/js/ — Google's renderer can't fetch these, so the affected pages may render blank or thin. Allow the asset path(s) for Googlebot.

warning BreadcrumbList present but structurally incomplete

Rule schema.breadcrumb_incomplete · Structured Data · 1 occurrence(s)

  • https://janspinballmods.com/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

warning Product schema missing required or recommended properties

Rule schema.product_incomplete · Structured Data · 1 occurrence(s)

  • https://janspinballmods.com/mods/pcbs/battery-upgrade-board/ — Product structured data is missing required property (image) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (brand, aggregateRating, review), which enrich the result.

warning Non-indexable URL listed in sitemap

Rule sitemap.non_indexable · Sitemap · 2 occurrence(s)

Notices (27 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 7 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 32 occurrence(s)

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 28 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 5 occurrence(s)

  • https://janspinballmods.com/mods/pcbs/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://janspinballmods.com/mods/pcbs/battery-upgrade-board/ — this page reads as difficult (Flesch Reading Ease 45, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://janspinballmods.com/mods/ppuc/ — this page reads as very difficult (Flesch Reading Ease 22, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://janspinballmods.com/mods/zedmd — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://janspinballmods.com/mods/zedmd/ — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Title tag and meta description are identical

Rule content.title_meta_same · Meta Description · 1 occurrence(s)

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 7 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 1 occurrence(s)

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 2 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 32 occurrence(s)

  • https://janspinballmods.com/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/cart/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/checkout/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/compare/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/contact/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/installation/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ac-dc/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ghostbusters/library-ghost/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/pcbs/battery-upgrade-board/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ppuc/dmd/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ppuc/frame-dump-adapter-pi-zero-2w/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/ppuc/microsd-card-adapter/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/tron/target-support-set-sam/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/zedmd/s3-shield-diy-kit/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/zedmd/shield-esp32-s3/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/zedmd/zedmd-128x32/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/mods/zedmd/zedmd-s3-128x32-plug-and-play/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/parcel-panel/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/privacy-policy/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/wishlist/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://janspinballmods.com/zedmd/ — the likely hero/LCP image (cropped-imageedit_13_2092137292-2-300x75.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 1 occurrence(s)

notice Internal link points to a noindex page

Rule links.to_noindex · Links · 33 occurrence(s)

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 2 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 12 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 32 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 32 occurrence(s)

  • https://janspinballmods.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/cart/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/checkout/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/compare/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/contact/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/installation/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ac-dc/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ghostbusters/library-ghost/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/pcbs/battery-upgrade-board/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ppuc/dmd/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ppuc/frame-dump-adapter-pi-zero-2w/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/ppuc/microsd-card-adapter/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/tron/target-support-set-sam/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/zedmd/s3-shield-diy-kit/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/zedmd/shield-esp32-s3/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/zedmd/zedmd-128x32/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/mods/zedmd/zedmd-s3-128x32-plug-and-play/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/parcel-panel/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/privacy-policy/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/wishlist/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://janspinballmods.com/zedmd/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 32 occurrence(s)

  • https://janspinballmods.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/cart/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/checkout/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/compare/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/contact/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/installation/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ac-dc/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ghostbusters/library-ghost/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/pcbs/battery-upgrade-board/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ppuc/dmd/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ppuc/frame-dump-adapter-pi-zero-2w/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/ppuc/microsd-card-adapter/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/tron/target-support-set-sam/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/zedmd/s3-shield-diy-kit/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/zedmd/shield-esp32-s3/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/zedmd/zedmd-128x32/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/mods/zedmd/zedmd-s3-128x32-plug-and-play/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/parcel-panel/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/privacy-policy/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/wishlist/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://janspinballmods.com/zedmd/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice URL redirects to another URL

Rule redirect.single · Crawlability · 3 occurrence(s)

notice Blocked by robots.txt

Rule robots.blocked · Crawlability · 8 occurrence(s)

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 29 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 33 occurrence(s)

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 25 occurrence(s)

notice Underscores in URL path (prefer hyphens)

Rule url.underscores · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://janspinballmods.com/
Home
200 yes 30 33
https://janspinballmods.com/contact/
Contact
200 yes 39 33
https://janspinballmods.com/installation/
Installation
200 no 103 33
https://janspinballmods.com/mods
Mods
200 yes 71 33
https://janspinballmods.com/mods/zedmd
ZeDMD
200 yes 173 33
https://janspinballmods.com/mods/ghostbusters/
Ghostbusters
200 yes 152 13
https://janspinballmods.com/mods/ppuc/
PPUC
200 yes 141 12
https://janspinballmods.com/mods/tron/
TRON: Legacy
200 yes 95 10
https://janspinballmods.com/mods/pcbs/
Printed Circuit Boards
200 yes 177 10
https://janspinballmods.com/mods/ac-dc/
AC/DC
200 yes 93 9
https://janspinballmods.com/mods/zedmd/zedmd-s3-128x32-plug-and-play/
Vpin - ZeDMD S3 128x32 | Plug and play
200 yes 405 9
https://janspinballmods.com/mods/zedmd/s3-shield-diy-kit/
Vpin - ZeDMD S3 Shield DIY Kit
200 yes 424 8
https://janspinballmods.com/mods/zedmd/zedmd-128x32/
128x32 Acrylic panel
200 yes 283 7
https://janspinballmods.com/mods/zedmd/shield-esp32-s3/
Vpin - ZeDMD S3 Shield
200 yes 421 7
https://janspinballmods.com/mods/pcbs/battery-upgrade-board/
Battery upgrade board
200 yes 598 5
https://janspinballmods.com/mods/tron/target-support-set-sam/
Target Support Set | SAM
200 yes 190 3
https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/
Air Ball Deflector
200 yes 322 5
https://janspinballmods.com/mods/ghostbusters/library-ghost/
Library Ghost
200 yes 235 5
https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/
Target Support Set | Spike
200 yes 315 5
https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/
Walking Mr. Stay Puft
200 yes 685 5
https://janspinballmods.com/mods/ppuc/dmd/
PPUC/DMD - 128x32 Plug and Play
200 yes 821 4
https://janspinballmods.com/mods/ppuc/frame-dump-adapter-pi-zero-2w/
Frame Dump Adapter | Pi Zero 2W
200 yes 236 4
https://janspinballmods.com/mods/ppuc/microsd-card-adapter/
MicroSD Card Adapter
200 yes 215 4
https://janspinballmods.com/cart/
Cart
200 no 39 0
https://janspinballmods.com/checkout/
Cart
200 no 39 0
https://janspinballmods.com/compare/
Compare
200 yes 24 0
https://janspinballmods.com/mods/
Mods
200 yes 71 0
https://janspinballmods.com/mods/zedmd/
ZeDMD
200 yes 173 0
https://janspinballmods.com/parcel-panel/
Track Your Order
200 yes 25 0
https://janspinballmods.com/privacy-policy/
Privacy Policy
200 yes 2451 0
https://janspinballmods.com/wishlist/
Wishlist
200 yes 24 0
https://janspinballmods.com/zedmd/
ZeDMD
200 yes 115 0
https://janspinballmods.com/games/ghostbusters/walking-mr-stay-puft/
Page not found - JansPinballMods
404 no 43 1
https://janspinballmods.com/mods/ac-dc/?add-to-cart=3441 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/air-ball-deflector/?add-to-cart=2726 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2726 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/library-ghost/?add-to-cart=2731 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/target-support-set-spike/?add-to-cart=2731 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2726 0 no 0 1
https://janspinballmods.com/mods/ghostbusters/walking-mr-stay-puft/?add-to-cart=2731 0 no 0 1
https://janspinballmods.com/mods/ppuc/microsd-card-adapter/?add-to-cart=3942 0 no 0 1
https://janspinballmods.com/wp-content/uploads/2023/06/Walking-Mr.-Stay-Puft-Install-Manual-V2.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2023/07/Air-ball-guide.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2023/08/Target-support-installation.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2024/10/Mr_puft_install_v2.2.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2026/01/INSTALL-MANUAL-STERN-SAM-METAL.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2026/01/INSTALL-MANUAL-STERN-SAM-WOODEN.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2026/01/INSTALL-MANUAL-STERN-SPIKE.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2026/01/INSTALL-MANUAL-STERN-WHITESTAR.pdf 200 no 0 1
https://janspinballmods.com/wp-content/uploads/2026/01/INSTALL-MANUAL-WPC95.pdf 200 no 0 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →