SEO audit for davidweaver.codes
David Weaver — Code, Books, Games, Music
Health 66/100 (fair) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)One hand, four worlds: 9 live products, 3 Roblox games running now, 30+ published novels, 2 albums. Everything on this page is real. Pull a thread.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Structured Data | 71 | 0 | 48 | 43 |
| Performance | 75 | 0 | 42 | 52 |
| Content | 98 | 0 | 3 | 6 |
| Duplicate | 99 | 0 | 1 | 0 |
| Titles | 99 | 0 | 1 | 0 |
| Agent Readiness | 100 | 0 | 0 | 1 |
| Images | 100 | 0 | 0 | 44 |
| Meta Description | 100 | 0 | 0 | 6 |
| Security | 100 | 0 | 0 | 50 |
| Social | 100 | 0 | 0 | 37 |
Warnings (7 rules)
warning Lorem-ipsum placeholder text in a live page
Rule content.lorem_ipsum · Content · 1 occurrence(s)
- https://davidweaver.codes/website-design-agency-near-me — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished
warning Thin content (low word count)
Rule content.thin · Content · 2 occurrence(s)
- https://davidweaver.codes/contact — 111 words
- https://davidweaver.codes/journey — 189 words
warning Homepage duplicated across protocol/host variants (no redirect)
Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)
- https://davidweaver.codes/ — https://www.davidweaver.codes/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.
warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)
Rule images.no_lazy_lcp_candidate · Performance · 42 occurrence(s)
- https://davidweaver.codes/ai-integration-services — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/awwwards-websites — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/best-interactive-websites — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/book-ghostwriter — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/creative-website-design — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/creative-website-design-agency — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/games — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/hero-section-website — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/hire-roblox-developers — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/hire-three-js-developer — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/immersive-website-design — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/interactive-website-design — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/interactive-website-examples — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/interactive-websites — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/most-beautiful-websites — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/next-js-development-company — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/services/roblox-game-development — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/software — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/sound — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/three-js-developer-portfolio — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/three-js-development-services — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/website-cost — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/website-design-agency-near-me — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/work — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://davidweaver.codes/writing — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 47 occurrence(s)
- https://davidweaver.codes/about — 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.
- https://davidweaver.codes/ai-integration-services — 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.
- https://davidweaver.codes/awwwards-websites — 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.
- https://davidweaver.codes/best-interactive-websites — 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.
- https://davidweaver.codes/book-ghostwriter — 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.
- https://davidweaver.codes/contact — 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.
- https://davidweaver.codes/creative-website-design — 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.
- https://davidweaver.codes/games — 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.
- https://davidweaver.codes/hero-section-website — 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.
- https://davidweaver.codes/hire-roblox-developers — 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.
- https://davidweaver.codes/hire-three-js-developer — 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.
- https://davidweaver.codes/interactive-website-examples — 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.
- https://davidweaver.codes/interactive-websites — 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.
- https://davidweaver.codes/journey — 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.
- https://davidweaver.codes/most-beautiful-websites — 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.
- https://davidweaver.codes/next-js-development-company — 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.
- https://davidweaver.codes/pricing — 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.
- https://davidweaver.codes/seo — 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.
- https://davidweaver.codes/services — 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.
- https://davidweaver.codes/software — 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.
- https://davidweaver.codes/sound — 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.
- https://davidweaver.codes/website-cost — 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.
- https://davidweaver.codes/website-design-agency-near-me — 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.
- https://davidweaver.codes/work — 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.
- https://davidweaver.codes/writing — 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 · 1 occurrence(s)
- https://davidweaver.codes/writing — a schema name/headline ("Broken Crayons Still Color: Based on a True Story") 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.
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 1 occurrence(s)
- https://davidweaver.codes/most-beautiful-websites — 77 chars, ~608px (limit ~580px)
Notices (15 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://davidweaver.codes/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 4 occurrence(s)
notice Main text is hard to read (low Flesch Reading Ease)
Rule content.readability_poor · Content · 1 occurrence(s)
- https://davidweaver.codes/ai-chatbot-integration-services — this page reads as difficult (Flesch Reading Ease 50, 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 Image alt text is very long (possible keyword stuffing)
Rule images.alt_too_long · Images · 1 occurrence(s)
- https://davidweaver.codes/ — 1 image(s) with alt text over 100 chars — shorten it to a concise description
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 1 occurrence(s)
- https://davidweaver.codes/ — the likely hero/LCP image (image) 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 Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 43 occurrence(s)
- https://davidweaver.codes/ — 10 of 10 images without width/height
- https://davidweaver.codes/ai-integration-services — 3 of 3 images without width/height
- https://davidweaver.codes/awwwards-websites — 3 of 3 images without width/height
- https://davidweaver.codes/best-interactive-websites — 3 of 3 images without width/height
- https://davidweaver.codes/book-ghostwriter — 2 of 2 images without width/height
- https://davidweaver.codes/creative-website-design — 3 of 3 images without width/height
- https://davidweaver.codes/creative-website-design-agency — 3 of 3 images without width/height
- https://davidweaver.codes/games — 6 of 6 images without width/height
- https://davidweaver.codes/hero-section-website — 3 of 3 images without width/height
- https://davidweaver.codes/hire-roblox-developers — 3 of 3 images without width/height
- https://davidweaver.codes/hire-three-js-developer — 3 of 3 images without width/height
- https://davidweaver.codes/immersive-website-design — 3 of 3 images without width/height
- https://davidweaver.codes/interactive-website-design — 3 of 3 images without width/height
- https://davidweaver.codes/interactive-website-examples — 3 of 3 images without width/height
- https://davidweaver.codes/interactive-websites — 3 of 3 images without width/height
- https://davidweaver.codes/most-beautiful-websites — 3 of 3 images without width/height
- https://davidweaver.codes/next-js-development-company — 3 of 3 images without width/height
- https://davidweaver.codes/services/roblox-game-development — 3 of 3 images without width/height
- https://davidweaver.codes/software — 9 of 9 images without width/height
- https://davidweaver.codes/sound — 1 of 1 images without width/height
- https://davidweaver.codes/three-js-developer-portfolio — 3 of 3 images without width/height
- https://davidweaver.codes/website-cost — 3 of 3 images without width/height
- https://davidweaver.codes/website-design-agency-near-me — 3 of 3 images without width/height
- https://davidweaver.codes/work — 15 of 15 images without width/height
- https://davidweaver.codes/writing — 5 of 5 images without width/height
notice Legacy <meta name=keywords> tag present (Google ignores it)
Rule meta.keywords_present · Content · 1 occurrence(s)
- https://davidweaver.codes/work/autowin — 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://davidweaver.codes/ai-integration-services — 169 chars
- https://davidweaver.codes/best-interactive-websites — 161 chars
- https://davidweaver.codes/book-ghostwriter — 178 chars
- https://davidweaver.codes/hire-roblox-developers — 161 chars
- https://davidweaver.codes/web-developer-near-me — 163 chars
- https://davidweaver.codes/website-design-agency-near-me — 169 chars
notice Missing Open Graph tags
Rule og.missing · Social · 37 occurrence(s)
- https://davidweaver.codes/ai-integration-services — og:image
- https://davidweaver.codes/awwwards-websites — og:image
- https://davidweaver.codes/best-interactive-websites — og:image
- https://davidweaver.codes/best-website-designers-near-me — og:image
- https://davidweaver.codes/book-ghostwriter — og:image
- https://davidweaver.codes/creative-website-design — og:image
- https://davidweaver.codes/creative-website-design-agency — og:image
- https://davidweaver.codes/hero-image-website — og:image
- https://davidweaver.codes/hero-section-animation — og:image
- https://davidweaver.codes/hero-section-website — og:image
- https://davidweaver.codes/hire-roblox-developers — og:image
- https://davidweaver.codes/hire-three-js-developer — og:image
- https://davidweaver.codes/immersive-website-design — og:image
- https://davidweaver.codes/interactive-website-design — og:image
- https://davidweaver.codes/interactive-website-examples — og:image
- https://davidweaver.codes/interactive-websites — og:image
- https://davidweaver.codes/most-beautiful-websites — og:image
- https://davidweaver.codes/next-js-development-company — og:image
- https://davidweaver.codes/services/roblox-game-development — og:image
- https://davidweaver.codes/three-js-developer-portfolio — og:image
- https://davidweaver.codes/three-js-development-services — og:image
- https://davidweaver.codes/web-developer-near-me — og:image
- https://davidweaver.codes/website-animation-ideas — og:image
- https://davidweaver.codes/website-cost — og:image
- https://davidweaver.codes/website-design-agency-near-me — og:image
notice Large DOM (over 1500 elements) slows rendering & interaction
Rule perf.dom_size_large · Performance · 1 occurrence(s)
- https://davidweaver.codes/pricing — the page has 1507 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
notice No Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 50 occurrence(s)
- https://davidweaver.codes/ — 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://davidweaver.codes/about — 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://davidweaver.codes/ai-integration-services — 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://davidweaver.codes/awwwards-websites — 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://davidweaver.codes/book-ghostwriter — 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://davidweaver.codes/contact — 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://davidweaver.codes/creative-website-design — 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://davidweaver.codes/games — 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://davidweaver.codes/hero-section-website — 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://davidweaver.codes/hire-roblox-developers — 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://davidweaver.codes/hire-three-js-developer — 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://davidweaver.codes/interactive-websites — 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://davidweaver.codes/journey — 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://davidweaver.codes/most-beautiful-websites — 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://davidweaver.codes/next-js-development-company — 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://davidweaver.codes/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://davidweaver.codes/seo — 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://davidweaver.codes/services — 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://davidweaver.codes/services/roblox-game-development — 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://davidweaver.codes/software — 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://davidweaver.codes/sound — 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://davidweaver.codes/website-cost — 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://davidweaver.codes/website-design-agency-near-me — 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://davidweaver.codes/work — 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://davidweaver.codes/writing — 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 · 3 occurrence(s)
- https://davidweaver.codes/awwwards-websites — 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://davidweaver.codes/hero-section-website — 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://davidweaver.codes/most-beautiful-websites — 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 FAQPage structured data (rich result removed May 2026)
Rule schema.faq_deprecated · Structured Data · 39 occurrence(s)
- https://davidweaver.codes/ai-integration-services — 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://davidweaver.codes/awwwards-websites — 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://davidweaver.codes/best-interactive-websites — 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://davidweaver.codes/book-ghostwriter — 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://davidweaver.codes/creative-website-design — 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://davidweaver.codes/creative-website-design-agency — 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://davidweaver.codes/hero-image-website — 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://davidweaver.codes/hero-section-animation — 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://davidweaver.codes/hero-section-website — 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://davidweaver.codes/hire-roblox-developers — 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://davidweaver.codes/hire-three-js-developer — 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://davidweaver.codes/immersive-website-design — 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://davidweaver.codes/interactive-website-design — 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://davidweaver.codes/interactive-website-examples — 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://davidweaver.codes/interactive-websites — 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://davidweaver.codes/most-beautiful-websites — 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://davidweaver.codes/next-js-development-company — 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://davidweaver.codes/pricing — 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://davidweaver.codes/seo — 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://davidweaver.codes/services/roblox-game-development — 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://davidweaver.codes/three-js-developer-portfolio — 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://davidweaver.codes/three-js-development-services — 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://davidweaver.codes/website-animation-ideas — 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://davidweaver.codes/website-cost — 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://davidweaver.codes/website-design-agency-near-me — 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 SoftwareApplication schema incomplete (name/offers-or-rating/recommended)
Rule schema.softwareapp_incomplete · Structured Data · 1 occurrence(s)
- https://davidweaver.codes/work/autowin — SoftwareApplication structured data is missing required property (offers|aggregateRating|review) and recommended property (operatingSystem) — complete it to be eligible for the rich result (validate with the Rich Results Test).
notice Missing recommended security headers
Rule security.missing_headers · Security · 50 occurrence(s)
- https://davidweaver.codes/ — X-Content-Type-Options, CSP
- https://davidweaver.codes/about — CSP, X-Content-Type-Options
- https://davidweaver.codes/ai-integration-services — CSP, X-Content-Type-Options
- https://davidweaver.codes/awwwards-websites — CSP, X-Content-Type-Options
- https://davidweaver.codes/book-ghostwriter — CSP, X-Content-Type-Options
- https://davidweaver.codes/contact — CSP, X-Content-Type-Options
- https://davidweaver.codes/creative-website-design — X-Content-Type-Options, CSP
- https://davidweaver.codes/games — CSP, X-Content-Type-Options
- https://davidweaver.codes/hero-section-website — CSP, X-Content-Type-Options
- https://davidweaver.codes/hire-roblox-developers — CSP, X-Content-Type-Options
- https://davidweaver.codes/hire-three-js-developer — CSP, X-Content-Type-Options
- https://davidweaver.codes/interactive-websites — CSP, X-Content-Type-Options
- https://davidweaver.codes/journey — CSP, X-Content-Type-Options
- https://davidweaver.codes/most-beautiful-websites — X-Content-Type-Options, CSP
- https://davidweaver.codes/next-js-development-company — CSP, X-Content-Type-Options
- https://davidweaver.codes/pricing — CSP, X-Content-Type-Options
- https://davidweaver.codes/seo — CSP, X-Content-Type-Options
- https://davidweaver.codes/services — X-Content-Type-Options, CSP
- https://davidweaver.codes/services/roblox-game-development — CSP, X-Content-Type-Options
- https://davidweaver.codes/software — X-Content-Type-Options, CSP
- https://davidweaver.codes/sound — X-Content-Type-Options, CSP
- https://davidweaver.codes/website-cost — CSP, X-Content-Type-Options
- https://davidweaver.codes/website-design-agency-near-me — CSP, X-Content-Type-Options
- https://davidweaver.codes/work — CSP, X-Content-Type-Options
- https://davidweaver.codes/writing — X-Content-Type-Options, CSP
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://davidweaver.codes/ David Weaver — Code, Books, Games, Music |
200 | yes | 761 | 50 |
| https://davidweaver.codes/about About — the hand behind four worlds — David Weaver |
200 | yes | 268 | 50 |
| https://davidweaver.codes/book-ghostwriter Book Ghostwriter — A Bestselling Novelist, Your Story — David Weaver |
200 | yes | 1402 | 50 |
| https://davidweaver.codes/contact Contact — start a commission — David Weaver |
200 | yes | 111 | 50 |
| https://davidweaver.codes/games Games — three live on Roblox, 17 built — David Weaver |
200 | yes | 572 | 50 |
| https://davidweaver.codes/hire-roblox-developers Hire Roblox Developers — Play My Games First — David Weaver |
200 | yes | 1346 | 50 |
| https://davidweaver.codes/journey Journey to Stability — building in public — David Weaver |
200 | yes | 189 | 50 |
| https://davidweaver.codes/pricing Pricing — websites, apps, games, and SEO — David Weaver |
200 | yes | 2773 | 50 |
| https://davidweaver.codes/seo SEO help for local and growing businesses — David Weaver |
200 | yes | 2090 | 50 |
| https://davidweaver.codes/services Services — commission the loom — David Weaver |
200 | yes | 303 | 50 |
| https://davidweaver.codes/sound Sound — two albums, six platforms, one name — David Weaver |
200 | yes | 243 | 50 |
| https://davidweaver.codes/website-cost Website Design Cost in 2026 — The Honest Math — David Weaver |
200 | yes | 1562 | 50 |
| https://davidweaver.codes/work Work — every project, wins and scars — David Weaver |
200 | yes | 1052 | 50 |
| https://davidweaver.codes/writing Writing — 30+ novels, then the machines — David Weaver |
200 | yes | 291 | 50 |
| https://davidweaver.codes/services/roblox-game-development Hire a Roblox game developer who ships — David Weaver |
200 | yes | 421 | 2 |
| https://davidweaver.codes/hire-three-js-developer Hire a Three.js Developer — The Proof Is This Site — David Weaver |
200 | yes | 1170 | 9 |
| https://davidweaver.codes/website-design-agency-near-me Website Design Agency Near Me — One Name on the Door — David Weaver |
200 | yes | 1410 | 6 |
| https://davidweaver.codes/creative-website-design Creative Website Design for People Who Refuse Templates — David Weaver |
200 | yes | 1251 | 6 |
| https://davidweaver.codes/ai-integration-services AI Integration Services That Survive Real Billing — David Weaver |
200 | yes | 1338 | 6 |
| https://davidweaver.codes/how-much-should-a-website-cost How Much Should a Website Cost? Masterclass — David Weaver |
200 | yes | 5253 | 4 |
| https://davidweaver.codes/work/autowin AutoWin — DFS lineup optimizer — David Weaver |
200 | yes | 266 | 2 |
| https://davidweaver.codes/how-much-does-website-design-cost How Much Does Website Design Cost? 2026 Guide — David Weaver |
200 | yes | 5180 | 3 |
| https://davidweaver.codes/website-design-cost-calculator Website Design Cost Calculator — Instant Range — David Weaver |
200 | yes | 5002 | 3 |
| https://davidweaver.codes/software Software — nine live products, one hand — David Weaver |
200 | yes | 705 | 1 |
| https://davidweaver.codes/roblox-game-cost How Much Does a Roblox Game Cost? Full Tool — David Weaver |
200 | yes | 5144 | 2 |
| https://davidweaver.codes/roblox-game-development-company Roblox Game Development Company — Cost Tool — David Weaver |
200 | yes | 5100 | 2 |
| https://davidweaver.codes/business-book-ghostwriter Business Book Ghostwriter — Cost Calculator — David Weaver |
200 | yes | 5006 | 1 |
| https://davidweaver.codes/interactive-websites Interactive Websites That Refuse to Be Ignored — David Weaver |
200 | yes | 1419 | 9 |
| https://davidweaver.codes/three-js-developer Three.js Developer for Hire — Playground — David Weaver |
200 | yes | 4964 | 6 |
| https://davidweaver.codes/what-is-ai-integration What Is AI Integration? Unit Economics Tool — David Weaver |
200 | yes | 5101 | 5 |
| https://davidweaver.codes/most-beautiful-websites The Most Beautiful Websites Share 4 Things — A Builder's Notes — David Weaver |
200 | yes | 1378 | 5 |
| https://davidweaver.codes/creative-website-design-agency Creative Website Design Agency — Solo, Senior — David Weaver |
200 | yes | 5113 | 4 |
| https://davidweaver.codes/hero-section-website Hero Section Design — The First 3 Seconds of Your Website — David Weaver |
200 | yes | 1272 | 5 |
| https://davidweaver.codes/ai-chatbot-integration-services AI Chatbot Integration Services — Cost Tool — David Weaver |
200 | yes | 4997 | 4 |
| https://davidweaver.codes/ai-integration-for-small-business AI Integration for Small Business — ROI Tool — David Weaver |
200 | yes | 5158 | 4 |
| https://davidweaver.codes/web-developer-near-me Web Developer Near Me — Vet + Estimate — David Weaver |
200 | yes | 5073 | 3 |
| https://davidweaver.codes/three-js-developer-portfolio Three.js Developer Portfolio — Live Playground — David Weaver |
200 | yes | 5031 | 3 |
| https://davidweaver.codes/three-js-development-services Three.js Development Services — CWV Checker — David Weaver |
200 | yes | 5062 | 3 |
| https://davidweaver.codes/creative-web-developer Creative Web Developer — Scope + Proof — David Weaver |
200 | yes | 5086 | 3 |
| https://davidweaver.codes/hero-section-animation Hero Section Animation — Preset Previewer — David Weaver |
200 | yes | 5014 | 4 |
| https://davidweaver.codes/ai-integration-in-business AI Integration in Business — Use-Case Recommender — David Weaver |
200 | yes | 5110 | 3 |
| https://davidweaver.codes/best-website-designers-near-me Best Website Designers Near Me — Scorecard — David Weaver |
200 | yes | 5131 | 2 |
| https://davidweaver.codes/interactive-website-design Interactive Website Design — Pattern Picker — David Weaver |
200 | yes | 4939 | 3 |
| https://davidweaver.codes/best-interactive-websites Best Interactive Websites — Gallery + Scorecard — David Weaver |
200 | yes | 4988 | 3 |
| https://davidweaver.codes/awwwards-websites Awwwards Websites — Score Yours Free — David Weaver |
200 | yes | 4374 | 3 |
| https://davidweaver.codes/immersive-website-design Immersive Website Design — Easing Playground — David Weaver |
200 | yes | 4920 | 3 |
| https://davidweaver.codes/website-animation-ideas Website Animation Ideas — Free Playground — David Weaver |
200 | yes | 4935 | 2 |
| https://davidweaver.codes/interactive-website-examples Interactive Website Examples — Live Teardown — David Weaver |
200 | yes | 4876 | 2 |
| https://davidweaver.codes/next-js-development-company Next.js Development Company of Exactly One — David Weaver |
200 | yes | 1227 | 1 |
| https://davidweaver.codes/hero-image-website Hero Image Website — Layout Composer — David Weaver |
200 | yes | 4977 | 1 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.