Catalog / marksymczak.com
65

SEO audit for marksymczak.com

Mark Symczak

other

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

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

Paintings by Mark Symczak

30
pages crawled
29
indexable pages
0
errors
123
warnings
273
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Canonical 71 0 29 0
Agent Readiness 73 0 27 1
Headings 77 0 23 2
Duplicate 78 0 22 29
Content 83 0 17 60
Links 98 0 2 28
Rendering 98 0 2 0
Crawlability 99 0 1 1
Cache 100 0 0 29
Meta Description 100 0 0 29
Performance 100 0 0 35
Security 100 0 0 29
Structured Data 100 0 0 29
Titles 100 0 0 1
Findings

Warnings (9 rules)

warning Control has no accessible name

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

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Incomplete/empty response after retries (likely transient — re-crawl)

Rule fetch.incomplete · Crawlability · 1 occurrence(s)

warning Internal link points to a redirect

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

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

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

  • https://marksymczak.com/about-the-artist/view/716025/0/ — 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://marksymczak.com/shop/view/715333/2/5494489 — 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 (17 rules)

notice No llms.txt for AI agents

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

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

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

notice Low text-to-HTML ratio

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

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

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

  • https://marksymczak.com/contact — 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://marksymczak.com/exhibits — this page reads as very 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.
  • https://marksymczak.com/gallery/bird-series — this page reads as very difficult (Flesch Reading Ease -75, 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://marksymczak.com/shop — 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 · 29 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 2 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 27 occurrence(s)

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

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

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

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

notice Meta description too short

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

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

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

  • https://marksymczak.com/gallery/1980--1989 — the page has 1918 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 No ETag header (no conditional GET for unchanged pages)

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

  • https://marksymczak.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://marksymczak.com/about-the-artist — 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://marksymczak.com/about-the-artist/view/716025/0/ — 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://marksymczak.com/about-the-artist/view/716025/1/716028 — 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://marksymczak.com/contact — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://marksymczak.com/exhibits — 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://marksymczak.com/gallery — 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://marksymczak.com/gallery/1970--1979 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3569767 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3569775 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3569783 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3569791 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3623389 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3643101 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/3643109 — 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://marksymczak.com/gallery/1970--1979/view/601662/2/601734 — 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://marksymczak.com/gallery/1980--1989 — 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://marksymczak.com/gallery/1990--1999 — 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://marksymczak.com/gallery/2000--2009 — 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://marksymczak.com/gallery/2010--2014 — 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://marksymczak.com/gallery/bird-series — 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://marksymczak.com/gallery/drawings — 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://marksymczak.com/press — 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://marksymczak.com/shop — 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://marksymczak.com/shop/view/715333/2/5494489 — 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 URL redirects to another URL

Rule redirect.single · Crawlability · 1 occurrence(s)

notice Missing recommended security headers

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

notice Title is very short

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

Pages (showing 30 of 30)
URLStatusIndexableWordsIn-links
https://marksymczak.com/
Mark Symczak
200 yes 29 27
https://marksymczak.com/about-the-artist
Mark Symczak : ABOUT THE ARTIST
200 yes 754 27
https://marksymczak.com/contact
Mark Symczak : CONTACT
200 yes 145 27
https://marksymczak.com/exhibits
Mark Symczak : EXHIBITS
200 yes 338 27
https://marksymczak.com/gallery
Mark Symczak : GALLERY
200 yes 29 27
https://marksymczak.com/gallery/1970--1979
Mark Symczak : GALLERY : 1970- 1979
200 yes 362 27
https://marksymczak.com/gallery/1980--1989
Mark Symczak : GALLERY : 1980- 1989
200 yes 1322 27
https://marksymczak.com/gallery/1990--1999
Mark Symczak : GALLERY : 1990- 1999
200 yes 494 27
https://marksymczak.com/gallery/2000--2009
Mark Symczak : GALLERY : 2000- 2009
200 yes 311 27
https://marksymczak.com/gallery/2010--2014
Mark Symczak : GALLERY : 2010- 2014
200 yes 306 27
https://marksymczak.com/gallery/bird-series
Mark Symczak : GALLERY : Bird Series
200 yes 484 27
https://marksymczak.com/gallery/drawings
Mark Symczak : GALLERY : Drawings
200 yes 204 27
https://marksymczak.com/press
Mark Symczak : PRESS
200 yes 51 27
https://marksymczak.com/shop
Mark Symczak : SHOP
200 yes 459 27
https://marksymczak.com/gallery/1970--1979/view/601662/2/3569791
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 13
https://marksymczak.com/gallery/1970--1979/view/601662/2/3643109
Mark Symczak : GALLERY : 1970- 1979
200 yes 362 13
https://marksymczak.com/about-the-artist/view/716025/0/
Mark Symczak : ABOUT THE ARTIST
200 yes 0 2
https://marksymczak.com/about-the-artist/view/716025/1/716028
Mark Symczak : ABOUT THE ARTIST
200 yes 754 2
https://marksymczak.com/shop/view/715333/2/5494489
Mark Symczak : SHOP
200 yes 0 1
https://marksymczak.com/gallery/1970--1979/view/601662/2/3569767
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/3569775
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/3569783
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/3623389
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/3643101
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/5449376
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/601710
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/601734
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/711401
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/711505
Mark Symczak : GALLERY : 1970- 1979
200 yes 36 2
https://marksymczak.com/gallery/1970--1979/view/601662/2/711393 0 no 0 2

Audit your own site — free

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

Scan your site →