SEO audit for curtisforbes.com
Curtis Forbes — Applied Historian, Venture Operator, Digital Builder
Health 69/100 (fair) · 9 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Curtis Forbes is a venture operator, academic researcher, and digital builder based between Edmonton, Bangkok, and Manila. With a PhD in the History and Philosophy of Science from the University of To…
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Duplicate | 77 | 0 | 7 | 0 |
| Links | 77 | 0 | 7 | 0 |
| Titles | 90 | 0 | 3 | 0 |
| Agent Readiness | 100 | 0 | 0 | 8 |
| Cache | 100 | 0 | 0 | 8 |
| Content | 100 | 0 | 0 | 16 |
| Headings | 100 | 0 | 0 | 8 |
| Meta Description | 100 | 0 | 0 | 6 |
| Performance | 100 | 0 | 0 | 16 |
Warnings (3 rules)
warning Near-duplicate page content
Rule duplicate.near · Duplicate · 7 occurrence(s)
- https://www.curtisforbes.com/ — near-duplicate of 6 page(s): https://www.curtisforbes.com/fr, https://www.curtisforbes.com/es, https://www.curtisforbes.com/de
- https://www.curtisforbes.com/ar — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/fr, https://www.curtisforbes.com/es
- https://www.curtisforbes.com/de — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/fr, https://www.curtisforbes.com/es
- https://www.curtisforbes.com/es — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/fr, https://www.curtisforbes.com/de
- https://www.curtisforbes.com/fr — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/es, https://www.curtisforbes.com/de
- https://www.curtisforbes.com/ja — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/fr, https://www.curtisforbes.com/es
- https://www.curtisforbes.com/zh — near-duplicate of 6 page(s): https://www.curtisforbes.com/, https://www.curtisforbes.com/fr, https://www.curtisforbes.com/es
warning Orphan page (no internal inlinks)
Rule links.orphan · Links · 7 occurrence(s)
- https://www.curtisforbes.com/ar — no internal links point here
- https://www.curtisforbes.com/de — no internal links point here
- https://www.curtisforbes.com/es — no internal links point here
- https://www.curtisforbes.com/fr — no internal links point here
- https://www.curtisforbes.com/ja — no internal links point here
- https://www.curtisforbes.com/pt — no internal links point here
- https://www.curtisforbes.com/zh — no internal links point here
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 3 occurrence(s)
- https://www.curtisforbes.com/es — 81 chars, ~607px (limit ~580px)
- https://www.curtisforbes.com/fr — 77 chars, ~591px (limit ~580px)
- https://www.curtisforbes.com/pt — 77 chars, ~582px (limit ~580px)
Notices (8 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 8 occurrence(s)
- https://www.curtisforbes.com/ — h3 follows h1 — skips h2
- https://www.curtisforbes.com/ar — h3 follows h1 — skips h2
- https://www.curtisforbes.com/de — h3 follows h1 — skips h2
- https://www.curtisforbes.com/es — h3 follows h1 — skips h2
- https://www.curtisforbes.com/fr — h3 follows h1 — skips h2
- https://www.curtisforbes.com/ja — h3 follows h1 — skips h2
- https://www.curtisforbes.com/pt — h3 follows h1 — skips h2
- https://www.curtisforbes.com/zh — h3 follows h1 — skips h2
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 8 occurrence(s)
- https://www.curtisforbes.com/ — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/ar — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/de — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/es — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/fr — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/ja — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/pt — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
- https://www.curtisforbes.com/zh — Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate · vercel: MISS
notice Main text is hard to read (low Flesch Reading Ease)
Rule content.readability_poor · Content · 8 occurrence(s)
- https://www.curtisforbes.com/ — this page reads as very difficult (Flesch Reading Ease 30, 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://www.curtisforbes.com/ar — 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.
- https://www.curtisforbes.com/de — this page reads as very difficult (Flesch Reading Ease 28, 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://www.curtisforbes.com/es — this page reads as very difficult (Flesch Reading Ease 28, 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://www.curtisforbes.com/fr — this page reads as difficult (Flesch Reading Ease 30, 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://www.curtisforbes.com/ja — this page reads as difficult (Flesch Reading Ease 32, 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://www.curtisforbes.com/pt — this page reads as very difficult (Flesch Reading Ease 27, 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://www.curtisforbes.com/zh — this page reads as difficult (Flesch Reading Ease 32, 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 Multiple <h1> elements
Rule h1.multiple · Headings · 8 occurrence(s)
- https://www.curtisforbes.com/ — 2 <h1> elements
- https://www.curtisforbes.com/ar — 2 <h1> elements
- https://www.curtisforbes.com/de — 2 <h1> elements
- https://www.curtisforbes.com/es — 2 <h1> elements
- https://www.curtisforbes.com/fr — 2 <h1> elements
- https://www.curtisforbes.com/ja — 2 <h1> elements
- https://www.curtisforbes.com/pt — 2 <h1> elements
- https://www.curtisforbes.com/zh — 2 <h1> elements
notice Legacy <meta name=keywords> tag present (Google ignores it)
Rule meta.keywords_present · Content · 8 occurrence(s)
- https://www.curtisforbes.com/ — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/ar — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/de — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/es — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/fr — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/ja — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/pt — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.curtisforbes.com/zh — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 6 occurrence(s)
- https://www.curtisforbes.com/ — 362 chars
- https://www.curtisforbes.com/ar — 298 chars
- https://www.curtisforbes.com/de — 414 chars
- https://www.curtisforbes.com/es — 379 chars
- https://www.curtisforbes.com/fr — 422 chars
- https://www.curtisforbes.com/pt — 371 chars
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 8 occurrence(s)
- https://www.curtisforbes.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://www.curtisforbes.com/ar — 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.curtisforbes.com/de — 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.curtisforbes.com/es — 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.curtisforbes.com/fr — 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.curtisforbes.com/ja — 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.curtisforbes.com/pt — 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.curtisforbes.com/zh — 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 · 8 occurrence(s)
- https://www.curtisforbes.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://www.curtisforbes.com/ar — 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.curtisforbes.com/de — 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.curtisforbes.com/es — 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.curtisforbes.com/fr — 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.curtisforbes.com/ja — 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.curtisforbes.com/pt — 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.curtisforbes.com/zh — 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.
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://www.curtisforbes.com/ Curtis Forbes — Applied Historian, Venture Operator, Digital Builder |
200 | yes | 2622 | 0 |
| https://www.curtisforbes.com/ar كيرتس فوربس — مؤرخ تطبيقي، مشغل مشاريع، باني رقمي |
200 | yes | 2608 | 0 |
| https://www.curtisforbes.com/de Curtis Forbes – Angewandter Historiker, Venture Operator, Digital Builder |
200 | yes | 2627 | 0 |
| https://www.curtisforbes.com/es Curtis Forbes — Historiador Aplicado, Operador de Ventures, Desarrollador Digital |
200 | yes | 2660 | 0 |
| https://www.curtisforbes.com/fr Curtis Forbes — Historien Appliqué, Opérateur de Venture, Bâtisseur Numérique |
200 | yes | 2667 | 0 |
| https://www.curtisforbes.com/ja Curtis Forbes — 応用歴史家、ベンチャーオペレーター、デジタルビルダー |
200 | yes | 2459 | 0 |
| https://www.curtisforbes.com/pt Curtis Forbes — Historiador Aplicado, Venture Operator, Desenvolvedor Digital |
200 | yes | 2646 | 0 |
| https://www.curtisforbes.com/zh Curtis Forbes — 应用历史学家、风险投资运营者、数字建设者 |
200 | yes | 2477 | 0 |
| https://www.curtisforbes.com/cv.pdf | 200 | no | 0 | 8 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.