Catalog / kwipa.ma
66

SEO audit for kwipa.ma

Kwipa - Trouvez les Meilleurs Barbiers, Spas et Salons au Maroc

otherNext.js

Health 66/100 (fair) · 50 pages crawled · generated 2026-08-26

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

Fini l'attente. Accédez aux meilleurs coiffeurs, barbiers et spas au Maroc. Comparez les prix, les avis et réservez votre glow up instantanément.

Screenshot of kwipa.ma
50
pages crawled
50
indexable pages
0
errors
107
warnings
528
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Agent Readiness 78 0 37 15
Content 81 0 31 48
Headings 87 0 22 0
Performance 92 0 14 186
Duplicate 99 0 2 0
Rendering 99 0 1 0
Cache 100 0 0 50
Canonical 100 0 0 41
Images 100 0 0 49
Security 100 0 0 50
Social 100 0 0 38
Structured Data 100 0 0 51
Findings

Warnings (6 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 37 occurrence(s)

warning Duplicate page content

Rule duplicate.content · Duplicate · 2 occurrence(s)

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 14 occurrence(s)

  • https://www.kwipa.ma/ — the likely hero/LCP image (espace-val-fleuri_00.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.kwipa.ma/agadir — the likely hero/LCP image (casablanca.jpg) 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.kwipa.ma/casablanca — the likely hero/LCP image (chijqzukegatpg0rb50_cptiybe_00.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.kwipa.ma/casablanca/bourgogne/casa-almas — the likely hero/LCP image (chijm55d0vhtpw0ruatkl5sft-0_00.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.kwipa.ma/contact — the likely hero/LCP image (whatsapp.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.kwipa.ma/marrakech — the likely hero/LCP image (chijqal7ogvprw0rj4yyouwn3zk_00.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.kwipa.ma/marrakech/massira2/center-kady — the likely hero/LCP image (chijqal7ogvprw0rj4yyouwn3zk_00.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.kwipa.ma/meknes — the likely hero/LCP image (chijx48scwbfoa0rr-5pkjtssl8_00.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.kwipa.ma/meknes/hamria/pirate-barbershop — the likely hero/LCP image (chijx48scwbfoa0rr-5pkjtssl8_00.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.kwipa.ma/mohammedia — the likely hero/LCP image (chijwamocgc3pw0rre6xhhf7azc_00.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.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars — the likely hero/LCP image (chijwamocgc3pw0rre6xhhf7azc_00.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.kwipa.ma/rabat — the likely hero/LCP image (chijzwakdwbtpw0rfnwqt9a16-q_00.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.kwipa.ma/rabat/ocean/barbers-star — the likely hero/LCP image (chijzwakdwbtpw0rfnwqt9a16-q_00.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.kwipa.ma/tanger — the likely hero/LCP image (casablanca.jpg) 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 Content only rendered by JavaScript (invisible to non-JS crawlers & AI)

Rule rendering.js_shell · Rendering · 1 occurrence(s)

  • https://www.kwipa.ma/download — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.

Notices (17 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://www.kwipa.ma/ — 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 · 50 occurrence(s)

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

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

  • https://www.kwipa.ma/search — this URL is a canonical target but has no internal links pointing to it — crawlers only learn of it via the canonical tag. Add direct internal links (or list it in the sitemap).

notice Canonical points to a different URL

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

notice Likely hero image lacks fetchpriority=high

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

  • https://www.kwipa.ma/agadir/talborjt — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/ain-diab — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/anfa — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/belvedere — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/bourgogne — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/bouskoura — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/californie — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/gauthier — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/hay-hassani — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/maarif — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/oulfa — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/palmier — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/racine — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/sidi-maarouf — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/casablanca/valfleuri — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/marrakech/gueliz — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/meknes/hamria — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/mohammedia/derb-laayoun — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/pro — the likely hero/LCP image (kwipa-white.png) 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.kwipa.ma/rabat/agdal — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/search — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/search?location=casablanca — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/search?location=casablanca&sort=rating — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/search?tag=promo — the likely hero/LCP image (kwipa-full.png) 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.kwipa.ma/tanger/malabata — the likely hero/LCP image (kwipa-full.png) 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 · 49 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 3 occurrence(s)

  • https://www.kwipa.ma/search — the page has 2180 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.kwipa.ma/search?location=casablanca — the page has 2180 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.kwipa.ma/search?location=casablanca&sort=rating — the page has 2180 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

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

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

  • https://www.kwipa.ma/ — 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.kwipa.ma/agadir — 9 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.kwipa.ma/agadir/talborjt — 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.kwipa.ma/casablanca — 9 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.kwipa.ma/casablanca/bourgogne/casa-almas — 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.kwipa.ma/casablanca/maarif — 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.kwipa.ma/cgu — 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.kwipa.ma/marrakech — 9 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.kwipa.ma/marrakech/gueliz — 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.kwipa.ma/marrakech/massira2/center-kady — 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.kwipa.ma/meknes — 9 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.kwipa.ma/meknes/hamria — 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.kwipa.ma/meknes/hamria/pirate-barbershop — 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.kwipa.ma/mohammedia — 9 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.kwipa.ma/mohammedia/derb-laayoun — 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.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars — 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.kwipa.ma/privacy — 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.kwipa.ma/pro — 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.kwipa.ma/rabat — 9 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.kwipa.ma/rabat/agdal — 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.kwipa.ma/rabat/ocean/barbers-star — 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.kwipa.ma/search — 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.kwipa.ma/search?tag=promo — 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.kwipa.ma/tanger — 9 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.kwipa.ma/tanger/malabata — 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 · 50 occurrence(s)

  • https://www.kwipa.ma/ — 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.kwipa.ma/agadir — 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.kwipa.ma/agadir/talborjt — 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.kwipa.ma/casablanca — 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.kwipa.ma/casablanca/bourgogne/casa-almas — 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.kwipa.ma/casablanca/maarif — 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.kwipa.ma/cgu — 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.kwipa.ma/download — 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.kwipa.ma/marrakech — 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.kwipa.ma/marrakech/gueliz — 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.kwipa.ma/marrakech/massira2/center-kady — 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.kwipa.ma/meknes — 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.kwipa.ma/meknes/hamria — 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.kwipa.ma/meknes/hamria/pirate-barbershop — 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.kwipa.ma/mohammedia — 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.kwipa.ma/mohammedia/derb-laayoun — 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.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars — 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.kwipa.ma/privacy — 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.kwipa.ma/pro — 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.kwipa.ma/rabat — 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.kwipa.ma/rabat/agdal — 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.kwipa.ma/rabat/ocean/barbers-star — 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.kwipa.ma/search — 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.kwipa.ma/tanger — 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.kwipa.ma/tanger/malabata — 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 · 50 occurrence(s)

  • https://www.kwipa.ma/ — 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.kwipa.ma/agadir — 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.kwipa.ma/agadir/talborjt — 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.kwipa.ma/casablanca — 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.kwipa.ma/casablanca/bourgogne/casa-almas — 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.kwipa.ma/casablanca/maarif — 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.kwipa.ma/cgu — 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.kwipa.ma/download — 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.kwipa.ma/marrakech — 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.kwipa.ma/marrakech/gueliz — 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.kwipa.ma/marrakech/massira2/center-kady — 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.kwipa.ma/meknes — 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.kwipa.ma/meknes/hamria — 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.kwipa.ma/meknes/hamria/pirate-barbershop — 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.kwipa.ma/mohammedia — 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.kwipa.ma/mohammedia/derb-laayoun — 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.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars — 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.kwipa.ma/privacy — 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.kwipa.ma/pro — 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.kwipa.ma/rabat — 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.kwipa.ma/rabat/agdal — 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.kwipa.ma/rabat/ocean/barbers-star — 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.kwipa.ma/search — 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.kwipa.ma/tanger — 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.kwipa.ma/tanger/malabata — 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 Slow server response

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

notice Deep page has no BreadcrumbList structured data

Rule schema.breadcrumb_missing · Structured Data · 1 occurrence(s)

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 50 occurrence(s)

  • https://www.kwipa.ma/ — 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.
  • https://www.kwipa.ma/agadir — 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.
  • https://www.kwipa.ma/agadir/talborjt — 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.
  • https://www.kwipa.ma/casablanca — 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.
  • https://www.kwipa.ma/casablanca/bourgogne/casa-almas — 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.
  • https://www.kwipa.ma/casablanca/maarif — 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.
  • https://www.kwipa.ma/cgu — 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.
  • https://www.kwipa.ma/download — 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.
  • https://www.kwipa.ma/marrakech — 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.
  • https://www.kwipa.ma/marrakech/gueliz — 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.
  • https://www.kwipa.ma/marrakech/massira2/center-kady — 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.
  • https://www.kwipa.ma/meknes — 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.
  • https://www.kwipa.ma/meknes/hamria — 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.
  • https://www.kwipa.ma/meknes/hamria/pirate-barbershop — 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.
  • https://www.kwipa.ma/mohammedia — 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.
  • https://www.kwipa.ma/mohammedia/derb-laayoun — 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.
  • https://www.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars — 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.
  • https://www.kwipa.ma/privacy — 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.
  • https://www.kwipa.ma/pro — 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.
  • https://www.kwipa.ma/rabat — 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.
  • https://www.kwipa.ma/rabat/agdal — 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.
  • https://www.kwipa.ma/rabat/ocean/barbers-star — 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.
  • https://www.kwipa.ma/search — 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.
  • https://www.kwipa.ma/tanger — 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.
  • https://www.kwipa.ma/tanger/malabata — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice Missing recommended security headers

Rule security.missing_headers · Security · 50 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.kwipa.ma/
Kwipa - Trouvez les Meilleurs Barbiers, Spas et Salons au Maroc
200 yes 630 49
https://www.kwipa.ma/casablanca/bourgogne/casa-almas
Salon Casa almas - Bourgogne, Casablanca | Kwipa
200 yes 218 14
https://www.kwipa.ma/casablanca/ain-diab
Salons à Ain Diab, Casablanca | Kwipa
200 yes 54 30
https://www.kwipa.ma/casablanca/gauthier
Salons à Gauthier, Casablanca | Kwipa
200 yes 52 30
https://www.kwipa.ma/casablanca/maarif
Salons à Maarif, Casablanca | Kwipa
200 yes 345 30
https://www.kwipa.ma/casablanca/racine
Salons à Racine, Casablanca | Kwipa
200 yes 52 30
https://www.kwipa.ma/cgu
Conditions Générales d'Utilisation (CGU) | Kwipa
200 yes 64 30
https://www.kwipa.ma/contact
Contact & Support | Kwipa
200 yes 87 30
https://www.kwipa.ma/privacy
Politique de Confidentialité | Kwipa
200 yes 64 30
https://www.kwipa.ma/pro
Kwipa - Trouvez les Meilleurs Barbiers, Spas et Salons au Maroc
200 yes 430 17
https://www.kwipa.ma/casablanca
أفضل محلات الحلاقة والصالونات في Casablanca | Kwipa
200 yes 417 8
https://www.kwipa.ma/casablanca/bourgogne
Salons à Bourgogne, Casablanca | Kwipa
200 yes 225 3
https://www.kwipa.ma/rabat/ocean/barbers-star
Barber's Star - Ocean, Rabat | Kwipa
200 yes 260 8
https://www.kwipa.ma/casablanca/anfa
Salons à Anfa, Casablanca | Kwipa
200 yes 52 2
https://www.kwipa.ma/casablanca/belvedere
Salons à Belvedere, Casablanca | Kwipa
200 yes 128 2
https://www.kwipa.ma/casablanca/californie
Salons à Californie, Casablanca | Kwipa
200 yes 52 2
https://www.kwipa.ma/casablanca/oulfa
Salons à Oulfa, Casablanca | Kwipa
200 yes 52 2
https://www.kwipa.ma/casablanca/sidi-maarouf
Salons à Sidi Maarouf, Casablanca | Kwipa
200 yes 54 2
https://www.kwipa.ma/casablanca/valfleuri
Salons à Valfleuri, Casablanca | Kwipa
200 yes 154 2
https://www.kwipa.ma/search?location=casablanca
Coiffeurs & Salons à Casablanca | Kwipa
200 yes 557 2
https://www.kwipa.ma/meknes/hamria/pirate-barbershop
Pirate Barbershop - Hamria, Meknes | Kwipa
200 yes 206 3
https://www.kwipa.ma/mohammedia/derb-laayoun/aleuup-stars
Aleuup Stars Barbershop VIP - Derb laayoun, Mohammedia | Kwipa
200 yes 237 3
https://www.kwipa.ma/search?tag=promo
Réservez votre Beauté en Ligne au Maroc | Kwipa
200 yes 293 1
https://www.kwipa.ma/marrakech/massira2/center-kady
CENTER KADY - Massira2, Marrakech | Kwipa
200 yes 181 5
https://www.kwipa.ma/rabat
أفضل محلات الحلاقة والصالونات في Rabat | Kwipa
200 yes 213 7
https://www.kwipa.ma/marrakech
أفضل محلات الحلاقة والصالونات في Marrakech | Kwipa
200 yes 213 7
https://www.kwipa.ma/tanger
أفضل محلات الحلاقة والصالونات في Tanger | Kwipa
200 yes 210 6
https://www.kwipa.ma/rabat/ocean
Salons à Ocean, Rabat | Kwipa
200 yes 104 2
https://www.kwipa.ma/agadir
أفضل محلات الحلاقة والصالونات في Agadir | Kwipa
200 yes 209 4
https://www.kwipa.ma/meknes/hamria
Salons à Hamria, Meknes | Kwipa
200 yes 104 2
https://www.kwipa.ma/marrakech/massira2
Salons à Massira2, Marrakech | Kwipa
200 yes 105 2
https://www.kwipa.ma/mohammedia
أفضل محلات الحلاقة والصالونات في Mohammedia | Kwipa
200 yes 211 1
https://www.kwipa.ma/meknes
أفضل محلات الحلاقة والصالونات في Meknès | Kwipa
200 yes 210 1
https://www.kwipa.ma/casablanca/bouskoura
Salons à Bouskoura, Casablanca | Kwipa
200 yes 52 1
https://www.kwipa.ma/casablanca/hay-hassani
Salons à Hay Hassani, Casablanca | Kwipa
200 yes 107 1
https://www.kwipa.ma/casablanca/palmier
Salons à Palmier, Casablanca | Kwipa
200 yes 52 1
https://www.kwipa.ma/search?location=casablanca&sort=rating
Coiffeurs & Salons à Casablanca | Kwipa
200 yes 557 1
https://www.kwipa.ma/tanger/malabata
Salons à Malabata, Tanger | Kwipa
200 yes 16 1
https://www.kwipa.ma/agadir/talborjt
Salons à Talborjt, Agadir | Kwipa
200 yes 15 1
https://www.kwipa.ma/rabat/agdal
Salons à Agdal, Rabat | Kwipa
200 yes 23 1
https://www.kwipa.ma/rabat/hassan
Salons à Hassan, Rabat | Kwipa
200 yes 23 1
https://www.kwipa.ma/rabat/hay-riad
Salons à Hay Riad, Rabat | Kwipa
200 yes 25 1
https://www.kwipa.ma/rabat/medina
Salons à Medina, Rabat | Kwipa
200 yes 23 1
https://www.kwipa.ma/rabat/souissi
Salons à Souissi, Rabat | Kwipa
200 yes 23 1
https://www.kwipa.ma/marrakech/gueliz
Salons à Gueliz, Marrakech | Kwipa
200 yes 23 1
https://www.kwipa.ma/marrakech/hivernage
Salons à Hivernage, Marrakech | Kwipa
200 yes 23 1
https://www.kwipa.ma/marrakech/medina
Salons à Medina, Marrakech | Kwipa
200 yes 23 1
https://www.kwipa.ma/mohammedia/derb-laayoun
Salons à Derb Laayoun, Mohammedia | Kwipa
200 yes 109 1
https://www.kwipa.ma/download
Kwipa - Trouvez les Meilleurs Barbiers, Spas et Salons au Maroc
200 yes 0 0
https://www.kwipa.ma/search
Réservez votre Beauté en Ligne au Maroc | Kwipa
200 yes 557 0

Audit your own site — free

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

Scan your site →