sábado, 24 de diciembre de 2016

Ojo con los Robots



Autor: @txambe

El archivo robots.txt es un fichero con una  lista de robots no admitidos, la cual te permite restringir el acceso a tu sitio selectivamente. Si hay páginas que no quieras que se indexen por los buscadores, puedes configurarlo aquí, y si hay un buscador al que quieres denegar el acceso, también.

Los buscadores quieren indexar toda la información posible, y así cuando llegan hasta nuestro sitio web lo rastrean todo. El problema surge cuando quieres evitar que ciertas páginas se incluyan en sus índices, ¿qué hacemos entonces?

Configuración del archivo robots.txt

Generar el archivo es muy sencillo, basta con crear un documento de texto con el nombre “robots.txt” y subirlo a la raíz de tu dominio (http://www.ejemplo.com/robots.txt), que es el lugar donde los los buscadores esperan encontrarlo.

Lo más fácil es crearlo a mano, mediante el bloc de notas o un editor de código como Notepad++
Los comandos que utiliza el archivo robots.txt vienen del llamado Robots Exclusion Protocol, un convenio universal cuya sintaxis debes seguir:
  • Sólo puedes utilizar los comandos permitidos (aunque algunos buscadores entienden comandos adicionales)
  • Debes respetar las mayúsculas/minúsculas, la puntuación y los espacios
  • Cada grupo User-agent/Disallow debe estar separado por una línea en blanco
  • Puedes incluir comentarios mediante la almohadilla o símbolo de hash (#)
Los comandos más importantes son:
  • User-agent – Indica qué tipo de robot debe cumplir con las directivas que se indiquen a continuación.
  • Disallow – Deniega el acceso a un directorio o página concreta.
  • Allow – Funciona al contrario que la directiva Disallow, permitiendo el acceso a directorios y páginas. Se puede utilizar para sobrescribir la directiva Disallow parcial o totalmente.
  • Sitemap – Indicar la ruta donde se encuentra un mapa del sitio en XML.
  • Crawl-delay – Indica al robot el número de segundos que debe esperar entre cada página. Puede ser útil en casos en los que se necesita reducir la carga del servidor.
Adicionalmente, puedes utilizar comodines para aumentar o reducir la concordancia:
  • Asterisco (*) – Vale por una secuencia cualquiera de caracteres. Por ejemplo, todos los directorios que empiezan por “privado” serían “/privado*/”
  • Dólar ($) – Indica el final de una URL. Por ejemplo, para indicar cualquier archivo que acabe con la extensión .php se utilizaría “/*.php$”.
Restricciones más comunes

Los comandos y comodines  los podemos utilizar para  crear todo tipo de restricciones. Aunque no es buena idea ts, ya que puedes acabar bloqueando algo que no deseas.

En este sentido, es mejor ceñirse a las restricciones más comunes, como son:
  • Incluir todos los robotsUser-agent: *
  • Especificar el robot de GoogleUser-agent: Googlebot
  • Especificar el robot de BingUser-agent: Bingbot
  • Denegar todo el sitioDisallow: /
  • Denegar un directorioDisallow: /directorio/
  • Denegar directorios que comienzan por “algo”Disallow: /algo*/
  • Denegar una páginaDisallow: /pagina-web.htm
  • Denegar directorios y páginas que comienzan por “algo”Disallow: /algo
  • Denegar la extensión .gifDisallow: /*.gif$
  • Permitir un subdirectorioAllow: /directorio/subdirectorio/
  • Señalar el mapa del sitioSitemap: http://www.example.com/sitemap.xml

Recursos para generar el fichero robots.txt:





Más información sobre el archivo robots.txt puedes encontrarla



Las opciones que tenemos para evitar que los buscadores indexen ciertas páginas :   
Filtrar robots.txt en robots.txt
Poner el filtrado de robots.txt en robots.txt podría funcionar, pero solo para eliminar el contenido del fichero robots.txt del índice, pudiendo quedar la URL, el título y los términos en un posible hipervínculo, guardados en la base de datos del índice de Google. Hacer esto parece factible, pero mejor quitar todo.

Eliminar la URL del índice con las herramientas del Webmaster
Con esta opción conseguiríamos  quitar del índice de Google la URL y el contenido pero seguiríamos teniendo el problema de que otros posibles buscadores que indexaran el contenido. Es decir, debería ir buscando por buscador utilizando sus propias herramientas para solicitar el borrado de la URL de su base de datos.
Filtrar indexación con una tag NoIndex 
Poner una etiqueta X-Tag-Robot con valor NoIndex a nivel de servidor web, de tal forma que cuando un bot de cualquier buscador solicite dicho archivo, vaya con la etiqueta de NoIndex.
X-Robots-Tag header
Este encabezado HTTP  permite hacer lo que haría normalmente en una metaetiqueta de robots.
Si desea evitar que los motores de búsqueda muestren archivos que se han generado con PHP, agregaremos   lo siguiente en el archivo de encabezado.
                        header("X-Robots-Tag: noindex", true);
Esto no impediría que los motores de búsqueda siguieran los enlaces de esas páginas, para evitarlo, incluiremos    lo  siguiente:

              header ("X-Robots-Tag: noindex, nofollow", true);

Hacerlo en PHP probablemente no es fácil para este tipo de cosas, una mejor opción es poner los encabezados en Apache, cuando sea posible. Por ejemplo, para prevenir  que  los motores de búsqueda de caché  muestren una vista previa de todos los archivos .doc de nuestro  dominio, haríamos lo siguiente:
           

       < FilesMatch ".doc$" >
      Header set X-Robots-Tag "index, noarchive, nosnippet"
           < /FilesMatch >




 O bien, si se desea hacer esto para los archivos .doc y .pdf:
      
     < FilesMatch ".(doc|pdf)$" >
           Header set X-Robots-Tag "index, noarchive, nosnippet"
          < /FilesMatch >




Happy Hacking

No hay comentarios:

Publicar un comentario