Blog Lo que encuentra la auditoría gratuita Parte 9 de 9

Los cuatro archivos que nadie enlaza

Todo sitio web tiene cuatro archivos de texto plano que ningún visitante ve, de robots.txt a llms.txt. Los buscadores, los escáneres de seguridad y los agentes de IA los consultan antes que nada.

Archivos para máquinas

Todo sitio web lleva unos cuantos archivos de texto plano en direcciones fijas a los que ninguna página enlaza. Un visitante nunca los ve. Los buscadores, los escáneres de seguridad, los gestores de contraseñas y ahora los agentes de IA los descargan en cada visita y actúan según lo que encuentran.

Hay cuatro que vale la pena tener: robots.txt, sitemap.xml, security.txt y llms.txt. Tres son convenciones establecidas desde hace años. Uno es una propuesta. Los cuatro toman alrededor de una hora, y los cuatro son gratuitos.

Esta semana repasamos esta lista en nuestro propio sitio. Faltaban dos de los cuatro y un tercero estaba más incompleto de lo debido, así que primero corregimos nuestros propios huecos. La auditoría gratuita ahora comprueba los cuatro en cualquier sitio que le indique.

robots.txt: qué pueden leer los rastreadores

robots.txt vive en la raíz del sitio, en susitio.org/robots.txt. Le dice a los rastreadores qué partes del sitio pueden leer y cuáles deben dejar en paz, y nombra el sitemap. Google, Bing y todo rastreador que se comporte bien lo descargan antes que cualquier otra cosa.

Los rastreadores no están obligados a obedecerlo, y algunos no lo hacen. De ahí sale la única regla que importa para este archivo: nunca liste una ruta que no querría que un desconocido encontrara. Una línea que diga Disallow: /documentos-de-la-junta/ no oculta los documentos de la junta. Publica su dirección a cualquiera que abra el archivo, y la gente lo abre. Todo lo sensible debe estar detrás de un inicio de sesión, y su ruta no debe aparecer en este archivo.

El segundo error más común es el bloqueo de pruebas. Un sitio en construcción recibe una regla Disallow: / para que los buscadores lo ignoren, y nadie la quita en el lanzamiento. El sitio está en línea, la organización espera tráfico, y a Google se le ha dicho que no entre. Lo vemos en sitios que llevan un año publicados.

Para la mayoría de las organizaciones, un buen robots.txt es corto. Permita todo, mantenga a los rastreadores fuera de la página de resultados de búsqueda, el carrito, el inicio de sesión y cualquier área privada, y nombre el sitemap.

Ver el código Ocultar el código Texto, 7 líneas
User-agent: *
Allow: /
Disallow: /portal/
Disallow: /admin/
Disallow: /search/

Sitemap: https://yoursite.org/sitemap.xml

En WordPress normalmente no hay un archivo físico. WordPress responde a la dirección por sí mismo con un contenido por defecto, y los plugins de SEO permiten editarlo desde el panel. Un archivo de texto plano subido a la raíz del sitio reemplaza a ambos.

sitemap.xml: la lista de páginas

El sitemap es la lista de páginas que quiere que se indexen, con la fecha del último cambio de cada una. Los buscadores pueden encontrar páginas siguiendo enlaces, pero el sitemap es cómo se enteran de una página nueva en horas en lugar de semanas, y es lo primero que piden Google Search Console y Bing Webmaster Tools.

WordPress genera uno automáticamente desde la versión 5.5, en /wp-sitemap.xml. La mayoría de los plugins de SEO lo reemplazan por uno mejor en /sitemap.xml. En cualquier caso, ponga su dirección en robots.txt y envíe el sitemap a las dos herramientas para webmasters. Si nunca lo ha enviado, es una tarea de diez minutos que sigue dando resultados.

security.txt: a quién avisar

Cuando un investigador de seguridad encuentra un problema en su sitio web, quiere decírselo a alguien que pueda arreglarlo. La mayoría de los sitios de organizaciones solo le ofrecen el formulario de contacto general o adivinar una dirección de correo. Un reporte enviado por el formulario de contacto lo lee quien se encargue ese día del formulario de contacto.

security.txt resuelve esto. Es un estándar de internet, la RFC 9116, y vive en /.well-known/security.txt. Nombra un contacto para reportes de seguridad y lleva una fecha de caducidad, para que un contacto desactualizado no quede en la web para siempre. Los revisores de seguridad, y los escáneres automáticos que usan los equipos de compras de gobiernos y empresas, comprueban que exista como señal de que alguien se ocupa del sitio.

El archivo completo son unas pocas líneas.

Ver el código Ocultar el código Texto, 6 líneas
Contact: mailto:hello@yoursite.org
Contact: https://yoursite.org/contact/
Expires: 2027-09-01T00:00:00.000Z
Preferred-Languages: en
Canonical: https://yoursite.org/.well-known/security.txt
Policy: https://yoursite.org/security/

Un detalle hace tropezar a la gente. El campo de fecha se llama Expires y no puede estar a más de un año. Todo lo que lee el archivo trata un nombre de campo equivocado o una fecha pasada como si el archivo no existiera. Esta semana encontramos un caso así en el sitio, por lo demás bien llevado, de una organización de incidencia: un plugin había generado el archivo con el campo mal nombrado.

El archivo también es más útil con una página corta al lado, la línea Policy de arriba, que explique cómo maneja los reportes y que un investigador de buena fe no tiene nada que temer de usted. La nuestra está en LFW.com/security/ y son nueve párrafos cortos.

La carpeta .well-known es un lugar reservado para archivos como este, para que las herramientas sepan dónde buscar. Los gestores de contraseñas leen ahí un archivo de cambio de contraseña, y el sistema de certificados la usa para confirmar que usted controla el dominio. Nada en su sitio enlaza ahí, porque solo el software necesita leerla.

llms.txt: una propuesta nueva

llms.txt es el más nuevo de los cuatro, y con el que hay que tener cuidado. Es una propuesta, no un estándar. La idea es una página corta de texto plano en /llms.txt que le diga a un asistente de IA qué hace su organización y dónde están las páginas importantes, en una forma que el asistente pueda leer sin recorrer el sitio entero.

Los rastreadores piden /llms.txt exista o no el archivo. El nuestro fue solicitado más de una docena de veces en las semanas anteriores a que lo publicáramos. No cuesta nada escribirlo ni servirlo. Y nadie ha demostrado que cambie el posicionamiento en buscadores ni lo que un asistente de IA dice de usted, así que quien le prometa eso está adivinando.

Trátelo como una cortesía hacia las máquinas. No puede hacer daño, siempre que nunca ponga en él nada que no pondría en su portada. Es público, como todos los archivos de este artículo.

El nuestro lista qué hace LFW, a quién servimos y una docena de páginas de referencia. Tomó veinte minutos escribirlo, y comprobamos cada enlace en cada despliegue.

Qué comprueba ahora la auditoría gratuita

Desde esta semana, la auditoría gratuita descarga los cuatro archivos de cualquier sitio que le indique y califica cada problema según cuánto importa. Un robots.txt o un sitemap ausentes son menores. Un robots.txt que bloquea el sitio entero es grave, porque los buscadores no ven el sitio hasta que se corrija. Un robots.txt que nombra rutas de aspecto privado se marca como hallazgo de seguridad, porque lo es. Un security.txt ausente o caducado es menor. Un llms.txt ausente es solo una sugerencia, y el título del hallazgo lo dice.

Una advertencia, que la auditoría también repite: ninguno de estos archivos es un control de seguridad. Muestran que alguien se ocupa del sitio, que es lo que quieren saber un revisor de seguridad, un buscador y un responsable de compras. Eso vale una hora de su tiempo.

Reciba el LFW Weekly Recap

Un boletín que se envía cada viernes con la semana en LFW. Un correo a la semana y ningún otro artículo del blog.

Primero enviamos un correo de confirmación. No llega nada más hasta que haga clic en él.

Ejecute la auditoría gratuita en su sitio

Esta comprobación forma parte de la auditoría gratuita. Introduzca su dominio para ver lo que encuentra en su sitio.

Solo información pública. Resultados en aproximadamente un minuto, en inglés.