Catalog / corosantostefano.ch
90

SEO audit for corosantostefano.ch

CORO SANTO STEFANO TESSERETE dal 1924

otherWordPress

Health 90/100 (excellent) · 48 pages crawled · generated 2026-08-26

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

Coro Santo Stefano Tesserete. Vieni a cantare con noi! Concerti. Chiesa Prepositurale Santo Stefano di Tesserete.

Screenshot of corosantostefano.ch
48
pages crawled
8
indexable pages
0
errors
14
warnings
131
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 95 0 8 51
Agent Readiness 99 0 2 9
Structured Data 99 0 2 8
Content 99 0 1 5
Images 99 0 1 3
Cache 100 0 0 1
Headings 100 0 0 8
Links 100 0 0 2
Meta Description 100 0 0 3
Security 100 0 0 16
Social 100 0 0 1
URL 100 0 0 24
Findings

Warnings (6 rules)

warning Control has no accessible name

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

warning Thin content (low word count)

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

warning Images missing alt text

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

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

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

warning BreadcrumbList present but structurally incomplete

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

  • https://corosantostefano.ch/wp/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

warning Schema describes content not visible on the page

Rule schema.hidden_content · Structured Data · 1 occurrence(s)

  • https://corosantostefano.ch/wp/interno/ — a schema name/headline ("Zona riservata ai coristi") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.

Notices (22 rules)

notice No llms.txt for AI agents

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

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 8 occurrence(s)

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

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

notice Low text-to-HTML ratio

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

notice Title tag and meta description are identical

Rule content.title_meta_same · Meta Description · 1 occurrence(s)

notice Multiple <h1> elements

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

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 2 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://corosantostefano.ch/wp/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/chi-siamo/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/contatti/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/cronache/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/interno/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/musica/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/nuovo-al-lac/ — the likely hero/LCP image (header2-small.jpg) 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://corosantostefano.ch/wp/rivista-di-lugano-2019/ — the likely hero/LCP image (header2-small.jpg) 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 · 1 occurrence(s)

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

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

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 1 occurrence(s)

notice Meta description too short

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

notice Missing Open Graph tags

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

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

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

  • https://corosantostefano.ch/wp/ — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/chi-siamo/ — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/contatti/ — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/cronache/ — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/interno/ — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/musica/ — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/nuovo-al-lac/ — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://corosantostefano.ch/wp/rivista-di-lugano-2019/ — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

notice Large HTML document

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

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

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

  • https://corosantostefano.ch/wp/ — 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://corosantostefano.ch/wp/chi-siamo/ — 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://corosantostefano.ch/wp/contatti/ — 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://corosantostefano.ch/wp/cronache/ — 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://corosantostefano.ch/wp/interno/ — 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://corosantostefano.ch/wp/musica/ — 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://corosantostefano.ch/wp/nuovo-al-lac/ — 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://corosantostefano.ch/wp/rivista-di-lugano-2019/ — 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 · 8 occurrence(s)

  • https://corosantostefano.ch/wp/ — 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://corosantostefano.ch/wp/chi-siamo/ — 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://corosantostefano.ch/wp/contatti/ — 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://corosantostefano.ch/wp/cronache/ — 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://corosantostefano.ch/wp/interno/ — 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://corosantostefano.ch/wp/musica/ — 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://corosantostefano.ch/wp/nuovo-al-lac/ — 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://corosantostefano.ch/wp/rivista-di-lugano-2019/ — 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 Deprecated schema type with no Google rich result

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

  • https://corosantostefano.ch/wp/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/chi-siamo/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/contatti/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/cronache/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/interno/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/musica/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/nuovo-al-lac/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://corosantostefano.ch/wp/rivista-di-lugano-2019/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice Missing recommended security headers

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

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

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

notice Underscores in URL path (prefer hyphens)

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

notice Uppercase letters in URL path

Rule url.uppercase · URL · 23 occurrence(s)

Pages (showing 48 of 48)
URLStatusIndexableWordsIn-links
https://corosantostefano.ch/wp/
CORO SANTO STEFANO TESSERETE dal 1924
200 yes 304 8
https://corosantostefano.ch/wp/chi-siamo/
Coro Santo Stefano Tesserete con Direttore Paolo Sala
200 yes 1623 8
https://corosantostefano.ch/wp/contatti/
Canta con noi | Coro Santo Stefano Tesserete
200 yes 296 8
https://corosantostefano.ch/wp/cronache/
Cronache - Coro Santo Stefano Tesserete
200 yes 299 8
https://corosantostefano.ch/wp/interno/
Zona riservata ai coristi
200 yes 181 8
https://corosantostefano.ch/wp/musica/
Musica - Coro Santo Stefano Tesserete
200 yes 352 8
https://corosantostefano.ch/wp/nuovo-al-lac/
Di nuovo al LAC con la "Nona di Beethoven" - Coro Santo Stefano Tesserete
200 yes 763 1
https://corosantostefano.ch/wp/rivista-di-lugano-2019/
Un vero inno alla gioia - Coro Santo Stefano Tesserete
200 yes 1116 1
https://corosantostefano.ch/files/LibrettoPetiteMesseSolennelleRossini.pdf 200 no 0 1
https://corosantostefano.ch/files/RaccontoSullaNascitaDiMisaCriolla.pdf 200 no 0 1
https://corosantostefano.ch/files/RequiemMozart.pdf 200 no 0 1
https://corosantostefano.ch/files/battute2022.pdf 200 no 0 1
https://corosantostefano.ch/files/battute2023.pdf 200 no 0 1
https://corosantostefano.ch/files/battute2024.pdf 200 no 0 1
https://corosantostefano.ch/files/battute_alfabeto.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache1997-2000WP.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2001MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2002MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2003MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2004MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2005MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2006MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2007MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2008.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2009MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2010MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2011.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2012.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2013MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2014MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2015MA.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2016.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2017.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2018.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2019.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2020.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2021.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2022.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2023.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2024.pdf 200 no 0 1
https://corosantostefano.ch/files/cronache2025.pdf 200 no 0 1
https://corosantostefano.ch/musiche/20150611.MeiringenFestaSvizzeraDiCanto%2811.06.2015%29.zip 200 no 0 1
https://corosantostefano.ch/musiche/20151206.TessereteConcertoNatale%2806.12.2015%29.zip 200 no 0 1
https://corosantostefano.ch/musiche/20161217.TessereteConcertoNatale%2817.12.2016%29.zip 200 no 0 1
https://corosantostefano.ch/musiche/20170513.DeMarziCoroValgenzana.zip 200 no 0 1
https://corosantostefano.ch/musiche/20170611.ConcertoPrimaveraCoroScuoleMedie.zip 200 no 0 1
https://corosantostefano.ch/musiche/20171217.ConcertoNatale%2817.12.2017%29.zip 200 no 0 1
https://corosantostefano.ch/musiche/2021.12.08.TessereteConcertoNatale.mp3 200 no 0 1

Audit your own site — free

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

Scan your site →