SEO audit for kbmcs.com
Acceuil KBM cleaning service (KBMCS), entreprise de propreté | entreprise de nettoyage
Health 58/100 (fair) · 9 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)KBM Cleaning Service (KBMCS), entreprise de propreté spécialisée dans le nettoyage de bureaux, hôtels, locaux commerciaux, immeubles de copropriété, immeubles de bureaux et centres de santé. Services…
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Structured Data | 89 | 1 | 0 | 7 |
| Agent Readiness | 70 | 0 | 9 | 0 |
| Content | 93 | 0 | 2 | 8 |
| Budget | 97 | 0 | 1 | 0 |
| Indexability | 97 | 0 | 1 | 0 |
| Links | 97 | 0 | 1 | 9 |
| Meta Description | 97 | 0 | 1 | 7 |
| Titles | 97 | 0 | 1 | 0 |
| Images | 100 | 0 | 0 | 2 |
| Performance | 100 | 0 | 0 | 19 |
| Security | 100 | 0 | 0 | 9 |
| Social | 100 | 0 | 0 | 1 |
| URL | 100 | 0 | 0 | 5 |
Errors (1 rules)
error JSON-LD block missing @context or @type
Rule schema.no_context_type · Structured Data · 1 occurrence(s)
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — a JSON-LD block is missing @context or @type — Google can't parse it, so no rich result is possible. Add both fields (@context="https://schema.org" and a valid @type).
Warnings (7 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 9 occurrence(s)
- https://www.kbmcs.com/ — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/%C3%A0-propos — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/%C3%A9quipements — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/contact — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/mentions-l%C3%A9gales — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/politique-de-confidentialit%C3%A9 — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/politique-de-cookies — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/r%C3%A9server-en-ligne — 2 button/link(s) with no text or aria-label — an agent can't target them
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — 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.kbmcs.com/r%C3%A9server-en-ligne — this noindex page has 1 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.kbmcs.com/service-page/rendez-vous-en-personne.
warning Thin content (low word count)
Rule content.thin · Content · 2 occurrence(s)
- https://www.kbmcs.com/contact — 127 words
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — 124 words
warning Page is noindex
Rule index.noindex · Indexability · 1 occurrence(s)
- https://www.kbmcs.com/r%C3%A9server-en-ligne — meta/X-Robots: meta=noindex
warning Orphan page (no internal inlinks)
Rule links.orphan · Links · 1 occurrence(s)
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — no internal links point here
warning Missing meta description
Rule meta_desc.missing · Meta Description · 1 occurrence(s)
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 1 occurrence(s)
- https://www.kbmcs.com/ — 86 chars, ~661px (limit ~580px)
Notices (11 rules)
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 8 occurrence(s)
- https://www.kbmcs.com/ — 0.4%
- https://www.kbmcs.com/%C3%A0-propos — 0.4%
- https://www.kbmcs.com/%C3%A9quipements — 0.3%
- https://www.kbmcs.com/contact — 0.3%
- https://www.kbmcs.com/mentions-l%C3%A9gales — 0.4%
- https://www.kbmcs.com/politique-de-confidentialit%C3%A9 — 0.5%
- https://www.kbmcs.com/politique-de-cookies — 0.5%
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — 0.2%
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 5 occurrence(s)
- https://www.kbmcs.com/ — the likely hero/LCP image (ea71bb_c74fbaf027f84b12a6d93f05747d9bf6~mv2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.kbmcs.com/%C3%A0-propos — the likely hero/LCP image (ea71bb_185c55553919487b8e6aeaa7a77a42fe~mv2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.kbmcs.com/%C3%A9quipements — the likely hero/LCP image (ea71bb_2f92a19f0c1b4468821bb86e5294b9bf~mv2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.kbmcs.com/contact — the likely hero/LCP image (ea71bb_c226b4aab12c48778a0c8b1047607958~mv2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://www.kbmcs.com/r%C3%A9server-en-ligne — the likely hero/LCP image (2fd079bb88774bbe8f9ae073791c9e01.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
notice Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 2 occurrence(s)
- https://www.kbmcs.com/ — 6 of 10 images without width/height
- https://www.kbmcs.com/%C3%A9quipements — 4 of 5 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 9 occurrence(s)
- https://www.kbmcs.com/ — 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.kbmcs.com/%C3%A0-propos — 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.kbmcs.com/%C3%A9quipements — 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.kbmcs.com/contact — 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.kbmcs.com/mentions-l%C3%A9gales — 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.kbmcs.com/politique-de-confidentialit%C3%A9 — 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.kbmcs.com/politique-de-cookies — 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.kbmcs.com/r%C3%A9server-en-ligne — 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.kbmcs.com/service-page/rendez-vous-en-personne — 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 Meta description too long
Rule meta_desc.too_long · Meta Description · 7 occurrence(s)
- https://www.kbmcs.com/ — 242 chars
- https://www.kbmcs.com/%C3%A0-propos — 274 chars
- https://www.kbmcs.com/%C3%A9quipements — 259 chars
- https://www.kbmcs.com/contact — 234 chars
- https://www.kbmcs.com/mentions-l%C3%A9gales — 267 chars
- https://www.kbmcs.com/politique-de-confidentialit%C3%A9 — 216 chars
- https://www.kbmcs.com/politique-de-cookies — 274 chars
notice Missing Open Graph tags
Rule og.missing · Social · 1 occurrence(s)
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — og:description
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 5 occurrence(s)
- https://www.kbmcs.com/ — 10 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.kbmcs.com/%C3%A0-propos — 2 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.kbmcs.com/%C3%A9quipements — 5 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.kbmcs.com/contact — 2 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.kbmcs.com/r%C3%A9server-en-ligne — 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 Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 9 occurrence(s)
- https://www.kbmcs.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.kbmcs.com/%C3%A0-propos — 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.kbmcs.com/%C3%A9quipements — 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.kbmcs.com/contact — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.kbmcs.com/mentions-l%C3%A9gales — 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.kbmcs.com/politique-de-confidentialit%C3%A9 — 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.kbmcs.com/politique-de-cookies — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.kbmcs.com/r%C3%A9server-en-ligne — 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.kbmcs.com/service-page/rendez-vous-en-personne — 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 No structured data detected
Rule schema.none · Structured Data · 7 occurrence(s)
- https://www.kbmcs.com/%C3%A0-propos
- https://www.kbmcs.com/%C3%A9quipements
- https://www.kbmcs.com/contact
- https://www.kbmcs.com/mentions-l%C3%A9gales
- https://www.kbmcs.com/politique-de-confidentialit%C3%A9
- https://www.kbmcs.com/politique-de-cookies
- https://www.kbmcs.com/service-page/rendez-vous-en-personne
notice Missing recommended security headers
Rule security.missing_headers · Security · 9 occurrence(s)
- https://www.kbmcs.com/ — CSP
- https://www.kbmcs.com/%C3%A0-propos — CSP
- https://www.kbmcs.com/%C3%A9quipements — CSP
- https://www.kbmcs.com/contact — CSP
- https://www.kbmcs.com/mentions-l%C3%A9gales — CSP
- https://www.kbmcs.com/politique-de-confidentialit%C3%A9 — CSP
- https://www.kbmcs.com/politique-de-cookies — CSP
- https://www.kbmcs.com/r%C3%A9server-en-ligne — CSP
- https://www.kbmcs.com/service-page/rendez-vous-en-personne — CSP
notice Non-ASCII characters in URL path
Rule url.non_ascii · URL · 5 occurrence(s)
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://www.kbmcs.com/ Acceuil KBM cleaning service (KBMCS), entreprise de propreté | entreprise de nettoyage |
200 | yes | 379 | 9 |
| https://www.kbmcs.com/%C3%A0-propos À propos | KBMCS |
200 | yes | 256 | 9 |
| https://www.kbmcs.com/%C3%A9quipements Équipements | KBMCS |
200 | yes | 273 | 9 |
| https://www.kbmcs.com/contact Contact | KBMCS |
200 | yes | 127 | 9 |
| https://www.kbmcs.com/mentions-l%C3%A9gales Mentions légales | KBMCS |
200 | yes | 231 | 9 |
| https://www.kbmcs.com/politique-de-confidentialit%C3%A9 Politique de confidentialité | KBMCS |
200 | yes | 271 | 9 |
| https://www.kbmcs.com/politique-de-cookies Politique de cookies | KBMCS |
200 | yes | 273 | 9 |
| https://www.kbmcs.com/r%C3%A9server-en-ligne Réserver en ligne | KBMCS |
200 | no | 112 | 1 |
| https://www.kbmcs.com/service-page/rendez-vous-en-personne Rendez-vous en personne | KBMCS |
200 | yes | 124 | 0 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.