Catalog / david-traiteurcharolais.fr
87

SEO audit for david-traiteurcharolais.fr

David Traiteur Charolais

ecommerceWordPress

Health 87/100 (good) · 36 pages crawled · generated 2026-08-26

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

David Charrier Traiteur pour tout évènement, mariage, cocktail, fête de village... dans le Charolais en Saône & Loire (71120) À la carte, buffet, devis...

Screenshot of david-traiteurcharolais.fr
36
pages crawled
10
indexable pages
0
errors
13
warnings
130
notices
2
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Content 93 0 8 8
Links 98 0 2 2
Agent Readiness 99 0 1 8
Headings 99 0 1 0
Meta Description 99 0 1 5
Canonical 100 0 0 2
Crawlability 100 0 0 1
Images 100 0 0 10
Performance 100 0 0 31
Security 100 0 0 19
Social 100 0 0 10
Structured Data 100 0 0 9
Titles 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 · 1 occurrence(s)

warning Missing <h1>

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

warning Orphan page (no internal inlinks)

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

warning Internal link points to a redirect

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

warning Missing meta description

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

Notices (21 rules)

notice Heading levels skip a level

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

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 · 6 occurrence(s)

notice Canonical target reachable only via a canonical tag (no inlinks)

Rule canonical.isolated_url · Canonical · 1 occurrence(s)

  • https://david-traiteurcharolais.fr/traiteur/ — this URL is a canonical target but has no internal links pointing to it — crawlers only learn of it via the canonical tag. Add direct internal links (or list it in the sitemap).

notice Canonical points to a different URL

Rule canonical.non_self · Canonical · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • http://david-traiteurcharolais.fr/traiteur — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/carte-des-fetes/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/contact/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/galerie/ — the likely hero/LCP image (gif;base64,r0lgodlhaqabaaaaach5baekaaealaaaaaabaaeaaaictaeaow==) 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://david-traiteurcharolais.fr/mentions-legales/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/politique-de-confidentialite/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/politique-de-cookies/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/propositions-du-mois/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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://david-traiteurcharolais.fr/traiteur/ — the likely hero/LCP image (png;base64,ivborw0kggoaaaansuheugaaalqaaajmaqmaaaag06qcaaaaa1bmveuaaacnej3aaaaaaxrstlmaqobyzgaaaejjrefugbntwtebaaaawid7p14hb2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxakukaabzk3vmqaaaabjru5erkjggg==) 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 · 10 occurrence(s)

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

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

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

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

  • https://david-traiteurcharolais.fr/galerie/ — 24 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 · 10 occurrence(s)

  • http://david-traiteurcharolais.fr/traiteur — 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://david-traiteurcharolais.fr/ — 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://david-traiteurcharolais.fr/carte-des-fetes/ — 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://david-traiteurcharolais.fr/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://david-traiteurcharolais.fr/galerie/ — 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://david-traiteurcharolais.fr/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://david-traiteurcharolais.fr/politique-de-confidentialite/ — 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://david-traiteurcharolais.fr/politique-de-cookies/ — 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://david-traiteurcharolais.fr/propositions-du-mois/ — 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://david-traiteurcharolais.fr/traiteur/ — 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 · 10 occurrence(s)

  • http://david-traiteurcharolais.fr/traiteur — 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://david-traiteurcharolais.fr/ — 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://david-traiteurcharolais.fr/carte-des-fetes/ — 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://david-traiteurcharolais.fr/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://david-traiteurcharolais.fr/galerie/ — 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://david-traiteurcharolais.fr/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://david-traiteurcharolais.fr/politique-de-confidentialite/ — 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://david-traiteurcharolais.fr/politique-de-cookies/ — 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://david-traiteurcharolais.fr/propositions-du-mois/ — 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://david-traiteurcharolais.fr/traiteur/ — 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 · 9 occurrence(s)

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

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

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

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

notice URL is very long

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

notice Uppercase letters in URL path

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

Pages (showing 36 of 36)
URLStatusIndexableWordsIn-links
https://david-traiteurcharolais.fr/
David Traiteur Charolais
200 yes 122 10
https://david-traiteurcharolais.fr/contact/
Contact - David Traiteur Charolais
200 yes 141 10
https://david-traiteurcharolais.fr/galerie/
Galerie - David Traiteur Charolais
200 yes 139 10
https://david-traiteurcharolais.fr/mentions-legales/
Mentions légales - David Traiteur Charolais
200 yes 75 10
https://david-traiteurcharolais.fr/politique-de-confidentialite/
Politique de confidentialité - David Traiteur Charolais
200 yes 976 10
https://david-traiteurcharolais.fr/politique-de-cookies/
Politique de cookies - David Traiteur Charolais
200 yes 518 10
http://david-traiteurcharolais.fr/traiteur
Traiteur - David Traiteur Charolais
200 yes 40 1
https://david-traiteurcharolais.fr/propositions-du-mois/
Propositions du mois - David Traiteur Charolais
200 yes 41 1
https://david-traiteurcharolais.fr/carte-des-fetes/
Carte des fêtes - David Traiteur Charolais
200 yes 26 0
https://david-traiteurcharolais.fr/traiteur/
Traiteur - David Traiteur Charolais
200 yes 40 0
https://david-traiteurcharolais.fr/wp-content/uploads/2025/01/Faux-filet-de-boeuf-Risotto-aux-cepes-et-aux-morilles.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/01/Legumes-du-jardin.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/01/Omble-Chevalier.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/01/Risotto-aux-cepes-et-aux-morilles.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/01/Verrine-Perigourdine.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/02/Mignon-de-porc.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/03/Langue-de-boeuf.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/03/Poule-en-gelee-Macedoine.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/03/Verrine-mousse-de-betterave-tartare-de-crevettes.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/04/Fondant-au-chocolat-et-creme-anglaise.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Ballotine-poulet-farci-ecrevisses.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Corolles-de-rouget.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Gateau.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Jambon-persille-maison.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Mignon-de-porc.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Millefeuille.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Poulet-fermier-Basquaise-riz-pilaf-1.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Terrine-coucher-de-soleil.jpg 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Terrine-dEglefin-flan-de-poireaux.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Terrine-de-saumon-aux-salicornes-2.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Terrine-de-saumon-aux-salicornes.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/Terrine-poule-en-gelee.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/paella.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/saumon-gravelax-et-mousseline-de-panais-1.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/05/saumon-gravelax-et-mousseline-de-panais2.png 200 no 0 1
https://david-traiteurcharolais.fr/wp-content/uploads/2025/06/Bavarois.png 200 no 0 1

Audit your own site — free

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

Scan your site →