SEO audit for rouge-a-reves.fr
Photographe publicitaire professionnel | Packshot, Éditorial
Health 67/100 (fair) · 15 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Spécialisé en photographie de produit e-commerce et campagne pub, je suis votre photographe Packshot, Porté catalogue et Shooting Éditorial.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Links | 10 | 0 | 45 | 0 |
| Structured Data | 74 | 0 | 13 | 1 |
| Duplicate | 76 | 0 | 12 | 6 |
| Headings | 98 | 0 | 1 | 0 |
| Agent Readiness | 100 | 0 | 0 | 15 |
| Crawlability | 100 | 0 | 0 | 3 |
| Images | 100 | 0 | 0 | 21 |
| Performance | 100 | 0 | 0 | 28 |
| Security | 100 | 0 | 0 | 28 |
Warnings (6 rules)
warning Duplicate page content
Rule duplicate.content · Duplicate · 6 occurrence(s)
- https://www.rouge-a-reves.fr/cgv — content shared by 2 pages: https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/cgv/ — content shared by 2 pages: https://www.rouge-a-reves.fr/cgv
- https://www.rouge-a-reves.fr/mentions-legales — content shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/mentions-legales/ — content shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales
- https://www.rouge-a-reves.fr/politique-de-confidentialite — content shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — content shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite
warning Duplicate <title> across pages
Rule duplicate.title · Duplicate · 6 occurrence(s)
- https://www.rouge-a-reves.fr/cgv — title shared by 2 pages: https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/cgv/ — title shared by 2 pages: https://www.rouge-a-reves.fr/cgv
- https://www.rouge-a-reves.fr/mentions-legales — title shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/mentions-legales/ — title shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales
- https://www.rouge-a-reves.fr/politique-de-confidentialite — title shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — title shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite
warning Missing <h1>
Rule h1.missing · Headings · 1 occurrence(s)
warning Orphan page (no internal inlinks)
Rule links.orphan · Links · 3 occurrence(s)
- https://www.rouge-a-reves.fr/cgv/ — no internal links point here
- https://www.rouge-a-reves.fr/mentions-legales/ — no internal links point here
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — no internal links point here
warning Internal link points to a redirect
Rule links.redirect_target · Links · 42 occurrence(s)
- https://www.rouge-a-reves.fr/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/cgv/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/cgv/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/cgv/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/contact/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/contact/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/contact/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/photographe-still-life/ — https://www.rouge-a-reves.fr/cgv → https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/photographe-still-life/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/photographe-still-life/ — https://www.rouge-a-reves.fr/politique-de-confidentialite → https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — https://www.rouge-a-reves.fr/mentions-legales → https://www.rouge-a-reves.fr/mentions-legales/
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 13 occurrence(s)
- https://www.rouge-a-reves.fr/cgv — 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.rouge-a-reves.fr/cgv/ — 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.rouge-a-reves.fr/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.rouge-a-reves.fr/cookies/ — 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.rouge-a-reves.fr/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.rouge-a-reves.fr/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.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 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.rouge-a-reves.fr/photographe-packshot-produit/ — 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.rouge-a-reves.fr/photographe-porte-bordeaux/ — 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.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — 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.rouge-a-reves.fr/photographe-still-life/ — 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.rouge-a-reves.fr/politique-de-confidentialite — 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.rouge-a-reves.fr/politique-de-confidentialite/ — 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 (12 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://www.rouge-a-reves.fr/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice No main landmark for AI agents
Rule agent.no_main_landmark · Agent Readiness · 14 occurrence(s)
- https://www.rouge-a-reves.fr/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/cgv — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/cgv/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/contact/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/cookies/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/mentions-legales — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/mentions-legales/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/photographe-still-life/ — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/politique-de-confidentialite — add a <main> element (or role=main) around the primary content
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — add a <main> element (or role=main) around the primary content
notice Duplicate meta description across pages
Rule duplicate.meta_desc · Duplicate · 6 occurrence(s)
- https://www.rouge-a-reves.fr/cgv — meta description shared by 2 pages: https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/cgv/ — meta description shared by 2 pages: https://www.rouge-a-reves.fr/cgv
- https://www.rouge-a-reves.fr/mentions-legales — meta description shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/mentions-legales/ — meta description shared by 2 pages: https://www.rouge-a-reves.fr/mentions-legales
- https://www.rouge-a-reves.fr/politique-de-confidentialite — meta description shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite/
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — meta description shared by 2 pages: https://www.rouge-a-reves.fr/politique-de-confidentialite
notice Image alt text is keyword-stuffed (repetition / low variety)
Rule images.alt_stuffed · Images · 3 occurrence(s)
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — 8 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.
- https://www.rouge-a-reves.fr/photographe-still-life/ — 4 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.
notice Image alt text is very long (possible keyword stuffing)
Rule images.alt_too_long · Images · 4 occurrence(s)
- https://www.rouge-a-reves.fr/cookies/ — 1 image(s) with alt text over 100 chars — shorten it to a concise description
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 2 image(s) with alt text over 100 chars — shorten it to a concise description
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — 18 image(s) with alt text over 100 chars — shorten it to a concise description
- https://www.rouge-a-reves.fr/photographe-still-life/ — 11 image(s) with alt text over 100 chars — shorten it to a concise description
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 14 occurrence(s)
- https://www.rouge-a-reves.fr/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/cgv — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/cgv/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/contact/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/cookies/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/mentions-legales — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/mentions-legales/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/photographe-editorial-bordeaux/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/photographe-packshot-produit/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/photographe-porte-bordeaux/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/photographe-still-life/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/politique-de-confidentialite — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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.rouge-a-reves.fr/politique-de-confidentialite/ — the likely hero/LCP image (gif;base64,r0lgoddhaqabapaaampdwwaaacwaaaaaaqabaaacakqbads=) 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 · 14 occurrence(s)
- https://www.rouge-a-reves.fr/ — 2 of 64 images without width/height
- https://www.rouge-a-reves.fr/cgv — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/cgv/ — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/contact/ — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/cookies/ — 2 of 3 images without width/height
- https://www.rouge-a-reves.fr/mentions-legales — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/mentions-legales/ — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 2 of 28 images without width/height
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — 2 of 30 images without width/height
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — 2 of 31 images without width/height
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — 2 of 29 images without width/height
- https://www.rouge-a-reves.fr/photographe-still-life/ — 2 of 22 images without width/height
- https://www.rouge-a-reves.fr/politique-de-confidentialite — 2 of 4 images without width/height
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — 2 of 4 images without width/height
notice No Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 14 occurrence(s)
- https://www.rouge-a-reves.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://www.rouge-a-reves.fr/cgv — 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.rouge-a-reves.fr/cgv/ — 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.rouge-a-reves.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://www.rouge-a-reves.fr/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://www.rouge-a-reves.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://www.rouge-a-reves.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://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 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.rouge-a-reves.fr/photographe-packshot-produit/ — 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.rouge-a-reves.fr/photographe-porte-bordeaux/ — 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.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — 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.rouge-a-reves.fr/photographe-still-life/ — 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.rouge-a-reves.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://www.rouge-a-reves.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.
notice URL redirects to another URL
Rule redirect.single · Crawlability · 3 occurrence(s)
- https://www.rouge-a-reves.fr/cgv — redirects to https://www.rouge-a-reves.fr/cgv/
- https://www.rouge-a-reves.fr/mentions-legales — redirects to https://www.rouge-a-reves.fr/mentions-legales/
- https://www.rouge-a-reves.fr/politique-de-confidentialite — redirects to https://www.rouge-a-reves.fr/politique-de-confidentialite/
notice Deprecated schema type with no Google rich result
Rule schema.deprecated_type · Structured Data · 1 occurrence(s)
- https://www.rouge-a-reves.fr/ — 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 · 14 occurrence(s)
- https://www.rouge-a-reves.fr/ — CSP
- https://www.rouge-a-reves.fr/cgv — CSP
- https://www.rouge-a-reves.fr/cgv/ — CSP
- https://www.rouge-a-reves.fr/contact/ — CSP
- https://www.rouge-a-reves.fr/cookies/ — CSP
- https://www.rouge-a-reves.fr/mentions-legales — CSP
- https://www.rouge-a-reves.fr/mentions-legales/ — CSP
- https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ — CSP
- https://www.rouge-a-reves.fr/photographe-packshot-produit/ — CSP
- https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ — CSP
- https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — CSP
- https://www.rouge-a-reves.fr/photographe-still-life/ — CSP
- https://www.rouge-a-reves.fr/politique-de-confidentialite — CSP
- https://www.rouge-a-reves.fr/politique-de-confidentialite/ — CSP
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 14 occurrence(s)
- https://www.rouge-a-reves.fr/ — 4 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.rouge-a-reves.fr/cgv — 4 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.rouge-a-reves.fr/cgv/ — 4 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.rouge-a-reves.fr/contact/ — 4 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.rouge-a-reves.fr/cookies/ — 4 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.rouge-a-reves.fr/mentions-legales — 4 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.rouge-a-reves.fr/mentions-legales/ — 4 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.rouge-a-reves.fr/photographe-editorial-bordeaux/ — 4 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.rouge-a-reves.fr/photographe-packshot-produit/ — 4 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.rouge-a-reves.fr/photographe-porte-bordeaux/ — 4 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.rouge-a-reves.fr/photographe-professionnel-bordeaux/ — 4 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.rouge-a-reves.fr/photographe-still-life/ — 4 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.rouge-a-reves.fr/politique-de-confidentialite — 4 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.rouge-a-reves.fr/politique-de-confidentialite/ — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://www.rouge-a-reves.fr/ Photographe publicitaire professionnel | Packshot, Éditorial |
200 | yes | 903 | 14 |
| https://www.rouge-a-reves.fr/cgv Conditions générales de vente – Rouge à Rêves |
200 | yes | 3107 | 14 |
| https://www.rouge-a-reves.fr/contact/ Contact du studio Rouge à Rêves | Maxime Artenzo |
200 | yes | 341 | 14 |
| https://www.rouge-a-reves.fr/cookies/ Politique de cookies – Rouge à Rêves |
200 | yes | 1329 | 14 |
| https://www.rouge-a-reves.fr/mentions-legales Mentions légales – Rouge à Rêves |
200 | yes | 856 | 14 |
| https://www.rouge-a-reves.fr/photographe-editorial-bordeaux/ Photographe éditorial professionnel à Bordeaux | Lookbook |
200 | yes | 939 | 14 |
| https://www.rouge-a-reves.fr/photographe-packshot-produit/ Photographe packshot professionnel pour e-commerce |
200 | yes | 812 | 14 |
| https://www.rouge-a-reves.fr/photographe-porte-bordeaux/ Photographe Porté e-commerce à Bordeaux | Shooting Lookbook |
200 | yes | 935 | 14 |
| https://www.rouge-a-reves.fr/photographe-professionnel-bordeaux/ Photographe professionnel à Bordeaux | Maxime Artenzo |
200 | yes | 832 | 14 |
| https://www.rouge-a-reves.fr/photographe-still-life/ Photographe Still Life Professionnel | Mise en Scène de Produits |
200 | yes | 830 | 14 |
| https://www.rouge-a-reves.fr/politique-de-confidentialite Politique de confidentialité – Rouge à Rêves |
200 | yes | 1033 | 14 |
| https://www.rouge-a-reves.fr/cgv/ Conditions générales de vente – Rouge à Rêves |
200 | yes | 3107 | 0 |
| https://www.rouge-a-reves.fr/mentions-legales/ Mentions légales – Rouge à Rêves |
200 | yes | 856 | 0 |
| https://www.rouge-a-reves.fr/politique-de-confidentialite/ Politique de confidentialité – Rouge à Rêves |
200 | yes | 1033 | 0 |
| https://www.rouge-a-reves.fr/locations.kml | 200 | no | 0 | 0 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.