Catalog / brownhornetdesign.net
65

SEO audit for brownhornetdesign.net

brownhornetdesign -- for hire

other

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

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

Get your project up and running. Hire Brown Hornet Design to develop your logo and brand identity.

Screenshot of brownhornetdesign.net
21
pages crawled
21
indexable pages
0
errors
69
warnings
210
notices
3
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Agent Readiness 70 0 21 1
Images 71 0 20 21
Content 84 0 11 31
Headings 87 0 9 0
Titles 93 0 5 0
Links 96 0 3 12
Canonical 100 0 0 1
Duplicate 100 0 0 8
Meta Description 100 0 0 7
Performance 100 0 0 84
Security 100 0 0 22
Social 100 0 0 2
Structured Data 100 0 0 21
Findings

Warnings (6 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 21 occurrence(s)

warning Images missing alt text

Rule images.missing_alt · Images · 20 occurrence(s)

warning Orphan page (no internal inlinks)

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

warning Title likely truncated in SERP (too wide)

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

Notices (16 rules)

notice No llms.txt for AI agents

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

notice Canonical points to a different URL

Rule canonical.non_self · Canonical · 1 occurrence(s)

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

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

  • https://brownhornetdesign.net/ — 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://brownhornetdesign.net/about-me — 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://brownhornetdesign.net/dr-martin-luther-king-jr-national-memorial-project — 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.
  • https://brownhornetdesign.net/illustration — this page reads as difficult (Flesch Reading Ease 37, 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://brownhornetdesign.net/monteverde-rowe-identity-development — this page reads as very difficult (Flesch Reading Ease 29, 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://brownhornetdesign.net/mount-vernon-business-center-identity-development — 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://brownhornetdesign.net/new-day-campaign — 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://brownhornetdesign.net/slva-automotive-studio-identity-development — 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://brownhornetdesign.net/what-we-do — 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://brownhornetdesign.net/work — this page reads as very difficult (Flesch Reading Ease 25, 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 · 8 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://brownhornetdesign.net/ — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/about-me — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/bay-area-audiology-identity — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/brand — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/cajou-sweet-potato — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/contact — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/continuous-brand-display — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/digital-fast-forward-web-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/dr-martin-luther-king-jr-national-memorial-project — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/eleven-peppers-studio-identity-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/falkorburg-cross-poster — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/illustration — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/jingle-mingle-holiday-party-identity-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/monteverde-rowe-identity-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/mount-vernon-business-center-identity-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/new-day-campaign — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/poster-design — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/slva-automotive-studio-identity-development — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/the-work — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/what-we-do — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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://brownhornetdesign.net/work — the likely hero/LCP image (e7fc5d07-2aa5-4b76-bdcd-d10e213b49d5_rwc_0x0x317x101x4096.png) 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 · 21 occurrence(s)

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 12 occurrence(s)

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

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

notice Missing Open Graph tags

Rule og.missing · Social · 2 occurrence(s)

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

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

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

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

  • https://brownhornetdesign.net/ — 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://brownhornetdesign.net/about-me — 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://brownhornetdesign.net/bay-area-audiology-identity — 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://brownhornetdesign.net/brand — 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://brownhornetdesign.net/cajou-sweet-potato — 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://brownhornetdesign.net/contact — 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://brownhornetdesign.net/continuous-brand-display — 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://brownhornetdesign.net/digital-fast-forward-web-development — 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://brownhornetdesign.net/dr-martin-luther-king-jr-national-memorial-project — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://brownhornetdesign.net/eleven-peppers-studio-identity-development — 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://brownhornetdesign.net/falkorburg-cross-poster — 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://brownhornetdesign.net/illustration — 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://brownhornetdesign.net/jingle-mingle-holiday-party-identity-development — 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://brownhornetdesign.net/monteverde-rowe-identity-development — 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://brownhornetdesign.net/mount-vernon-business-center-identity-development — 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://brownhornetdesign.net/new-day-campaign — 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://brownhornetdesign.net/poster-design — 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://brownhornetdesign.net/slva-automotive-studio-identity-development — 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://brownhornetdesign.net/the-work — 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://brownhornetdesign.net/what-we-do — 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://brownhornetdesign.net/work — 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 · 21 occurrence(s)

  • https://brownhornetdesign.net/ — 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://brownhornetdesign.net/about-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://brownhornetdesign.net/bay-area-audiology-identity — 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://brownhornetdesign.net/brand — 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://brownhornetdesign.net/cajou-sweet-potato — 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://brownhornetdesign.net/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://brownhornetdesign.net/continuous-brand-display — 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://brownhornetdesign.net/digital-fast-forward-web-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://brownhornetdesign.net/dr-martin-luther-king-jr-national-memorial-project — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://brownhornetdesign.net/eleven-peppers-studio-identity-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://brownhornetdesign.net/falkorburg-cross-poster — 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://brownhornetdesign.net/illustration — 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://brownhornetdesign.net/jingle-mingle-holiday-party-identity-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://brownhornetdesign.net/monteverde-rowe-identity-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://brownhornetdesign.net/mount-vernon-business-center-identity-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://brownhornetdesign.net/new-day-campaign — 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://brownhornetdesign.net/poster-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://brownhornetdesign.net/slva-automotive-studio-identity-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://brownhornetdesign.net/the-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://brownhornetdesign.net/what-we-do — 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://brownhornetdesign.net/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.

notice Missing recommended security headers

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

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 1 occurrence(s)

Pages (showing 21 of 21)
URLStatusIndexableWordsIn-links
https://brownhornetdesign.net/about-me
brownhornetdesign -- for hire - About Me
200 yes 122 21
https://brownhornetdesign.net/contact
brownhornetdesign -- for hire - Contact
200 yes 64 21
https://brownhornetdesign.net/the-work
brownhornetdesign -- for hire - The Work
200 yes 55 21
https://brownhornetdesign.net/what-we-do
brownhornetdesign -- for hire
200 yes 323 21
https://brownhornetdesign.net/work
brownhornetdesign -- for hire - Notable Projects
200 yes 415 21
https://brownhornetdesign.net/bay-area-audiology-identity
brownhornetdesign -- for hire - Bay Area Audiology Identity
200 yes 47 1
https://brownhornetdesign.net/cajou-sweet-potato
brownhornetdesign -- for hire - Cajou Sweet Potato
200 yes 31 1
https://brownhornetdesign.net/continuous-brand-display
brownhornetdesign -- for hire - Continuous Brand Display
200 yes 31 1
https://brownhornetdesign.net/digital-fast-forward-web-development
brownhornetdesign -- for hire - Digital Fast Forward Web Development
200 yes 65 1
https://brownhornetdesign.net/dr-martin-luther-king-jr-national-memorial-project
brownhornetdesign -- for hire - Dr. Martin Luther King, Jr. National Memorial Project
200 yes 412 1
https://brownhornetdesign.net/eleven-peppers-studio-identity-development
brownhornetdesign -- for hire - Eleven Peppers Studio identity + Development
200 yes 52 1
https://brownhornetdesign.net/falkorburg-cross-poster
brownhornetdesign -- for hire - Falkorburg Cross Poster
200 yes 80 1
https://brownhornetdesign.net/jingle-mingle-holiday-party-identity-development
brownhornetdesign -- for hire - Jingle Mingle Holiday Party Identity + Development
200 yes 63 1
https://brownhornetdesign.net/monteverde-rowe-identity-development
brownhornetdesign -- for hire - MonteVerde Rowe Identity + Development
200 yes 498 1
https://brownhornetdesign.net/mount-vernon-business-center-identity-development
brownhornetdesign -- for hire - Mount Vernon Business Center Identity + Development
200 yes 339 1
https://brownhornetdesign.net/new-day-campaign
brownhornetdesign -- for hire - New Day Campaign
200 yes 179 1
https://brownhornetdesign.net/slva-automotive-studio-identity-development
brownhornetdesign -- for hire - SLVA | Automotive Studio Identity + Development
200 yes 289 1
https://brownhornetdesign.net/
brownhornetdesign -- for hire
200 yes 323 0
https://brownhornetdesign.net/brand
brownhornetdesign -- for hire - The Brand Identity
200 yes 451 0
https://brownhornetdesign.net/illustration
brownhornetdesign -- for hire - Illustration
200 yes 271 0
https://brownhornetdesign.net/poster-design
brownhornetdesign -- for hire - Poster Design
200 yes 217 0

Audit your own site — free

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

Scan your site →