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
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
- 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.
- Lo que lee una persona. Un navegador en
countryrenderiza 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. - 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.
- 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
srcde unimg, en JPEG, PNG o WebP, a un tamaño en que el texto sigue siendo legible. - 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.
- Situar cada fragmento. Un fragmento es
readcuando la copia de la búsqueda lo contiene, ymissingcon su motivo en caso contrario.directlo 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
srcdelimgque 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 tienestatus: "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.