Por qué todas las landing pages hechas con Cursor dicen lo mismo

Una landing page hecha con Cursor suele sonar como todas las demás porque Cursor es un editor, no una herramienta de diseño: le pasa tu petición a uno de unos pocos modelos y, si les pides una landing sin restricciones, esos modelos recurren a los mismos valores por defecto, a menudo Next.js con Tailwind y shadcn/ui, un hero con degradado, tres tarjetas de funciones y textos como «Optimiza tu flujo de trabajo». Como el código es tuyo, la mayoría de los arreglos también están en tu mano. IntentGrid se ocupa de una parte: reescribe las palabras para cada visitante y deja el código en paz.

Última actualización: 28 de septiembre de 2026.

Por qué convergen las landings hechas con Cursor

Cursor te da mucho más control que un generador de apps a partir de prompts, y aun así el resultado converge, por motivos que se originan antes de llegar al editor.

  • El modelo es el diseñador. Cursor envía tu petición a un modelo que eliges de una lista corta, y los mismos pocos modelos están escribiendo la mayoría de las landings nuevas de la web. Comparten los mismos valores por defecto.
  • El stack por defecto es el stack popular. Cuando les pides una landing, los modelos recurren a lo que más han visto: Next.js o React, Tailwind, shadcn/ui, iconos de lucide. Buenas herramientas, resultado idéntico.
  • El agente rellena los huecos. Pide «una landing para mi API» y decide las secciones, su orden y cada palabra, eligiendo la respuesta más común en cada caso.
  • El texto provisional sobrevive. El «Construye más rápido. Publica más inteligente» del primer borrador estaba ahí para sustituirse, y en muchos sitios publicados nunca se sustituyó.

El código suele ser bueno. La página sigue siendo intercambiable, porque las decisiones que hacen concreta una página nunca las tomó nadie.

Qué hace y qué no hace IntentGrid por un sitio hecho con Cursor

IntentGrid reescribe las palabras para cada visitante: titulares, cuerpo de texto, descripciones de funciones y etiquetas de botones, según cómo llegó ese visitante (fuente de tráfico, campaña, ciudad aproximada, dispositivo, idioma, hora local). Parte del texto que ya tienes, y los nombres de marca, los precios, las fechas y las cifras están en una lista intocable.

No toca tu repositorio. No hay nada que instalar para la demo, ningún cambio en tus componentes, tu CSS, tu maquetación ni tu build, y nada que Cursor tenga que fusionar. No va a arreglar una maquetación genérica y no te va a traer tráfico.

La parte que funciona hoy es una demo que muestra una copia reescrita de cualquier URL pública en un espacio aislado en intentgrid.ai. La adaptación en tu propio dominio es acceso anticipado y se configura sitio por sitio, a mano. Cómo funciona entra en los detalles.

Renderizado en el servidor o no: lo que la demo puede leer

Lo que ve la demo depende de lo que le pediste construir a Cursor. Un sitio Next.js prerrenderiza o renderiza en el servidor sus páginas por defecto, así que el HTML ya contiene tu texto y la demo tiene algo que reescribir. Una aplicación de una sola página en React construida con Vite envía en cambio un elemento raíz vacío y un script; el texto solo aparece cuando se ejecuta el JavaScript y, como la demo elimina los scripts, la vista previa puede volver casi en blanco.

Puedes comprobar el tuyo en diez segundos: abre «Ver código fuente de la página» (no «Inspeccionar») y busca tu titular. Si no está, la demo tiene poco con lo que trabajar, y lo mismo le pasa a cualquier rastreador que no ejecute JavaScript, lo que incluye muchos rastreadores de IA. En una página de marketing merece la pena arreglarlo de todos modos, y generar de forma estática la ruta de la landing suele ser un cambio pequeño.

Un antes y después ilustrativo

Ejemplo ilustrativo: una API de monitorización de disponibilidad inventada, no un sitio real ni una ejecución grabada.
Por defecto, igual para todo el mundo
Monitoriza tus API con información potente y en tiempo real
Llegó desde un hilo de Hacker News, en un portátil, a altas horas de la noche
Comprobaciones de disponibilidad que configuras en un archivo YAML, no en un panel
Hizo clic en un anuncio de búsqueda de «página de estado»
Una página de estado pública que se actualiza sola cuando falla una comprobación

Misma maquetación, mismos precios, mismas afirmaciones. Cada versión usa únicamente lo que ya dice la página original: en este caso inventado, configuración en YAML y una página de estado que se actualiza automáticamente.

Arreglos que puedes hacer tú en Cursor

Como el código es tuyo, puedes arreglar casi todo esto en el editor, y varios de estos arreglos llevan minutos.

  • Pon las restricciones en un archivo de reglas. Las reglas del proyecto viven en .cursor/rules y se pueden aplicar a cada petición, así que escribe una sola vez las reglas de diseño y de texto: un solo color de acento, sin hero con degradado, sin fila de tres tarjetas, una lista de frases prohibidas.
  • Lleva el texto a un solo archivo. Guarda cada titular, subtítulo y etiqueta de botón en un único módulo de contenido en lugar de repartidos por el JSX. Reescribirás las palabras mucho más a menudo si están todas en el mismo sitio.
  • Prohíbe las frases de manual: «optimizar», «sin fricciones», «desbloquear», «empoderar», «potenciar», «de otro nivel». Después pídele a Cursor que encuentre cada frase de la página que podría aparecer en el sitio de un competidor.
  • Escribe tú el titular, con las palabras que un usuario escribió en una issue, un correo de soporte o una respuesta en un foro, y no con las que te ofreció el modelo.
  • Haz a mano una variante por canal. Si casi todo el tráfico viene de dos sitios, lee el parámetro utm_source y cambia el titular para cada uno. Mantén la versión por defecto para todos los demás, rastreadores incluidos, y una sola URL.
  • Renderiza la landing en el servidor. Si «Ver código fuente de la página» no muestra ningún texto, haz estáticas las rutas de marketing. Ayuda por igual a los rastreadores y a la demo de IntentGrid.

La mitad de diseño se trata con más profundidad en por qué los sitios vibe coded se parecen.

Preguntas sobre Cursor

¿IntentGrid necesita un paquete o un SDK en mi proyecto de Cursor?

No para la demo, que funciona con cualquier URL pública sin instalar nada. La adaptación en tu dominio está diseñada para no necesitar reconstrucción, ni SDK, ni integración de framework, con tu página actual como base por defecto. Es acceso anticipado y se configura sitio por sitio a mano, así que cómo se instala se publicará cuando esté listo en lugar de prometerse ahora.

¿IntentGrid cambiará mi código o mi diseño?

No. Reescribe el texto visible de la página que recibe un visitante. Tu repositorio, tus componentes, tus clases de Tailwind, tu maquetación y tus precios quedan intactos. En la demo añade encima una franja de bienvenida, una capa personalizada, un resaltado sobre el titular y una pequeña insignia de IntentGrid.

¿No puedo hacer esto yo mismo con parámetros UTM?

Para dos o tres canales, sí, y es buena idea: lee utm_source, cambia el titular y mantén una sola URL y una versión por defecto para todos los demás. Se complica a medida que se multiplican las fuentes y acabas manteniendo una variante escrita a mano por canal. IntentGrid está diseñado para escribir la variante según aquello con lo que llegue el visitante y, a cambio, te toca revisar palabras que escribió un modelo.