# Auditoría SEO — fibrolab.cl (re-audit v2) **Fecha:** 2026-04-29 (segunda corrida del día tras commits/cambios en working tree) **URL:** https://www.fibrolab.cl/ **Tipo de negocio:** Hybrid — Manufacturer + HomeAndConstructionBusiness + LocalBusiness + SAB nacional. Fábrica propia en La Pintana, instalación en todo Chile. **Stack:** WordPress + WooCommerce + Rank Math + LiteSpeed Cache + GTM (GTM-W6DGGKK) + PixelYourSite Free 11.2.0.4 **Idioma:** es-CL (hreflang `es-CL` + `x-default` autorreferenciados) **NAP:** Fibrolab · Los Álamos 2538, La Pintana, Región Metropolitana · +56 9 8225 6792 · RUT 77.424.952-4 --- ## SEO Health Score — 63 / 100 | Categoría | Peso | Score | Ponderado | |---|---:|---:|---:| | Technical SEO | 22% | 74 | 16.28 | | Content Quality / E-E-A-T | 23% | 55 | 12.65 | | On-Page SEO | 20% | 62 | 12.40 | | Schema / Datos estructurados | 10% | 62 | 6.20 | | Performance (CWV proxy) | 10% | 70 | 7.00 | | AI Search Readiness (GEO) | 10% | 52 | 5.20 | | Imágenes | 5% | 75 | 3.75 | | **Total** | | | **~63** | **Local SEO (informativo, fuera de fórmula):** 58 / 100 — empeora 3 puntos vs ayer porque la verificación live confirmó que `/contacto/` no existe (301 a home), eliminando el candidato natural para Google Maps embed. > **Lectura del score**: el sitio NO retrocedió; los subagentes encontraron issues nuevos (Merchant Center `hasMerchantReturnPolicy`/`shippingDetails`, breadcrumb producto incompleto, URL `/jacuzzi/` mal escrita en llms.txt, `og:type: article` en categorías, `/contacto/` 301, `/bordes/` con noindex en lugar de 301) que el audit de ayer no detectó. Varios fixes críticos del audit anterior **sí aterrizaron** en código (ver sección "Fixes confirmados" más abajo). --- ## Fixes confirmados desde audit anterior (✓) Verificados en HTML/PHP live de hoy: 1. **Critical CSS inline + main CSS deferred** — `functions.php:154-163` y `:297-310`. CSS principal se carga con `media="print" onload`. 2. **Google Fonts self-hosted (Montserrat + Nunito WOFF2 variables)** — `functions.php:128-139`. Poppins eliminado. `preload` con `crossorigin`. 3. **jQuery `defer`** — `functions.php:274-283`, filtro `fibrolab_defer_jquery_scripts` confirmado en HTML live. 4. **Rank Math `@id` alias a `#localbusiness`** — `functions.php:842-854`. Cero nodos `Organization` huérfanos. 5. **Deduplicación schema**: WooCommerce `woocommerce_structured_data_product` suprimido + Rank Math Product/Article/BreadcrumbList suprimidos vía filtro. Cero duplicados detectados en URLs muestreadas. 6. **Garantía dual aclarada en `/nosotros/`** (`page-nosotros.php:168-169`): "5 años estructural en piscinas nuevas / 1 año en reparación". 7. **FAQ `/reparacion/` reescrita con contenido técnico genuino**: aparecen ahora rodamina, ISO-NPG, ASTM C581, CSM 300-450 g/m². El benchmark de calidad esperado. 8. **Favicon resuelto en HTML** (link rel=icon a icon-100x100.png), aunque `/favicon.ico` directo sigue 404. 9. **llms.txt incluye `/reparacion/` y `/nosotros/`** que faltaban. 10. **`Service` schema completo** en las 5 páginas: `image`, `areaServed`, `provider @id` vinculado a `#localbusiness`, `offers` con `priceCurrency: CLP`. 11. **Headers de seguridad**: HSTS preload, CSP completa con `report-uri`, X-Frame-Options, X-Content-Type-Options, Permissions-Policy, Referrer-Policy strict-origin-when-cross-origin. --- ## Plan de acción priorizado ### CRÍTICO (esta semana) 1. **`hasMerchantReturnPolicy` + `shippingDetails` ausentes en `Product` Offer** — `functions.php:658-671`. Google Merchant Center los exige desde 2024 para rich results de producto. Sin estos campos, **ningún producto califica** para Shopping Graph ni rich snippet de precio en SERP. Bloqueador comercial directo. 2. **`/contacto/` no existe — devuelve 301 a home** — Verificado live. Elimina el candidato natural para `