Catalog / inkspill.co.za
57

SEO audit for inkspill.co.za

Home - Inkspill

other

Health 57/100 (fair) · 15 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)
15
pages crawled
13
indexable pages
4
errors
31
warnings
132
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 87 2 0 0
Sitemap 87 2 0 0
Content 78 0 11 18
Meta Description 86 0 7 5
Headings 90 0 5 0
Structured Data 92 0 4 14
Duplicate 96 0 2 0
Indexability 96 0 2 0
Agent Readiness 100 0 0 24
Performance 100 0 0 41
Security 100 0 0 15
Social 100 0 0 12
URL 100 0 0 3
Findings

Errors (2 rules)

error Non-200 URL listed in sitemap

Rule sitemap.not_200 · Sitemap · 2 occurrence(s)

error Client error (4xx) response

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

Warnings (7 rules)

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 2 occurrence(s)

warning Page is noindex

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

warning BreadcrumbList present but structurally incomplete

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

  • https://inkspill.co.za/ — 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 Schema describes content not visible on the page

Rule schema.hidden_content · Structured Data · 3 occurrence(s)

  • https://inkspill.co.za/index.php/project/ — a schema name/headline ("Projects Archive - Inkspill") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://inkspill.co.za/index.php/project_category/logos/ — a schema name/headline ("Logos Archives - Inkspill") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://inkspill.co.za/index.php/project_category/web-apps/ — a schema name/headline ("Web Apps Archives - Inkspill") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.

Notices (15 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 11 occurrence(s)

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

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

  • https://inkspill.co.za/index.php/project/ — 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://inkspill.co.za/index.php/project/nekode/ — 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://inkspill.co.za/index.php/project/noir-brews/ — this page reads as difficult (Flesch Reading Ease 45, 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://inkspill.co.za/index.php/project/obsidian/ — this page reads as difficult (Flesch Reading Ease 34, 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://inkspill.co.za/index.php/project_category/logos/ — 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.

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

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

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

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

  • https://inkspill.co.za/ — 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://inkspill.co.za/index.php/2026/03/31/hello-world/ — 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://inkspill.co.za/index.php/author/inkspillcp/ — 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://inkspill.co.za/index.php/category/uncategorized/ — 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://inkspill.co.za/index.php/portfolio/ — 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://inkspill.co.za/index.php/project/ — 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://inkspill.co.za/index.php/project/credibilist/ — 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://inkspill.co.za/index.php/project/nekode/ — 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://inkspill.co.za/index.php/project/noir-brews/ — 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://inkspill.co.za/index.php/project/obsidian/ — 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://inkspill.co.za/index.php/project/webp_pro/ — 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://inkspill.co.za/index.php/project_category/logos/ — 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://inkspill.co.za/index.php/project_category/web-apps/ — 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 · 13 occurrence(s)

  • https://inkspill.co.za/ — 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://inkspill.co.za/index.php/2026/03/31/hello-world/ — 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://inkspill.co.za/index.php/author/inkspillcp/ — 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://inkspill.co.za/index.php/category/uncategorized/ — 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://inkspill.co.za/index.php/portfolio/ — 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://inkspill.co.za/index.php/project/ — 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://inkspill.co.za/index.php/project/credibilist/ — 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://inkspill.co.za/index.php/project/nekode/ — 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://inkspill.co.za/index.php/project/noir-brews/ — 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://inkspill.co.za/index.php/project/obsidian/ — 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://inkspill.co.za/index.php/project/webp_pro/ — 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://inkspill.co.za/index.php/project_category/logos/ — 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://inkspill.co.za/index.php/project_category/web-apps/ — 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 Slow server response

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

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

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

  • https://inkspill.co.za/index.php/2026/03/31/hello-world/ — Article structured data is missing recommended property (image) — 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 Deprecated schema type with no Google rich result

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

notice Missing recommended security headers

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

Pages (showing 15 of 15)
URLStatusIndexableWordsIn-links
https://inkspill.co.za/
Home - Inkspill
200 yes 57 15
https://inkspill.co.za/index.php/portfolio/
Portfolio - Inkspill
200 yes 53 15
https://inkspill.co.za/index.php/project_category/logos/
Logos Archives - Inkspill
200 yes 223 2
https://inkspill.co.za/index.php/2026/03/31/hello-world/
Hello world! - Inkspill
200 yes 96 8
https://inkspill.co.za/index.php/author/inkspillcp/
admin, Author at Inkspill
200 yes 54 6
https://inkspill.co.za/index.php/project/credibilist/
Credibilist - Inkspill
200 yes 94 3
https://inkspill.co.za/index.php/project/nekode/
Nekode - Inkspill
200 yes 133 3
https://inkspill.co.za/index.php/project/noir-brews/
Noir Brews - Inkspill
200 yes 141 3
https://inkspill.co.za/index.php/project/obsidian/
Obsidian - Inkspill
200 yes 136 3
https://inkspill.co.za/index.php/project/webp_pro/
webp_pro - Inkspill
200 yes 18 3
https://inkspill.co.za/index.php/category/uncategorized/
Uncategorized Archives - Inkspill
200 yes 54 3
https://inkspill.co.za/index.php/project_category/web-apps/
Web Apps Archives - Inkspill
200 yes 36 1
https://inkspill.co.za/index.php/project/
Projects Archive - Inkspill
200 yes 230 0
https://inkspill.co.za/index.php/portfi/
Page not found - Inkspill
404 no 53 0
https://inkspill.co.za/index.php/portfi/portfolic/
Page not found - Inkspill
404 no 53 0

Audit your own site — free

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

Scan your site →