Catalog / richi.solutions
60

SEO audit for richi.solutions

Richi · Turn the world into your canvas.

otherNext.js

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

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

Richi is a personal venture studio. Small tools and products, built in the open. Use what you love. Build what you miss.

Screenshot of richi.solutions
50
pages crawled
46
indexable pages
4
errors
108
warnings
395
notices
0
orphan pages
3
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 92 3 4 0
Crawlability 98 1 0 5
Agent Readiness 72 0 46 43
Content 83 0 28 39
Duplicate 87 0 21 19
Budget 98 0 4 0
Hreflang 98 0 4 0
Indexability 99 0 1 0
Cache 100 0 0 19
Canonical 100 0 0 1
Images 100 0 0 46
Performance 100 0 0 123
Security 100 0 0 47
Sitemap 100 0 0 20
Structured Data 100 0 0 20
Titles 100 0 0 13
Findings

Errors (2 rules)

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

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

error Client error (4xx) response

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

Warnings (8 rules)

warning Control has no accessible name

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

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

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

  • https://richi.solutions/de/auth — internal links point to https://richi.solutions/de/auth, 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://richi.solutions/de, https://richi.solutions/de/about, https://richi.solutions/de/services/development.
  • https://richi.solutions/en/auth — internal links point to https://richi.solutions/en/auth, 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://richi.solutions/en, https://richi.solutions/en/about, https://richi.solutions/en/case-studies/moviemind.
  • https://richi.solutions/es/auth — internal links point to https://richi.solutions/es/auth, 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://richi.solutions/es, https://richi.solutions/es/about, https://richi.solutions/es/services/development.
  • https://www.richi.solutions/en/auth — internal links point to https://www.richi.solutions/en/auth, 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://www.richi.solutions/.

warning Duplicate <title> across pages

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

warning hreflang set has no self-reference

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

warning hreflang has no return link (not reciprocal)

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

warning Page is noindex

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

warning Internal link points to a redirect

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

Notices (20 rules)

notice Heading levels skip a level

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

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

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

notice Canonical points to a different URL

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

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

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

  • https://richi.solutions/en/about — this page reads as difficult (Flesch Reading Ease 47, 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://richi.solutions/en/case-studies — this page reads as difficult (Flesch Reading Ease 37, 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://richi.solutions/en/case-studies/moviemind — this page reads as difficult (Flesch Reading Ease 48, 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://richi.solutions/en/case-studies/padelleague — 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://richi.solutions/en/imprint — this page reads as difficult (Flesch Reading Ease 36, 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 Duplicate meta description across pages

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

notice Article page has no publication date (freshness / E-E-A-T)

Rule eeat.no_date · Content · 4 occurrence(s)

  • https://richi.solutions/de/case-studies/moviemind — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://richi.solutions/de/case-studies/padelleague — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://richi.solutions/en/case-studies/moviemind — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://richi.solutions/en/case-studies/padelleague — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness

notice Likely hero image lacks fetchpriority=high

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

  • https://richi.solutions/de/about — the likely hero/LCP image (richi-logo.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://richi.solutions/de/imprint — the likely hero/LCP image (richi-logo.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://richi.solutions/de/privacy — the likely hero/LCP image (richi-logo.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://richi.solutions/de/terms — the likely hero/LCP image (richi-logo.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://richi.solutions/en/about — the likely hero/LCP image (richi-logo.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://richi.solutions/en/imprint — the likely hero/LCP image (richi-logo.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://richi.solutions/en/privacy — the likely hero/LCP image (richi-logo.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://richi.solutions/en/terms — the likely hero/LCP image (richi-logo.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://richi.solutions/es/about — the likely hero/LCP image (richi-logo.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://richi.solutions/es/imprint — the likely hero/LCP image (richi-logo.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://richi.solutions/es/privacy — the likely hero/LCP image (richi-logo.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://richi.solutions/es/terms — the likely hero/LCP image (richi-logo.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 · 46 occurrence(s)

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

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

  • https://richi.solutions/de — 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://richi.solutions/de/about — 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://richi.solutions/de/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://richi.solutions/de/faq — 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://richi.solutions/de/imprint — 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://richi.solutions/de/privacy — 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://richi.solutions/de/services/development — 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://richi.solutions/de/terms — 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://richi.solutions/en — 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://richi.solutions/en/about — 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://richi.solutions/en/case-studies/moviemind — 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://richi.solutions/en/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://richi.solutions/en/faq — 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://richi.solutions/en/imprint — 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://richi.solutions/en/privacy — 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://richi.solutions/en/terms — 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://richi.solutions/es — 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://richi.solutions/es/about — 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://richi.solutions/es/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://richi.solutions/es/faq — 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://richi.solutions/es/imprint — 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://richi.solutions/es/privacy — 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://richi.solutions/es/services/development — 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://richi.solutions/es/terms — 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://www.richi.solutions/ — 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.

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

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

  • https://richi.solutions/de/case-studies/moviemind — 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://richi.solutions/de/case-studies/padelleague — 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://richi.solutions/de/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://richi.solutions/de/services/agents — 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://richi.solutions/de/services/automations — 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://richi.solutions/de/services/development — 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://richi.solutions/de/services/skills — 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://richi.solutions/en/case-studies/moviemind — 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://richi.solutions/en/case-studies/padelleague — 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://richi.solutions/en/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://richi.solutions/en/services/agents — 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://richi.solutions/en/services/automations — 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://richi.solutions/en/services/development — 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://richi.solutions/en/services/skills — 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://richi.solutions/es/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://richi.solutions/es/services/agents — 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://richi.solutions/es/services/automations — 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://richi.solutions/es/services/development — 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://richi.solutions/es/services/skills — 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 · 46 occurrence(s)

  • https://richi.solutions/de — 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://richi.solutions/de/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://richi.solutions/de/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://richi.solutions/de/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://richi.solutions/de/imprint — 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://richi.solutions/de/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://richi.solutions/de/services/development — 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://richi.solutions/de/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.
  • https://richi.solutions/en — 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://richi.solutions/en/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://richi.solutions/en/case-studies/moviemind — 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://richi.solutions/en/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://richi.solutions/en/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://richi.solutions/en/imprint — 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://richi.solutions/en/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://richi.solutions/en/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.
  • https://richi.solutions/es — 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://richi.solutions/es/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://richi.solutions/es/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://richi.solutions/es/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://richi.solutions/es/imprint — 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://richi.solutions/es/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://richi.solutions/es/services/development — 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://richi.solutions/es/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.
  • https://www.richi.solutions/ — 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 · 2 occurrence(s)

notice Blocked by robots.txt

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

notice Article schema missing recommended properties (Top Stories / image carousel)

Rule schema.article_incomplete · Structured Data · 4 occurrence(s)

  • https://richi.solutions/de/case-studies/moviemind — Article structured data is missing recommended property (datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://richi.solutions/de/case-studies/padelleague — Article structured data is missing recommended property (datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://richi.solutions/en/case-studies/moviemind — Article structured data is missing recommended property (datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://richi.solutions/en/case-studies/padelleague — Article structured data is missing recommended property (datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.

notice Deep page has no BreadcrumbList structured data

Rule schema.breadcrumb_missing · Structured Data · 16 occurrence(s)

notice Missing recommended security headers

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

notice Indexable page not listed in sitemap

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

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

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

notice Title is very short

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.richi.solutions/
Richi · Turn the world into your canvas.
200 yes 801 4
https://richi.solutions/de
Richi · Turn the world into your canvas.
200 yes 757 16
https://richi.solutions/de/about
Über Richi
200 yes 320 16
https://richi.solutions/de/blog
Blog — Richi
200 yes 58 16
https://richi.solutions/de/case-studies
Case Studies · Richi
200 yes 96 16
https://richi.solutions/de/contact
Kontakt · Richi
200 yes 89 16
https://richi.solutions/de/faq
FAQ · Richi
200 yes 132 16
https://richi.solutions/de/imprint
Impressum · Richi
200 yes 304 16
https://richi.solutions/de/privacy
Datenschutz · Richi
200 yes 817 16
https://richi.solutions/de/services
Services — Richi
200 yes 72 16
https://richi.solutions/de/services/agents
KI-Agenten — Services — Richi
200 yes 50 16
https://richi.solutions/de/services/automations
Automatisierungen — Services — Richi
200 yes 50 16
https://richi.solutions/de/services/development
Beratung & Entwicklung — Services — Richi
200 yes 52 16
https://richi.solutions/de/services/skills
Skills — Services — Richi
200 yes 50 16
https://richi.solutions/de/terms
AGB · Richi
200 yes 544 16
https://richi.solutions/en
Richi · Turn the world into your canvas.
200 yes 801 16
https://richi.solutions/en/about
About Richi
200 yes 358 16
https://richi.solutions/en/blog
Blog — Richi
200 yes 64 16
https://richi.solutions/en/case-studies
Case Studies · Richi
200 yes 105 16
https://richi.solutions/en/contact
Contact · Richi
200 yes 96 16
https://richi.solutions/en/faq
FAQ · Richi
200 yes 156 16
https://richi.solutions/en/imprint
Imprint · Richi
200 yes 338 16
https://richi.solutions/en/privacy
Privacy · Richi
200 yes 933 16
https://richi.solutions/en/services
Services — Richi
200 yes 80 16
https://richi.solutions/en/services/agents
AI Agents — Services — Richi
200 yes 57 16
https://richi.solutions/en/services/automations
Automations — Services — Richi
200 yes 56 16
https://richi.solutions/en/services/development
Consulting & Development — Services — Richi
200 yes 58 16
https://richi.solutions/en/services/skills
Skills — Services — Richi
200 yes 56 16
https://richi.solutions/en/terms
Terms · Richi
200 yes 604 16
https://richi.solutions/es
Richi · Turn the world into your canvas.
200 yes 849 13
https://richi.solutions/es/about
Sobre Richi
200 yes 369 13
https://richi.solutions/es/case-studies
Case Studies · Richi
200 yes 115 13
https://richi.solutions/es/contact
Contacto · Richi
200 yes 106 13
https://richi.solutions/es/faq
FAQ · Richi
200 yes 148 13
https://richi.solutions/es/imprint
Aviso legal · Richi
200 yes 390 13
https://richi.solutions/es/privacy
Privacidad · Richi
200 yes 1121 13
https://richi.solutions/es/services
Services — Richi
200 yes 89 13
https://richi.solutions/es/services/agents
Agentes de IA — Services — Richi
200 yes 75 13
https://richi.solutions/es/services/automations
Automatizaciones — Services — Richi
200 yes 66 13
https://richi.solutions/es/services/development
Consultoría y desarrollo — Services — Richi
200 yes 68 13
https://richi.solutions/es/services/skills
Skills — Services — Richi
200 yes 66 13
https://richi.solutions/es/terms
Términos · Richi
200 yes 717 13
https://richi.solutions/de/case-studies/moviemind
MovieMind — Case Study — Richi
200 yes 180 2
https://richi.solutions/de/case-studies/padelleague
PadelLeague — Case Study — Richi
200 yes 293 2
https://richi.solutions/en/case-studies/moviemind
MovieMind — Case Study — Richi
200 yes 193 2
https://richi.solutions/en/case-studies/padelleague
PadelLeague — Case Study — Richi
200 yes 306 2
https://richi.solutions/de/auth 0 no 0 16
https://richi.solutions/en/auth 0 no 0 16
https://richi.solutions/es/auth 0 no 0 13
https://www.richi.solutions/datenschutz
Richi · Turn the world into your canvas.
404 no 8 3

Audit your own site — free

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

Scan your site →