Catalog / senvallee.com
60

SEO audit for senvallee.com

Senvallee - Plateforme d'annonces éducatives & préventives sélectionnées

other

Health 60/100 (fair) · 23 pages crawled · generated 2026-08-26

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

Senvallee met en avant des projets et structures utiles dans un cadre responsable : sécurité routière, formation, prévention, mobilité durable et initiatives locales. Des annonces choisies, au service…

Screenshot of senvallee.com
23
pages crawled
21
indexable pages
4
errors
75
warnings
216
notices
1
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 91 2 0 1
Sitemap 91 2 0 6
Agent Readiness 73 0 21 6
Canonical 73 0 21 0
Content 79 0 16 39
Duplicate 87 0 10 8
Indexability 97 0 2 0
Performance 97 0 2 58
Headings 99 0 1 0
Links 99 0 1 0
Titles 99 0 1 0
Cache 100 0 0 15
Images 100 0 0 13
Meta Description 100 0 0 5
Security 100 0 0 23
Social 100 0 0 21
Structured Data 100 0 0 21
Findings

Errors (2 rules)

error Non-200 URL listed in sitemap

Rule sitemap.not_200 · Sitemap · 2 occurrence(s)

error Client error (4xx) response

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

Warnings (10 rules)

warning Control has no accessible name

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

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Missing <h1>

Rule h1.missing · Headings · 1 occurrence(s)

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

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

  • https://senvallee.com/ — the likely hero/LCP image (image) 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://senvallee.com/choisir-pack — the likely hero/LCP image (image) 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 Page is noindex

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

warning Orphan page (no internal inlinks)

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

warning Title likely truncated in SERP (too wide)

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

Notices (18 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://senvallee.com/ — 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)

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • https://senvallee.com/annonce/bon-plan-mobilite-selection-senvallee — the likely hero/LCP image (file_eyjfel.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonce/enseignant-independant — the likely hero/LCP image (file_x96l7n.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonce/le-volant-la-vie — the likely hero/LCP image (file_bztoiq.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonce/le-volant-la-vie-le-livre-est-maintenant-disponible-sur-amazon — the likely hero/LCP image (file_zphneq.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonce/m-d-permis-2 — the likely hero/LCP image (file_qcjlcb.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonce/prevention-routiere — the likely hero/LCP image (file_dmp5hr.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://senvallee.com/annonce/recherche-eleves-volontaires-accompagnement-pedagogique-gratuit — the likely hero/LCP image (file_st8tbp.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonces — the likely hero/LCP image (file_zphneq.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonces?theme=prevention — the likely hero/LCP image (file_dmp5hr.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://senvallee.com/annonces?theme=road-safety — the likely hero/LCP image (file_bztoiq.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://senvallee.com/annonces?theme=training — the likely hero/LCP image (file_zphneq.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

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

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

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 21 occurrence(s)

notice Meta description too long

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

notice Meta description too short

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

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

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

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

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

  • https://senvallee.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://senvallee.com/annonce/bon-plan-mobilite-selection-senvallee — 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://senvallee.com/annonce/enseignant-independant — 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://senvallee.com/annonce/le-volant-la-vie — 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://senvallee.com/annonce/le-volant-la-vie-le-livre-est-maintenant-disponible-sur-amazon — 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://senvallee.com/annonce/m-d-permis-2 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://senvallee.com/annonce/prevention-routiere — 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://senvallee.com/annonce/recherche-eleves-volontaires-accompagnement-pedagogique-gratuit — 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://senvallee.com/annonces — 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://senvallee.com/annonces?theme=local-initiatives — 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://senvallee.com/annonces?theme=prevention — 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://senvallee.com/annonces?theme=road-safety — 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://senvallee.com/annonces?theme=sustainable-mobility — 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://senvallee.com/annonces?theme=training — 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://senvallee.com/choisir-pack — 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 · 21 occurrence(s)

  • https://senvallee.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://senvallee.com/annonce/bon-plan-mobilite-selection-senvallee — 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://senvallee.com/annonce/enseignant-independant — 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://senvallee.com/annonce/le-volant-la-vie — 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://senvallee.com/annonce/le-volant-la-vie-le-livre-est-maintenant-disponible-sur-amazon — 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://senvallee.com/annonce/m-d-permis-2 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://senvallee.com/annonce/prevention-routiere — 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://senvallee.com/annonce/recherche-eleves-volontaires-accompagnement-pedagogique-gratuit — 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://senvallee.com/annonces — 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://senvallee.com/annonces?theme=local-initiatives — 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://senvallee.com/annonces?theme=prevention — 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://senvallee.com/annonces?theme=road-safety — 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://senvallee.com/annonces?theme=sustainable-mobility — 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://senvallee.com/annonces?theme=training — 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://senvallee.com/cgu — 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://senvallee.com/choisir-pack — 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://senvallee.com/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://senvallee.com/devenir-annonceur — 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://senvallee.com/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://senvallee.com/politique-annonceurs — 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://senvallee.com/qui-sommes-nous — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice URL redirects to another URL

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

notice Missing recommended security headers

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

notice Indexable page not listed in sitemap

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

Pages (showing 23 of 23)
URLStatusIndexableWordsIn-links
https://senvallee.com/
Senvallee - Plateforme d'annonces éducatives & préventives sélectionnées
200 yes 1763 21
https://senvallee.com/annonces
Annonces éducatives & préventives | Senvallee
200 yes 224 21
https://senvallee.com/cgu
Conditions Générales d'Utilisation - Senvallee
200 yes 234 21
https://senvallee.com/contact
Contact - Senevalle
200 yes 57 21
https://senvallee.com/devenir-annonceur
Devenir annonceur | Senvallee
200 yes 34 21
https://senvallee.com/mentions-legales
Mentions Légales - Senvallee
200 yes 162 21
https://senvallee.com/politique-annonceurs
Politique Annonceurs - Senvallee
200 yes 192 21
https://senvallee.com/qui-sommes-nous
Qui sommes-nous ? | Senvallee
200 yes 279 21
https://senvallee.com/annonces?theme=local-initiatives
Annonces éducatives & préventives | Senvallee
200 yes 77 8
https://senvallee.com/annonces?theme=prevention
Annonces éducatives & préventives | Senvallee
200 yes 90 8
https://senvallee.com/annonces?theme=road-safety
Annonces éducatives & préventives | Senvallee
200 yes 85 8
https://senvallee.com/annonces?theme=sustainable-mobility
Annonces éducatives & préventives | Senvallee
200 yes 77 8
https://senvallee.com/annonces?theme=training
Annonces éducatives & préventives | Senvallee
200 yes 169 8
https://senvallee.com/annonce/le-volant-la-vie
Le Volant, La Vie | Senvallee
200 yes 145 4
https://senvallee.com/annonce/bon-plan-mobilite-selection-senvallee
Bon plan mobilité – Sélection Senvallee | Senvallee
200 yes 141 4
https://senvallee.com/annonce/enseignant-independant
Enseignant indépendant | Senvallee
200 yes 138 4
https://senvallee.com/annonce/le-volant-la-vie-le-livre-est-maintenant-disponible-sur-amazon
Le Volant, La Vie — le livre est maintenant disponible sur Amazon | Senvallee
200 yes 143 4
https://senvallee.com/annonce/m-d-permis-2
M D Permis | Senvallee
200 yes 141 4
https://senvallee.com/annonce/recherche-eleves-volontaires-accompagnement-pedagogique-gratuit
🔔 Recherche élèves volontaires – accompagnement pédagogique gratuit | Senvallee
200 yes 145 4
https://senvallee.com/annonce/prevention-routiere
Prévention Routière | Senvallee
200 yes 150 2
https://senvallee.com/choisir-pack
Senvallee - Plateforme d'annonces éducatives & préventives sélectionnées
200 yes 1763 0
https://senvallee.com/annonce/m-d-permis
Senvallee - Plateforme d'annonces éducatives & préventives sélectionnées
404 no 8 0
https://senvallee.com/annonce/md-permis
Senvallee - Plateforme d'annonces éducatives & préventives sélectionnées
404 no 8 0

Audit your own site — free

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

Scan your site →