Catalog / builtineu.eu
64

SEO audit for builtineu.eu

BuiltInEu - Discover European Tech & Products

saasNext.js

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

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

350+ European alternatives to US software, cloud, and SaaS. Each one headquartered in Europe and vetted for how it handles your data.

Screenshot of builtineu.eu
50
pages crawled
45
indexable pages
2
errors
87
warnings
307
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 97 1 1 1
Links 98 1 0 0
Performance 72 0 47 73
Hreflang 87 0 22 0
Indexability 98 0 4 0
Canonical 98 0 3 3
Budget 99 0 2 0
Content 99 0 2 119
Duplicate 99 0 2 0
Titles 99 0 2 0
Agent Readiness 99 0 1 13
Headings 99 0 1 0
Cache 100 0 0 13
Images 100 0 0 27
Meta Description 100 0 0 11
Sitemap 100 0 0 1
Social 100 0 0 22
Structured Data 100 0 0 24
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 Control has no accessible name

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

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

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

  • https://builtineu.eu/embed — this noindex page has 47 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://builtineu.eu/, https://builtineu.eu/research/european-ai-index-2026, https://builtineu.eu/research/european-ai-index-2026/press.
  • https://builtineu.eu/nl/categories/email-services/best — this noindex page has 2 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://builtineu.eu/nl/categories/email-services, https://builtineu.eu/nl/categories/email-services?sort=rating.

warning Interior page canonicalizes to the homepage

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

  • https://builtineu.eu/press — this interior page canonicalizes to the homepage (https://builtineu.eu/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://builtineu.eu/quiz — this interior page canonicalizes to the homepage (https://builtineu.eu/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://builtineu.eu/search — this interior page canonicalizes to the homepage (https://builtineu.eu/) — 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 · 2 occurrence(s)

warning Duplicate <title> across pages

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

warning Missing <h1>

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

warning Self hreflang language disagrees with html lang

Rule hreflang.mismatch_html_lang · Hreflang · 3 occurrence(s)

  • https://builtineu.eu/nl/ — the self-referencing hreflang is "nl" but <html lang> is "en" — contradictory language signals can make Google distrust the hreflang cluster. Align both to the same BCP-47 language.
  • https://builtineu.eu/nl/categories — the self-referencing hreflang is "nl" but <html lang> is "en" — contradictory language signals can make Google distrust the hreflang cluster. Align both to the same BCP-47 language.
  • https://builtineu.eu/nl/categories/email-services — the self-referencing hreflang is "nl" but <html lang> is "en" — contradictory language signals can make Google distrust the hreflang cluster. Align both to the same BCP-47 language.

warning hreflang set has no self-reference

Rule hreflang.missing_self · Hreflang · 7 occurrence(s)

warning hreflang has no return link (not reciprocal)

Rule hreflang.no_return · Hreflang · 12 occurrence(s)

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 47 occurrence(s)

  • https://builtineu.eu/ — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/about — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/alternatives — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/categories — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/categories/website-builders — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/contact — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/deals — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/faq — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/free — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/free/email-services — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/map — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/nl/ — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/nl/categories — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/open-source — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/open-source/email-services — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/privacy — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/privacy-focused — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/privacy-focused/email-services — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/products — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/research/european-ai-index-2026 — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/research/european-ai-index-2026/press — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/resources — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/self-hosted — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/self-hosted/office-suites — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://builtineu.eu/terms — the likely hero/LCP image (logo.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

warning Page is noindex

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

warning Non-200 final status

Rule status.non_200 · Crawlability · 1 occurrence(s)

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 2 occurrence(s)

Notices (19 rules)

notice Heading levels skip a level

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

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

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

notice Canonical points to a different URL

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

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

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

  • https://builtineu.eu/ — this page reads as difficult (Flesch Reading Ease 35, 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://builtineu.eu/alternatives — this page reads as very difficult (Flesch Reading Ease 10, 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://builtineu.eu/alternatives/from/germany — this page reads as very difficult (Flesch Reading Ease 18, 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://builtineu.eu/alternatives/from/germany/email-services — this page reads as very difficult (Flesch Reading Ease 25, 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://builtineu.eu/alternatives/whatsapp — this page reads as difficult (Flesch Reading Ease 33, 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://builtineu.eu/categories — this page reads as difficult (Flesch Reading Ease 31, 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://builtineu.eu/categories/website-builders — this page reads as very difficult (Flesch Reading Ease 24, 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://builtineu.eu/categories/website-builders/best — this page reads as difficult (Flesch Reading Ease 33, 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://builtineu.eu/contact — this page reads as difficult (Flesch Reading Ease 40, 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://builtineu.eu/deals — this page reads as very difficult (Flesch Reading Ease 23, 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://builtineu.eu/faq — this page reads as difficult (Flesch Reading Ease 43, 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://builtineu.eu/free — this page reads as difficult (Flesch Reading Ease 35, 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://builtineu.eu/free/email-services — this page reads as difficult (Flesch Reading Ease 34, 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://builtineu.eu/map — this page reads as very difficult (Flesch Reading Ease 14, 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://builtineu.eu/nl/ — this page reads as very difficult (Flesch Reading Ease 28, 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://builtineu.eu/nl/categories — this page reads as very difficult (Flesch Reading Ease -8, 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://builtineu.eu/nl/categories/email-services — this page reads as very difficult (Flesch Reading Ease 26, 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://builtineu.eu/open-source — this page reads as difficult (Flesch Reading Ease 32, 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://builtineu.eu/open-source/email-services — this page reads as difficult (Flesch Reading Ease 32, 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://builtineu.eu/products — this page reads as very difficult (Flesch Reading Ease 27, 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://builtineu.eu/products/mailo — this page reads as very difficult (Flesch Reading Ease 20, 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://builtineu.eu/research/european-ai-index-2026/press — this page reads as difficult (Flesch Reading Ease 46, 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://builtineu.eu/resources — 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://builtineu.eu/self-hosted — this page reads as difficult (Flesch Reading Ease 30, 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://builtineu.eu/self-hosted/office-suites — this page reads as difficult (Flesch Reading Ease 32, 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 Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 3 occurrence(s)

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

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

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 47 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 3 occurrence(s)

  • https://builtineu.eu/alternatives — the page has 5777 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://builtineu.eu/alternatives/from/germany — the page has 3007 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://builtineu.eu/deals — the page has 2123 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

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

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

  • https://builtineu.eu/ — 1 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://builtineu.eu/blog/european-digital-sovereignty-stack-2026 — 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://builtineu.eu/categories/website-builders — 1 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://builtineu.eu/categories/website-builders?recommended=true — 1 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://builtineu.eu/categories/website-builders?sort=rating — 1 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://builtineu.eu/deals — 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://builtineu.eu/nl/ — 1 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://builtineu.eu/nl/categories/email-services — 1 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://builtineu.eu/nl/categories/email-services?sort=rating — 1 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://builtineu.eu/products — 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.

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

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

  • https://builtineu.eu/blog — 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://builtineu.eu/blog/european-digital-sovereignty-stack-2026 — 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://builtineu.eu/blog?category=Data%20%26%20Research — 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://builtineu.eu/categories/website-builders — 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://builtineu.eu/categories/website-builders?recommended=true — 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://builtineu.eu/categories/website-builders?sort=rating — 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://builtineu.eu/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://builtineu.eu/nl/categories/email-services — 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://builtineu.eu/nl/categories/email-services/best — 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://builtineu.eu/nl/categories/email-services?sort=rating — 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://builtineu.eu/products — 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://builtineu.eu/products?page=2 — 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://builtineu.eu/search — 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 · 47 occurrence(s)

  • https://builtineu.eu/ — 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://builtineu.eu/about — 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://builtineu.eu/alternatives — 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://builtineu.eu/categories — 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://builtineu.eu/categories/website-builders — 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://builtineu.eu/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://builtineu.eu/deals — 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://builtineu.eu/faq — 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://builtineu.eu/free — 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://builtineu.eu/free/email-services — 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://builtineu.eu/map — 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://builtineu.eu/nl/ — 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://builtineu.eu/nl/categories — 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://builtineu.eu/open-source — 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://builtineu.eu/open-source/email-services — 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://builtineu.eu/privacy — 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://builtineu.eu/privacy-focused — 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://builtineu.eu/privacy-focused/email-services — 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://builtineu.eu/products — 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://builtineu.eu/research/european-ai-index-2026 — 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://builtineu.eu/research/european-ai-index-2026/press — 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://builtineu.eu/resources — 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://builtineu.eu/self-hosted — 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://builtineu.eu/self-hosted/office-suites — 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://builtineu.eu/terms — 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 Deprecated schema type with no Google rich result

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

  • https://builtineu.eu/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://builtineu.eu/guides/outlook-to-proton-mail — deprecated rich-result type(s) present: HowTo. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://builtineu.eu/nl/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 13 occurrence(s)

  • https://builtineu.eu/alternatives/from/germany/email-services — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/alternatives/whatsapp — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/blog/european-digital-sovereignty-stack-2026 — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/categories/website-builders/best — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/faq — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/free/email-services — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/guides/outlook-to-proton-mail — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/nl/categories/email-services — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/nl/categories/email-services?sort=rating — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/open-source/email-services — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/privacy-focused/email-services — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/products/mailo — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://builtineu.eu/self-hosted/office-suites — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.

notice Indexable page not listed in sitemap

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://builtineu.eu/
BuiltInEu - Discover European Tech & Products
200 yes 1231 47
https://builtineu.eu/about
About BuiltInEu: A Directory for European Technology | BuiltInEu
200 yes 1202 47
https://builtineu.eu/alternatives
Alternatives to Popular US Products | BuiltInEu
200 yes 6358 47
https://builtineu.eu/alternatives/from/germany
German Alternatives to US Products | BuiltInEu
200 yes 7644 47
https://builtineu.eu/alternatives/whatsapp
WhatsApp Alternatives - European Options | Built In EU | BuiltInEu
200 yes 891 47
https://builtineu.eu/blog
Blog | Built in EU | BuiltInEu
200 yes 1242 47
https://builtineu.eu/contact
Contact Us | BuiltInEu
200 yes 241 47
https://builtineu.eu/deals
Our Partners | BuiltInEu
200 yes 5062 47
https://builtineu.eu/embed
Embed Badge - Show You're Made in Europe | BuiltInEU | BuiltInEu
200 no 238 47
https://builtineu.eu/faq
FAQ - Common Questions About Switching to European Alternatives | BuiltInEu
200 yes 1567 47
https://builtineu.eu/free
Free EU Software — Browse by Category | BuiltInEu
200 yes 436 47
https://builtineu.eu/news
EU Tech News | BuiltInEu
200 yes 638 47
https://builtineu.eu/open-source
Open Source EU Software — Browse by Category | BuiltInEu
200 yes 312 47
https://builtineu.eu/press
Press & Media | BuiltInEu
200 yes 412 47
https://builtineu.eu/privacy
Privacy Policy - BuiltInEu | BuiltInEu
200 yes 1073 47
https://builtineu.eu/privacy-focused/email-services
Privacy-Focused Email Services (EU) | BuiltInEu
200 yes 1368 47
https://builtineu.eu/resources
Resources | Built in EU | BuiltInEu
200 yes 496 47
https://builtineu.eu/self-hosted
Self-Hosted EU Software — Browse by Category | BuiltInEu
200 yes 532 47
https://builtineu.eu/submit
Submit a Product | BuiltInEu
200 yes 479 47
https://builtineu.eu/terms
Terms of Service - BuiltInEu | BuiltInEu
200 yes 912 47
https://builtineu.eu/categories
Browse EU Alternatives by Category | BuiltInEu
200 yes 1412 16
https://builtineu.eu/map
Interactive Map of EU Software Alternatives | BuiltInEU | BuiltInEu
200 yes 518 4
https://builtineu.eu/search
Search | BuiltInEu
200 yes 132 5
https://builtineu.eu/categories/website-builders
Best EU Website Builders | BuiltInEu
200 yes 287 8
https://builtineu.eu/free/email-services
Free EU Email Services | BuiltInEu
200 yes 1525 5
https://builtineu.eu/blog?category=Data%20%26%20Research
Blog | Built in EU | BuiltInEu
200 yes 316 3
https://builtineu.eu/research/european-ai-index-2026
The European AI Index 2026 | Built in EU Research | BuiltInEu
200 yes 575 3
https://builtineu.eu/quiz
Sovereign Score Quiz - How American is Your Digital Life? | BuiltInEu
200 yes 193 2
https://builtineu.eu/open-source/email-services
Open Source Email Services (EU) | BuiltInEu
200 yes 666 4
https://builtineu.eu/research/european-ai-index-2026/press
Press Kit: The European AI Index 2026 | Built in EU Research | BuiltInEu
200 yes 1005 2
https://builtineu.eu/privacy-focused
Privacy-Focused EU Software — Browse by Category | BuiltInEu
200 yes 573 2
https://builtineu.eu/self-hosted/office-suites
Self-Hosted Office Suites (EU) | BuiltInEu
200 yes 1161 1
https://builtineu.eu/blog/european-digital-sovereignty-stack-2026
The European Digital Sovereignty Stack (2026) | BuiltInEu
200 yes 5232 1
https://builtineu.eu/alternatives/from/germany/email-services
German Email Services from Germany | BuiltInEu
200 yes 1744 1
https://builtineu.eu/products
EU Products - Browse European Tech & Services | BuiltInEu
200 yes 2029 3
https://builtineu.eu/categories/website-builders/best
Best EU Website Builders | BuiltInEu
200 yes 424 3
https://builtineu.eu/products/mailo
Mailo | European Alternatives | BuiltInEu
200 yes 439 3
https://builtineu.eu/nl/categories/email-services
EU E-mailalternatieven voor Gmail, Outlook | AVG-conform | BuiltInEu
200 yes 1748 4
https://builtineu.eu/categories/website-builders?recommended=true
Best EU Website Builders | BuiltInEu
200 yes 241 2
https://builtineu.eu/categories/website-builders?sort=rating
Best EU Website Builders | BuiltInEu
200 yes 292 2
https://builtineu.eu/nl/categories
Categorieën - Blader door EU-alternatieven per categorie | BuiltInEu | BuiltInEu
200 yes 1266 3
https://builtineu.eu/products?page=2
EU Products - Browse European Tech & Services | BuiltInEu
200 yes 1962 2
https://builtineu.eu/nl/categories/email-services/best
Best EU Email Services | BuiltInEu
200 no 1285 2
https://builtineu.eu/nl/categories/email-services?sort=rating
EU E-mailalternatieven voor Gmail, Outlook | AVG-conform | BuiltInEu
200 yes 2034 2
https://builtineu.eu/guides/outlook-to-proton-mail
Outlook to Proton Mail Migration Guide (2026) | BuiltInEu
200 yes 2867 0
https://builtineu.eu/news/noxtua-europe-license-legal-ai
Noxtua launches Europe License for cross border Legal… | BuiltInEu
200 yes 809 0
https://builtineu.eu/nl/
BuiltInEu - Ontdek Europese Tech & Producten | BuiltInEu
200 yes 1146 0
https://builtineu.eu/best
BuiltInEu - Discover European Tech & Products | BuiltInEu
404 no 0 1
https://builtineu.eu/data/european-ai-companies-2026.csv 200 no 0 2
https://builtineu.eu/guides
BuiltInEu - Discover European Tech & Products
308 no 0 2

Audit your own site — free

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

Scan your site →