Catalog / chordsmen.ca
69

SEO audit for chordsmen.ca

Cloverdale Chordsmen

other

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

Download Markdown report (feed to ChatGPT / Claude / Cursor)
Screenshot of chordsmen.ca
50
pages crawled
44
indexable pages
0
errors
157
warnings
516
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 47 0 88 132
Meta Description 74 0 44 0
Duplicate 86 0 23 0
Agent Readiness 99 0 1 18
Images 99 0 1 45
Cache 100 0 0 44
Canonical 100 0 0 1
Content 100 0 0 5
Headings 100 0 0 41
Links 100 0 0 1
Security 100 0 0 88
Social 100 0 0 88
Structured Data 100 0 0 44
Titles 100 0 0 1
URL 100 0 0 8
Findings

Warnings (6 rules)

warning Control has no accessible name

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

warning Near-duplicate page content

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

warning Images missing alt text

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

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 44 occurrence(s)

  • https://www.chordsmen.ca/ — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=about — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=album&Category=1 — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=bookings — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=calendar — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=contact — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=director — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=evlist — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=history — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=home — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=honour — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=hsnewsletter — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=links — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=listen — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=membership — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=news — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=officers — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=ourmembers — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=pastevents — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=photos — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=quartets — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=sponsors — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=sponsorship — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169462 — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.chordsmen.ca/dbpage.php?pg=visit — the likely hero/LCP image (cloverdale_chordsmen.png) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

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

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

Notices (20 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

Rule cache.not_cacheable · Cache · 44 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 · 5 occurrence(s)

  • https://www.chordsmen.ca/dbpage.php?pg=calendar — 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://www.chordsmen.ca/dbpage.php?pg=evlist — this page reads as difficult (Flesch Reading Ease 48, 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.chordsmen.ca/dbpage.php?pg=officers — this page reads as difficult (Flesch Reading Ease 40, 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.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169460 — 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.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169644 — this page reads as difficult (Flesch Reading Ease 50, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Multiple <h1> elements

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

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 1 occurrence(s)

  • https://www.chordsmen.ca/dbpage.php?pg=about — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 44 occurrence(s)

notice Internal link has no anchor text / accessible name

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

notice Missing Open Graph tags

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

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

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

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

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

  • https://www.chordsmen.ca/ — 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.chordsmen.ca/dbpage.php?pg=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://www.chordsmen.ca/dbpage.php?pg=album&Category=1 — 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.chordsmen.ca/dbpage.php?pg=bookings — 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.chordsmen.ca/dbpage.php?pg=calendar — 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.chordsmen.ca/dbpage.php?pg=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://www.chordsmen.ca/dbpage.php?pg=director — 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.chordsmen.ca/dbpage.php?pg=evlist — 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.chordsmen.ca/dbpage.php?pg=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.chordsmen.ca/dbpage.php?pg=home — 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.chordsmen.ca/dbpage.php?pg=honour — 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.chordsmen.ca/dbpage.php?pg=hsnewsletter — 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.chordsmen.ca/dbpage.php?pg=links — 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.chordsmen.ca/dbpage.php?pg=listen — 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.chordsmen.ca/dbpage.php?pg=membership — 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.chordsmen.ca/dbpage.php?pg=news — 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.chordsmen.ca/dbpage.php?pg=officers — 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.chordsmen.ca/dbpage.php?pg=ourmembers — 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.chordsmen.ca/dbpage.php?pg=pastevents — 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.chordsmen.ca/dbpage.php?pg=photos — 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.chordsmen.ca/dbpage.php?pg=quartets — 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.chordsmen.ca/dbpage.php?pg=sponsors — 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.chordsmen.ca/dbpage.php?pg=sponsorship — 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.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169462 — 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.chordsmen.ca/dbpage.php?pg=visit — 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 · 44 occurrence(s)

  • https://www.chordsmen.ca/ — 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.chordsmen.ca/dbpage.php?pg=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://www.chordsmen.ca/dbpage.php?pg=album&Category=1 — 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.chordsmen.ca/dbpage.php?pg=bookings — 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.chordsmen.ca/dbpage.php?pg=calendar — 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.chordsmen.ca/dbpage.php?pg=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://www.chordsmen.ca/dbpage.php?pg=director — 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.chordsmen.ca/dbpage.php?pg=evlist — 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.chordsmen.ca/dbpage.php?pg=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.chordsmen.ca/dbpage.php?pg=home — 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.chordsmen.ca/dbpage.php?pg=honour — 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.chordsmen.ca/dbpage.php?pg=hsnewsletter — 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.chordsmen.ca/dbpage.php?pg=links — 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.chordsmen.ca/dbpage.php?pg=listen — 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.chordsmen.ca/dbpage.php?pg=membership — 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.chordsmen.ca/dbpage.php?pg=news — 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.chordsmen.ca/dbpage.php?pg=officers — 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.chordsmen.ca/dbpage.php?pg=ourmembers — 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.chordsmen.ca/dbpage.php?pg=pastevents — 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.chordsmen.ca/dbpage.php?pg=photos — 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.chordsmen.ca/dbpage.php?pg=quartets — 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.chordsmen.ca/dbpage.php?pg=sponsors — 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.chordsmen.ca/dbpage.php?pg=sponsorship — 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.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169462 — 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.chordsmen.ca/dbpage.php?pg=visit — 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 · 44 occurrence(s)

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

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

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

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.chordsmen.ca/
Cloverdale Chordsmen
200 yes 464 44
https://www.chordsmen.ca/dbpage.php?pg=about
Cloverdale Chordsmen - About Us
200 yes 581 44
https://www.chordsmen.ca/dbpage.php?pg=bookings
Cloverdale Chordsmen - Book Us!
200 yes 274 44
https://www.chordsmen.ca/dbpage.php?pg=calendar
Cloverdale Chordsmen Event Calendar
200 yes 298 44
https://www.chordsmen.ca/dbpage.php?pg=contact
Cloverdale Chordsmen Contact Points
200 yes 368 44
https://www.chordsmen.ca/dbpage.php?pg=director
Cloverdale Chordsmen - Musical Director
200 yes 492 44
https://www.chordsmen.ca/dbpage.php?pg=evlist
Cloverdale Chordsmen Upcoming Events
200 yes 271 44
https://www.chordsmen.ca/dbpage.php?pg=history
Cloverdale Chordsmen History
200 yes 266 44
https://www.chordsmen.ca/dbpage.php?pg=home
Cloverdale Chordsmen
200 yes 464 44
https://www.chordsmen.ca/dbpage.php?pg=honour
Cloverdale Chordsmen Honour Roll
200 yes 275 44
https://www.chordsmen.ca/dbpage.php?pg=hsnewsletter
Cloverdale Chordsmen Newsletter
200 yes 337 44
https://www.chordsmen.ca/dbpage.php?pg=links
Cloverdale Chordsmen Links
200 yes 274 44
https://www.chordsmen.ca/dbpage.php?pg=listen
Cloverdale Chordsmen - Have a Listen!
200 yes 296 44
https://www.chordsmen.ca/dbpage.php?pg=membership
Cloverdale Chordsmen - Membership
200 yes 466 44
https://www.chordsmen.ca/dbpage.php?pg=membersonly
Cloverdale Chordsmen Members-Only Area
200 yes 357 44
https://www.chordsmen.ca/dbpage.php?pg=merchandise
Cloverdale Chordsmen Merchandise
200 yes 269 44
https://www.chordsmen.ca/dbpage.php?pg=news
Cloverdale Chordsmen News
200 yes 270 44
https://www.chordsmen.ca/dbpage.php?pg=officers
Cloverdale Chordsmen Office Bearers
200 yes 372 44
https://www.chordsmen.ca/dbpage.php?pg=ourmembers
Cloverdale Chordsmen Members
200 yes 337 44
https://www.chordsmen.ca/dbpage.php?pg=pastevents
Cloverdale Chordsmen - Past Performances
200 yes 269 44
https://www.chordsmen.ca/dbpage.php?pg=photos
Cloverdale Chordsmen Photo Galleries
200 yes 303 44
https://www.chordsmen.ca/dbpage.php?pg=quartets
Cloverdale Chordsmen Quartets
200 yes 322 44
https://www.chordsmen.ca/dbpage.php?pg=sponsors
Cloverdale Chordsmen Sponsors
200 yes 278 44
https://www.chordsmen.ca/dbpage.php?pg=sponsorship
Cloverdale Chordsmen Sponsorship
200 yes 326 44
https://www.chordsmen.ca/dbpage.php?pg=testimonials
Cloverdale Chordsmen Testimonials
200 yes 278 44
https://www.chordsmen.ca/dbpage.php?pg=visit
Cloverdale Chordsmen - Visit a Rehearsal
200 yes 409 44
https://www.chordsmen.ca/dbpage.php?pg=webprivacy
Cloverdale Chordsmen Privacy Policy
200 yes 1428 44
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169460
Cloverdale Chordsmen - Keith Richmond
200 yes 253 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169462
Cloverdale Chordsmen - Garth Richmond
200 yes 252 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169581
Cloverdale Chordsmen - Bruce Kleeberger
200 yes 246 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169634
Cloverdale Chordsmen - Ian Hern
200 yes 241 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169638
Cloverdale Chordsmen - Kyler Hoffman
200 yes 241 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169641
Cloverdale Chordsmen - Richard Giesbrecht
200 yes 240 2
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169644
Cloverdale Chordsmen - Steve Thompson
200 yes 240 2
https://www.chordsmen.ca/dbpage.php?pg=album&Category=1
Cloverdale Chordsmen 2025 11 30 Cloverdale Santa Parade of Lights Photos
200 yes 263 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=141583
Cloverdale Chordsmen - Paul Beckett
200 yes 248 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169632
Cloverdale Chordsmen - Alex Kerry
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169636
Cloverdale Chordsmen - Joel Avery
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169637
Cloverdale Chordsmen - Joey Driedger
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169640
Cloverdale Chordsmen - Patrick McGeachan
200 yes 245 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169642
Cloverdale Chordsmen - Roger Bose
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169643
Cloverdale Chordsmen - Sean Hylands
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=169647
Cloverdale Chordsmen - Matt Lacey
200 yes 236 1
https://www.chordsmen.ca/dbpage.php?pg=view&dbase=members&id=9963
Cloverdale Chordsmen - Jim Gibson
200 yes 252 1
https://www.chordsmen.ca/dbaction.php?action=rss&dbase=events 200 no 0 44
https://www.chordsmen.ca/dbaction.php?action=rss&dbase=uploads 200 no 0 44
https://www.chordsmen.ca/photos/Bruce_Kleeberger_17673161226211.jpg 200 no 0 2
https://www.chordsmen.ca/photos/Garth_Richmond_17673154430821.jpg 200 no 0 2
https://www.chordsmen.ca/photos/Keith_Richmond_17655082053873.png 200 no 0 2
https://www.chordsmen.ca/photos/Richard_Giesbrecht_17688848468092.jpg 200 no 0 2

Audit your own site — free

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

Scan your site →