Catalog / samuelmiklos.com
65

SEO audit for samuelmiklos.com

Samuel Miklos | Mechatronics, UAV Systems & Robotics

portfolio

Health 65/100 (fair) · 7 pages crawled · generated 2026-08-26

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

Portfolio of Samuel Miklos, a mechatronics engineering student building autonomous drones, robotic systems, and rapid prototypes from CAD to field testing.

7
pages crawled
7
indexable pages
0
errors
40
warnings
42
notices
6
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Content 70 0 7 7
Headings 70 0 7 0
Rendering 70 0 7 0
Security 70 0 7 7
Canonical 74 0 6 7
Links 74 0 6 0
Cache 100 0 0 7
Performance 100 0 0 14
Findings

Warnings (6 rules)

warning Interior page canonicalizes to the homepage

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

warning Content-Type header doesn't match the actual content

Rule headers.content_type_mismatch · Security · 7 occurrence(s)

  • https://samuelmiklos.com/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/3d-printed-planetary-gearbox — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/ai-voice-control-avionics — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/autonomous-fpv-glider — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/custom-uav-airplane — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/scara-robotic-arm — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://samuelmiklos.com/projects/trainshot-defense-robotics — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".

warning Orphan page (no internal inlinks)

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

warning Content only rendered by JavaScript (invisible to non-JS crawlers & AI)

Rule rendering.js_shell · Rendering · 7 occurrence(s)

  • https://samuelmiklos.com/ — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/3d-printed-planetary-gearbox — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/ai-voice-control-avionics — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/autonomous-fpv-glider — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/custom-uav-airplane — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/scara-robotic-arm — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://samuelmiklos.com/projects/trainshot-defense-robotics — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.

Notices (7 rules)

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

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

notice Canonical target reachable only via a canonical tag (no inlinks)

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

  • https://samuelmiklos.com/ — this URL is a canonical target but has no internal links pointing to it — crawlers only learn of it via the canonical tag. Add direct internal links (or list it in the sitemap).

notice Canonical points to a different URL

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

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

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

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

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

  • https://samuelmiklos.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://samuelmiklos.com/projects/3d-printed-planetary-gearbox — 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://samuelmiklos.com/projects/ai-voice-control-avionics — 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://samuelmiklos.com/projects/autonomous-fpv-glider — 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://samuelmiklos.com/projects/custom-uav-airplane — 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://samuelmiklos.com/projects/scara-robotic-arm — 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://samuelmiklos.com/projects/trainshot-defense-robotics — 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 · 7 occurrence(s)

  • https://samuelmiklos.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://samuelmiklos.com/projects/3d-printed-planetary-gearbox — 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://samuelmiklos.com/projects/ai-voice-control-avionics — 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://samuelmiklos.com/projects/autonomous-fpv-glider — 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://samuelmiklos.com/projects/custom-uav-airplane — 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://samuelmiklos.com/projects/scara-robotic-arm — 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://samuelmiklos.com/projects/trainshot-defense-robotics — 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.
Pages (showing 7 of 7)
URLStatusIndexableWordsIn-links
https://samuelmiklos.com/
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/3d-printed-planetary-gearbox
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/ai-voice-control-avionics
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/autonomous-fpv-glider
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/custom-uav-airplane
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/scara-robotic-arm
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0
https://samuelmiklos.com/projects/trainshot-defense-robotics
Samuel Miklos | Mechatronics, UAV Systems & Robotics
200 yes 0 0

Audit your own site — free

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

Scan your site →