Saltar al contenido principal
Usa GEO Score para revisar una página que quieres que ChatGPT cite. La puntuación es la parte de lo que una persona lee en la página, incluido el texto dentro de sus imágenes, que la búsqueda de ChatGPT conserva en su copia de la página. direct da la parte que ChatGPT recibe cuando abre la página por sí mismo, como cuando alguien le da la URL. Cada fragmento que la búsqueda de ChatGPT no conserva trae su causa, y analysis convierte las causas en correcciones.

Puntuar una página

La tarea se acepta y queda en cola:
Lee el resultado con GET /v1/async/task/{id}, o añade webhook.url a la solicitud y recíbelo cuando la tarea termine. La mayoría de las páginas tardan de 1 a 3 minutos, así que consulta cada 10 a 15 segundos. La tarea funciona como cualquier otra tarea asíncrona y el resultado está en response. El esquema de la solicitud está en la referencia de la API.

Campos de la solicitud

Cualquier otro campo devuelve 400 VALIDATION_ERROR.

Cómo se puntúa una página

  1. Acceso. Se lee robots.txt para OAI-SearchBot, ChatGPT-User y GPTBot. La página se descarga como cada uno de ellos y como un navegador, desde una dirección de EE. UU., desde donde ChatGPT-User descarga las páginas.
  2. Lo que lee una persona. Un navegador en country renderiza la página y la recorre hasta el final, y el texto de sus imágenes grandes se lee línea a línea. Las líneas sobre el tema propio de la página se convierten en fragmentos. Los menús, pies de página, otros productos, reseñas de clientes, botones y anuncios quedan fuera de la puntuación.
  3. Lo que conserva la búsqueda de ChatGPT. Un navegador renderiza la página como OAI-SearchBot, el rastreador que alimenta la búsqueda de ChatGPT, desde una dirección de EE. UU., sin dejar salir ninguna solicitud de datos. Su copia es el texto del HTML que envía el servidor y el texto que los scripts de la página dibujan a partir de él, con el texto oculto y el texto alternativo de las imágenes. El texto dentro de las imágenes y el contenido que la página carga después de abrirse no están en ella, igual que no están en la búsqueda de ChatGPT.
  4. Lo que recibe ChatGPT al abrir la página. El HTML que recibe ChatGPT-User se lee como lo lee el lector de ChatGPT: su texto, el texto oculto y el texto alternativo de las imágenes, sin scripts. Una imagen cuenta cuando ChatGPT puede abrirla y leerla: el HTML da la imagen como src de un img, en JPEG, PNG o WebP, a un tamaño en que el texto sigue siendo legible.
  5. Si ChatGPT abre la página. Se pide dos veces a ChatGPT en producción que abra la página. Sus respuestas no se puntúan: solo muestran si abrió la página.
  6. Situar cada fragmento. Un fragmento es read cuando la copia de la búsqueda lo contiene, y missing con su motivo en caso contrario. direct lo sitúa igual en lo que ChatGPT recibe al abrir la página. El código decide cada fragmento, así que una página que no ha cambiado obtiene la misma puntuación.

Leer el resultado

La página de OLIVE YOUNG de arriba se lee así, recortada a los campos principales:

score

La parte de los fragmentos que conserva la búsqueda de ChatGPT, de 0 a 100. Todos los fragmentos pesan lo mismo. La puntuación es 0 cuando robots.txt deja la página fuera de la búsqueda de ChatGPT y cuando el sitio rechaza al rastreador de la búsqueda de ChatGPT. reading.score guarda la parte antes de que robots.txt ponga la puntuación en 0.

direct

Lo que ChatGPT recibe cuando abre la página por sí mismo, como cuando alguien le da la URL. direct.score es la parte de los fragmentos que están en el HTML que recibe ChatGPT-User y en las imágenes que ChatGPT puede abrir, y direct.read los cuenta. Es 0 cuando ChatGPT no pudo abrir la página. Las dos puntuaciones se separan donde la página escribe texto en imágenes o lo dibuja con scripts: la búsqueda de ChatGPT no conserva el texto dentro de las imágenes y sí lo que los scripts dibujan a partir del HTML, mientras que el lector de ChatGPT abre las imágenes que puede leer y no ejecuta scripts. Una página de producto de alimentación cuya etiqueta nutricional es un JPEG a tamaño completo obtuvo 56 en la búsqueda y 93 al abrirla directamente.

access

search.refused es true cuando el sitio rechaza al rastreador de la búsqueda de ChatGPT, lo que deja la puntuación en 0, y search.lines cuenta las líneas de la copia de la búsqueda. blockedBy es user_agent cuando el sitio rechaza el agente ChatGPT-User desde cualquier dirección, openai_addresses cuando atiende a ese agente desde nuestra dirección y rechaza las de OpenAI, y site cuando también rechaza a un navegador. robots da la línea de robots.txt que decide para cada agente de OpenAI, noindex informa de una directiva noindex y dónde se puso, y probes lista el estado que recibió cada descarga.

reading.items[]

Una entrada por fragmento: reading.locations cuenta los fragmentos por where, lo que muestra qué queda por corregir cuando ChatGPT ya puede abrir la página. causes[] agrupa los fragmentos que faltan por motivo.

analysis

summary indica la puntuación, el mayor problema y la puntuación con los problemas confirmados corregidos (potential). direct dice qué recibe ChatGPT cuando abre la página por sí mismo, o quién le impide abrirla y cómo corregirlo. Cada entrada de issues[] tiene la causa (detail), la corrección (fix), los fragmentos que cuesta (facts), su evidencia y los puntos que resta a la puntuación. Los problemas de acceso que dejan la puntuación en 0 van primero y el resto, por puntos. basis es confirmed: nuestra propia lectura de la página (su HTML, renders, imágenes, robots.txt, respuestas HTTP) muestra el problema. El texto de analysis está en inglés.

markdown

La página que ve una persona, en Markdown, con el texto de sus imágenes donde están las imágenes. El contenido propio de la página, que la puntuación comprueba, queda bajo sus encabezados y etiquetas. Los menús, reseñas y demás partes alrededor se pliegan en una línea cada una. Cada fragmento que la búsqueda de ChatGPT no conserva se marca donde está, _(missing: …)_ con el motivo, y el encabezado da cuántos fragmentos recibe ChatGPT al abrir la página. El encabezado y las marcas están en el idioma de la página: inglés, coreano, japonés, chino, español, francés, alemán o portugués, e inglés para cualquier otro. Una página en español dice _(falta: …)_. Un extracto de la página de OLIVE YOUNG, que está en inglés:

screenshot

Las cuatro primeras pantallas de la página tal como la ve una persona, en JPEG: una ventana de 1366×900, capturada arriba después de recorrer la página hasta el final. url es su propia clave de acceso y abre el archivo hasta expiresAt, 30 días después de la tarea. Una página cuya imagen no se pudo capturar llega sin screenshot, y una imagen que no se pudo guardar tiene status: "failed".

rendering

La página renderizada para agentes de IA. La copia es el HTML que dibujó el navegador de una persona, sin scripts y con el texto de cada imagen añadido a su texto alt, la alternativa textual que WCAG pide para una imagen de texto. rendering.score es la proporción de fragmentos que la copia tiene en su texto: lo que recibe un agente de IA al que se sirve la copia, sin abrir ninguna imagen. rendering.read los cuenta y reading.items[].rendering marca cada fragmento; la copia en sí no forma parte del resultado. La página de OLIVE YOUNG de arriba tiene sus 55 fragmentos en la copia, una puntuación de 100: el texto de sus imágenes de ingredientes y preguntas frecuentes como texto alt, y los precios y valoraciones que cargan sus scripts.
rendering no aparece cuando ningún navegador pudo mostrar la página o su HTML dibujado es demasiado grande.

Interpretar bien la puntuación

  • La búsqueda de ChatGPT trabaja con una copia de la página que hizo su rastreador: el texto del HTML y lo que los scripts dibujan a partir de él, sin el texto dentro de las imágenes ni lo que la página carga después de abrirse. La copia es de la última vez que se rastreó, así que un cambio llega a la búsqueda de ChatGPT cuando el rastreador vuelve a descargar la página.
  • Cuando ChatGPT abre una página por sí mismo, lee el HTML que envía el servidor. No ejecuta scripts, lee el texto alternativo de las imágenes y solo abre una imagen a través del src del img que da ese HTML. OpenAI reutiliza una página que abrió durante unos 30 minutos.
  • La puntuación solo cambia cuando cambian la página o su forma de renderizarse. De quince páginas puntuadas tres veces cada una, diez variaron 3 puntos o menos. Una página que dibuja partes distintas en cada visita varía más.
  • GEO Score mide lo que ChatGPT tiene de una página. Qué páginas elige la búsqueda de ChatGPT para una pregunta es lo que siguen los monitores GEO.

Errores y facturación

Una tarea completada cuesta 10 créditos por la página y 5 por cada imagen cuyo texto se lee, hasta 12 imágenes: images.read en el resultado. Una imagen que el host rechaza o que no se pudo leer (images.unread) es gratis. Si tu cuenta leyó la misma imagen en los últimos 90 días, se reutiliza esa lectura (images.reused) por 2 créditos. Al enviar se reservan 70 créditos, lo máximo que cuesta una página, y al terminar se cobra lo que la tarea usó. Una tarea fallida no se cobra. Consulta Créditos y límites.

Rechazos al enviar

Los errores de autenticación, concurrencia y frecuencia son los mismos que en cualquier tarea. Consulta Errores.

Tareas fallidas

Una tarea fallida tiene status: "FAILED" y una cadena error que empieza por su código:

Siguientes pasos

Citation Analysis

Mira qué fuentes dieron forma a una respuesta.

Monitores GEO

Sigue tu marca en los motores de IA con una programación.