---
name: ultimate-seo-geo-claude
title: "Ultimate SEO + GEO Skill para Claude"
description: "Guía completa de SEO (Search Engine Optimization) + GEO (Generative Engine Optimization) con todas las técnicas, esquemas, estructuras y workflows necesarios para posicionar cualquier sitio web en buscadores tradicionales (Google, Bing) y motores de IA generativa (ChatGPT, Perplexity, Gemini, Claude Search, Bing Copilot)."
author: "Zero Azul — Orquestación Empresarial con IA"
version: "1.0.0"
last_updated: "2026-07-17"
---

# Ultimate SEO + GEO Skill para Claude

## Introducción

El SEO/GEO es un ecosistema híbrido que combina técnicas tradicionales de posicionamiento con optimización para motores de IA generativa. Ya no basta con Google — hoy los sitios deben aparecer en respuestas de ChatGPT, Perplexity, Gemini y otros asistentes.

Este skill cubre **todo el ciclo**: desde la infraestructura técnica (robots.txt, schema markup, SSR) hasta la estrategia de contenido (pirámide invertida, FAQ conversacional, video SEO) y el monitoreo continuo (cron audits, AI Overviews analytics).

---

## 1. Robots.txt para AI Crawlers

Los crawlers de IA deben tener acceso explícito al sitio. Sin esto, tu contenido es invisible para los motores generativos.

### Configuración recomendada en `public/robots.txt`:

```txt
User-agent: *
Allow: /

# Crawlers de IA — permitir explícitamente
User-agent: GPTBot
Allow: /

User-agent: Claude-Web
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: CCBot
Allow: /

User-agent: anthropic-ai
Allow: /
```

### ⚠️ Cloudflare Block AI Bots (pitfall crítico)

Cloudflare inyecta reglas al inicio del robots.txt vía **Scrape Shield > Block AI Bots**, agregando `Disallow: /` para GPTBot, Google-Extended, CCBot, ClaudeBot y otros **antes** de cualquier `Allow: /` que tengas en el archivo fuente.

**Síntoma:** El archivo local `public/robots.txt` está correcto, pero al hacer `curl` el output muestra bloques inyectados de Cloudflare que anulan las reglas locales.

**Solución:** Ir a Cloudflare Dashboard > Scrape Shield > desactivar "Block AI Bots".

### Crawlers de IA que deben permitirse:

| Crawler | Motor IA | Propietario |
|---------|----------|-------------|
| GPTBot | ChatGPT, GPT Search | OpenAI |
| Claude-Web | Claude | Anthropic |
| PerplexityBot | Perplexity AI | Perplexity |
| Google-Extended | Gemini, SGE | Google |
| CCBot | Varios | Common Crawl |
| anthropic-ai | Claude (alternativo) | Anthropic |
| Bytespider | Doubao, Coze | ByteDance |
| Applebot-Extended | Apple Intelligence | Apple |
| FacebookBot | Meta AI | Meta |
| Amazonbot | Alexa, Rufus | Amazon |

### Verificación:

```bash
curl -s https://tudominio.com/robots.txt | head -30
```

---

## 2. Schema Markup (JSON-LD)

El schema markup es el lenguaje que entienden tanto Google como las IA generativas.

### 2.1 Organization Schema (layout raíz)

Colocar en el layout principal para que todas las páginas hereden los datos de la empresa.

```json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://tudominio.com/#organization",
  "name": "Nombre Empresa",
  "url": "https://tudominio.com/",
  "logo": "https://tudominio.com/logo.png",
  "description": "Descripción de la empresa en 1-2 oraciones.",
  "foundingDate": "2026",
  "legalName": "Nombre Legal SAS",
  "sameAs": [
    "https://instagram.com/tumarca",
    "https://linkedin.com/company/tumarca"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+57-XXX-XXX-XXXX",
    "contactType": "customer service",
    "availableLanguage": ["Spanish", "English"]
  }
}
```

### 2.2 Service Schema (cada página de servicio)

```json
{
  "@context": "https://schema.org",
  "@type": "Service",
  "@id": "https://tudominio.com/servicios/slug/#service",
  "name": "Nombre del Servicio",
  "description": "Descripción del servicio en 1-2 oraciones.",
  "provider": { "@id": "https://tudominio.com/#organization" },
  "areaServed": { "@type": "Country", "name": "Colombia" },
  "audience": { "@type": "BusinessAudience" },
  "offers": { "@type": "Offer", "availability": "https://schema.org/InStock" }
}
```

### 2.3 FAQ Schema

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "@id": "https://tudominio.com/pagina/#faq",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "¿Pregunta conversacional como la haría un usuario en ChatGPT?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Respuesta directa y útil en 2-3 oraciones."
      }
    }
  ]
}
```

### 2.4 Article Schema (blog posts)

```json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "@id": "https://tudominio.com/blog/slug/#article",
  "headline": "Título del post",
  "description": "Excerpt del post",
  "image": "https://tudominio.com/imagen.webp",
  "author": { "@type": "Organization", "@id": "https://tudominio.com/#organization" },
  "publisher": { "@type": "Organization", "@id": "https://tudominio.com/#organization" },
  "datePublished": "2026-06-24",
  "dateModified": "2026-06-24",
  "mainEntityOfPage": { "@type": "WebPage", "@id": "https://tudominio.com/blog/slug/" }
}
```

### Verificación de schemas:

```bash
# Verificar Organization
curl -s https://tudominio.com/ | grep -c '"@type":"Organization"'

# Verificar Service
curl -s https://tudominio.com/servicios/slug/ | grep -c '"@type":"Service"'

# Verificar FAQ
curl -s https://tudominio.com/servicios/slug/ | grep -c '"@type":"FAQPage"'

# Test con Google Rich Results: https://search.google.com/test/rich-results
# Test con Schema.org Validator: https://validator.schema.org/
```

---

## 3. Estructura de Contenido para GEO

Los motores de IA generativa extraen las primeras líneas de cada página como fuente de información. La estructura debe ser directa.

### 3.1 Técnica de la Pirámide Invertida para LLMs

1. **Pregunta directa en el encabezado** — El H1 o H2 debe ser la pregunta exacta que un usuario haría
2. **Respuesta concisa de 2-3 frases justo debajo** — Sin introducciones ni relleno. La IA extrae este bloque como fuente
3. **Datos y tablas comparativas** — Las IA prefieren datos estructurados sobre párrafos largos

**Qué evitan las IA:**
- Introducciones largas con contexto innecesario
- Párrafos de "relleno" (marketing speak sin datos)
- Texto genérico de bienvenida ("Bienvenido a...", "Somos una empresa...")

### 3.2 Ejemplo de página de servicio optimizada para GEO

```html
H1: Workers IA — Agentes Inteligentes para tu Empresa

P1: ¿Qué son los Workers IA? Son agentes de inteligencia artificial persistentes que trabajan 24/7 integrados en Slack, CRM y tus herramientas empresariales. Automatizan atención al cliente, ventas, soporte y procesos internos.

P2: A diferencia de los chatbots tradicionales, los Workers IA recuerdan contexto, ejecutan acciones en múltiples sistemas y aprenden de cada interacción.

FAQ:
- ¿Cómo implemento Workers IA en mi empresa?
- ¿Cuánto cuesta un agente IA?
- ¿Qué diferencia hay entre un chatbot y un Worker IA?
```

### 3.3 Ejemplo de blog post GEO (Q&A)

```html
H1: ¿Pueden los agentes de IA ser miembros del equipo?

P1: Sí, los agentes de IA persistentes están reemplazando el modelo de chatbot. En [Empresa] integramos Workers IA como miembros virtuales del equipo que trabajan en Slack, CRM y operaciones automáticamente.

P2: Estos agentes no solo responden preguntas: ejecutan tareas, actualizan registros, generan reportes y escalan cuando es necesario.
```

---

## 4. FAQ con Preguntas Conversacionales

### 4.1 Estructura HTML microdata

```html
<section class="faq-section">
  <h2>Preguntas frecuentes sobre [servicio]</h2>

  <div itemscope itemtype="https://schema.org/Question">
    <h3 itemprop="name">¿Cómo puedo [beneficio deseado] con [servicio]?</h3>
    <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
      <div itemprop="text">
        Respuesta directa. Explica en 2-3 oraciones. Incluye un beneficio medible.
      </div>
    </div>
  </div>
</section>
```

### 4.2 Banco de preguntas conversacionales por tema

**Para Workers IA / Agentes IA:**
- ¿Cómo puedo automatizar mi atención al cliente con agentes IA?
- ¿Cuánto cuesta implementar un agente de IA en mi empresa colombiana?
- ¿Qué diferencia hay entre un chatbot y un agente IA persistente?
- ¿En qué plataformas puedo integrar los Workers IA?
- ¿Los agentes IA pueden trabajar con mi CRM actual?

**Para CRM Inteligente:**
- ¿Qué CRM es mejor para mi pyme en Colombia?
- ¿Cómo integro mi CRM actual con agentes de IA?
- ¿Cuánto cuesta un CRM con inteligencia artificial?
- ¿Puedo automatizar mis ventas con un CRM inteligente?

**Para Automatización de Procesos:**
- ¿Cómo puedo automatizar tareas repetitivas en mi empresa?
- ¿Qué procesos se pueden automatizar con n8n o Make?
- ¿Cuánto cuesta un proyecto de automatización empresarial?

### 4.3 Reglas para preguntas FAQ (GEO)

Cada FAQ es una oportunidad de aparecer en respuestas de ChatGPT/Perplexity. Redacta las preguntas como:
- "¿Cómo hago X?" (no "X en la empresa")
- "¿Qué es Y y para qué sirve?"
- "¿Cuánto cuesta Z en Colombia?"

---

## 5. E-E-A-T Visible (Experience, Expertise, Authoritativeness, Trustworthiness)

Google y los motores IA priorizan sitios con señales de autoridad verificables.

### 5.1 Datos de empresa visibles (checklist)

- [ ] Footer con: nombre legal, NIT, años operación, proyectos, países, partners, teléfono, email
- [ ] Página "Nosotros" con historia, equipo, valores
- [ ] Página de contacto con formulario y datos reales
- [ ] Blog con artículos técnicos profundos (mínimo 10)
- [ ] Article schema JSON-LD en cada blog post
- [ ] Caja de autor/publisher al final de cada artículo
- [ ] Casos de estudio con clientes y métricas
- [ ] Testimonios con nombre real y empresa
- [ ] LinkedIn de la empresa actualizado
- [ ] Google Business Profile verificado
- [ ] SSL activo
- [ ] Página de política de privacidad
- [ ] Página de términos y condiciones

### 5.2 Implementación en Next.js

#### a) Sección E-E-A-T en el footer

Agregar entre la zona de contactos y los links del footer:

```tsx
<div className="border-b border-ink/10 bg-extra-light/30 px-6 py-8">
  <div className="container flex flex-col md:flex-row md:items-center gap-6 md:gap-10">
    <div className="flex-1">
      <h3 className="text-sm font-bold text-ink mb-2">Nombre Empresa SAS</h3>
      <ul className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-2 text-xs text-ink/60">
        <li><span className="font-medium text-ink/80">NIT:</span> XXX.XXX.XXX-X</li>
        <li><span className="font-medium text-ink/80">Fundación:</span> AAAA</li>
        <li><span className="font-medium text-ink/80">Proyectos:</span> N+ ejecutados</li>
        <li><span className="font-medium text-ink/80">Clientes:</span> Países o regiones</li>
        <li><span className="font-medium text-ink/80">Google Partner:</span> Certificado</li>
        <li><span className="font-medium text-ink/80">Partner:</span> Lista de partners clave</li>
      </ul>
    </div>
  </div>
</div>
```

#### b) Article Schema en blog posts

```tsx
import Script from 'next/script'

const articleSchema = {
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": post.title,
  "description": post.excerpt,
  "image": post.imageUrl,
  "author": { "@type": "Organization", "name": "Empresa" },
  "publisher": { "@type": "Organization", "name": "Empresa" },
  "datePublished": post.date,
  "dateModified": post.modified,
}

return (
  <>
    <Script id="article-schema" type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(articleSchema) }}
    />
    <BlogPostTemplate post={post} />
  </>
)
```

---

## 6. Implementación SEO en Next.js App Router

### 6.1 Organization Schema en layout raíz

En `app/layout.tsx`, agregar schema JSON-LD dentro de un script tag.

### 6.2 Helper de schemas (`lib/schemas.ts`)

```ts
export function serviceSchema(slug: string, name: string, description: string) {
  return {
    "@context": "https://schema.org",
    "@type": "Service",
    "@id": `https://tudominio.com/${slug}/#service`,
    name, description,
    provider: { "@id": "https://tudominio.com/#organization" },
    areaServed: { "@type": "Country", "name": "Colombia" },
  }
}

export function faqSchema(questions: { name: string; text: string }[]) {
  return {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    mainEntity: questions.map(q => ({
      "@type": "Question",
      name: q.name,
      acceptedAnswer: { "@type": "Answer", text: q.text }
    }))
  }
}
```

### 6.3 Metadata por página

Para páginas `'use client'`, crear un `layout.tsx` separado en el mismo directorio:

```tsx
import type { Metadata } from 'next'
import type { ReactNode } from 'react'
import { staticPageMetadata } from '@/lib/seo/internalMetadata'

export const metadata: Metadata = staticPageMetadata({
  pathname: '/servicios/slug/',
  title: 'Título con Keyword | Empresa',
  description: '¿Pregunta conversacional que responde la página? Respuesta corta con keyword y beneficio.',
})

export default function Layout({ children }: { children: ReactNode }) {
  return children
}
```

Regla para la description GEO: debe empezar con una pregunta conversacional:
```
description: '¿Necesitas un CRM con IA que automatice captura de leads? CRM Inteligente con pipeline predictivo e integración WhatsApp. Colombia.',
```

---

## 7. Monitoreo de GEO

### 7.1 Herramientas para medir presencia en IA generativa

1. **Perplexity**: Buscar "tudominio.com [tema]" y ver si aparece como fuente
2. **ChatGPT Search**: Preguntar "qué es [empresa]" y ver si responde
3. **Google SGE** (Search Generative Experience): Buscar temas y ver si el sitio aparece en respuestas generadas
4. **Bing Copilot**: Preguntar sobre servicios y ver si referencia el sitio

### 7.2 Check mensual

- [ ] Buscar "[marca]" en Perplexity → ¿aparece como fuente?
- [ ] Buscar "[marca]" en ChatGPT Search → ¿aparece?
- [ ] Buscar "[servicio] Colombia" en Perplexity → ¿aparece?
- [ ] FAQ pages indexadas correctamente (Google Search Console)
- [ ] Schema markup sin errores (Rich Results Test)

---

## 8. Matriz de Verificación Post-Implementación

| Módulo | Comando curl | Resultado esperado |
|--------|-------------|-------------------|
| 1. Robots.txt | `curl -s https://dominio/robots.txt \| grep "GPTBot\|Allow: /"` | GPTBot Allow, PerplexityBot Allow, Google-Extended Allow |
| 2. Schema Organization | `curl -s https://dominio/ \| grep -c '"@type":"Organization"'` | >= 1 |
| 2. Schema WebSite | `curl -s https://dominio/ \| grep -c '"@type":"WebSite"'` | >= 1 |
| 2. Schema Service | `curl -s https://dominio/servicios/slug/ \| grep -c '"@type":"Service"'` | >= 1 por página de servicio |
| 2. Schema FAQPage | `curl -s https://dominio/servicios/slug/ \| grep -c '"@type":"FAQPage"'` | >= 1 si la página tiene FAQ |
| 3. GEO primera línea | `curl -s https://dominio/servicios/slug/ \| grep -oP '(?<=<p>)[^<]+' \| head -1` | Primera línea responde pregunta directa |
| 5. E-E-A-T footer | `curl -s https://dominio/ \| grep -oP '(?<=NIT:\|Partner:)[^<"]+'` | NIT, partners visibles |
| Schema total count | `curl -s https://dominio/pagina \| grep -o 'application/ld+json' \| wc -l` | >= 2 en homepage, >= 1 en páginas servicio |

---

## 9. Video SEO y Optimización para AI Overviews

Google reveló que el **23.3% de las citas en AI Overviews provienen de YouTube**.

### 9.1 Estrategia video-texto

1. Crear video original de YouTube con evidencia visual real
2. Incrustar el video dentro del artículo relacionado
3. Transcripción completa del video debajo del embed como texto plano
4. Miniatura optimizada con texto superpuesto (keyword + beneficio)
5. Título y descripción del video con la misma keyword que el artículo

### 9.2 Estructura de artículo híbrido

```html
H1: [Keyword principal]
P1: Respuesta directa (pirámide invertida)
[Embed de YouTube — video demo/tutorial de 3-5 min]
"Transcripción del video:" + texto completo del video
[Tabla comparativa o datos propios]
[FAQ]
```

### 9.3 Checklist para cada video

- [ ] Título incluye keyword principal y ubicación (ej. "Colombia")
- [ ] Descripción con link al artículo del sitio
- [ ] Tags relacionados con el servicio
- [ ] Thumbnail con texto legible
- [ ] Closed captions activadas (generan texto indexable)
- [ ] Transcript copiado al artículo como sección de texto
- [ ] **Allow embedding activado** en YouTube Studio

---

## 10. Omnichannel Brand Seeding

Más del 48% de las búsquedas informativas muestran un bloque de IA. La técnica actual es **sembrar menciones de marca en plataformas externas** que las IA procesan para construir reputación.

### 10.1 Plataformas priorizadas

| Plataforma | Tipo de contenido | Frecuencia |
|-----------|-------------------|-----------|
| Reddit | Respuestas a preguntas, casos de uso | 2-3/semana |
| LinkedIn | Artículos técnicos, casos de éxito | 1/semana |
| Foros especializados | Guías, tutoriales | 1/semana |
| TikTok | Tips rápidos, demos visuales | 3-5/semana |
| YouTube | Tutoriales, casos de estudio | 1/semana |
| Google Business Profile | Posts, reseñas, Q&A | 1/semana |

### 10.2 Plantilla de mención consistente

```
Marca: [Nombre]
URL: https://tudominio.com
Descripción: [Value proposition]
Servicios: [lista de servicios clave]
Diferenciador: [lo que te hace único]
```

### 10.3 Cómo las IA procesan menciones externas

1. Los crawlers de IA indexan estas plataformas regularmente
2. Cuando un usuario pregunta sobre un tema, la IA busca menciones de marca en múltiples fuentes
3. Las menciones en plataformas con autoridad (Reddit, LinkedIn) tienen más peso
4. La **consistencia de la descripción de marca** entre plataformas aumenta la confianza de la IA

---

## 11. Auditoría de Renderizado SSR para Crawlers IA

Los rastreadores de IA (GPTBot, Claude-Web, PerplexityBot) **no ejecutan JavaScript**. Si el contenido carga mediante interacciones del usuario, eres invisible para los modelos generativos.

### 11.1 Riesgos y soluciones SSR

| Elemento | Riesgo | Solución SSR |
|---------|--------|-------------|
| Tabs/acordeones con carga on-click | Invisible para IA | Mostrar contenido completo en HTML servido, usar CSS para ocultar visualmente |
| Carga infinita (infinite scroll) | Solo primera página visible | Paginación SSR con links `<a href>` reales |
| Modales/dialogs con JS | Invisibles | Colocar contenido en el HTML base |
| SPAs con client-side rendering | Todo invisible | Transicionar a Next.js SSR o SSG |

### 11.2 Verificación

```bash
# Verificar que el contenido aparece sin JS
curl -s https://tudominio.com/servicios/slug/ | grep -c 'Texto clave'
# Debe devolver >0 — si es 0, el contenido depende de JS
```

---

## 12. Google Core Updates 2026 — Referencia

### Core Update Mayo 2026
- **Impacto:** Sacudió rankings en salud, finanzas y juegos de azar
- **Penalización:** Sitios agregadores que solo "resumen" contenido de terceros
- **Prioridad:** Destinos finales con datos propios, estudios originales e investigación de campo

### Spam Update Junio 2026
- **Foco:** Erradicar sitios satélite creados masivamente con IA sin revisión humana
- **Penalización adicional:** "Back button hijacking" — sitios que bloquean el botón "atrás"

### AI Overviews Analytics (Search Console, Junio 2026)
Google Search Central integró analítica para medir rendimiento en AI Overviews:
- **Impresiones:** Cuántas veces apareció el sitio como fuente citada por la IA
- **Clics:** Cuántos clics reales generó esa aparición
- **Tasa de mención:** % de veces que el sitio es citado vs competidores

---

## 13. Nuevas Herramientas de Medición GEO (2026)

| Herramienta | Función GEO |
|------------|------------|
| **Semrush** | Rastreo de visibilidad en prompts de IA |
| **Ahrefs** | Métricas de menciones en AI Overviews |
| **Scrunch AI** | Tasa de mención en motores generativos |
| **Otterly.AI** | Visibilidad en ChatGPT, Perplexity, Gemini |

### Monitoreo mensual ampliado

- [ ] Semrush: tracking de prompts para keywords target
- [ ] Otterly.AI: tasa de mención en ChatGPT + Perplexity
- [ ] YouTube: posición en AI Overviews
- [ ] Menciones en Reddit, LinkedIn, TikTok
- [ ] Search Console: AI Overviews analytics

---

## 14. Referencias 2026

- [Google Search Central — AI Overviews Analytics](https://developers.google.com/search/docs/appearance/ai-overviews)
- [Google Core Update Mayo 2026](https://developers.google.com/search/updates)
- [Google Spam Update Junio 2026](https://developers.google.com/search/updates)
- [Semrush — GEO Toolkit](https://www.semrush.com/)
- [Otterly.AI — Generative Engine Visibility](https://otterly.ai/)
- [Scrunch AI — AI Mentions Tracker](https://scrunch.ai)
- [E-E-A-T Guidelines (2026)](https://developers.google.com/search/docs/fundamentals/creating-helpful-content)
- [Dark Visitors — AI Crawler List](https://darkvisitors.com/)
- [Schema.org](https://schema.org/)
- [Google Rich Results Test](https://search.google.com/test/rich-results)
