Catalog / alexkampas.com
67

SEO audit for alexkampas.com

Alexander Kampas

other

Health 67/100 (fair) · 14 pages crawled · generated 2026-08-26

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

Personal website of Alexander Kampas

Screenshot of alexkampas.com
14
pages crawled
13
indexable pages
0
errors
45
warnings
121
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Duplicate 70 0 14 13
Canonical 72 0 13 0
Headings 79 0 10 0
Content 85 0 7 7
Performance 98 0 1 15
Agent Readiness 100 0 0 1
Images 100 0 0 10
Links 100 0 0 7
Meta Description 100 0 0 13
Robots 100 0 0 1
Security 100 0 0 13
Social 100 0 0 26
Structured Data 100 0 0 13
URL 100 0 0 2
Findings

Warnings (6 rules)

warning Thin content (low word count)

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

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://alexkampas.com/ — http://alexkampas.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

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

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

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

  • https://alexkampas.com/blog/pov.html — the likely hero/LCP image (68.webp) 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.

Notices (17 rules)

notice No llms.txt for AI agents

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

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

notice Low text-to-HTML ratio

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

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

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

  • https://alexkampas.com/ — this page reads as difficult (Flesch Reading Ease 49, 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://alexkampas.com/blog/currentbelongings.html — 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://alexkampas.com/blog/packing.html — this page reads as difficult (Flesch Reading Ease 49, 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://alexkampas.com/blog/thingsimade.html — 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://alexkampas.com/blog/whereivebeen.html — this page reads as very difficult (Flesch Reading Ease -193, 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://alexkampas.com/index.html — this page reads as difficult (Flesch Reading Ease 49, 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 · 13 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://alexkampas.com/ — the likely hero/LCP image (atthepiano.webp) 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://alexkampas.com/blog/days.html — the likely hero/LCP image (formula.webp) 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://alexkampas.com/blog/horn.html — the likely hero/LCP image (good_horn.webp) 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://alexkampas.com/blog/newpacking.html — the likely hero/LCP image (allthings.jpeg) 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://alexkampas.com/blog/packing.html — the likely hero/LCP image (airport.jpeg) 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://alexkampas.com/blog/seamer.html — the likely hero/LCP image (construction.gif.webp) 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://alexkampas.com/blog/thingsimade.html — the likely hero/LCP image (hornlamp.jpeg) 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://alexkampas.com/blog/whereivebeen.html — the likely hero/LCP image (locations.jpeg) 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://alexkampas.com/index.html — the likely hero/LCP image (atthepiano.webp) 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 · 10 occurrence(s)

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

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

notice Missing Open Graph tags

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

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

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

  • https://alexkampas.com/blog/newpacking.html — 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://alexkampas.com/blog/packing.html — 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://alexkampas.com/blog/seamer.html — 8 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://alexkampas.com/blog/thingsimade.html — 27 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://alexkampas.com/blog/whereivebeen.html — 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.

notice Slow server response

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

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

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

  • https://alexkampas.com/ — 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 · 13 occurrence(s)

notice Underscores in URL path (prefer hyphens)

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

notice Uppercase letters in URL path

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

Pages (showing 14 of 14)
URLStatusIndexableWordsIn-links
https://alexkampas.com/blog.html
Alexander Kampas
200 yes 108 13
https://alexkampas.com/index.html
Alexander Kampas
200 yes 143 13
https://alexkampas.com/blog/currentbelongings.html
Alexander Kampas
200 yes 162 3
https://alexkampas.com/blog/pov.html
Alexander Kampas
200 yes 52 3
https://alexkampas.com/map.html
Alexander Kampas
200 yes 17 3
https://alexkampas.com/blog/days.html
Alexander Kampas
200 yes 470 1
https://alexkampas.com/blog/horn.html
Alexander Kampas
200 yes 1163 1
https://alexkampas.com/blog/newpacking.html
Alexander Kampas
200 yes 261 1
https://alexkampas.com/blog/packing.html
Alexander Kampas
200 yes 1017 1
https://alexkampas.com/blog/seamer.html
Alexander Kampas
200 yes 115 1
https://alexkampas.com/blog/thingsimade.html
Alexander Kampas
200 yes 215 1
https://alexkampas.com/blog/whereivebeen.html
Alexander Kampas
200 yes 216 1
https://alexkampas.com/
Alexander Kampas
200 yes 143 0
https://alexkampas.com/resources/Alexander_Kampas.pdf 200 no 0 13

Audit your own site — free

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

Scan your site →