SEO audit for lindice-opticien.fr
Opticien Tours Centre : L'Indice Opticien Lunetier
Health 65/100 (fair) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Votre opticien indépendant à Tours Centre, 29 rue Marceau. Verres sur mesure, lunettes de créateurs, examen de vue personnalisé. Sur rendez-vous du mercredi au samedi.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Structured Data | 69 | 0 | 52 | 2 |
| Performance | 70 | 0 | 50 | 60 |
| Duplicate | 99 | 0 | 2 | 0 |
| Agent Readiness | 99 | 0 | 1 | 86 |
| Headings | 99 | 0 | 1 | 0 |
| Titles | 99 | 0 | 1 | 0 |
| Cache | 100 | 0 | 0 | 50 |
| Content | 100 | 0 | 0 | 11 |
| Images | 100 | 0 | 0 | 52 |
| Meta Description | 100 | 0 | 0 | 2 |
| Security | 100 | 0 | 0 | 15 |
Warnings (7 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 1 occurrence(s)
- https://lindice-opticien.fr/ — 2 button/link(s) with no text or aria-label — an agent can't target them
warning Near-duplicate page content
Rule duplicate.near · Duplicate · 2 occurrence(s)
- https://lindice-opticien.fr/contact/ — near-duplicate of 1 page(s): https://lindice-opticien.fr/prise-de-rendez-vous/
- https://lindice-opticien.fr/prise-de-rendez-vous/ — near-duplicate of 1 page(s): https://lindice-opticien.fr/contact/
warning Missing <h1>
Rule h1.missing · Headings · 1 occurrence(s)
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 50 occurrence(s)
- https://lindice-opticien.fr/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/contact/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/examen-de-vue/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/lunettes/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/lunettes/mykita/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/montage-des-verres/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/plongee-piscine/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/plongee-piscine/view/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/reparation/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/verres/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/verres/options-des-verres/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 49 occurrence(s)
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — 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://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 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://lindice-opticien.fr/combien-devez-vous-depenser-pour-des-verres-correcteurs/ — 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://lindice-opticien.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://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — 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://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — 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://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — 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://lindice-opticien.fr/examen-de-vue/ — 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://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — 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://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — 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://lindice-opticien.fr/lunettes/ — 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://lindice-opticien.fr/lunettes/mykita/ — 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://lindice-opticien.fr/montage-des-verres/ — 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://lindice-opticien.fr/plongee-piscine/ — 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://lindice-opticien.fr/plongee-piscine/view/ — 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://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — 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://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — 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://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — 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://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — 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://lindice-opticien.fr/reparation/ — 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://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — 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://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — 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://lindice-opticien.fr/verres/ — 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://lindice-opticien.fr/verres/options-des-verres/ — 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://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — 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.
warning Schema describes content not visible on the page
Rule schema.hidden_content · Structured Data · 3 occurrence(s)
- https://lindice-opticien.fr/quest-ce-que-le-reste-a-charge-pour-les-soins-optiques/ — a schema name/headline ("Reste à Charge Optique : Combien Payez-Vous Réellement ?") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — a schema name/headline ("Verres Unifocaux : Correction Simple et Efficace") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
- https://lindice-opticien.fr/verres/options-des-verres/ — a schema name/headline ("Options de Verres : Traitements et Innovations") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 1 occurrence(s)
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 83 chars, ~627px (limit ~580px)
Notices (14 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 35 occurrence(s)
- https://lindice-opticien.fr/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/combien-devez-vous-depenser-pour-des-verres-correcteurs/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/comment-choisir-le-bon-materiau-de-monture-pour-ses-lunettes/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/comment-se-faire-rembourser-les-verres-ou-montures-par-sa-mutuelle/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/contact/ — h4 follows h1 — skips h2
- https://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/lunettes-de-soleil-un-moyen-efficace-de-se-proteger-des-uv/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/lunettes/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/plongee-piscine/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/plongee-piscine/view/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/pourquoi-porter-des-lunettes-avec-des-montures-invisibles/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quel-materiau-choisir-pour-ses-verres-correcteurs/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quels-sont-les-avantages-des-lunettes-avec-des-montures-demi-cerclees/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quels-sont-les-avantages-des-montures-cerclees/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quest-ce-que-le-reste-a-charge-pour-les-soins-optiques/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/verres/ — h4 follows h2 — skips h3
- https://lindice-opticien.fr/verres/options-des-verres/ — h4 follows h2 — skips h3
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://lindice-opticien.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 · 50 occurrence(s)
- https://lindice-opticien.fr/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/contact/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/examen-de-vue/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/lunettes/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/lunettes/mykita/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/montage-des-verres/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/plongee-piscine/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/plongee-piscine/view/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/reparation/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/verres/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/verres/options-des-verres/ — add a <main> element (or role=main) around the primary content
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — add a <main> element (or role=main) around the primary content
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 50 occurrence(s)
- https://lindice-opticien.fr/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/contact/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/examen-de-vue/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/lunettes/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/lunettes/mykita/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/montage-des-verres/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/plongee-piscine/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/plongee-piscine/view/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/reparation/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/verres/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/verres/options-des-verres/ — Cache-Control: max-age=0, no-cache, s-maxage=10
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — Cache-Control: max-age=0, no-cache, s-maxage=10
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 11 occurrence(s)
- https://lindice-opticien.fr/contact/ — 4.2%
- https://lindice-opticien.fr/examen-de-vue/ — 4.5%
- https://lindice-opticien.fr/lunettes/ — 3.8%
- https://lindice-opticien.fr/lunettes/mykita/ — 4.3%
- https://lindice-opticien.fr/montage-des-verres/ — 4.6%
- https://lindice-opticien.fr/plongee-piscine/ — 4.1%
- https://lindice-opticien.fr/plongee-piscine/view/ — 4.5%
- https://lindice-opticien.fr/prise-de-rendez-vous/ — 4.4%
- https://lindice-opticien.fr/reparation/ — 4.7%
- https://lindice-opticien.fr/verres/ — 4.5%
- https://lindice-opticien.fr/verres/options-des-verres/ — 4.1%
notice Image alt text is keyword-stuffed (repetition / low variety)
Rule images.alt_stuffed · Images · 1 occurrence(s)
- https://lindice-opticien.fr/lunettes/ — 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.
notice Image alt text is very long (possible keyword stuffing)
Rule images.alt_too_long · Images · 1 occurrence(s)
- https://lindice-opticien.fr/lunettes/ — 5 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 · 10 occurrence(s)
- https://lindice-opticien.fr/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/contact/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/la-dmla-ce-que-vous-devez-savoir/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/lunettes/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/mentions-legales-et-rgpd/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/prise-de-rendez-vous/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/quels-sont-les-avantages-des-lunettes-avec-des-montures-demi-cerclees/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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://lindice-opticien.fr/quest-ce-que-la-presbytie/ — the likely hero/LCP image (svg+xml;base64,phn2zyb4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsizmdaiighlawdodd0iodeiihzpzxdcb3g9ijagmcazmdagodeipjxyzwn0ihdpzhropsixmdaliibozwlnahq9ijewmcuiihn0ewxlpsjmawxsoinjzmq0zgi7zmlsbc1vcgfjaxr5oiawlje7ii8+pc9zdmc+) 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 · 50 occurrence(s)
- https://lindice-opticien.fr/ — 1 of 20 images without width/height
- https://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 1 of 3 images without width/height
- https://lindice-opticien.fr/contact/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/examen-de-vue/ — 1 of 5 images without width/height
- https://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/lunettes/ — 1 of 11 images without width/height
- https://lindice-opticien.fr/lunettes/mykita/ — 1 of 8 images without width/height
- https://lindice-opticien.fr/montage-des-verres/ — 1 of 5 images without width/height
- https://lindice-opticien.fr/plongee-piscine/ — 1 of 4 images without width/height
- https://lindice-opticien.fr/plongee-piscine/view/ — 1 of 5 images without width/height
- https://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/reparation/ — 1 of 5 images without width/height
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — 1 of 2 images without width/height
- https://lindice-opticien.fr/verres/ — 1 of 7 images without width/height
- https://lindice-opticien.fr/verres/options-des-verres/ — 1 of 6 images without width/height
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — 1 of 5 images without width/height
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 2 occurrence(s)
- https://lindice-opticien.fr/ — 167 chars
- https://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — 162 chars
notice No Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 50 occurrence(s)
- https://lindice-opticien.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://lindice-opticien.fr/anti-reflets-tout-savoir-sur-ces-traitements-de-surface/ — 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://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 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://lindice-opticien.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://lindice-opticien.fr/devenir-aveugle-quest-ce-qui-provoque-la-cecite/ — 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://lindice-opticien.fr/differents-types-de-verres-pour-differents-usages/ — 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://lindice-opticien.fr/etre-borgne-ce-quil-faut-savoir-sur-la-perte-de-la-vue-dun-oeil/ — 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://lindice-opticien.fr/examen-de-vue/ — 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://lindice-opticien.fr/les-verres-progressifs-obtenez-une-vision-nette-a-toutes-les-distances/ — 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://lindice-opticien.fr/les-verres-qui-se-teintent-au-soleil-ce-quil-faut-savoir/ — 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://lindice-opticien.fr/lunettes/ — 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://lindice-opticien.fr/lunettes/mykita/ — 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://lindice-opticien.fr/montage-des-verres/ — 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://lindice-opticien.fr/plongee-piscine/ — 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://lindice-opticien.fr/plongee-piscine/view/ — 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://lindice-opticien.fr/pourquoi-choisir-des-traitements-anti-rayures-pour-vos-verres/ — 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://lindice-opticien.fr/quels-sont-les-meilleurs-fabricants-de-lunettes/ — 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://lindice-opticien.fr/quels-traitements-de-surface-pour-un-verre-correcteur/ — 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://lindice-opticien.fr/quest-ce-que-le-traitement-hydrophobe/ — 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://lindice-opticien.fr/reparation/ — 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://lindice-opticien.fr/verres-mi-distance-quest-ce-que-cest/ — 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://lindice-opticien.fr/verres-unifocaux-on-vous-explique-tout/ — 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://lindice-opticien.fr/verres/ — 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://lindice-opticien.fr/verres/options-des-verres/ — 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://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
notice Deprecated schema type with no Google rich result
Rule schema.deprecated_type · Structured Data · 1 occurrence(s)
- https://lindice-opticien.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 FAQPage structured data (rich result removed May 2026)
Rule schema.faq_deprecated · Structured Data · 1 occurrence(s)
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 15 occurrence(s)
- https://lindice-opticien.fr/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/blog/anisocorie-symptomes-causes-et-situations-durgence/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/contact/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/examen-de-vue/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/lunettes/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/lunettes/mykita/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/mentions-legales-et-rgpd/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/montage-des-verres/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/plongee-piscine/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/plongee-piscine/view/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/prise-de-rendez-vous/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/reparation/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/verres/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/verres/options-des-verres/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://lindice-opticien.fr/verres/verres-solaires/verres-kolorblind/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.