SEO audit for deskoni.org
Home | Deskoni
Health 70/100 (fair) · 22 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Éducatrice spécialisée libéral. Accompagnement éducatif sur mesure à domicile. Proposition de temps de formation.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Performance | 65 | 0 | 26 | 57 |
| Links | 73 | 0 | 20 | 6 |
| Meta Description | 85 | 0 | 11 | 4 |
| Content | 89 | 0 | 8 | 7 |
| Headings | 96 | 0 | 3 | 1 |
| Agent Readiness | 97 | 0 | 2 | 15 |
| Duplicate | 97 | 0 | 2 | 3 |
| Budget | 99 | 0 | 1 | 0 |
| Indexability | 99 | 0 | 1 | 0 |
| Cache | 100 | 0 | 0 | 1 |
| Crawlability | 100 | 0 | 0 | 1 |
| Images | 100 | 0 | 0 | 19 |
| Security | 100 | 0 | 0 | 36 |
| Sitemap | 100 | 0 | 0 | 2 |
| Social | 100 | 0 | 0 | 11 |
| Structured Data | 100 | 0 | 0 | 18 |
| Titles | 100 | 0 | 0 | 2 |
| URL | 100 | 0 | 0 | 1 |
Warnings (11 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 2 occurrence(s)
- https://www.deskoni.org/our-services — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.deskoni.org/web/login — 1 button/link(s) with no text or aria-label — an agent can't target them
warning Noindex page receives internal links (crawl-budget waste)
Rule budget.noindex_linked · Budget · 1 occurrence(s)
- https://www.deskoni.org/cookie-policy — this noindex page has 19 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.deskoni.org/, https://www.deskoni.org/contactus, https://www.deskoni.org/mentions-legales.
warning Thin content (low word count)
Rule content.thin · Content · 8 occurrence(s)
- https://www.deskoni.org/blog/1 — 93 words
- https://www.deskoni.org/blog/2 — 160 words
- https://www.deskoni.org/blog/actualites-2 — 160 words
- https://www.deskoni.org/contactus — 99 words
- https://www.deskoni.org/pricing — 162 words
- https://www.deskoni.org/web/login — 81 words
- https://www.deskoni.org/web/reset_password — 82 words
- https://www.deskoni.org/website/info — 106 words
warning Duplicate <title> across pages
Rule duplicate.title · Duplicate · 2 occurrence(s)
- https://www.deskoni.org/blog/2 — title shared by 2 pages: https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/actualites-2 — title shared by 2 pages: https://www.deskoni.org/blog/2
warning Missing <h1>
Rule h1.missing · Headings · 3 occurrence(s)
warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)
Rule images.no_lazy_lcp_candidate · Performance · 7 occurrence(s)
- https://www.deskoni.org/ — the likely hero/LCP image (photo%2520vir.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — the likely hero/LCP image (drapeau%2520breton.svg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — the likely hero/LCP image (istockphoto-638620778-612x612.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — the likely hero/LCP image (20250911_145231.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — the likely hero/LCP image (livre%20tsa.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — the likely hero/LCP image (20250912_152404.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
- https://www.deskoni.org/our-services — the likely hero/LCP image (website.s_three_columns_default_image_1) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
warning Page is noindex
Rule index.noindex · Indexability · 1 occurrence(s)
- https://www.deskoni.org/cookie-policy — meta/X-Robots: meta=noindex
warning Orphan page (no internal inlinks)
Rule links.orphan · Links · 1 occurrence(s)
- https://www.deskoni.org/website/info — no internal links point here
warning Internal link points to a redirect
Rule links.redirect_target · Links · 19 occurrence(s)
- https://www.deskoni.org/ — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/1 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/2 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/actualites-2 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/coin-lecture-4 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/contactus — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/cookie-policy — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/mentions-legales — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/our-services — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/pricing — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/web/login — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/web/reset_password — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/website/info — https://www.deskoni.org/blog/2 → https://www.deskoni.org/blog/actualites-2
warning Missing meta description
Rule meta_desc.missing · Meta Description · 11 occurrence(s)
- https://www.deskoni.org/blog
- https://www.deskoni.org/blog/1
- https://www.deskoni.org/blog/2
- https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/coin-lecture-4
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7
- https://www.deskoni.org/mentions-legales
- https://www.deskoni.org/web/login
- https://www.deskoni.org/web/reset_password
- https://www.deskoni.org/website/info
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 19 occurrence(s)
- https://www.deskoni.org/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/1 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/2 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/actualites-2 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/coin-lecture-4 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/contactus — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/cookie-policy — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/mentions-legales — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/our-services — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/pricing — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/web/login — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/web/reset_password — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://www.deskoni.org/website/info — 1 render-blocking <script> in <head> (add defer/async or use type=module)
Notices (22 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 14 occurrence(s)
- https://www.deskoni.org/blog/1 — h4 follows h2 — skips h3
- https://www.deskoni.org/blog/2 — h4 follows h1 — skips h2
- https://www.deskoni.org/blog/actualites-2 — h4 follows h1 — skips h2
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — h6 follows h1 — skips h2
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — h6 follows h1 — skips h2
- https://www.deskoni.org/blog/coin-lecture-4 — h4 follows h1 — skips h2
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — h5 follows h1 — skips h2
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — h5 follows h1 — skips h2
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — h5 follows h1 — skips h2
- https://www.deskoni.org/contactus — h5 follows h1 — skips h2
- https://www.deskoni.org/cookie-policy — h4 follows h1 — skips h2
- https://www.deskoni.org/our-services — h5 follows h1 — skips h2
- https://www.deskoni.org/pricing — h3 follows h1 — skips h2
- https://www.deskoni.org/website/info — h4 follows h2 — skips h3
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://www.deskoni.org/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 1 occurrence(s)
- https://www.deskoni.org/web/login — Cache-Control: no-cache
notice Title tag and meta description are identical
Rule content.title_meta_same · Meta Description · 2 occurrence(s)
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — the meta description is identical to the <title> — write a distinct description to control the SERP snippet
- https://www.deskoni.org/pricing — the meta description is identical to the <title> — write a distinct description to control the SERP snippet
notice Duplicate meta description across pages
Rule duplicate.meta_desc · Duplicate · 3 occurrence(s)
- https://www.deskoni.org/ — meta description shared by 3 pages: https://www.deskoni.org/contactus, https://www.deskoni.org/our-services
- https://www.deskoni.org/contactus — meta description shared by 3 pages: https://www.deskoni.org/, https://www.deskoni.org/our-services
- https://www.deskoni.org/our-services — meta description shared by 3 pages: https://www.deskoni.org/, https://www.deskoni.org/contactus
notice Multiple <h1> elements
Rule h1.multiple · Headings · 1 occurrence(s)
- https://www.deskoni.org/ — 2 <h1> elements
notice Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 19 occurrence(s)
- https://www.deskoni.org/ — 15 of 16 images without width/height
- https://www.deskoni.org/blog — 2 of 3 images without width/height
- https://www.deskoni.org/blog/1 — 2 of 3 images without width/height
- https://www.deskoni.org/blog/2 — 2 of 3 images without width/height
- https://www.deskoni.org/blog/actualites-2 — 2 of 3 images without width/height
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 6 of 7 images without width/height
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — 8 of 9 images without width/height
- https://www.deskoni.org/blog/coin-lecture-4 — 2 of 3 images without width/height
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 5 of 6 images without width/height
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 5 of 6 images without width/height
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 5 of 6 images without width/height
- https://www.deskoni.org/contactus — 2 of 3 images without width/height
- https://www.deskoni.org/cookie-policy — 2 of 3 images without width/height
- https://www.deskoni.org/mentions-legales — 2 of 3 images without width/height
- https://www.deskoni.org/our-services — 22 of 23 images without width/height
- https://www.deskoni.org/pricing — 2 of 3 images without width/height
- https://www.deskoni.org/web/login — 2 of 3 images without width/height
- https://www.deskoni.org/web/reset_password — 2 of 3 images without width/height
- https://www.deskoni.org/website/info — 2 of 3 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 5 occurrence(s)
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Page has only one internal inlink (fragile crawl path)
Rule links.single_inlink · Links · 1 occurrence(s)
- https://www.deskoni.org/web/reset_password — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
notice Legacy <meta name=keywords> tag present (Google ignores it)
Rule meta.keywords_present · Content · 7 occurrence(s)
- https://www.deskoni.org/ — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/contactus — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/our-services — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
- https://www.deskoni.org/pricing — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
notice Meta description too short
Rule meta_desc.too_short · Meta Description · 2 occurrence(s)
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 22 chars
- https://www.deskoni.org/pricing — 15 chars
notice Missing Open Graph tags
Rule og.missing · Social · 11 occurrence(s)
- https://www.deskoni.org/blog — og:description
- https://www.deskoni.org/blog/1 — og:description
- https://www.deskoni.org/blog/2 — og:description
- https://www.deskoni.org/blog/actualites-2 — og:description
- https://www.deskoni.org/blog/coin-lecture-4 — og:description
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — og:description
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — og:description
- https://www.deskoni.org/mentions-legales — og:description
- https://www.deskoni.org/web/login — og:description
- https://www.deskoni.org/web/reset_password — og:description
- https://www.deskoni.org/website/info — og:description
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 19 occurrence(s)
- https://www.deskoni.org/ — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/1 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/2 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/actualites-2 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/coin-lecture-4 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/contactus — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/cookie-policy — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/mentions-legales — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/our-services — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/pricing — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/web/login — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/web/reset_password — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.deskoni.org/website/info — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 19 occurrence(s)
- https://www.deskoni.org/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/1 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/2 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/actualites-2 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/coin-lecture-4 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/contactus — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/cookie-policy — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/mentions-legales — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/our-services — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/pricing — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/web/login — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/web/reset_password — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://www.deskoni.org/website/info — 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 · 19 occurrence(s)
- https://www.deskoni.org/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.deskoni.org/blog — 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.deskoni.org/blog/1 — 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.deskoni.org/blog/2 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.deskoni.org/blog/actualites-2 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — 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.deskoni.org/blog/actualites-2/mon-parcours-8 — 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.deskoni.org/blog/coin-lecture-4 — 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.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 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.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 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.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 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.deskoni.org/contactus — 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.deskoni.org/cookie-policy — 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.deskoni.org/mentions-legales — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.deskoni.org/our-services — 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.deskoni.org/pricing — 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.deskoni.org/web/login — 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.deskoni.org/web/reset_password — 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.deskoni.org/website/info — 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)
- https://www.deskoni.org/blog/2 — redirects to https://www.deskoni.org/blog/actualites-2
notice No structured data detected
Rule schema.none · Structured Data · 18 occurrence(s)
- https://www.deskoni.org/
- https://www.deskoni.org/blog
- https://www.deskoni.org/blog/1
- https://www.deskoni.org/blog/2
- https://www.deskoni.org/blog/actualites-2
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8
- https://www.deskoni.org/blog/coin-lecture-4
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7
- https://www.deskoni.org/contactus
- https://www.deskoni.org/mentions-legales
- https://www.deskoni.org/our-services
- https://www.deskoni.org/pricing
- https://www.deskoni.org/web/login
- https://www.deskoni.org/web/reset_password
- https://www.deskoni.org/website/info
notice Missing recommended security headers
Rule security.missing_headers · Security · 17 occurrence(s)
- https://www.deskoni.org/ — CSP
- https://www.deskoni.org/blog — CSP
- https://www.deskoni.org/blog/1 — CSP
- https://www.deskoni.org/blog/2 — CSP
- https://www.deskoni.org/blog/actualites-2 — CSP
- https://www.deskoni.org/blog/actualites-2/et-pourquoi-3 — CSP
- https://www.deskoni.org/blog/actualites-2/mon-parcours-8 — CSP
- https://www.deskoni.org/blog/coin-lecture-4 — CSP
- https://www.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — CSP
- https://www.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — CSP
- https://www.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — CSP
- https://www.deskoni.org/contactus — CSP
- https://www.deskoni.org/cookie-policy — CSP
- https://www.deskoni.org/mentions-legales — CSP
- https://www.deskoni.org/our-services — CSP
- https://www.deskoni.org/pricing — CSP
- https://www.deskoni.org/website/info — CSP
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 19 occurrence(s)
- https://www.deskoni.org/ — 2 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.deskoni.org/blog — 2 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.deskoni.org/blog/1 — 2 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.deskoni.org/blog/2 — 2 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.deskoni.org/blog/actualites-2 — 2 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.deskoni.org/blog/actualites-2/et-pourquoi-3 — 2 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.deskoni.org/blog/actualites-2/mon-parcours-8 — 2 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.deskoni.org/blog/coin-lecture-4 — 2 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.deskoni.org/blog/coin-lecture-4/comment-parler-de-trouble-du-spectre-autistique-aux-enfants-4 — 2 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.deskoni.org/blog/coin-lecture-4/lectures-pour-les-etudiants-debutants-5 — 2 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.deskoni.org/blog/coin-lecture-4/vecu-de-parents-7 — 2 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.deskoni.org/contactus — 2 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.deskoni.org/cookie-policy — 2 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.deskoni.org/mentions-legales — 2 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.deskoni.org/our-services — 2 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.deskoni.org/pricing — 2 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.deskoni.org/web/login — 2 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.deskoni.org/web/reset_password — 2 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.deskoni.org/website/info — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
notice Indexable page not listed in sitemap
Rule sitemap.orphan_not_listed · Sitemap · 2 occurrence(s)
- https://www.deskoni.org/web/login — indexable but not in sitemap
- https://www.deskoni.org/web/reset_password — indexable but not in sitemap
notice Title is very short
Rule title.too_short · Titles · 2 occurrence(s)
- https://www.deskoni.org/ — 14 chars
- https://www.deskoni.org/blog/1 — 11 chars
notice Underscores in URL path (prefer hyphens)
Rule url.underscores · URL · 1 occurrence(s)
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.