Catalog / openbooks.fyi
82

SEO audit for openbooks.fyi

QuickBooks

otherNext.js

Health 82/100 (good) · 50 pages crawled · generated 2026-08-26

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

OpenBooks prepares evidence-backed books, reports, and filing packets for your review. Your authorized treasurer certifies and submits when ready.

Screenshot of openbooks.fyi
50
pages crawled
49
indexable pages
0
errors
27
warnings
383
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Duplicate 95 0 9 3
Content 97 0 5 52
Budget 98 0 4 0
Canonical 98 0 4 0
Titles 98 0 3 8
Indexability 99 0 1 0
Structured Data 99 0 1 23
Agent Readiness 100 0 0 6
Cache 100 0 0 45
Images 100 0 0 2
Links 100 0 0 45
Meta Description 100 0 0 22
Performance 100 0 0 97
Security 100 0 0 49
Sitemap 100 0 0 1
Social 100 0 0 30
Findings

Warnings (9 rules)

warning robots.txt-disallowed URL receives internal links (crawl-budget leak)

Rule budget.disallow_linked · Budget · 3 occurrence(s)

  • https://openbooks.fyi/api/ledger/demo-transparency/anchor.json — internal links point to https://openbooks.fyi/api/ledger/demo-transparency/anchor.json, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://openbooks.fyi/transparency/.
  • https://openbooks.fyi/api/ledger/demo-transparency/head — internal links point to https://openbooks.fyi/api/ledger/demo-transparency/head, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://openbooks.fyi/transparency/.
  • https://openbooks.fyi/api/ledger/demo-transparency/verify?from=0 — internal links point to https://openbooks.fyi/api/ledger/demo-transparency/verify?from=0, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://openbooks.fyi/transparency/.

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 1 occurrence(s)

  • https://openbooks.fyi/login/ — this noindex page has 45 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://openbooks.fyi/, https://openbooks.fyi/about-the-ledger/, https://openbooks.fyi/faq/.

warning Near-duplicate page content

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

warning Duplicate <title> across pages

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

warning noindex + nofollow (blocks link equity flow)

Rule index.noindex_nofollow · Indexability · 1 occurrence(s)

warning BreadcrumbList present but structurally incomplete

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

  • https://openbooks.fyi/records/ — 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 Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 3 occurrence(s)

Notices (25 rules)

notice Heading levels skip a level

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

notice No main landmark for AI agents

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

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

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

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

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

  • https://openbooks.fyi/ — 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://openbooks.fyi/about-the-ledger/ — this page reads as difficult (Flesch Reading Ease 46, 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://openbooks.fyi/agents/ — this page reads as difficult (Flesch Reading Ease 39, 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://openbooks.fyi/agents/file-hi-csc-preliminary/ — 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://openbooks.fyi/candidates/ — 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://openbooks.fyi/candidates/steven-abkin/ — this page reads as difficult (Flesch Reading Ease 35, 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://openbooks.fyi/connect/ — this page reads as difficult (Flesch Reading Ease 38, 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://openbooks.fyi/directory/ — this page reads as very difficult (Flesch Reading Ease 6, 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://openbooks.fyi/financial-operations-partners/ — 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://openbooks.fyi/for/finance-teams/ — this page reads as difficult (Flesch Reading Ease 44, 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://openbooks.fyi/hawaii-campaign-reporting/ — this page reads as difficult (Flesch Reading Ease 38, 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://openbooks.fyi/integrations/ — 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://openbooks.fyi/integrations/quickbooks/ — this page reads as difficult (Flesch Reading Ease 31, 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://openbooks.fyi/nonprofits/ — this page reads as very difficult (Flesch Reading Ease -23, 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://openbooks.fyi/nonprofits/10-to-1-foundation/ — this page reads as difficult (Flesch Reading Ease 44, 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://openbooks.fyi/o/demo-transparency/ — this page reads as difficult (Flesch Reading Ease 31, 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://openbooks.fyi/partners/ — this page reads as very difficult (Flesch Reading Ease 26, 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://openbooks.fyi/pricing/ — this page reads as difficult (Flesch Reading Ease 39, 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://openbooks.fyi/product/overview/ — this page reads as difficult (Flesch Reading Ease 41, 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://openbooks.fyi/records/ — this page reads as very difficult (Flesch Reading Ease 7, 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://openbooks.fyi/regulations/ — this page reads as very difficult (Flesch Reading Ease 24, 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://openbooks.fyi/resources/guides/ — 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://openbooks.fyi/seal/ — 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://openbooks.fyi/transparency/ — 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://openbooks.fyi/vs/aristotle/ — this page reads as difficult (Flesch Reading Ease 33, 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 · 3 occurrence(s)

notice Article page has no publication date (freshness / E-E-A-T)

Rule eeat.no_date · Content · 3 occurrence(s)

  • https://openbooks.fyi/product/overview/ — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://openbooks.fyi/regulations/nonprofit/federal/ — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://openbooks.fyi/resources/guides/ — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 2 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 2 occurrence(s)

  • https://openbooks.fyi/chrome-extension/ — the likely hero/LCP image (https://openbooks.fyi/_next/image/?url=%2Fimages%2Fchrome-extension%2Finstall-flow-1280x800.png&w=3840&q=75) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://openbooks.fyi/hawaii-campaign-reporting/ — the likely hero/LCP image (https://openbooks.fyi/_next/image/?url=%2Fimages%2Fhawaii-filing%2Fcsc-schedule-b-blank.png&w=3840&q=75) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Internal link points to a noindex page

Rule links.to_noindex · Links · 45 occurrence(s)

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

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

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

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

  • https://openbooks.fyi/ — 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://openbooks.fyi/about-the-ledger/ — 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://openbooks.fyi/agents/ — 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://openbooks.fyi/candidates/ — 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://openbooks.fyi/candidates/steven-abkin/ — 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://openbooks.fyi/directory/ — 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://openbooks.fyi/faq/ — 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://openbooks.fyi/financial-operations-partners/ — 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://openbooks.fyi/for/finance-teams/ — 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://openbooks.fyi/hawaii-campaign-reporting/ — 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://openbooks.fyi/integrations/ — 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://openbooks.fyi/integrations/quickbooks/ — 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://openbooks.fyi/nonprofits/ — 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://openbooks.fyi/nonprofits/10-to-1-foundation/ — 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://openbooks.fyi/o/demo-transparency/ — 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://openbooks.fyi/partners/ — 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://openbooks.fyi/pricing/ — 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://openbooks.fyi/product/overview/ — 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://openbooks.fyi/records/ — 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://openbooks.fyi/regulations/ — 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://openbooks.fyi/regulations/nonprofit/federal/ — 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://openbooks.fyi/resources/guides/ — 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://openbooks.fyi/seal/ — 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://openbooks.fyi/verticals/campaigns/ — 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://openbooks.fyi/vs/aristotle/ — 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 · 50 occurrence(s)

  • https://openbooks.fyi/ — 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://openbooks.fyi/about-the-ledger/ — 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://openbooks.fyi/agents/ — 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://openbooks.fyi/agents/file-hi-csc-preliminary/ — 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://openbooks.fyi/candidates/ — 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://openbooks.fyi/candidates/steven-abkin/ — 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://openbooks.fyi/directory/ — 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://openbooks.fyi/faq/ — 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://openbooks.fyi/financial-operations-partners/ — 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://openbooks.fyi/for/finance-teams/ — 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://openbooks.fyi/hawaii-campaign-reporting/ — 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://openbooks.fyi/integrations/ — 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://openbooks.fyi/integrations/quickbooks/ — 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://openbooks.fyi/nonprofits/ — 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://openbooks.fyi/nonprofits/10-to-1-foundation/ — 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://openbooks.fyi/o/demo-transparency/ — 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://openbooks.fyi/partners/ — 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://openbooks.fyi/pricing/ — 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://openbooks.fyi/product/overview/ — 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://openbooks.fyi/records/ — 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://openbooks.fyi/regulations/ — 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://openbooks.fyi/regulations/nonprofit/federal/ — 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://openbooks.fyi/seal/ — 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://openbooks.fyi/verticals/campaigns/ — 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://openbooks.fyi/vs/aristotle/ — 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 Article schema missing recommended properties (Top Stories / image carousel)

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

  • https://openbooks.fyi/blog/3-mistakes-campaign-treasurers-make-on-csc-form/ — 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.
  • https://openbooks.fyi/product/overview/ — Article structured data is missing recommended properties (image, datePublished) — 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.
  • https://openbooks.fyi/regulations/nonprofit/federal/ — Article structured data is missing recommended properties (image, datePublished) — 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.
  • https://openbooks.fyi/resources/guides/ — Article structured data is missing recommended properties (image, datePublished) — 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 Deep page has no BreadcrumbList structured data

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

notice Deprecated schema type with no Google rich result

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

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 7 occurrence(s)

  • https://openbooks.fyi/about-the-ledger/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/agents/file-hi-csc-preliminary/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/audit/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/blog/3-mistakes-campaign-treasurers-make-on-csc-form/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/faq/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/regulations/nonprofit/federal/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://openbooks.fyi/vs/aristotle/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 1 occurrence(s)

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 2 occurrence(s)

notice Title is very short

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://openbooks.fyi/
QuickBooks
200 yes 698 50
https://openbooks.fyi/get-started/
Delegate a responsibility | OpenBooks
200 yes 52 48
https://openbooks.fyi/records/
Public records for Hawaiʻi organizations | OpenBooks
200 yes 946 48
https://openbooks.fyi/about-the-ledger/
How the OpenBooks immutable ledger works | OpenBooks
200 yes 578 45
https://openbooks.fyi/agents/
Finance and compliance agents for nonprofits and small teams | OpenBooks
200 yes 864 45
https://openbooks.fyi/blog/
OpenBooks Blog — Hawaii compliance, 990s, and finance workflows
200 yes 390 45
https://openbooks.fyi/faq/
FAQ — straight answers about OpenBooks | OpenBooks
200 yes 1141 45
https://openbooks.fyi/for/finance-teams/
Compliance and finance work for finance teams | OpenBooks
200 yes 530 45
https://openbooks.fyi/hawaii-campaign-reporting/
Hawaii campaign reporting, prepared from your bank activity | OpenBooks
200 yes 894 45
https://openbooks.fyi/integrations/
QuickBooks
200 yes 950 45
https://openbooks.fyi/login/
Sign in | OpenBooks
200 no 138 45
https://openbooks.fyi/partners/
QuickBooks
200 yes 479 45
https://openbooks.fyi/pricing/
Pricing — $199/month or $1,990/year | OpenBooks
200 yes 474 45
https://openbooks.fyi/privacy/
Privacy Policy | OpenBooks
200 yes 701 45
https://openbooks.fyi/product/overview/
Product Overview — Verifiable Bookkeeping | OpenBooks
200 yes 495 45
https://openbooks.fyi/security/
Reads
200 yes 771 45
https://openbooks.fyi/see-openbooks-work/
See OpenBooks work — from invoice to prepared financial record
200 yes 486 45
https://openbooks.fyi/terms/
Terms of Service | OpenBooks
200 yes 874 45
https://openbooks.fyi/verticals/campaigns/
Track every donation. File every report. No spreadsheet required. | OpenBooks
200 yes 1175 45
https://openbooks.fyi/docs/
Concepts
200 yes 613 2
https://openbooks.fyi/docs/what-is-openbooks/
What is OpenBooks — OpenBooks Docs
200 yes 1035 2
https://openbooks.fyi/legal/
Legal — Terms, Privacy, and policies | OpenBooks
200 yes 237 3
https://openbooks.fyi/integrations/quickbooks/
QuickBooks
200 yes 340 2
https://openbooks.fyi/nonprofits/10-to-1-foundation/
10 To 1 Foundation — public record | OpenBooks
200 yes 2280 2
https://openbooks.fyi/transparency/demo-transparency/verify/
Verify ledger — demo-transparency | OpenBooks
200 yes 573 3
https://openbooks.fyi/acceptable-use/
Acceptable Use Policy | OpenBooks
200 yes 282 2
https://openbooks.fyi/o/demo-transparency/
Demo Transparency Committee — Financial Record — OpenBooks
200 yes 138 2
https://openbooks.fyi/blog/3-mistakes-campaign-treasurers-make-on-csc-form/
3 Mistakes Hawaii Campaign Treasurers Make on the CSC Form | OpenBooks
200 yes 1957 2
https://openbooks.fyi/blog/category/hawaii/
Hawaii — OpenBooks Blog
200 yes 199 2
https://openbooks.fyi/agents/file-hi-csc-preliminary/
Prepare your HI CSC Preliminary Report | OpenBooks Agents
200 yes 677 1
https://openbooks.fyi/chrome-extension/
Install the Hawaiʻi Filing Assistant | OpenBooks
200 yes 454 1
https://openbooks.fyi/get-started/?flow=hawaii-campaign
Delegate a responsibility | OpenBooks
200 yes 65 1
https://openbooks.fyi/transparency/
Transparency | OpenBooks
200 yes 298 2
https://openbooks.fyi/financial-operations-partners/
Financial Operations Partner Program | OpenBooks
200 yes 325 1
https://openbooks.fyi/vs/aristotle/
OpenBooks vs. Aristotle — public proof vs. filing software
200 yes 590 1
https://openbooks.fyi/regulations/
Filing & Disclosure Regulations by Organization Type | OpenBooks
200 yes 316 2
https://openbooks.fyi/nonprofits/
Hawaii nonprofit records | OpenBooks
200 yes 1420 1
https://openbooks.fyi/chrome-extension/privacy/
Filing Assistant Privacy | OpenBooks
200 yes 323 1
https://openbooks.fyi/get-started/?agent=file-hi-csc-preliminary
Delegate a responsibility | OpenBooks
200 yes 52 1
https://openbooks.fyi/regulations/nonprofit/federal/
Form 990 Filing Requirements for Nonprofits (2026) | OpenBooks
200 yes 732 1
https://openbooks.fyi/insights/
Insights | OpenBooks
200 yes 263 1
https://openbooks.fyi/insights/where-junior-preparer-time-actually-goes/
Where Junior Preparer Time Actually Goes at Your Firm | OpenBooks
200 yes 775 1
https://openbooks.fyi/candidates/
Candidates on public record | OpenBooks
200 yes 1127 1
https://openbooks.fyi/audit/
Trust Audit — How transparent is your organization’s money? | OpenBooks
200 yes 457 0
https://openbooks.fyi/candidates/steven-abkin/
Steven L. Abkin — candidate on public record | OpenBooks
200 yes 600 0
https://openbooks.fyi/connect/
Connect your accounts | OpenBooks
200 yes 313 0
https://openbooks.fyi/demo/campaign-compliance/
See campaign compliance done — OpenBooks completes one invoice, start to finish
200 yes 491 0
https://openbooks.fyi/directory/
Organizations — Financial Records maintained by OpenBooks
200 yes 323 0
https://openbooks.fyi/resources/guides/
Guides — Verifiable Bookkeeping | OpenBooks
200 yes 398 0
https://openbooks.fyi/seal/
OpenBooks Verified — cryptographic transparency seals | OpenBooks
200 yes 495 0

Audit your own site — free

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

Scan your site →