Catalog / smartvvb.no
46

SEO audit for smartvvb.no

Smart varmtvannsbereder for hytte og hjem

ecommerce

Health 46/100 (poor) · 29 pages crawled · generated 2026-08-26

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

Save money on smart water heating. SmartVVB is easy to use and fits most types of water heater regardless of brand or age.

Screenshot of smartvvb.no
29
pages crawled
23
indexable pages
37
errors
84
warnings
284
notices
5
orphan pages
30
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 0 30 6 2
Crawlability 79 6 0 1
Titles 97 1 0 15
Agent Readiness 76 0 23 13
Duplicate 82 0 17 4
Canonical 86 0 14 6
Images 90 0 10 23
Meta Description 93 0 7 9
Content 95 0 5 1
Headings 99 0 1 0
Performance 99 0 1 84
Robots 100 0 0 1
Security 100 0 0 52
Sitemap 100 0 0 11
Social 100 0 0 39
Structured Data 100 0 0 19
URL 100 0 0 4
Findings

Errors (3 rules)

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

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

error Client error (4xx) response

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

error Missing or empty <title>

Rule title.missing · Titles · 1 occurrence(s)

Warnings (12 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 23 occurrence(s)

warning Interior page canonicalizes to the homepage

Rule canonical.points_to_homepage · Canonical · 3 occurrence(s)

  • https://smartvvb.no/index — this interior page canonicalizes to the homepage (https://smartvvb.no/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://smartvvb.no/index.php — this interior page canonicalizes to the homepage (https://smartvvb.no/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://smartvvb.no/partners — this interior page canonicalizes to the homepage (https://smartvvb.no/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.

warning Thin content (low word count)

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

warning Duplicate page content

Rule duplicate.content · Duplicate · 6 occurrence(s)

warning Duplicate <title> across pages

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

warning Missing <h1>

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

warning Images missing alt text

Rule images.missing_alt · Images · 10 occurrence(s)

warning Orphan page (no internal inlinks)

Rule links.orphan · Links · 5 occurrence(s)

warning Internal link points to a redirect

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

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

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

Notices (24 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://smartvvb.no/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

notice Canonical points to a different URL

Rule canonical.non_self · Canonical · 6 occurrence(s)

notice Title tag and meta description are identical

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

notice Duplicate meta description across pages

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

notice Missing <!DOCTYPE html> (quirks-mode rendering risk)

Rule encoding.doctype_missing · Content · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://smartvvb.no/ — the likely hero/LCP image (smart_varmtvannsbereder.jpg) 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://smartvvb.no/about_us — the likely hero/LCP image (luc_wathelet.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://smartvvb.no/about_us.php — the likely hero/LCP image (luc_wathelet.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://smartvvb.no/articles/elbil-vs-vvb — the likely hero/LCP image (elbil.jpg) 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://smartvvb.no/articles/grid-prices — the likely hero/LCP image (nettleie-kabel.jpg) 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://smartvvb.no/articles/jul2025 — the likely hero/LCP image (smartvvb-jul2025.jpg) 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://smartvvb.no/articles/new-calculator-norgespris.php — the likely hero/LCP image (norgespris-calculator-ipad.jpg) 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://smartvvb.no/articles/norgespris — the likely hero/LCP image (norgespris.jpg) 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://smartvvb.no/index — the likely hero/LCP image (smart_varmtvannsbereder.jpg) 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://smartvvb.no/index.php — the likely hero/LCP image (smart_varmtvannsbereder.jpg) 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://smartvvb.no/news — the likely hero/LCP image (smartvvb-jul2025.jpg) 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://smartvvb.no/partners — the likely hero/LCP image (ge.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://smartvvb.no/smartvvb-4g — the likely hero/LCP image (smartvvb-4g.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://smartvvb.no/support — the likely hero/LCP image (support.jpg) 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://smartvvb.no/support.php — the likely hero/LCP image (support.jpg) 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 · 23 occurrence(s)

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 2 occurrence(s)

  • http://smartvvb.no/contact — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://smartvvb.no/articles/elbil-vs-vvb — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.

notice Meta description too short

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

notice Missing Open Graph tags

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

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

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

  • http://smartvvb.no/contact — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/ — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/about_us — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/about_us.php — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/articles/elbil-vs-vvb — 5 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/articles/grid-prices — 14 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/articles/jul2025 — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/articles/new-calculator-norgespris.php — 10 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/articles/norgespris — 9 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/calculator — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/contact — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/contact.php — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/contact_confirmation.php — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/index — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/index.php — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/installers — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/news — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/partners — 5 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/policy — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/policy.php — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/smartvvb-4g — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/support — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://smartvvb.no/support.php — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

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

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

  • http://smartvvb.no/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://smartvvb.no/ — 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://smartvvb.no/about_us — 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://smartvvb.no/about_us.php — 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://smartvvb.no/articles/elbil-vs-vvb — 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://smartvvb.no/articles/grid-prices — 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://smartvvb.no/articles/jul2025 — 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://smartvvb.no/articles/new-calculator-norgespris.php — 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://smartvvb.no/articles/norgespris — 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://smartvvb.no/calculator — 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://smartvvb.no/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://smartvvb.no/contact.php — 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://smartvvb.no/contact_confirmation.php — 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://smartvvb.no/index — 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://smartvvb.no/index.php — 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://smartvvb.no/installers — 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://smartvvb.no/news — 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://smartvvb.no/partners — 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://smartvvb.no/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://smartvvb.no/policy.php — 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://smartvvb.no/smartvvb-4g — 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://smartvvb.no/support — 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://smartvvb.no/support.php — 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 · 23 occurrence(s)

  • http://smartvvb.no/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://smartvvb.no/ — 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://smartvvb.no/about_us — 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://smartvvb.no/about_us.php — 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://smartvvb.no/articles/elbil-vs-vvb — 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://smartvvb.no/articles/grid-prices — 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://smartvvb.no/articles/jul2025 — 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://smartvvb.no/articles/new-calculator-norgespris.php — 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://smartvvb.no/articles/norgespris — 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://smartvvb.no/calculator — 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://smartvvb.no/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://smartvvb.no/contact.php — 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://smartvvb.no/contact_confirmation.php — 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://smartvvb.no/index — 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://smartvvb.no/index.php — 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://smartvvb.no/installers — 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://smartvvb.no/news — 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://smartvvb.no/partners — 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://smartvvb.no/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://smartvvb.no/policy.php — 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://smartvvb.no/smartvvb-4g — 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://smartvvb.no/support — 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://smartvvb.no/support.php — 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 · 1 occurrence(s)

notice robots.txt missing (root returns 404/none)

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

  • https://smartvvb.no/ — robots.txt did not return a 200 at the site root — a healthy site should serve one (declare your sitemap and confirm the host serves root files)

notice Missing recommended security headers

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

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 23 occurrence(s)

  • http://smartvvb.no/contact — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/ — 6 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/about_us — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/about_us.php — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/articles/elbil-vs-vvb — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/articles/grid-prices — 6 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/articles/jul2025 — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/articles/new-calculator-norgespris.php — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/articles/norgespris — 7 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/calculator — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/contact — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/contact.php — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/contact_confirmation.php — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/index — 6 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/index.php — 6 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/installers — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/news — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/partners — 8 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/policy — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/policy.php — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/smartvvb-4g — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/support — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://smartvvb.no/support.php — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 11 occurrence(s)

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

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

notice Title is very short

Rule title.too_short · Titles · 7 occurrence(s)

notice Underscores in URL path (prefer hyphens)

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

Pages (showing 29 of 29)
URLStatusIndexableWordsIn-links
https://smartvvb.no/
Smart varmtvannsbereder for hytte og hjem
200 yes 722 23
https://smartvvb.no/calculator
SmartVVB
200 yes 674 23
https://smartvvb.no/index
Smart varmtvannsbereder for hytte og hjem
200 yes 662 23
https://smartvvb.no/installers 200 yes 141 23
https://smartvvb.no/news
SmartVVB
200 yes 233 23
https://smartvvb.no/support
SmartVVB Gjør varmtvannsberederen din smart
200 yes 1005 23
https://smartvvb.no/about_us
Om oss
200 yes 446 18
https://smartvvb.no/contact
Kontakt oss
200 yes 137 18
https://smartvvb.no/policy
SmartVVB Gjør varmtvannsberederen din smart
200 yes 1188 18
https://smartvvb.no/partners
Smart varmtvannsbereder for hytte og hjem
200 yes 337 16
https://smartvvb.no/articles/jul2025
kalkulator for Norgespris
200 yes 417 4
https://smartvvb.no/articles/norgespris
SmartVVB kan nå bruke Norgespris
200 yes 652 4
https://smartvvb.no/articles/grid-prices
SmartVVB kan nå bruke nettleieprisene
200 yes 469 4
https://smartvvb.no/articles/new-calculator-norgespris.php
kalkulator for Norgespris
200 yes 439 2
https://smartvvb.no/smartvvb-4g
Ny SmartVVB med 4G-tilkobling
200 yes 259 2
https://smartvvb.no/support.php
SmartVVB Gjør varmtvannsberederen din smart
200 yes 1005 3
http://smartvvb.no/contact
Kontakt oss
200 yes 137 1
https://smartvvb.no/articles/elbil-vs-vvb
Varmtvannsbereder vs. elbil
200 yes 638 1
https://smartvvb.no/about_us.php
Om oss
200 yes 446 0
https://smartvvb.no/contact.php
Kontakt oss
200 yes 137 0
https://smartvvb.no/contact_confirmation.php
SmartVVB Kontakt oss
200 yes 81 0
https://smartvvb.no/index.php
Smart varmtvannsbereder for hytte og hjem
200 yes 662 0
https://smartvvb.no/policy.php
SmartVVB Gjør varmtvannsberederen din smart
200 yes 1188 0
https://smartvvb.no/articles/about_us
404 Not Found
404 no 11 5
https://smartvvb.no/articles/contact
404 Not Found
404 no 11 5
https://smartvvb.no/articles/news
404 Not Found
404 no 11 5
https://smartvvb.no/articles/partners
404 Not Found
404 no 11 5
https://smartvvb.no/articles/policy
404 Not Found
404 no 11 5
https://smartvvb.no/articles/support
404 Not Found
404 no 11 5

Audit your own site — free

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

Scan your site →