# Diagnóstico SEO — Home

- **URL:** https://www.patiospoolsanddriveways.com/
- **Fecha:** 2026-10-30
- **Herramientas:** claude-seo v2.5.0 (`/seo-page`, `/seo-google`), Search Console API, Playwright (`_scripts/medir-pagina.py`)
- **Datos crudos:** [`mediciones/20261030-antes/`](mediciones/20261030-antes/)

## Resumen

La home está bien construida y **no es la causa principal** del mal posicionamiento del
sitio. Ese problema está fuera de la página: el sitio es joven, tiene pocos links
entrantes y la ficha de Google Business Profile apunta a la URL vieja `http://`.

Dentro de la página hay dos frentes:

1. **Etiquetas:** el título es demasiado largo y el H1 está mal redactado.
2. **Imágenes:** pesan unos 2,5 MB, sirven el mismo archivo a desktop y a mobile,
   y algunas son hasta 5 veces más grandes de lo que se pintan.

```
Puntaje general: 81/100

On-Page SEO:     72/100  ███████░░░
Contenido:       88/100  █████████░
Técnico:         92/100  █████████░
Schema:          85/100  ████████░░
Imágenes:        72/100  ███████░░░
```

## Rendimiento actual en Google (línea base)

| Período | URL | Búsquedas | Impresiones | Clics | Posición |
|---|---|---:|---:|---:|---:|
| 28 días (02/10–27/10) | `https://www.…/` | 38 | 192 | 3 | 62,9 |
| 28 días (02/10–27/10) | `http://…/` (link de la ficha de Business Profile) | 66 | 550 | 1 | 2,4 |
| 7 días (21/10–27/10) | `https://www.…/` | 21 | 65 | 0 | 66,9 |
| 7 días (21/10–27/10) | `http://…/` | 27 | 55 | 0 | 4,7 |

- **Indexación:** "Submitted and indexed". Último rastreo: 2026-10-26.
- **Búsquedas de marca:** "patios pools driveways inc" sale en la posición 1–2.
  - Las búsquedas genéricas de la URL `https://www.` caen entre la 47 y la 98.
  - Las mismas búsquedas genéricas, en la URL `http://`, salen en la posición 1–2, pero
    con casi 0 clics. Es el comportamiento típico de las impresiones del mapa local,
    atribuidas a la URL de la ficha *(inferencia)*.
- **Core Web Vitals reales (CrUX):** no hay datos todavía, porque falta la API key de PageSpeed.

### Posiciones por búsqueda hoy

Son las 20 búsquedas con más impresiones de la home, sumando sus dos URLs (`www` y
`http`, la del link de la ficha de Business Profile). Es la línea base que se compara
en [resultado.md](resultado.md).

| Búsqueda | URL | Impresiones (28 días) | Clics | Posición (28 días) | Posición (7 días) |
|---|---|---:|---:|---:|---:|
| patio contractor | http | 108 | 0 | 1,0 | — |
| pool deck resurfacing | http | 97 | 0 | 1,4 | — |
| pool deck concrete coating | http | 92 | 0 | 1,0 | — |
| patios pools driveways inc | http+www | 54 | 3 | 2,9 | 2,6 |
| patios driveways | http+www | 39 | 0 | 28,9 | 35,6 |
| winfield paver patios | www | 27 | 0 | 91,5 | 86,5 |
| patios and driveways | http+www | 24 | 0 | 64,0 | 59,3 |
| pools patios and driveways | http+www | 20 | 1 | 3,0 | 4,2 |
| patio pools and driveways | http+www | 17 | 0 | 5,9 | 7,0 |
| pool deck pavers boynton beach | http+www | 17 | 0 | 9,7 | — |
| pool pavers boynton beach | http+www | 16 | 0 | 13,2 | 1,8 |
| pool deck installation boynton beach | http | 13 | 0 | 2,2 | 2,2 |
| pool surfacing palm beach gardens | www | 13 | 0 | 98,1 | 98,3 |
| patio installation | http | 12 | 0 | 1,0 | — |
| pool pavers near me | www | 12 | 0 | 79,3 | — |
| pool pavers delray beach | http | 10 | 0 | 1,1 | 1,0 |
| pool deck remodel boynton beach | http | 9 | 0 | 1,0 | 1,0 |
| boynton beach concrete pool pump pad | http | 7 | 0 | 4,9 | 4,0 |
| driveways patios | http | 7 | 0 | 1,4 | 1,0 |
| pool deck pavers near me | http+www | 7 | 0 | 71,9 | — |

- **Ventanas:** 28 días = 02/10–27/10; 7 días = 21/10–27/10. Un "—" significa que la
  búsqueda no tuvo impresiones en esos 7 días.
- **Búsquedas objetivo del plan** (título y H1 nuevos): `pavers palm beach county`,
  `pavers broward county`, `pavers boynton beach` y `paver contractor boynton beach`.
  **Hoy la home no aparece en ninguna**: Search Console no registra impresiones.
  Reemplazan a las primeras (`pool renovation boynton beach`, `pool renovation palm beach`
  y las dos de `paver contractor`) desde la corrección del title del 2026-10-30
  (ver [plan.md](plan.md)).
- **Límite de los datos:** Search Console solo muestra las búsquedas en las que la página
  tuvo impresiones. Para saber la posición exacta en una búsqueda donde no aparece
  haría falta un rastreador de posiciones (por ejemplo DataForSEO), que hoy no está configurado.

## Hallazgos

### Alta

**H1. El título tiene 80 caracteres y arranca con la marca.**
`Patios Pools Driveways Inc. — Pools, Pavers, Patios & Driveways in South Florida`.
Google corta alrededor de los 60 caracteres, y lo que define el servicio queda al final.
Se define en `app/Services/PageSeoService.php` (`pages()['home']`), y el string está
repetido en `meta.title` y en `webPage.name`.

**H2. Imágenes: unos 2,5 MB en la carga inicial, sin variantes por tamaño ni por formato.**

| Grupo | Archivos | Tamaño fuente | Pintado desktop / mobile | Peso |
|---|---|---|---|---:|
| Hero (slider) | 5 × `slide-N.webp` | 1280×720 | 1440×700 / 390×640 | 522 KB |
| Tarjetas de servicio | `card-pool.jpg`, `card-patio.webp`, `card-driveway.webp`, `card-overlay.webp` | 1371×858 | 676×416 / 366×320 | 897 KB |
| Galería 60/40 | 4 × `*-hero.jpg` | 1280×720 | **237×133 / 165×93** | 946 KB |
| Galería 60/40 | 3 × `why-N.jpg` | 260–332 px | 237 px / 165 px | 150 KB |
| Mapa | `florida-map.png` | 364×466 | 427×546 / 200×256 | 37 KB |

Medición con Playwright: **2.542 KB** en desktop y tablet, **2.568 KB** en mobile.
Formatos: 8 WebP, 8 JPG, 1 PNG y 10 SVG; **ningún AVIF y ningún `srcset`**.

- **Galería:** las 4 fotos de 1280 px se pintan a 237 px. Es el mayor desperdicio:
  casi 1 MB para 4 miniaturas.
- **Hero en mobile:** el navegador baja la foto apaisada de 1280×720 y le recorta el
  centro para llenar 390×640. Un recorte vertical hecho de antemano da exactamente los
  mismos píxeles visibles con mucho menos peso.
- **Tarjetas:** no tienen `loading="lazy"`, así que las 4 cargan de entrada.
  - En desktop solo la primera fila (2 tarjetas) queda cerca del fold, a 732 px; la
    segunda está a 1172 px.
  - En mobile solo la primera queda arriba del fold.
- **`card-*.webp` pesa más que su `.jpg`** (por ejemplo, patio: 264 KB contra 168 KB).
  Son WebP mal comprimidos.

Estimación con variantes de prueba (AVIF q55, Pillow):

| Caso | Hoy | AVIF | WebP |
|---|---:|---:|---:|
| Hero desktop 1280 | 141 KB | 74 KB | 121 KB |
| Hero mobile, recorte 439×720 | 141 KB | 26 KB | 41 KB |
| Tarjeta desktop 700 px | 188 KB | 35 KB | 57 KB |
| Tarjeta mobile, recorte 732×640 | 188 KB | 46 KB | 74 KB |
| Miniatura de galería 480 px | 224 KB | 15 KB | 26 KB |

El peso total proyectado es de unos **0,5–0,6 MB**, entre un 75 % y un 80 % menos.

### Media

**H3. H1 oculto y mal redactado.**
El H1 es `sr-only` (en `resources/views/home.blade.php`, sección `page-heading`), porque
los titulares visibles del slider son H2. Dice *"Patios Pools Driveways Inc. - Top
driveway, patio and pool deck paver, and pool renovation contractor in Palm Beach and
Broward Counties."*: unos 135 caracteres, con una enumeración confusa. Un H1 oculto es
válido para accesibilidad, pero es la señal más débil de la página.

**H4. Boynton Beach casi no aparece.**
Es la ciudad de la oficina y de la ficha de Business Profile, y la ficha enlaza a esta
página. Sin embargo, solo figura en la dirección y en la lista de ciudades, nunca en el
título ni en el H1 *(inferencia: reforzarla ayuda a que Google asocie la ficha con la página)*.

**H5. Imágenes con poca resolución para pantallas retina.**

- **`why-1/2/3.jpg`:** miden entre 260 y 332 px y se pintan a 237 px. En un desktop
  con DPR 2 se ven borrosas.
- **`florida-map.png`:** mide 364×466 y se pinta a 427×546 en desktop, o sea que el
  navegador la agranda.
- **Hero:** la fuente de 1280 px se pinta a 1440 px.

Para corregirlo hacen falta originales en mayor resolución; ningún script puede subir la resolución.

### Baja

- **H6.** La meta description tiene 161 caracteres, uno más del recomendado.
- **H7.** Al schema `LocalBusiness` le faltan `geo` (las coordenadas deben salir de la
  ficha de Business Profile) y `hasOfferCatalog` (los 11 servicios con su URL).

## Lo que está bien (no tocar)

- **Indexación y redes:**
  - Hay un solo H1 y la jerarquía de H2 y H3 es correcta.
  - El canonical, `index, follow` y las etiquetas de Open Graph y Twitter están completos.
- **Links internos:** hay 52, y la home enlaza a las 11 páginas de servicio base y a las galerías.
- **Contenido:**
  - Tiene 1.353 palabras (el mínimo para una home es 500).
  - Calidad: 95/100, sin relleno ni frases típicas de IA.
  - Legibilidad: Flesch 46, nivel de lectura de 9° grado de EE. UU.
- **Señales de confianza:** se ven la licencia FL #CGC1521715, "más de 15 años",
  "2.500+ proyectos", la dirección y reseñas.
- **Teléfono:** el HTML y el schema usan (561) 488-5003. El (561) 726-1261 que se ve
  en el navegador es el reemplazo dinámico de CallRail; es intencional y consistente.
- **Imagen principal:** `fetchpriority="high"` en `slide-1`, que es el LCP. LCP de
  laboratorio entre 0,9 y 1,25 s; CLS entre 0,009 y 0,022.
- **Falta de `width` y `height`:** no genera saltos de diseño, porque las imágenes van
  `absolute inset-0` dentro de contenedores con tamaño fijo.
- **FAQPage:** se mantiene. No da resultados enriquecidos desde mayo de 2026, pero tampoco perjudica.

## Hallazgos que afectan a todo el sitio (fuera del alcance de esta página)

- **Ficha de Business Profile:** el link al sitio apunta a `http://patiospoolsanddriveways.com/`.
  Hay que cambiarlo a `https://www.patiospoolsanddriveways.com/`.
- **`robots.txt`:** producción declara `Sitemap: https://patiospoolsanddriveways.com/sitemap.xml`,
  sin www, igual que la versión commiteada de `public/robots.txt`. La corrección a www
  existe como cambio local **sin commitear** desde el 2026-10-27; falta commitearla y
  deployarla.
- **Sin componente de imagen responsive:** no existe ninguno y no hay ningún `srcset`
  en `resources/views`. Todas las páginas tienen el mismo problema de imágenes que la home.
