SEO audit for frottis.org
Les Frottis de l'espace | Frottis de l'espace
Health 85/100 (good) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)> SInce 2005 "Copyleft attitude"Une musique radicale, un chant brut, des messages subtils, une énergie indéniable, et du son qui te colle au mur.Et de la musique LIBRE.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Duplicate | 90 | 0 | 16 | 6 |
| Structured Data | 92 | 0 | 14 | 1 |
| Content | 94 | 0 | 10 | 10 |
| Meta Description | 95 | 0 | 8 | 7 |
| Images | 96 | 0 | 7 | 15 |
| Agent Readiness | 99 | 0 | 2 | 1 |
| Headings | 99 | 0 | 1 | 0 |
| Cache | 100 | 0 | 0 | 15 |
| Links | 100 | 0 | 0 | 2 |
| Performance | 100 | 0 | 0 | 58 |
| Security | 100 | 0 | 0 | 30 |
| Sitemap | 100 | 0 | 0 | 7 |
| Social | 100 | 0 | 0 | 15 |
| URL | 100 | 0 | 0 | 64 |
Warnings (8 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 2 occurrence(s)
- https://www.frottis.org/index.php/presse — 7 button/link(s) with no text or aria-label — an agent can't target them
- https://www.frottis.org/presse — 7 button/link(s) with no text or aria-label — an agent can't target them
warning Thin content (low word count)
Rule content.thin · Content · 10 occurrence(s)
- https://www.frottis.org/ — 104 words
- https://www.frottis.org/administration — 34 words
- https://www.frottis.org/contact — 41 words
- https://www.frottis.org/ecouter — 58 words
- https://www.frottis.org/index.php/contact — 41 words
- https://www.frottis.org/index.php/ecouter — 58 words
- https://www.frottis.org/index.php/merch — 33 words
- https://www.frottis.org/index.php/presse — 33 words
- https://www.frottis.org/merch — 33 words
- https://www.frottis.org/presse — 33 words
warning Duplicate page content
Rule duplicate.content · Duplicate · 4 occurrence(s)
- https://www.frottis.org/bio — content shared by 2 pages: https://www.frottis.org/index.php/bio
- https://www.frottis.org/concerts — content shared by 2 pages: https://www.frottis.org/index.php/concerts
- https://www.frottis.org/index.php/bio — content shared by 2 pages: https://www.frottis.org/bio
- https://www.frottis.org/index.php/concerts — content shared by 2 pages: https://www.frottis.org/concerts
warning Duplicate <title> across pages
Rule duplicate.title · Duplicate · 12 occurrence(s)
- https://www.frottis.org/bio — title shared by 2 pages: https://www.frottis.org/index.php/bio
- https://www.frottis.org/concerts — title shared by 2 pages: https://www.frottis.org/index.php/concerts
- https://www.frottis.org/contact — title shared by 2 pages: https://www.frottis.org/index.php/contact
- https://www.frottis.org/ecouter — title shared by 2 pages: https://www.frottis.org/index.php/ecouter
- https://www.frottis.org/index.php/bio — title shared by 2 pages: https://www.frottis.org/bio
- https://www.frottis.org/index.php/concerts — title shared by 2 pages: https://www.frottis.org/concerts
- https://www.frottis.org/index.php/contact — title shared by 2 pages: https://www.frottis.org/contact
- https://www.frottis.org/index.php/ecouter — title shared by 2 pages: https://www.frottis.org/ecouter
- https://www.frottis.org/index.php/merch — title shared by 2 pages: https://www.frottis.org/merch
- https://www.frottis.org/index.php/presse — title shared by 2 pages: https://www.frottis.org/presse
- https://www.frottis.org/merch — title shared by 2 pages: https://www.frottis.org/index.php/merch
- https://www.frottis.org/presse — title shared by 2 pages: https://www.frottis.org/index.php/presse
warning Missing <h1>
Rule h1.missing · Headings · 1 occurrence(s)
warning Images missing alt text
Rule images.missing_alt · Images · 7 occurrence(s)
- https://www.frottis.org/ — 3 of 6 images missing alt
- https://www.frottis.org/bio — 1 of 7 images missing alt
- https://www.frottis.org/concerts — 85 of 87 images missing alt
- https://www.frottis.org/ecouter — 1 of 8 images missing alt
- https://www.frottis.org/index.php/bio — 1 of 7 images missing alt
- https://www.frottis.org/index.php/concerts — 85 of 87 images missing alt
- https://www.frottis.org/index.php/ecouter — 1 of 8 images missing alt
warning Missing meta description
Rule meta_desc.missing · Meta Description · 8 occurrence(s)
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 14 occurrence(s)
- https://www.frottis.org/administration — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/bio — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/concerts — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/contact — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/ecouter — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/bio — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/concerts — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/contact — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/ecouter — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/merch — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/index.php/presse — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/mentions-legales — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/merch — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
- https://www.frottis.org/presse — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
Notices (20 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://www.frottis.org/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 15 occurrence(s)
- https://www.frottis.org/ — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/administration — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/bio — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/concerts — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/contact — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/ecouter — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/bio — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/concerts — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/contact — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/ecouter — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/merch — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/index.php/presse — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/mentions-legales — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/merch — Cache-Control: must-revalidate, no-cache, private
- https://www.frottis.org/presse — Cache-Control: must-revalidate, no-cache, private
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 10 occurrence(s)
- https://www.frottis.org/ — 4.6%
- https://www.frottis.org/administration — 2.8%
- https://www.frottis.org/contact — 2.2%
- https://www.frottis.org/ecouter — 2.8%
- https://www.frottis.org/index.php/contact — 2.1%
- https://www.frottis.org/index.php/ecouter — 2.8%
- https://www.frottis.org/index.php/merch — 2.5%
- https://www.frottis.org/index.php/presse — 2.0%
- https://www.frottis.org/merch — 2.5%
- https://www.frottis.org/presse — 2.0%
notice Duplicate meta description across pages
Rule duplicate.meta_desc · Duplicate · 6 occurrence(s)
- https://www.frottis.org/bio — meta description shared by 2 pages: https://www.frottis.org/index.php/bio
- https://www.frottis.org/concerts — meta description shared by 2 pages: https://www.frottis.org/index.php/concerts
- https://www.frottis.org/ecouter — meta description shared by 2 pages: https://www.frottis.org/index.php/ecouter
- https://www.frottis.org/index.php/bio — meta description shared by 2 pages: https://www.frottis.org/bio
- https://www.frottis.org/index.php/concerts — meta description shared by 2 pages: https://www.frottis.org/concerts
- https://www.frottis.org/index.php/ecouter — meta description shared by 2 pages: https://www.frottis.org/ecouter
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 15 occurrence(s)
- https://www.frottis.org/ — the likely hero/LCP image (logo.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.frottis.org/administration — the likely hero/LCP image (logo.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.frottis.org/bio — the likely hero/LCP image (logo.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.frottis.org/concerts — the likely hero/LCP image (logo.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.frottis.org/contact — the likely hero/LCP image (logo.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.frottis.org/ecouter — the likely hero/LCP image (logo.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.frottis.org/index.php/bio — the likely hero/LCP image (logo.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.frottis.org/index.php/concerts — the likely hero/LCP image (logo.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.frottis.org/index.php/contact — the likely hero/LCP image (logo.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.frottis.org/index.php/ecouter — the likely hero/LCP image (logo.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.frottis.org/index.php/merch — the likely hero/LCP image (logo.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.frottis.org/index.php/presse — the likely hero/LCP image (logo.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.frottis.org/mentions-legales — the likely hero/LCP image (logo.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.frottis.org/merch — the likely hero/LCP image (logo.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.frottis.org/presse — the likely hero/LCP image (logo.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 · 15 occurrence(s)
- https://www.frottis.org/ — 3 of 6 images without width/height
- https://www.frottis.org/administration — 1 of 1 images without width/height
- https://www.frottis.org/bio — 1 of 7 images without width/height
- https://www.frottis.org/concerts — 1 of 87 images without width/height
- https://www.frottis.org/contact — 1 of 2 images without width/height
- https://www.frottis.org/ecouter — 7 of 8 images without width/height
- https://www.frottis.org/index.php/bio — 1 of 7 images without width/height
- https://www.frottis.org/index.php/concerts — 1 of 87 images without width/height
- https://www.frottis.org/index.php/contact — 1 of 2 images without width/height
- https://www.frottis.org/index.php/ecouter — 7 of 8 images without width/height
- https://www.frottis.org/index.php/merch — 1 of 1 images without width/height
- https://www.frottis.org/index.php/presse — 8 of 8 images without width/height
- https://www.frottis.org/mentions-legales — 1 of 1 images without width/height
- https://www.frottis.org/merch — 1 of 1 images without width/height
- https://www.frottis.org/presse — 8 of 8 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 2 occurrence(s)
- https://www.frottis.org/index.php/presse — 7 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.frottis.org/presse — 7 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 7 occurrence(s)
- https://www.frottis.org/ — 168 chars
- https://www.frottis.org/bio — 639 chars
- https://www.frottis.org/concerts — 798 chars
- https://www.frottis.org/ecouter — 175 chars
- https://www.frottis.org/index.php/bio — 639 chars
- https://www.frottis.org/index.php/concerts — 798 chars
- https://www.frottis.org/index.php/ecouter — 175 chars
notice Missing Open Graph tags
Rule og.missing · Social · 15 occurrence(s)
- https://www.frottis.org/ — og:title, og:description, og:image
- https://www.frottis.org/administration — og:title, og:description, og:image
- https://www.frottis.org/bio — og:title, og:description, og:image
- https://www.frottis.org/concerts — og:title, og:description, og:image
- https://www.frottis.org/contact — og:title, og:description, og:image
- https://www.frottis.org/ecouter — og:title, og:description, og:image
- https://www.frottis.org/index.php/bio — og:title, og:description, og:image
- https://www.frottis.org/index.php/concerts — og:title, og:description, og:image
- https://www.frottis.org/index.php/contact — og:title, og:description, og:image
- https://www.frottis.org/index.php/ecouter — og:title, og:description, og:image
- https://www.frottis.org/index.php/merch — og:title, og:description, og:image
- https://www.frottis.org/index.php/presse — og:title, og:description, og:image
- https://www.frottis.org/mentions-legales — og:title, og:description, og:image
- https://www.frottis.org/merch — og:title, og:description, og:image
- https://www.frottis.org/presse — og:title, og:description, og:image
notice Large DOM (over 1500 elements) slows rendering & interaction
Rule perf.dom_size_large · Performance · 2 occurrence(s)
- https://www.frottis.org/concerts — the page has 1601 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
- https://www.frottis.org/index.php/concerts — the page has 1601 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 11 occurrence(s)
- https://www.frottis.org/ — 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://www.frottis.org/bio — 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://www.frottis.org/concerts — 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://www.frottis.org/contact — 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://www.frottis.org/ecouter — 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://www.frottis.org/index.php/bio — 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://www.frottis.org/index.php/concerts — 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://www.frottis.org/index.php/contact — 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://www.frottis.org/index.php/ecouter — 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://www.frottis.org/index.php/presse — 7 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://www.frottis.org/presse — 7 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 No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 15 occurrence(s)
- https://www.frottis.org/ — 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.frottis.org/administration — 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.frottis.org/bio — 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.frottis.org/concerts — 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.frottis.org/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.frottis.org/ecouter — 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.frottis.org/index.php/bio — 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.frottis.org/index.php/concerts — 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.frottis.org/index.php/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.frottis.org/index.php/ecouter — 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.frottis.org/index.php/merch — 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.frottis.org/index.php/presse — 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.frottis.org/mentions-legales — 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.frottis.org/merch — 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.frottis.org/presse — 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 · 15 occurrence(s)
- https://www.frottis.org/ — 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.frottis.org/administration — 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.frottis.org/bio — 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.frottis.org/concerts — 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.frottis.org/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.frottis.org/ecouter — 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.frottis.org/index.php/bio — 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.frottis.org/index.php/concerts — 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.frottis.org/index.php/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.frottis.org/index.php/ecouter — 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.frottis.org/index.php/merch — 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.frottis.org/index.php/presse — 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.frottis.org/mentions-legales — 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.frottis.org/merch — 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.frottis.org/presse — 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 No structured data detected
Rule schema.none · Structured Data · 1 occurrence(s)
notice Missing recommended security headers
Rule security.missing_headers · Security · 15 occurrence(s)
- https://www.frottis.org/ — HSTS, CSP
- https://www.frottis.org/administration — CSP, HSTS
- https://www.frottis.org/bio — HSTS, CSP
- https://www.frottis.org/concerts — HSTS, CSP
- https://www.frottis.org/contact — HSTS, CSP
- https://www.frottis.org/ecouter — HSTS, CSP
- https://www.frottis.org/index.php/bio — HSTS, CSP
- https://www.frottis.org/index.php/concerts — HSTS, CSP
- https://www.frottis.org/index.php/contact — HSTS, CSP
- https://www.frottis.org/index.php/ecouter — HSTS, CSP
- https://www.frottis.org/index.php/merch — HSTS, CSP
- https://www.frottis.org/index.php/presse — HSTS, CSP
- https://www.frottis.org/mentions-legales — HSTS, CSP
- https://www.frottis.org/merch — HSTS, CSP
- https://www.frottis.org/presse — HSTS, CSP
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 15 occurrence(s)
- https://www.frottis.org/ — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/administration — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/bio — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/concerts — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/contact — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/ecouter — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/bio — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/concerts — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/contact — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/ecouter — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/merch — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/index.php/presse — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/mentions-legales — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/merch — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://www.frottis.org/presse — 9 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
notice Indexable page not listed in sitemap
Rule sitemap.orphan_not_listed · Sitemap · 7 occurrence(s)
- https://www.frottis.org/contact — indexable but not in sitemap
- https://www.frottis.org/index.php/bio — indexable but not in sitemap
- https://www.frottis.org/index.php/concerts — indexable but not in sitemap
- https://www.frottis.org/index.php/contact — indexable but not in sitemap
- https://www.frottis.org/index.php/ecouter — indexable but not in sitemap
- https://www.frottis.org/index.php/merch — indexable but not in sitemap
- https://www.frottis.org/index.php/presse — indexable but not in sitemap
notice URL is very long
Rule url.too_long · URL · 28 occurrence(s)
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/283223366_6040893629258105_439647861724020847_n.jpg.webp?itok=y38ltPLM — 150 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/354716892_690822619530717_1752501793300568840_n.jpg.webp?itok=zmzUScgO — 150 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/42956491_1866861846696943_9175937473144946688_n.jpg.webp?itok=OYl4zwM4 — 150 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/463972861_1105251161403473_5247203855512286463_n.jpg.webp?itok=IabUT11w — 151 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/52766804_10205612590471969_823477769038987264_n.jpg.webp?itok=zBKl6o8B — 150 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/58666008_831911687167551_3718419570608832512_n.jpg.webp?itok=RoX7ND_6 — 149 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/Corona%2520Circus%25202021.png.webp?itok=dpvxwET0 — 129 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche%2520bistrot.jpg.webp?itok=bq8kCjqB — 122 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-colettes.jpg.webp?itok=xsY_2Sj2 — 119 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-MG-bar-.jpg.webp?itok=eDJGBgbw — 126 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-fil-rouge.jpg.webp?itok=lIXGQTCR — 128 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-think-.jpg.webp?itok=Bdf7jIKW — 125 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/bistrotdesanges.jpg.webp?itok=U0KIkmrV — 118 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/danger_entreprise_radioactives_2.jpg.webp?itok=YLr_8egK — 135 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis%2520ange.jpg.webp?itok=gtP3wlsD — 119 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis%2520angers.jpg.webp?itok=-6zms2UM — 121 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis%2520shelter.jpg.webp?itok=wInF_ccd — 122 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis-31-octobre.jpg.webp?itok=dXINyCFC — 121 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis-avvril.jpg.webp?itok=nUIX-4bY — 117 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis-avvril_0.jpg.webp?itok=ukHxSPsI — 119 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/matheiu-cosme.jpg.webp?itok=hspGjSWj — 116 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/paris-frottis-derisoire.jpg.webp?itok=iAWeqKh2 — 126 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/pressoir%2520affiche.jpg.webp?itok=x1gtp80S — 123 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/reims-concert.jpg.webp?itok=U-cnRgyZ — 116 chars
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/sycom%2520frottis.jpg.webp?itok=_yBwKqti — 120 chars
notice Underscores in URL path (prefer hyphens)
Rule url.underscores · URL · 34 occurrence(s)
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/283223366_6040893629258105_439647861724020847_n.jpg.webp?itok=y38ltPLM
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/354716892_690822619530717_1752501793300568840_n.jpg.webp?itok=zmzUScgO
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/463972861_1105251161403473_5247203855512286463_n.jpg.webp?itok=IabUT11w
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/52766804_10205612590471969_823477769038987264_n.jpg.webp?itok=zBKl6o8B
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/58666008_831911687167551_3718419570608832512_n.jpg.webp?itok=RoX7ND_6
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/Corona%2520Circus%25202021.png.webp?itok=dpvxwET0
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche%2520bistrot.jpg.webp?itok=bq8kCjqB
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-colettes.jpg.webp?itok=xsY_2Sj2
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-MG-bar-.jpg.webp?itok=eDJGBgbw
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-fil-rouge.jpg.webp?itok=lIXGQTCR
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/affiche-frottis-think-.jpg.webp?itok=Bdf7jIKW
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/bistrotdesanges.jpg.webp?itok=U0KIkmrV
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/bled.jpg.webp?itok=fvBIja2O
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis%2520ange.jpg.webp?itok=gtP3wlsD
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis%2520shelter.jpg.webp?itok=wInF_ccd
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis-avvril.jpg.webp?itok=nUIX-4bY
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/frottis-avvril_0.jpg.webp?itok=ukHxSPsI
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/grimpette.jpg.webp?itok=OqKtLPu4
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/lionniere.jpg.webp?itok=jH5Z-fQ8
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/logo-typo-7.jpg.webp?itok=t8slFN3k
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/paris-frottis-derisoire.jpg.webp?itok=iAWeqKh2
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/pressoir%2520affiche.jpg.webp?itok=x1gtp80S
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/quartier2.jpg.webp?itok=GQ8xGHYA
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/reims-concert.jpg.webp?itok=U-cnRgyZ
- https://www.frottis.org/sites/default/files/styles/affiche_large/public/affiche/sycom%2520frottis.jpg.webp?itok=_yBwKqti
notice Uppercase letters in URL path
Rule url.uppercase · URL · 2 occurrence(s)
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.