SEO audit for campsfachadas.es
campsfachadas.es – Rehabilitación Integral del Edificio
Health 64/100 (fair) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Links | 38 | 2 | 96 | 45 |
| Crawlability | 98 | 1 | 0 | 6 |
| Agent Readiness | 73 | 0 | 45 | 14 |
| Meta Description | 73 | 0 | 45 | 0 |
| Performance | 73 | 0 | 45 | 185 |
| Content | 74 | 0 | 44 | 39 |
| Duplicate | 98 | 0 | 4 | 0 |
| Headings | 98 | 0 | 4 | 0 |
| Images | 100 | 0 | 0 | 45 |
| Security | 100 | 0 | 0 | 46 |
| Social | 100 | 0 | 0 | 90 |
| Structured Data | 100 | 0 | 0 | 35 |
Errors (2 rules)
error Broken internal link (target 4xx/5xx)
Rule links.broken_internal · Links · 2 occurrence(s)
- http://www.campsfachadas.es/ — https://campsfachadas.es/pintura-y-limpieza-de-garajes/ (HTTP 404)
- https://campsfachadas.es/ — https://campsfachadas.es/pintura-y-limpieza-de-garajes/ (HTTP 404)
error Client error (4xx) response
Rule status.4xx · Crawlability · 1 occurrence(s)
Warnings (9 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 45 occurrence(s)
- http://www.campsfachadas.es/ — 15 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/ — 15 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/antesydespues/ — 25 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/bajantes/ — 22 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/contacto/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/cubiertas/ — 28 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/fachadas/ — 29 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/filtraciones-goteras — 62 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/garajes — 20 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/instalaciones-deportivas — 62 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/paredes-medianeras — 23 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/patios-luces/ — 23 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/pavimentos — 20 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/pintura-mural/ — 20 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 6 button/link(s) with no text or aria-label — an agent can't target them
- https://campsfachadas.es/trabajando/ — 6 button/link(s) with no text or aria-label — an agent can't target them
warning Lorem-ipsum placeholder text in a live page
Rule content.lorem_ipsum · Content · 1 occurrence(s)
- https://campsfachadas.es/trabajando/ — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished
warning Thin content (low word count)
Rule content.thin · Content · 43 occurrence(s)
- https://campsfachadas.es/antesydespues/ — 36 words
- https://campsfachadas.es/bajantes/ — 57 words
- https://campsfachadas.es/contacto/ — 62 words
- https://campsfachadas.es/cubiertas/ — 57 words
- https://campsfachadas.es/fachadas/ — 57 words
- https://campsfachadas.es/filtraciones-goteras — 59 words
- https://campsfachadas.es/garajes — 61 words
- https://campsfachadas.es/instalaciones-deportivas — 58 words
- https://campsfachadas.es/paredes-medianeras — 58 words
- https://campsfachadas.es/patios-luces/ — 59 words
- https://campsfachadas.es/pavimentos — 58 words
- https://campsfachadas.es/pintura-mural/ — 58 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 37 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-1/ — 47 words
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-2/ — 47 words
- https://campsfachadas.es/trabajando/ — 38 words
warning Duplicate page content
Rule duplicate.content · Duplicate · 2 occurrence(s)
- http://www.campsfachadas.es/ — content shared by 2 pages: https://campsfachadas.es/
- https://campsfachadas.es/ — content shared by 2 pages: http://www.campsfachadas.es/
warning Duplicate <title> across pages
Rule duplicate.title · Duplicate · 2 occurrence(s)
- http://www.campsfachadas.es/ — title shared by 2 pages: https://campsfachadas.es/
- https://campsfachadas.es/ — title shared by 2 pages: http://www.campsfachadas.es/
warning Missing <h1>
Rule h1.missing · Headings · 4 occurrence(s)
warning Internal link points to a redirect
Rule links.redirect_target · Links · 96 occurrence(s)
- https://campsfachadas.es/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/antesydespues/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/bajantes/ — https://campsfachadas.es/garajes → https://campsfachadas.es/garajes/
- https://campsfachadas.es/bajantes/ — https://campsfachadas.es/paredes-medianeras → https://campsfachadas.es/paredes-medianeras/
- https://campsfachadas.es/bajantes/ — https://campsfachadas.es/pavimentos → https://campsfachadas.es/pavimentos/
- https://campsfachadas.es/contacto/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/cubiertas/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/cubiertas/ — https://campsfachadas.es/filtraciones-goteras → https://campsfachadas.es/filtraciones-goteras/
- https://campsfachadas.es/cubiertas/ — https://campsfachadas.es/garajes → https://campsfachadas.es/garajes/
- https://campsfachadas.es/cubiertas/ — https://campsfachadas.es/instalaciones-deportivas → https://campsfachadas.es/instalaciones-deportivas/
- https://campsfachadas.es/cubiertas/ — https://campsfachadas.es/paredes-medianeras → https://campsfachadas.es/paredes-medianeras/
- https://campsfachadas.es/cubiertas/ — https://campsfachadas.es/pavimentos → https://campsfachadas.es/pavimentos/
- https://campsfachadas.es/fachadas/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/fachadas/ — https://campsfachadas.es/filtraciones-goteras → https://campsfachadas.es/filtraciones-goteras/
- https://campsfachadas.es/fachadas/ — https://campsfachadas.es/garajes → https://campsfachadas.es/garajes/
- https://campsfachadas.es/fachadas/ — https://campsfachadas.es/instalaciones-deportivas → https://campsfachadas.es/instalaciones-deportivas/
- https://campsfachadas.es/fachadas/ — https://campsfachadas.es/paredes-medianeras → https://campsfachadas.es/paredes-medianeras/
- https://campsfachadas.es/fachadas/ — https://campsfachadas.es/pavimentos → https://campsfachadas.es/pavimentos/
- https://campsfachadas.es/patios-luces/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
- https://campsfachadas.es/patios-luces/ — https://campsfachadas.es/filtraciones-goteras → https://campsfachadas.es/filtraciones-goteras/
- https://campsfachadas.es/patios-luces/ — https://campsfachadas.es/garajes → https://campsfachadas.es/garajes/
- https://campsfachadas.es/patios-luces/ — https://campsfachadas.es/instalaciones-deportivas → https://campsfachadas.es/instalaciones-deportivas/
- https://campsfachadas.es/patios-luces/ — https://campsfachadas.es/paredes-medianeras → https://campsfachadas.es/paredes-medianeras/
- https://campsfachadas.es/patios-luces/ — https://campsfachadas.es/pavimentos → https://campsfachadas.es/pavimentos/
- https://campsfachadas.es/trabajando/ — http://www.campsfachadas.es/ → https://campsfachadas.es/
warning Missing meta description
Rule meta_desc.missing · Meta Description · 45 occurrence(s)
- http://www.campsfachadas.es/
- https://campsfachadas.es/
- https://campsfachadas.es/antesydespues/
- https://campsfachadas.es/bajantes/
- https://campsfachadas.es/contacto/
- https://campsfachadas.es/cubiertas/
- https://campsfachadas.es/fachadas/
- https://campsfachadas.es/filtraciones-goteras
- https://campsfachadas.es/garajes
- https://campsfachadas.es/instalaciones-deportivas
- https://campsfachadas.es/paredes-medianeras
- https://campsfachadas.es/patios-luces/
- https://campsfachadas.es/pavimentos
- https://campsfachadas.es/pintura-mural/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/
- https://campsfachadas.es/trabajando/
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 45 occurrence(s)
- http://www.campsfachadas.es/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/antesydespues/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/bajantes/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/contacto/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/cubiertas/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/fachadas/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/filtraciones-goteras — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/garajes — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/instalaciones-deportivas — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/paredes-medianeras — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/patios-luces/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/pavimentos — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/pintura-mural/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://campsfachadas.es/trabajando/ — 3 render-blocking <script> in <head> (add defer/async or use type=module)
Notices (16 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://campsfachadas.es/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice No main landmark for AI agents
Rule agent.no_main_landmark · Agent Readiness · 13 occurrence(s)
- http://www.campsfachadas.es/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/bajantes/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/contacto/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/cubiertas/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/fachadas/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/filtraciones-goteras — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/garajes — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/instalaciones-deportivas — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/paredes-medianeras — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/patios-luces/ — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/pavimentos — add a <main> element (or role=main) around the primary content
- https://campsfachadas.es/pintura-mural/ — add a <main> element (or role=main) around the primary content
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 39 occurrence(s)
- https://campsfachadas.es/antesydespues/ — 4.8%
- https://campsfachadas.es/bajantes/ — 4.8%
- https://campsfachadas.es/contacto/ — 2.9%
- https://campsfachadas.es/garajes — 4.5%
- https://campsfachadas.es/paredes-medianeras — 4.9%
- https://campsfachadas.es/patios-luces/ — 4.9%
- https://campsfachadas.es/pavimentos — 4.5%
- https://campsfachadas.es/pintura-mural/ — 4.5%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 2.3%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-2/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-7-0/ — 2.4%
- https://campsfachadas.es/portfolio-posts/antes-y-despues-7-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/columna-1-1/ — 2.4%
- https://campsfachadas.es/portfolio-posts/columna/ — 2.4%
- https://campsfachadas.es/trabajando/ — 2.9%
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 45 occurrence(s)
- http://www.campsfachadas.es/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/antesydespues/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/bajantes/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/contacto/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/cubiertas/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/fachadas/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/filtraciones-goteras — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/garajes — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/instalaciones-deportivas — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/paredes-medianeras — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/patios-luces/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/pavimentos — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/pintura-mural/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — the likely hero/LCP image (logo-camps-blanco-peq.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://campsfachadas.es/trabajando/ — the likely hero/LCP image (logo-camps-blanco-peq.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 · 45 occurrence(s)
- http://www.campsfachadas.es/ — 6 of 10 images without width/height
- https://campsfachadas.es/ — 6 of 10 images without width/height
- https://campsfachadas.es/antesydespues/ — 4 of 24 images without width/height
- https://campsfachadas.es/bajantes/ — 4 of 11 images without width/height
- https://campsfachadas.es/contacto/ — 6 of 10 images without width/height
- https://campsfachadas.es/cubiertas/ — 4 of 17 images without width/height
- https://campsfachadas.es/fachadas/ — 4 of 18 images without width/height
- https://campsfachadas.es/filtraciones-goteras — 4 of 51 images without width/height
- https://campsfachadas.es/garajes — 4 of 9 images without width/height
- https://campsfachadas.es/instalaciones-deportivas — 4 of 51 images without width/height
- https://campsfachadas.es/paredes-medianeras — 4 of 12 images without width/height
- https://campsfachadas.es/patios-luces/ — 4 of 12 images without width/height
- https://campsfachadas.es/pavimentos — 4 of 9 images without width/height
- https://campsfachadas.es/pintura-mural/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 4 of 9 images without width/height
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 4 of 9 images without width/height
- https://campsfachadas.es/trabajando/ — 4 of 18 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 45 occurrence(s)
- http://www.campsfachadas.es/ — 12 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://campsfachadas.es/ — 12 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://campsfachadas.es/antesydespues/ — 19 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://campsfachadas.es/bajantes/ — 16 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://campsfachadas.es/contacto/ — 3 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://campsfachadas.es/cubiertas/ — 22 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://campsfachadas.es/fachadas/ — 23 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://campsfachadas.es/filtraciones-goteras — 56 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://campsfachadas.es/garajes — 14 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://campsfachadas.es/instalaciones-deportivas — 56 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://campsfachadas.es/paredes-medianeras — 17 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://campsfachadas.es/patios-luces/ — 17 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://campsfachadas.es/pavimentos — 14 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://campsfachadas.es/pintura-mural/ — 14 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 3 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 3 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://campsfachadas.es/trabajando/ — 7 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 Missing Open Graph tags
Rule og.missing · Social · 45 occurrence(s)
- http://www.campsfachadas.es/ — og:title, og:description, og:image
- https://campsfachadas.es/ — og:title, og:description, og:image
- https://campsfachadas.es/antesydespues/ — og:title, og:description, og:image
- https://campsfachadas.es/bajantes/ — og:title, og:description, og:image
- https://campsfachadas.es/contacto/ — og:title, og:description, og:image
- https://campsfachadas.es/cubiertas/ — og:title, og:description, og:image
- https://campsfachadas.es/fachadas/ — og:title, og:description, og:image
- https://campsfachadas.es/filtraciones-goteras — og:title, og:description, og:image
- https://campsfachadas.es/garajes — og:title, og:description, og:image
- https://campsfachadas.es/instalaciones-deportivas — og:title, og:description, og:image
- https://campsfachadas.es/paredes-medianeras — og:title, og:description, og:image
- https://campsfachadas.es/patios-luces/ — og:title, og:description, og:image
- https://campsfachadas.es/pavimentos — og:title, og:description, og:image
- https://campsfachadas.es/pintura-mural/ — og:title, og:description, og:image
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — og:description
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — og:description
- https://campsfachadas.es/trabajando/ — og:title, og:description, og:image
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 45 occurrence(s)
- http://www.campsfachadas.es/ — 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://campsfachadas.es/ — 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://campsfachadas.es/antesydespues/ — 24 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://campsfachadas.es/bajantes/ — 11 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://campsfachadas.es/contacto/ — 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://campsfachadas.es/cubiertas/ — 17 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://campsfachadas.es/fachadas/ — 18 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://campsfachadas.es/filtraciones-goteras — 51 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://campsfachadas.es/garajes — 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://campsfachadas.es/instalaciones-deportivas — 51 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://campsfachadas.es/paredes-medianeras — 12 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://campsfachadas.es/patios-luces/ — 12 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://campsfachadas.es/pavimentos — 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://campsfachadas.es/pintura-mural/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — 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://campsfachadas.es/trabajando/ — 18 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 Large HTML document
Rule perf.large_html · Performance · 3 occurrence(s)
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 45 occurrence(s)
- http://www.campsfachadas.es/ — 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://campsfachadas.es/ — 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://campsfachadas.es/antesydespues/ — 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://campsfachadas.es/bajantes/ — 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://campsfachadas.es/contacto/ — 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://campsfachadas.es/cubiertas/ — 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://campsfachadas.es/fachadas/ — 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://campsfachadas.es/filtraciones-goteras — 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://campsfachadas.es/garajes — 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://campsfachadas.es/instalaciones-deportivas — 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://campsfachadas.es/paredes-medianeras — 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://campsfachadas.es/patios-luces/ — 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://campsfachadas.es/pavimentos — 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://campsfachadas.es/pintura-mural/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-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://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-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://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-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://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-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://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-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://campsfachadas.es/trabajando/ — 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 · 45 occurrence(s)
- http://www.campsfachadas.es/ — 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://campsfachadas.es/ — 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://campsfachadas.es/antesydespues/ — 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://campsfachadas.es/bajantes/ — 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://campsfachadas.es/contacto/ — 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://campsfachadas.es/cubiertas/ — 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://campsfachadas.es/fachadas/ — 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://campsfachadas.es/filtraciones-goteras — 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://campsfachadas.es/garajes — 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://campsfachadas.es/instalaciones-deportivas — 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://campsfachadas.es/paredes-medianeras — 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://campsfachadas.es/patios-luces/ — 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://campsfachadas.es/pavimentos — 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://campsfachadas.es/pintura-mural/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-1-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://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-2-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://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-3-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://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-4-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://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — 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://campsfachadas.es/portfolio-posts/antes-y-despues-5-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://campsfachadas.es/trabajando/ — 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 · 2 occurrence(s)
notice URL redirects to another URL
Rule redirect.single · Crawlability · 6 occurrence(s)
- http://www.campsfachadas.es/ — redirects to https://campsfachadas.es/
- https://campsfachadas.es/filtraciones-goteras — redirects to https://campsfachadas.es/filtraciones-goteras/
- https://campsfachadas.es/garajes — redirects to https://campsfachadas.es/garajes/
- https://campsfachadas.es/instalaciones-deportivas — redirects to https://campsfachadas.es/instalaciones-deportivas/
- https://campsfachadas.es/paredes-medianeras — redirects to https://campsfachadas.es/paredes-medianeras/
- https://campsfachadas.es/pavimentos — redirects to https://campsfachadas.es/pavimentos/
notice Deep page has no BreadcrumbList structured data
Rule schema.breadcrumb_missing · Structured Data · 35 occurrence(s)
- https://campsfachadas.es/filtraciones-goteras — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/garajes — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/instalaciones-deportivas — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/paredes-medianeras — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/pavimentos — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-6-2/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-7-0/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/antes-y-despues-7-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/columna-1-1/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/columna/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/fachada/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/fachadas7/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/fachadas8/ — depth-2 page has structured data but no BreadcrumbList
- https://campsfachadas.es/portfolio-posts/foto-fachada-1/ — depth-2 page has structured data but no BreadcrumbList
notice Missing recommended security headers
Rule security.missing_headers · Security · 46 occurrence(s)
- http://www.campsfachadas.es/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/antesydespues/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/bajantes/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/contacto/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/cubiertas/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/fachadas/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/filtraciones-goteras — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/garajes — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/instalaciones-deportivas — CSP, X-Content-Type-Options, HSTS
- https://campsfachadas.es/paredes-medianeras — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/patios-luces/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/pavimentos — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/pintura-mural/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/pintura-y-limpieza-de-garajes/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/ — X-Content-Type-Options, HSTS, CSP
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/ — HSTS, CSP, X-Content-Type-Options
- https://campsfachadas.es/trabajando/ — HSTS, CSP, X-Content-Type-Options
notice Missing Twitter Card tag
Rule twitter.missing · Social · 45 occurrence(s)
- http://www.campsfachadas.es/
- https://campsfachadas.es/
- https://campsfachadas.es/antesydespues/
- https://campsfachadas.es/bajantes/
- https://campsfachadas.es/contacto/
- https://campsfachadas.es/cubiertas/
- https://campsfachadas.es/fachadas/
- https://campsfachadas.es/filtraciones-goteras
- https://campsfachadas.es/garajes
- https://campsfachadas.es/instalaciones-deportivas
- https://campsfachadas.es/paredes-medianeras
- https://campsfachadas.es/patios-luces/
- https://campsfachadas.es/pavimentos
- https://campsfachadas.es/pintura-mural/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-1-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-2-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-3-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-4-1/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-0/
- https://campsfachadas.es/portfolio-posts/antes-y-despues-5-1/
- https://campsfachadas.es/trabajando/
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.