Catalog / hansbastiaan.nl
65

SEO audit for hansbastiaan.nl

Hans Bastiaan - Hans Bastiaan Coding

otherWordPress

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

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

Hans Bastiaan Zeiler Docent/coach

Screenshot of hansbastiaan.nl
23
pages crawled
23
indexable pages
0
errors
108
warnings
139
notices
22
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Structured Data 69 0 24 23
Content 70 0 23 23
Links 71 0 22 0
Meta Description 75 0 19 4
Duplicate 77 0 18 0
Performance 97 0 2 47
Security 100 0 0 23
Social 100 0 0 19
Findings

Warnings (7 rules)

warning Duplicate <title> across pages

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

warning Orphan page (no internal inlinks)

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

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 2 occurrence(s)

warning BreadcrumbList present but structurally incomplete

Rule schema.breadcrumb_incomplete · Structured Data · 1 occurrence(s)

  • https://www.hansbastiaan.nl/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

warning Rich-result schema missing required properties

Rule schema.invalid · Structured Data · 23 occurrence(s)

Notices (8 rules)

notice Meta description too short

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

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

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

  • https://www.hansbastiaan.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.

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

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

  • https://www.hansbastiaan.nl/ — 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://www.hansbastiaan.nl/category/elburg/ — 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://www.hansbastiaan.nl/category/ermelo/ — 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://www.hansbastiaan.nl/category/harderwijk/ — 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://www.hansbastiaan.nl/category/hierden/ — 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://www.hansbastiaan.nl/category/hulshorst/ — 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://www.hansbastiaan.nl/category/nunspeet/ — 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://www.hansbastiaan.nl/category/oldebroek/ — 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://www.hansbastiaan.nl/category/t-harde/ — 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://www.hansbastiaan.nl/category/wezep/ — 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://www.hansbastiaan.nl/kunstwerken-envara/ — 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://www.hansbastiaan.nl/kunstwerken/ — 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://www.hansbastiaan.nl/personal-info/ — 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://www.hansbastiaan.nl/tag/elburg/ — 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://www.hansbastiaan.nl/tag/ermelo/ — 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://www.hansbastiaan.nl/tag/harderwijk/ — 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://www.hansbastiaan.nl/tag/hierden/ — 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://www.hansbastiaan.nl/tag/hulshorst/ — 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://www.hansbastiaan.nl/tag/kunstroute-2023/ — 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://www.hansbastiaan.nl/tag/nunspeet/ — 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://www.hansbastiaan.nl/tag/oldebroek/ — 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://www.hansbastiaan.nl/tag/t-harde/ — 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://www.hansbastiaan.nl/tag/wezep/ — 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 · 23 occurrence(s)

  • https://www.hansbastiaan.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://www.hansbastiaan.nl/category/elburg/ — 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.hansbastiaan.nl/category/ermelo/ — 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.hansbastiaan.nl/category/harderwijk/ — 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.hansbastiaan.nl/category/hierden/ — 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.hansbastiaan.nl/category/hulshorst/ — 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.hansbastiaan.nl/category/nunspeet/ — 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.hansbastiaan.nl/category/oldebroek/ — 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.hansbastiaan.nl/category/t-harde/ — 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.hansbastiaan.nl/category/wezep/ — 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.hansbastiaan.nl/kunstwerken-envara/ — 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.hansbastiaan.nl/kunstwerken/ — 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.hansbastiaan.nl/personal-info/ — 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.hansbastiaan.nl/tag/elburg/ — 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.hansbastiaan.nl/tag/ermelo/ — 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.hansbastiaan.nl/tag/harderwijk/ — 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.hansbastiaan.nl/tag/hierden/ — 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.hansbastiaan.nl/tag/hulshorst/ — 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.hansbastiaan.nl/tag/kunstroute-2023/ — 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.hansbastiaan.nl/tag/nunspeet/ — 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.hansbastiaan.nl/tag/oldebroek/ — 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.hansbastiaan.nl/tag/t-harde/ — 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.hansbastiaan.nl/tag/wezep/ — 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 Deprecated schema type with no Google rich result

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

  • https://www.hansbastiaan.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.
  • https://www.hansbastiaan.nl/category/elburg/ — 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://www.hansbastiaan.nl/category/ermelo/ — 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://www.hansbastiaan.nl/category/harderwijk/ — 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://www.hansbastiaan.nl/category/hierden/ — 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://www.hansbastiaan.nl/category/hulshorst/ — 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://www.hansbastiaan.nl/category/nunspeet/ — 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://www.hansbastiaan.nl/category/oldebroek/ — 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://www.hansbastiaan.nl/category/t-harde/ — 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://www.hansbastiaan.nl/category/wezep/ — 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://www.hansbastiaan.nl/kunstwerken-envara/ — 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://www.hansbastiaan.nl/kunstwerken/ — 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://www.hansbastiaan.nl/personal-info/ — 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://www.hansbastiaan.nl/tag/elburg/ — 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://www.hansbastiaan.nl/tag/ermelo/ — 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://www.hansbastiaan.nl/tag/harderwijk/ — 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://www.hansbastiaan.nl/tag/hierden/ — 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://www.hansbastiaan.nl/tag/hulshorst/ — 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://www.hansbastiaan.nl/tag/kunstroute-2023/ — 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://www.hansbastiaan.nl/tag/nunspeet/ — 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://www.hansbastiaan.nl/tag/oldebroek/ — 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://www.hansbastiaan.nl/tag/t-harde/ — 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://www.hansbastiaan.nl/tag/wezep/ — 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 Missing recommended security headers

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

Pages (showing 23 of 23)
URLStatusIndexableWordsIn-links
https://www.hansbastiaan.nl/
Hans Bastiaan - Hans Bastiaan Coding
200 yes 22 23
https://www.hansbastiaan.nl/category/elburg/
Elburg Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/ermelo/
Ermelo Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/harderwijk/
Harderwijk Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/hierden/
Hierden Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/hulshorst/
Hulshorst Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/nunspeet/
Nunspeet Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/oldebroek/
Oldebroek Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/category/t-harde/
't Harde Archieven - Hans Bastiaan Coding
200 yes 19 0
https://www.hansbastiaan.nl/category/wezep/
Wezep Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/kunstwerken-envara/
Kunstwerken Envira Gallery - Hans Bastiaan Coding
200 yes 21 0
https://www.hansbastiaan.nl/kunstwerken/
Kunstwerken - Hans Bastiaan Coding
200 yes 19 0
https://www.hansbastiaan.nl/personal-info/
Personal Info - Hans Bastiaan Coding
200 yes 20 0
https://www.hansbastiaan.nl/tag/elburg/
Elburg Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/ermelo/
Ermelo Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/harderwijk/
Harderwijk Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/hierden/
Hierden Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/hulshorst/
Hulshorst Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/kunstroute-2023/
Kunstroute 2023 Archieven - Hans Bastiaan Coding
200 yes 19 0
https://www.hansbastiaan.nl/tag/nunspeet/
Nunspeet Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/oldebroek/
Oldebroek Archieven - Hans Bastiaan Coding
200 yes 18 0
https://www.hansbastiaan.nl/tag/t-harde/
't Harde Archieven - Hans Bastiaan Coding
200 yes 19 0
https://www.hansbastiaan.nl/tag/wezep/
Wezep Archieven - Hans Bastiaan Coding
200 yes 18 0

Audit your own site — free

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

Scan your site →