Catalog / richcamposano.com
31

SEO audit for richcamposano.com

Rich Camposano | UX Designer

otherWordPress

Health 31/100 (poor) · 50 pages crawled · generated 2026-08-26

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

I am a UX/UI Designer and my goal is to make the world a better place through seamless user experience.

Screenshot of richcamposano.com
50
pages crawled
33
indexable pages
37
errors
157
warnings
300
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Security 30 35 0 35
Links 94 1 7 3
Crawlability 97 1 1 15
Structured Data 79 0 35 34
Performance 80 0 34 137
Content 81 0 32 39
Agent Readiness 84 0 26 4
Meta Description 93 0 12 11
Duplicate 96 0 6 2
Indexability 99 0 2 0
Budget 99 0 1 0
Sitemap 99 0 1 1
Canonical 100 0 0 1
Social 100 0 0 17
URL 100 0 0 1
Findings

Errors (3 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 1 occurrence(s)

error Mixed content on HTTPS page

Rule security.mixed_content · Security · 35 occurrence(s)

error Client error (4xx) response

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

Warnings (12 rules)

warning Control has no accessible name

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

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

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

  • https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/ — this noindex page has 2 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://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/, https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/gootloader.html.

warning Thin content (low word count)

Rule content.thin · Content · 32 occurrence(s)

warning Duplicate <title> across pages

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

warning Page is noindex

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

warning Internal link points to a redirect

Rule links.redirect_target · Links · 7 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 34 occurrence(s)

warning BreadcrumbList present but structurally incomplete

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

  • https://richcamposano.com/ — 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://richcamposano.com/author/jurichanne_d8bkqo/ — 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 Rich-result schema missing required properties

Rule schema.invalid · Structured Data · 33 occurrence(s)

warning Non-indexable URL listed in sitemap

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

warning Soft 404 (200 OK but content signals not found)

Rule status.soft_404 · Crawlability · 1 occurrence(s)

Notices (20 rules)

notice Heading levels skip a level

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

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 Low text-to-HTML ratio

Rule content.low_ratio · Content · 33 occurrence(s)

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

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

  • https://richcamposano.com/ — this page reads as difficult (Flesch Reading Ease 45, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://richcamposano.com/about/ — this page reads as very difficult (Flesch Reading Ease 21, 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://richcamposano.com/author/jurichanne_d8bkqo/ — this page reads as difficult (Flesch Reading Ease 45, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://richcamposano.com/jcamp-portfolio/ — 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://richcamposano.com/jcamp-portfolio/page/2/ — 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://richcamposano.com/portfolio/colliers-holiday-2018/ — 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.

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • https://richcamposano.com/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/about/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/author/jurichanne_d8bkqo/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/jcamp-portfolio/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/jcamp-portfolio/page/2/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/auto-dealerships-coming-soon-collection/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/colliers-2016-404-page/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/colliers-automotive-group-landing/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/colliers-benefits-2/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/colliers-benefits/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/colliers-holiday-greeting-2016/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/concept-ir-landing/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/concept-property-search/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/concept-story-maps/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/dealer-dashboard/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/global-occupier-guide/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/holiday-2018/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/klein-honda-campaign-logo/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/klein-honda-referral-campaign/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/pgi-data-dealer-dashboard/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/proptech-accelerator/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/service-type-icons/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/portfolio/sunset-chevy-service-promo-campaign/ — the likely hero/LCP image (cropped-logo-sm.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://richcamposano.com/project-type/preview/ — the likely hero/LCP image (cropped-logo-sm.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 Internal link has no anchor text / accessible name

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

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

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

notice Large HTML document

Rule perf.large_html · Performance · 1 occurrence(s)

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

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

  • https://richcamposano.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/ — 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://richcamposano.com/about/ — 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://richcamposano.com/author/jurichanne_d8bkqo/ — 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://richcamposano.com/jcamp-portfolio/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://richcamposano.com/jcamp-portfolio/page/2/ — 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://richcamposano.com/portfolio/auto-dealerships-coming-soon-collection/ — 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://richcamposano.com/portfolio/colliers-2016-404-page/ — 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://richcamposano.com/portfolio/colliers-automotive-group-landing/ — 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://richcamposano.com/portfolio/colliers-benefits-2/ — 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://richcamposano.com/portfolio/colliers-benefits/ — 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://richcamposano.com/portfolio/colliers-holiday-greeting-2016/ — 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://richcamposano.com/portfolio/concept-ir-landing/ — 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://richcamposano.com/portfolio/concept-property-search/ — 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://richcamposano.com/portfolio/concept-story-maps/ — 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://richcamposano.com/portfolio/dealer-dashboard/ — 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://richcamposano.com/portfolio/global-occupier-guide/ — 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://richcamposano.com/portfolio/holiday-2018/ — 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://richcamposano.com/portfolio/klein-honda-campaign-logo/ — 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://richcamposano.com/portfolio/klein-honda-referral-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://richcamposano.com/portfolio/pgi-data-dealer-dashboard/ — 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://richcamposano.com/portfolio/proptech-accelerator/ — 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://richcamposano.com/portfolio/service-type-icons/ — 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://richcamposano.com/portfolio/sunset-chevy-service-promo-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://richcamposano.com/project-type/preview/ — 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 · 34 occurrence(s)

  • https://richcamposano.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/ — 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://richcamposano.com/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://richcamposano.com/author/jurichanne_d8bkqo/ — 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://richcamposano.com/jcamp-portfolio/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://richcamposano.com/jcamp-portfolio/page/2/ — 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://richcamposano.com/portfolio/auto-dealerships-coming-soon-collection/ — 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://richcamposano.com/portfolio/colliers-2016-404-page/ — 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://richcamposano.com/portfolio/colliers-automotive-group-landing/ — 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://richcamposano.com/portfolio/colliers-benefits-2/ — 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://richcamposano.com/portfolio/colliers-benefits/ — 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://richcamposano.com/portfolio/colliers-holiday-greeting-2016/ — 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://richcamposano.com/portfolio/concept-ir-landing/ — 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://richcamposano.com/portfolio/concept-property-search/ — 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://richcamposano.com/portfolio/concept-story-maps/ — 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://richcamposano.com/portfolio/dealer-dashboard/ — 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://richcamposano.com/portfolio/global-occupier-guide/ — 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://richcamposano.com/portfolio/holiday-2018/ — 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://richcamposano.com/portfolio/klein-honda-campaign-logo/ — 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://richcamposano.com/portfolio/klein-honda-referral-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://richcamposano.com/portfolio/pgi-data-dealer-dashboard/ — 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://richcamposano.com/portfolio/proptech-accelerator/ — 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://richcamposano.com/portfolio/service-type-icons/ — 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://richcamposano.com/portfolio/sunset-chevy-service-promo-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://richcamposano.com/project-type/preview/ — 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 URL redirects to another URL

Rule redirect.single · Crawlability · 15 occurrence(s)

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 · 33 occurrence(s)

notice Missing recommended security headers

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

notice Indexable page not listed in sitemap

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

notice Underscores in URL path (prefer hyphens)

Rule url.underscores · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://richcamposano.com/
Rich Camposano | UX Designer
200 yes 129 35
https://richcamposano.com/about/
My name is Rich Camposano – Rich Camposano
200 yes 277 35
https://richcamposano.com/project-type/preview/
Preview Archives – Rich Camposano
200 yes 57 10
https://richcamposano.com/portfolio/colliers-benefits/
Colliers Benefits – Rich Camposano
200 yes 34 1
https://richcamposano.com/portfolio/concept-ir-landing/
Concept - IR Landing – Rich Camposano
200 yes 36 1
https://richcamposano.com/portfolio/concept-property-search/
Concept - Property Search – Rich Camposano
200 yes 36 1
https://richcamposano.com/portfolio/concept-story-maps/
Concept - Story Maps – Rich Camposano
200 yes 36 1
https://richcamposano.com/portfolio/dealer-dashboard/
Dealer Dashboard – Rich Camposano
200 yes 34 1
https://richcamposano.com/portfolio/global-occupier-guide/
Global Occupier Guide – Rich Camposano
200 yes 35 1
https://richcamposano.com/portfolio/holiday-2018/
Holiday 2018 – Rich Camposano
200 yes 34 1
https://richcamposano.com/portfolio/proptech-accelerator/
Proptech Accelerator – Rich Camposano
200 yes 34 1
https://richcamposano.com/portfolio/service-type-icons/
Service Type Icons – Rich Camposano
200 yes 35 1
https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/
Gootloader infection cleaned up – Rich Camposano
200 no 492 2
https://richcamposano.com/author/jurichanne_d8bkqo/
Rich Camposano | UX Designer
200 yes 129 1
https://richcamposano.com/jcamp-portfolio/page/2/
Private Portfolio – Rich Camposano
200 yes 145 1
https://richcamposano.com/portfolio/colliers-automotive-group-landing/
Colliers Automotive Group Landing – Rich Camposano
200 yes 97 1
https://richcamposano.com/portfolio/colliers-holiday-2018/
Colliers Holiday 2018 – Rich Camposano
200 yes 111 1
https://richcamposano.com/portfolio/proptech-accelerator-2/
Proptech Accelerator – Rich Camposano
200 yes 71 1
https://richcamposano.com/jcamp-portfolio/
Private Portfolio – Rich Camposano
200 yes 145 1
https://richcamposano.com/portfolio/10-emerging-markets-2017/
10 Emerging Markets 2017 – Rich Camposano
200 yes 98 1
https://richcamposano.com/portfolio/2017-big-box-report/
2017 Big Box Report – Rich Camposano
200 yes 59 1
https://richcamposano.com/portfolio/colliers-2016-404-page/
Colliers 2016 – 404 Page – Rich Camposano
200 yes 59 1
https://richcamposano.com/portfolio/colliers-360/
Colliers 360 – Rich Camposano
200 yes 58 1
https://richcamposano.com/portfolio/colliers-benefits-2/
Colliers Benefits – Rich Camposano
200 yes 50 1
https://richcamposano.com/portfolio/colliers-holiday-greeting-2016/
Colliers Holiday Greeting 2016 – Rich Camposano
200 yes 91 1
https://richcamposano.com/portfolio/colliers-seattle-holiday-party-assets-2017/
Colliers Seattle Holiday Party Assets - 2017 – Rich Camposano
200 yes 61 1
https://richcamposano.com/portfolio/colliers-timeline-2016/
Colliers Timeline 2016 – Rich Camposano
200 yes 44 1
https://richcamposano.com/portfolio/colliers-usa-foundation/
Colliers USA Foundation – Rich Camposano
200 yes 36 1
https://richcamposano.com/portfolio/auto-dealerships-coming-soon-collection/
Auto Dealerships - Coming Soon Collection – Rich Camposano
200 yes 57 0
https://richcamposano.com/portfolio/klein-honda-campaign-logo/
Klein Honda Campaign Logo – Rich Camposano
200 yes 37 0
https://richcamposano.com/portfolio/klein-honda-referral-campaign/
Klein Honda Referral Campaign – Rich Camposano
200 yes 37 0
https://richcamposano.com/portfolio/old-colliers-com-global-home-page-concepts/
Old Colliers.com Global Home Page Concepts – Rich Camposano
200 yes 136 0
https://richcamposano.com/portfolio/pgi-data-dealer-dashboard/
PGI Data Dealer Dashboard – Rich Camposano
200 yes 87 0
https://richcamposano.com/portfolio/sunset-chevy-service-promo-campaign/
Sunset Chevy Service Promo Campaign – Rich Camposano
200 yes 47 0
https://richcamposano.com/2022/02/27/gootloader-infection-cleaned-up/gootloader.html
Page not found – Rich Camposano
404 no 107 1
https://richcamposano.com/concept/ 200 no 0 1
https://richcamposano.com/cropped-logo-png/ 200 no 0 0
https://richcamposano.com/cropped-logo-sm-png-2/ 200 no 0 0
https://richcamposano.com/cropped-logo-sm-png/ 200 no 0 0
https://richcamposano.com/custom1/ 200 no 0 1
https://richcamposano.com/custom2/ 200 no 0 1
https://richcamposano.com/default/ 200 no 0 1
https://richcamposano.com/logo-2/ 200 no 0 0
https://richcamposano.com/logo-sm-2/ 200 no 0 0
https://richcamposano.com/logo-sm/ 200 no 0 0
https://richcamposano.com/logo/ 200 no 0 0
https://richcamposano.com/portfolio/auto-dealerships-coming-soon-collection/kuniwest-comingsoon/ 200 no 0 1
https://richcamposano.com/summertheme/ 200 no 0 1
https://richcamposano.com/whalecat-png/ 200 no 0 0
https://richcamposano.com/wp-content/uploads/2024/06/jcamposano2024.pdf 200 no 0 35

Audit your own site — free

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

Scan your site →