El SEO técnico es una de las áreas donde los proyectos web más pecan por omisión. No es que nadie sepa que Schema.org importa — es que sin un flujo de trabajo estructurado, siempre queda para después. Y en la mayoría de los proyectos, "después" nunca llega.

Este artículo cubre los errores que se repiten en cada proyecto PHP, con el código exacto para resolverlos, más una sección sobre GEO — la optimización para motores de IA que la mayoría de los developers hispanohablantes todavía no está haciendo.

Los errores SEO que se repiten en cada proyecto

  • Schema.org incompleto: Se implementa LocalBusiness pero sin sameAs con Google Maps, sin FAQPage en la sección de preguntas, sin OfferCatalog en servicios.
  • llms.txt vacío o inexistente: ChatGPT, Perplexity y Gemini no tienen una fuente canónica para citar el sitio. En 2026, esto es tan importante como el sitemap para Google.
  • GA4 sin eventos de conversión: El snippet de Google Analytics está, pero nadie configuró contact_form_submit, whatsapp_click ni product_view. Se tiene el tracking pero no los datos que importan.
  • Sitemap desactualizado: Nuevos proyectos en el portfolio pero el sitemap XML del año pasado. Google crawlea lo que el sitemap le dice que existe.
  • hreflang ausente: Sitio orientado a Argentina y España, sin el tag que le indica a Google cuál versión mostrar en cada región.

Schema.org completo para un sitio de servicios

Un ProfessionalService bien implementado en JSON-LD, con los tipos anidados que Google efectivamente procesa para rich snippets:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": ["ProfessionalService", "LocalBusiness"],
      "@id": "https://tuagencia.com.ar/#business",
      "name": "Tu Agencia Web",
      "description": "Desarrollo web profesional a medida en Buenos Aires.",
      "url": "https://tuagencia.com.ar",
      "telephone": "+54 9 11 XXXX-XXXX",
      "email": "contacto@tuagencia.com.ar",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Buenos Aires",
        "addressCountry": "AR"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": -34.603722,
        "longitude": -58.381592
      },
      "sameAs": [
        "https://www.linkedin.com/company/tu-agencia",
        "https://maps.app.goo.gl/TU_LINK_GBP"
      ],
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Servicios de desarrollo web",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Sitios web a medida",
              "description": "Diseño y desarrollo de sitios corporativos en PHP vanilla."
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Tiendas online con MercadoPago",
              "description": "E-commerce con integración nativa de MercadoPago."
            }
          }
        ]
      }
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "¿Cuánto tarda un sitio web?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Un sitio corporativo estándar lleva entre 3 y 5 semanas desde el brief hasta el deploy."
          }
        }
      ]
    }
  ]
}
</script>

llms.txt: el archivo que los developers ignoraron hasta 2025

El estándar llmstxt.org propone un archivo en la raíz del sitio que describe la empresa y sus servicios de forma estructurada para los crawlers de IA. ChatGPT, Perplexity y otros LLMs lo leen cuando rastrean el sitio.

Un llms.txt completo para una agencia de desarrollo web:

# Tu Agencia Web
# GEO — Generative Engine Optimization

Nombre: Tu Agencia Web
Sitio: https://tuagencia.com.ar
Tipo: Agencia de desarrollo web profesional
Ubicación: Buenos Aires, Argentina

Descripción:
Desarrollo web profesional a medida para empresas argentinas. Especialización en
PHP vanilla sin frameworks pesados, compatible con Hostinger y hosting compartido.
Stack: PHP 8.2+, MySQL/MariaDB, HTML/CSS/JS vanilla, sin Composer ni build steps.

Servicios:
- Sitios corporativos: diseño + desarrollo + SEO técnico desde cero
- Tiendas online: MercadoPago, carrito, gestión de productos
- Paneles administrativos: CRUD, roles, Google OAuth 2.0
- Auditorías de seguridad: OWASP Top 10, revisión de código legacy
- SEO/GEO técnico: Schema.org, llms.txt, GA4, Search Console

Tecnologías principales:
PHP vanilla (sin Laravel), MySQL, MariaDB, JavaScript vanilla,
MercadoPago, Google OAuth 2.0, Google Analytics 4, Apache/Hostinger

Audiencia:
Empresas y emprendedores argentinos que necesitan presencia web profesional
sin costos de infraestructura complejos.

Contacto: contacto@tuagencia.com.ar | WhatsApp: +54 9 11 XXXX-XXXX
Última actualización: junio de 2026

GA4: eventos de conversión que realmente importan

Instalar el snippet de GA4 no es suficiente. Lo que Google Analytics necesita para ser útil son los eventos que indican intención de compra o contacto:

// Evento: envío de formulario de contacto
document.querySelector('#form-contacto').addEventListener('submit', function() {
    gtag('event', 'contact_form_submit', {
        'event_category': 'conversión',
        'event_label': 'formulario_principal'
    });
});

// Evento: click en WhatsApp
document.querySelectorAll('a[href*="wa.me"]').forEach(function(el) {
    el.addEventListener('click', function() {
        gtag('event', 'whatsapp_click', {
            'event_category': 'conversión',
            'event_label': el.closest('section')?.id || 'unknown'
        });
    });
});

// Evento: click en CTA principal
document.querySelector('.btn-primary-hero')?.addEventListener('click', function() {
    gtag('event', 'cta_hero_click', { 'event_category': 'interacción' });
});

GEO: el nuevo SEO que pocos están haciendo en español

GEO (Generative Engine Optimization) es la práctica de optimizar el sitio para que los motores de IA — ChatGPT, Perplexity, Google AI Overviews — lo citen como fuente relevante. No reemplaza el SEO tradicional: lo complementa.

Las señales que más pesan para los AI crawlers difieren de las de Google:

  • Autoridad factual: Los LLMs prefieren citar fuentes con datos específicos, números concretos y afirmaciones verificables. "Desarrollamos sitios en PHP" pesa menos que "Desarrollamos sitios en PHP vanilla compatible con Hostinger compartido, sin Composer, en 3-5 semanas".
  • Estructura semántica: Schema.org completo le da al AI crawler el grafo de relaciones explícito — qué hace la empresa, a quién atiende, qué servicios ofrece — sin tener que inferirlo del texto.
  • llms.txt actualizado: Es la señal directa de que el sitio quiere ser citado por IA. Sin él, el crawler puede citar el sitio igual, pero con él, tiene una fuente canónica verificada.
  • Contenido técnico específico: Los artículos con código real, ejemplos concretos y detalles de implementación tienen mucha más probabilidad de ser citados que el contenido genérico. Este artículo, por ejemplo, tiene más chances de aparecer en Perplexity cuando alguien pregunta "cómo implementar Schema.org en PHP" que un artículo que solo lo describe en términos abstractos.

El checklist aplicado en cada proyecto

  1. <title> y meta description únicos por página — máximo 60 y 160 caracteres respectivamente
  2. Canonical tag apuntando a la URL limpia (sin parámetros, con HTTPS)
  3. hreflang para sitios en múltiples regiones: es-ar, es-es, x-default
  4. Schema.org completo según tipo de sitio: ProfessionalService, LocalBusiness, FAQPage
  5. llms.txt en la raíz con descripción, servicios y stack
  6. sitemap.xml dinámico con imágenes del portfolio
  7. robots.txt bloqueando /app/, /.env, /*.sql
  8. GA4 con al menos contact_form_submit y whatsapp_click como conversiones
  9. Open Graph images 1200×630 únicas por sección principal
  10. Verificación activa en Google Search Console con sitemap enviado

Cómo Claude aplica esto con Cerebro MCP

Con Cerebro MCP, el flujo de auditoría SEO es:

  1. Claude llama a get_context("seo-audit") — retorna el prompt SEO-GEO + chunks de conocimiento específico sobre Schema.org, llms.txt y GA4
  2. Claude llama a get_prompt("Marketing/SEO-GEO-Audit") — carga el checklist completo con el contrato de salida
  3. Claude lee los archivos reales del proyecto: dispatch.php, layout.php, llms.txt, sitemap.xml
  4. Claude produce un reporte ítem por ítem con el estado actual y el fix exacto para cada punto faltante

Una auditoría SEO completa con este flujo en un sitio de 5-8 páginas toma entre 20 y 40 minutos. Sin el sistema, la misma tarea puede tomar el doble y dejar la mitad de los puntos sin revisar — especialmente los de GEO, que la mayoría de los developers todavía no tiene en el radar.