El bot de SereneReader
Qué hace nuestro lector de feeds, cómo se identifica y cómo bloquearlo.
Qué es SereneReader
SereneReader es un lector de feeds. Cuando alguien se suscribe a tu feed RSS o Atom, nuestros servidores lo obtienen en su nombre y le muestran los artículos nuevos.
Para mostrar una imagen de vista previa, también accedemos una vez a cada página de artículo para leer su etiqueta og:image, y obtenemos el favicon de tu sitio para la barra lateral.
User-Agent
Cada solicitud de nuestros servidores se identifica con esta cadena:
SereneReader/1.0 (+https://serenereader.com/bot)Qué consultamos
- Las URL de feeds a las que la gente se ha suscrito.
- Cada página de artículo, una sola vez, leyendo como máximo 1 MB de HTML para encontrar la etiqueta og:image.
- El favicon de tu sitio.
Nunca rastreamos un sitio, nunca seguimos enlaces desde páginas de artículos y nunca consultamos nada a lo que nadie se haya suscrito.
Con qué frecuencia
Los feeds se actualizan según un horario. Cuando tu servidor envía una cabecera ETag o Last-Modified, la siguiente actualización incluye If-None-Match o If-Modified-Since, de modo que un feed sin cambios solo genera un 304 sin cuerpo.
Cada página de artículo se obtiene una sola vez para su imagen de vista previa. Si no es posible obtenerla, nos detenemos: un error permanente como un 404 se recuerda durante 30 días, y uno temporal como un tiempo de espera agotado o un error de servidor se reintenta hasta tres veces con retroceso exponencial, dejándose luego en espera al menos una hora.
Un 429 o 503 nos indica que debemos reducir la frecuencia. Para los feeds, retrasamos la siguiente actualización con un retroceso progresivo y, ante un 429, respetamos al menos el valor de Retry-After. Para las páginas de artículos, podemos reintentar hasta tres veces en los próximos diez minutos aproximadamente, luego esperamos al menos una hora, o el tiempo que indique Retry-After, hasta un máximo de siete días.
robots.txt
Antes de obtener una página de artículo o un favicon, leemos su robots.txt y seguimos las reglas Disallow y el crawl-delay para User-agent: SereneReader, recurriendo al grupo * como alternativa.
Las URL de los feeds son distintas. Un feed se obtiene en nombre del lector que se suscribió a él, por lo que lo tratamos como lo hace el Feedfetcher de Google: las reglas Disallow del grupo * no se aplican a él. Un grupo User-agent: SereneReader que rechace la ruta del feed sí se respeta, y el crawl-delay se aplica a los feeds exactamente igual que al resto.
Si su robots.txt es inaccesible por un error del servidor, lo tratamos como si permitiera la solicitud. Una suscripción es el consentimiento explícito de un lector, y un archivo robots inestable no debería interrumpir su feed.
Cómo bloquearnos
Bloquee o limite al User-Agent indicado en su servidor o firewall, o rechácenos en robots.txt con un grupo que nos nombre. Una regla para todos los bots no detiene las solicitudes de feed; esta sí lo hace:
User-agent: SereneReader
Disallow: /Bloquear la URL de su feed detiene las actualizaciones para todos los suscriptores, no solo para un lector.
Firmas de solicitud
Las solicitudes se firman con Web Bot Auth (firmas de mensajes HTTP, RFC 9421) para que pueda verificar que provienen realmente de nosotros. Nuestras claves públicas están publicadas en:
https://serenereader.com/.well-known/http-message-signatures-directoryDirecciones IP de salida
Las actualizaciones programadas de fuentes y la obtención de imágenes de vista previa provienen de estas direcciones estáticas. La solicitud única que se realiza cuando alguien añade una fuente por primera vez proviene de nuestros servidores web y no figura en esta lista, por lo que una lista de permisos solo por IP la rechazará.
162.220.234.241
152.55.180.242
152.55.180.243Lista legible por máquina/bot/ips.json
Contacto
¿Preguntas sobre nuestro tráfico o algo que desea que corrijamos? Escríbanos.