Catalog / johnstonandrhodes.com
62

SEO audit for johnstonandrhodes.com

Johnston & Rhodes - Since 1900

other

Health 62/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)
Screenshot of johnstonandrhodes.com
50
pages crawled
48
indexable pages
3
errors
129
warnings
548
notices
0
orphan pages
2
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 92 2 6 14
Crawlability 97 1 2 3
Performance 71 0 48 192
Agent Readiness 86 0 23 22
Meta Description 87 0 22 3
Duplicate 90 0 16 2
Content 96 0 7 46
Structured Data 98 0 4 51
Indexability 99 0 1 0
Cache 100 0 0 48
Headings 100 0 0 46
Images 100 0 0 48
Security 100 0 0 49
Social 100 0 0 24
Findings

Errors (2 rules)

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

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

error Client error (4xx) response

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

Warnings (10 rules)

warning Control has no accessible name

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

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Page is noindex

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

warning Internal link points to a redirect

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

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

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

warning Redirect chain (multiple hops)

Rule redirect.chain · Crawlability · 2 occurrence(s)

warning Product schema missing required or recommended properties

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

  • https://www.johnstonandrhodes.com/products/natural-cleft-pattern/ — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, aggregateRating, review), which enrich the result.
  • https://www.johnstonandrhodes.com/products/natural-cleft-slabs/ — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, aggregateRating, review), which enrich the result.
  • https://www.johnstonandrhodes.com/products/thermal-pattern/ — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, aggregateRating, review), which enrich the result.
  • https://www.johnstonandrhodes.com/products/thermal-slabs/ — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, aggregateRating, review), which enrich the result.

Notices (18 rules)

notice Heading levels skip a level

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

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

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

notice Low text-to-HTML ratio

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

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

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

  • https://www.johnstonandrhodes.com/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/accessibility/ — this page reads as very difficult (Flesch Reading Ease 15, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/contact-us/ — this page reads as very difficult (Flesch Reading Ease 5, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/dealer-locator/ — this page reads as very difficult (Flesch Reading Ease -15, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/elk-brook-academy/ — this page reads as very difficult (Flesch Reading Ease 19, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/elk-brook-dealer-program/ — 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://www.johnstonandrhodes.com/for-architects/ — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/hello-world/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/inquire/ — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/interactive-tour/ — this page reads as very difficult (Flesch Reading Ease -6, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/mills/ — this page reads as very difficult (Flesch Reading Ease 5, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/our-history/ — this page reads as difficult (Flesch Reading Ease 44, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/our-people/ — this page reads as very difficult (Flesch Reading Ease -53, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/products/ — this page reads as very difficult (Flesch Reading Ease 15, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/products/natural-cleft-slabs/ — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/projects/ — this page reads as difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/projects/the-supreme-court-building/ — this page reads as difficult (Flesch Reading Ease 32, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/projects/villanova-university/ — this page reads as very difficult (Flesch Reading Ease 8, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/quarries/ — this page reads as very difficult (Flesch Reading Ease -32, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/quarries/lake-como-quarry/ — 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://www.johnstonandrhodes.com/quote — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/request-quote — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.johnstonandrhodes.com/schedule-a-tour/ — 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://www.johnstonandrhodes.com/sustainability-commitment/ — 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://www.johnstonandrhodes.com/the-elk-brook-standard/ — 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.

notice Duplicate meta description across pages

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

notice Multiple <h1> elements

Rule h1.multiple · Headings · 46 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://www.johnstonandrhodes.com/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/accessibility/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/bluestone-story/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/dealer-locator/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/elk-brook-academy/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/elk-brook-dealer-program/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/for-architects/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/hello-world/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/inquire/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/interactive-tour/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/mills/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/our-history/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/our-people/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/privacy-policy/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/products/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/products/natural-cleft-slabs/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/projects/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/projects/villanova-university/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/quarries/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/quarries/lake-como-quarry/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/request-quote — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/schedule-a-tour/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/sustainability-commitment/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/the-elk-brook-standard/ — the likely hero/LCP image (logo-elk.svg) 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://www.johnstonandrhodes.com/the-story-of-bluestone/ — the likely hero/LCP image (logo-elk.svg) 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 · 48 occurrence(s)

notice Internal link has no anchor text / accessible name

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

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 3 occurrence(s)

notice Missing Open Graph tags

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

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

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

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

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

  • https://www.johnstonandrhodes.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/accessibility/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/bluestone-story/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/dealer-locator/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/elk-brook-academy/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/elk-brook-dealer-program/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/for-architects/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/hello-world/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/inquire/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/interactive-tour/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/mills/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/our-history/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/our-people/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/privacy-policy/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/products/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/products/natural-cleft-slabs/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/projects/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/projects/villanova-university/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/quarries/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/quarries/lake-como-quarry/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/request-quote — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/schedule-a-tour/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/sustainability-commitment/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/the-elk-brook-standard/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.johnstonandrhodes.com/the-story-of-bluestone/ — 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 · 48 occurrence(s)

  • https://www.johnstonandrhodes.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/accessibility/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/bluestone-story/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/dealer-locator/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/elk-brook-academy/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/elk-brook-dealer-program/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/for-architects/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/hello-world/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/inquire/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/interactive-tour/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/mills/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/our-history/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/our-people/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/privacy-policy/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/products/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/products/natural-cleft-slabs/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/projects/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/projects/villanova-university/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/quarries/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/quarries/lake-como-quarry/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/request-quote — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/schedule-a-tour/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/sustainability-commitment/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/the-elk-brook-standard/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.johnstonandrhodes.com/the-story-of-bluestone/ — 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 · 3 occurrence(s)

notice Deep page has no BreadcrumbList structured data

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

notice Deprecated schema type with no Google rich result

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

notice Missing recommended security headers

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.johnstonandrhodes.com/
Johnston & Rhodes - Since 1900
200 yes 411 49
https://www.johnstonandrhodes.com/accessibility/
Accessibility - Johnston & Rhodes
200 yes 477 49
https://www.johnstonandrhodes.com/dealer-locator/
Dealer Locator - Johnston & Rhodes
200 yes 140 49
https://www.johnstonandrhodes.com/elk-brook-academy/
Elk Brook® Academy - Johnston & Rhodes
200 yes 267 49
https://www.johnstonandrhodes.com/elk-brook-dealer-program/
Elk Brook Authorized Dealer Program - Johnston & Rhodes
200 yes 390 49
https://www.johnstonandrhodes.com/for-architects/
For Architects - Johnston & Rhodes
200 yes 392 49
https://www.johnstonandrhodes.com/inquire/
Inquire - Johnston & Rhodes
200 yes 219 49
https://www.johnstonandrhodes.com/interactive-tour/
The Mill: An Interactive Tour - Johnston & Rhodes
200 yes 211 49
https://www.johnstonandrhodes.com/mills/
Mills - Johnston & Rhodes
200 yes 174 49
https://www.johnstonandrhodes.com/our-history/
Our History - Johnston & Rhodes
200 yes 991 49
https://www.johnstonandrhodes.com/our-people/
Our People - Johnston & Rhodes
200 yes 197 49
https://www.johnstonandrhodes.com/privacy-policy/
Privacy Policy - Johnston & Rhodes
200 yes 766 49
https://www.johnstonandrhodes.com/products/
Products - Johnston & Rhodes
200 yes 362 49
https://www.johnstonandrhodes.com/projects/
Signature Projects - Johnston & Rhodes
200 yes 380 49
https://www.johnstonandrhodes.com/quarries/
Quarries - Johnston & Rhodes
200 yes 182 49
https://www.johnstonandrhodes.com/schedule-a-tour/
Schedule a Tour - Johnston & Rhodes
200 yes 229 49
https://www.johnstonandrhodes.com/sustainability-commitment/
Our Sustainability Commitment - Johnston & Rhodes
200 yes 715 49
https://www.johnstonandrhodes.com/the-elk-brook-standard/
The Elk Brook® Standard - Johnston & Rhodes
200 yes 716 49
https://www.johnstonandrhodes.com/the-story-of-bluestone/
The Story of Bluestone - Johnston & Rhodes
200 yes 885 49
https://www.johnstonandrhodes.com/products/thermal-pattern/
Thermal Pattern - Johnston & Rhodes
200 yes 301 12
https://www.johnstonandrhodes.com/products/natural-cleft-pattern/
Natural Cleft Pattern - Johnston & Rhodes
200 yes 311 8
https://www.johnstonandrhodes.com/request-quote
Inquire - Johnston & Rhodes
200 yes 219 2
https://www.johnstonandrhodes.com/quarries/fumira-sheetz-quarry/
Elk Brook FUZ - Johnston & Rhodes
200 yes 309 3
https://www.johnstonandrhodes.com/quarries/lake-como-quarry/
Elk Brook LAO - Johnston & Rhodes
200 yes 310 3
https://www.johnstonandrhodes.com/bluestone-story/
The Story of Bluestone - Johnston & Rhodes
200 yes 885 2
https://www.johnstonandrhodes.com/contact-us/
Mills - Johnston & Rhodes
200 yes 174 1
https://www.johnstonandrhodes.com/quote
Inquire - Johnston & Rhodes
200 yes 219 1
https://www.johnstonandrhodes.com/quarries/shaffer-quarry/
Elk Brook SHR - Johnston & Rhodes
200 yes 302 2
https://www.johnstonandrhodes.com/quarries/shinhopple-quarry/
Elk Brook SHE - Johnston & Rhodes
200 yes 430 2
https://www.johnstonandrhodes.com/quarries/baxter-quarry/
Elk Brook BAR - Johnston & Rhodes
200 yes 413 2
https://www.johnstonandrhodes.com/quarries/long-eddy-quarry/
Elk Brook LOY - Johnston & Rhodes
200 yes 309 2
https://www.johnstonandrhodes.com/products/natural-cleft-slabs/
Natural Cleft Slabs - Johnston & Rhodes
200 yes 285 1
https://www.johnstonandrhodes.com/products/thermal-slabs/
Thermal Slabs - Johnston & Rhodes
200 yes 281 1
https://www.johnstonandrhodes.com/projects/lew-beach-residence/
Lew Beach Residence - Johnston & Rhodes
200 yes 197 3
https://www.johnstonandrhodes.com/projects/lightning-tree-farm/
Lightning Tree Farm - Johnston & Rhodes
200 yes 243 3
https://www.johnstonandrhodes.com/projects/hancock-school/
Hancock School - Johnston & Rhodes
200 yes 231 3
https://www.johnstonandrhodes.com/projects/ursinus-college/
Ursinus College - Johnston & Rhodes
200 yes 231 3
https://www.johnstonandrhodes.com/projects/liberty-walls/
Liberty Walls - Johnston & Rhodes
200 yes 192 3
https://www.johnstonandrhodes.com/projects/navy-pier/
Navy Pier - Johnston & Rhodes
200 yes 318 3
https://www.johnstonandrhodes.com/projects/university-of-pennsylvania/
University of Pennsylvania - Johnston & Rhodes
200 yes 236 3
https://www.johnstonandrhodes.com/projects/pinelawn-memorial-park/
Pinelawn Memorial Park - Johnston & Rhodes
200 yes 274 3
https://www.johnstonandrhodes.com/projects/the-supreme-court-building/
The Supreme Court Building - Johnston & Rhodes
200 yes 243 3
https://www.johnstonandrhodes.com/projects/sullivan-county-national-bank/
Sullivan County National Bank - Johnston & Rhodes
200 yes 240 3
https://www.johnstonandrhodes.com/projects/rockefeller-plaza/
Rockefeller Plaza - Johnston & Rhodes
200 yes 305 3
https://www.johnstonandrhodes.com/projects/ludlow-residence/
The Ludlow Residence - Johnston & Rhodes
200 yes 742 3
https://www.johnstonandrhodes.com/projects/bethel-woods-center-for-the-arts/
Bethel Woods Center for the Arts - Johnston & Rhodes
200 yes 282 2
https://www.johnstonandrhodes.com/projects/villanova-university/
Villanova University - Johnston & Rhodes
200 yes 236 2
https://www.johnstonandrhodes.com/hello-world/
Johnston & Rhodes - Since 1900
200 yes 411 0
https://www.johnstonandrhodes.com/contact
Page not found - Johnston & Rhodes
404 no 148 2
https://www.johnstonandrhodes.com/wp-content/uploads/2026/03/quarry-testing.pdf 200 no 0 6

Audit your own site — free

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

Scan your site →