Skip to content

SEO: cumplir el checklist de 26 puntos en las 18 páginas - #9

Merged
JoniMartin27 merged 1 commit into
mainfrom
feat/seo-26-puntos
Aug 14, 2026
Merged

SEO: cumplir el checklist de 26 puntos en las 18 páginas#9
JoniMartin27 merged 1 commit into
mainfrom
feat/seo-26-puntos

Conversation

@JoniMartin27

Copy link
Copy Markdown
Collaborator

Qué hace

Pasada completa de SEO on-page sobre las 18 páginas de fervon.dev contra el checklist de 26 puntos.

Antes: 13/26. Ahora: 25/26. El único que queda es el 23 (GA4), que necesita el ID de medición G-XXXXXXXXXX — ver más abajo.

Estado punto por punto

# Punto Antes Ahora
1 Metatítulos distintos ✅ 0 duplicados
2 Metadescripciones distintas ✅ 0 duplicados
3 Un solo H1 ✅ 18/18
4 H1 distinto del metatítulo
5 Intención de búsqueda
6 TL;DR / key takeaways ✅ 18/18
7 Tras la intención ✅ justo después del hero
8 CTA tras el primer bloque parcial ✅ dentro del TL;DR
9 Estructura H1/H2/H3 1 fallo ✅ arreglado /contacto/
10 Interlinkado y clústeres ❌ productos solo enlazaban a / ✅ 3 enlaces por página
11 Tablas y listas parcial ✅ 18/18 con ambas
12 FAQ 9/18 ✅ 18/18
13 Schema FAQ 9/18 ✅ 18/18
14 Nombres de imágenes
15 Alt text ✅ 0 sin alt
16 Schema de negocio ProfessionalService en la home
17 robots.txt ✅ reescrito
18 URLs sin números ni conectores parcial ⚠️ ver nota
19 Desindexar /page/ Disallow: /page/
20 llms.txt ✅ nuevo
21 CTA fijo en móvil ✅ 18/18
22 Botón de compartir ✅ 18/18
23 GA4 ⏳ falta el ID
24 Search Console ✅ verificado por TXT
25 Sitemap ✅ lastmod al día
26 Sitemap en GSC ✅ conviene reenviarlo

El cambio con más impacto: robots.txt

El robots.txt bloqueaba a todos los rastreadores de IA, incluidos OAI-SearchBot, ChatGPT-User y PerplexityBot. Eso hacía imposible el objetivo de aparecer en ChatGPT.

Ahora se separan dos cosas distintas:

  • Búsqueda y citas → Allow: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended.
  • Entrenamiento y scraping → Disallow: GPTBot, CCBot, ClaudeBot, Bytespider, Meta-ExternalAgent, Applebot-Extended, etc.

Nota sobre el punto 18

/trace/rewind-shut-down-what-to-use y /trace/personal-memory-tool-without-screen-recording llevan conectores. No las he cambiado a propósito: son páginas de keyword ya indexadas que atacan consultas exactas, y renombrarlas sacrificaría posicionamiento real por cumplir una regla de estilo. Las URLs nuevas sí siguen la norma. Ninguna URL del sitio lleva números.

Arreglos encontrados por el camino

  • /contacto/ saltaba de h2 a h4 (punto 9).
  • /contacto/ tenía un desbordamiento horizontal: su <body> es flex y la tabla estiraba el <main> a 570px con el viewport a 375. Contenido con contain:inline-size.
  • assets/shared.js: el respaldo con execCommand solo actuaba si faltaba la API moderna. Medido: clipboard.writeText rechaza con NotAllowedError en casos donde execCommand sí copia, así que ahora se intenta tras el rechazo.
  • El deploy no excluía LICENSE, PAYMENTS.md, LANZAMIENTO-VEREDICTO.md ni los og-test-*: se servían en fervon.dev. Es la misma clase de fuga que se cerró en su día.

Verificación

Chrome headless, A/B contra una copia intacta de main:

  • 18 páginas × 375px y 320px: 0 desbordes nuevos, 0 errores de consola. Los 3 desbordes que quedan a 320px (/contacto/ 326, /claudescope/ 332, /inferbench/ 329) dan los mismos valores que en main: ya existían.
  • Toggle ES/EN: cambia TL;DR, clúster, FAQ y botón de compartir en ambos sentidos, en páginas ES y EN.
  • Compartir: la rama nativa pasa título y URL canónica correctos; la de respaldo copia y avisa en el idioma activo. No he podido comprobar que los bytes lleguen al portapapeles del sistema: este entorno lo bloquea por completo (hasta Set-Clipboard de PowerShell falla).
  • CTA fijo: oculto mientras el CTA del hero está a la vista, visible al bajar.
  • JSON-LD: 35 bloques, 0 rotos.

Se añade scripts/check-overflow.mjs para poder repetir la medición.

Pendiente humano

  1. Pegar la CSP nueva en la Transform Rule de Cloudflare — pasa de 22 a 36 hashes por los bloques JSON-LD nuevos. Valor exacto: node scripts/build-csp.mjs.
  2. GA4: hace falta el ID G-XXXXXXXXXX. Además, la CSP tendrá que permitir https://www.googletagmanager.com en script-src y connect-src.
  3. Reenviar el sitemap en Search Console.

🤖 Generated with Claude Code

Pasada completa de SEO on-page sobre fervon.dev. Antes cumplían 13 de los
26 puntos; ahora cumplen 25 (el 23, GA4, necesita el ID de medición).

Bloques nuevos en las 18 páginas (bilingües, vía data-en/data-es):
- TL;DR "En 30 segundos" justo tras el hero, con CTA dentro (puntos 6, 7, 8)
- FAQ visible + schema FAQPage donde faltaba: home, contacto, claudescope,
  inferbench, launchpad, lookspan, pregon e informe de Veredicto (12, 13)
- Clúster de enlaces internos entre productos y artículos (punto 10)
- Botón de compartir con navigator.share y respaldo al portapapeles (22)
- CTA fijo en móvil que se aparta mientras el del hero está a la vista (21)
- Tabla de datos donde no había ninguna, sólo con datos ya presentes en la
  página o su JSON-LD; nada inventado (punto 11)

Sitio:
- llms.txt nuevo (punto 20)
- robots.txt: se separan los rastreadores de BÚSQUEDA/CITAS (OAI-SearchBot,
  ChatGPT-User, Claude-SearchBot, PerplexityBot, Google-Extended → Allow) de
  los de ENTRENAMIENTO (GPTBot, CCBot, Bytespider… → Disallow). Antes se
  bloqueaba a todos, lo que hacía imposible aparecer en ChatGPT. Se añade
  Disallow /page/ (punto 19)
- schema ProfessionalService en el @graph de la home (punto 16)
- sitemap con lastmod al día (punto 25)

Arreglos encontrados por el camino:
- /contacto/: se sube h4 a h3, que saltaba de h2 a h4 (punto 9)
- /contacto/: la tabla estiraba el <main> a 570px con el viewport a 375
  porque su <body> es flex; se contiene con contain:inline-size
- assets/shared.js: el respaldo con execCommand sólo actuaba si faltaba la
  API moderna. Medido: clipboard.writeText rechaza con NotAllowedError en
  casos donde execCommand SÍ copia, así que ahora se intenta tras el rechazo
- el deploy no excluía LICENSE, PAYMENTS.md, LANZAMIENTO-VEREDICTO.md ni los
  og-test-*: se servían en fervon.dev

Verificado con Chrome headless: 18 páginas × 375/320px sin desbordes nuevos
(los 3 de 320px son idénticos a los de HEAD, ya existían), 0 errores de
consola, el toggle ES/EN cambia los bloques nuevos en ambos sentidos, y el
CTA fijo aparece al bajar. La CSP regenerada pasa de 22 a 36 hashes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JoniMartin27
JoniMartin27 merged commit 55ea593 into main Aug 14, 2026
@JoniMartin27
JoniMartin27 deleted the feat/seo-26-puntos branch August 14, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant