jueves, 14 de mayo de 2009

Manual robots.txt y Sitemap

El fichero robots.txt tiene la finalidad de indicarle a un webcrawler (spider / web-spider / crawler o como se conozca) lo que el diseñador del sitio le recomienda a la hora de inspeccionar web.

Las directivas que puede incluir y su formato se describen a continuación:

User-agent:
- * (Todos)
- “Nombre” (nombre de un bot especifico)

ej: msnbot (msn-microsoft), Slurp (Yahoo), Googlebot ( Google)

Sitemap:
- URL (se suele utilizar un fichero XML, de su sintaxis hablaremos más abajo)

Disallow:
- “ ” (nada)
- “/” (todo)
- URL (solamente la URL especificada, en caso de ser una carpeta todas sus subcarpetas también y también todas las URLs que empiecen con ese texto)

ej.: si en “www.ej.com” escribimos “Disallow: /20” esto desabilitará tanto la dirección “www.ej.com/20” como “www.ej.com/200” y “www.ej.com/2009/” así que hay que tener cuidado con esto o utilizar una instrucción ‘Allow’.

Allow:
- URL ( se suele utilizar para permitir el acceso a una sola subcarpeta que esté contenida en una carpeta desabilidtada en la linea anterior)

#
- Comentario. La linea por completo es ignorada por los webcrawlers.

Crawl-delay:
- inicia en segundos el tiempo que debe esperarse el webcrawler antes de pasar a procesar la web. No está soportado por todos los bots. MsnBot, Slurp y GoogleBot si que lo admiten.

Cualquier otra instrucción en el archivo robots.txt y/o que no reconozca el bot es ignorada por defecto.

El hecho de indicar ciertos parámetros de búsqueda al bot no asegura que sean cumplidos, ya que este fichero no es una medida de seguridad, sino tan solo una recomendación por parte del web máster hacia el buscador.

Para verificar que generamos txt’s correctos podemos utilizar la erramienta Robots.txt Checker: http://tool.motoricerca.info/robots-checker.phtml

Ahora incluyo una larga lista de instrucciones para robots.txt que se pueden tomar de ejemplo. En realidad cuaquier web de prestigio que tenga interes en aplicarse unas buenas directivas SEO tiene desarrollado correctamente el fichero robots.txt y los sitemaps (que se explicarán al final) por lo que se puede tomar como ejemplos las paginas de yahoo, msn, digg etc. para profundizar, aunque por lo general la mayor complicación de cada uno de estos sitios es reconocer las URL’s que no quieren mostrar y porque.

http://meneame.net/robots.txt
User-agent: *
Sitemap: http://meneame.net/sitemap.php
Disallow: /profile.php
Disallow: /login.php
Disallow: /submit.php
Disallow: /trackback.php
Disallow: /editlink.php
Disallow: /backend/
Disallow: /index.php
Disallow: /comments_rss2.php?
Disallow: /rss2.php?
Disallow: /javascript:
Disallow: /comments_rss2.php
Disallow: /link_bookmark.php



http://twitter.com/robots.txt
#Google Search Engine Robot
User-agent: Googlebot
# Crawl-delay: 10 — Googlebot ignores crawl-delay ftl
Disallow: /*?
Disallow: /*/with_friends#Yahoo! Search Engine Robot
User-Agent: Slurp
Crawl-delay: 1
Disallow: /*?
Disallow: /*/with_friends

#Microsoft Search Engine Robot
User-Agent: msnbot
Crawl-delay: 10
Disallow: /*?
Disallow: /*/with_friends

# Every bot that might possibly read and respect this file.
User-agent: *
Disallow: /*?
Disallow: /*/with_friends



http://en.wordpress.com/robots.txt
Sitemap: http://wordpress.com/sitemap.xmlUser-agent: IRLbot
Crawl-delay: 3600User-agent: *
Disallow: /next/

User-agent: *
Disallow:



El extremandamente largo http://www.google.es/robots.txt
User-agent: *
Allow: /searchhistory/
Disallow: /search
Disallow: /groups
Disallow: /images
Disallow: /catalogs
Disallow: /catalogues
Disallow: /news
Disallow: /nwshp
Allow: /news?btcid=
Disallow: /news?btcid=*&
Allow: /news?btaid=
Disallow: /news?btaid=*&
Disallow: /setnewsprefs?
Disallow: /index.html?
Disallow: /?
Disallow: /addurl/image?
Disallow: /pagead/
Disallow: /relpage/
Disallow: /relcontent
Disallow: /imgres
Disallow: /keyword/
Disallow: /u/
Disallow: /univ/
Disallow: /cobrand
Disallow: /custom
Disallow: /advanced_group_search
Disallow: /googlesite
Disallow: /preferences
Disallow: /setprefs
Disallow: /swr
Disallow: /url
Disallow: /default
Disallow: /m?
Disallow: /m/?
Disallow: /m/ig
Disallow: /m/images?
Disallow: /m/lcb
Disallow: /m/news?
Disallow: /m/news/i?
Disallow: /m/setnewsprefs?
Disallow: /m/search?
Disallow: /m/trends
Disallow: /wml?
Disallow: /wml/?
Disallow: /wml/search?
Disallow: /xhtml?
Disallow: /xhtml/?
Disallow: /xhtml/search?
Disallow: /xml?
Disallow: /imode?
Disallow: /imode/?
Disallow: /imode/search?
Disallow: /jsky?
Disallow: /jsky/?
Disallow: /jsky/search?
Disallow: /pda?
Disallow: /pda/?
Disallow: /pda/search?
Disallow: /sprint_xhtml
Disallow: /sprint_wml
Disallow: /pqa
Disallow: /palm
Disallow: /gwt/
Disallow: /purchases
Disallow: /hws
Disallow: /bsd?
Disallow: /linux?
Disallow: /mac?
Disallow: /microsoft?
Disallow: /unclesam?
Disallow: /answers/search?q=
Disallow: /local?
Disallow: /local_url
Disallow: /froogle?
Disallow: /products?
Disallow: /froogle_
Disallow: /product_
Disallow: /products_
Disallow: /print
Disallow: /books
Allow: /booksrightsholders
Disallow: /patents?
Disallow: /scholar?
Disallow: /complete
Disallow: /sponsoredlinks
Disallow: /videosearch?
Disallow: /videopreview?
Disallow: /videoprograminfo?
Disallow: /maps?
Disallow: /mapstt?
Disallow: /mapslt?
Disallow: /maps/stk/
Disallow: /maps/br?
Disallow: /mapabcpoi?
Disallow: /center
Disallow: /ie?
Disallow: /sms/demo?
Disallow: /katrina?
Disallow: /blogsearch?
Disallow: /blogsearch/
Disallow: /blogsearch_feeds
Disallow: /advanced_blog_search
Disallow: /reader/
Disallow: /uds/
Disallow: /chart?
Disallow: /transit?
Disallow: /mbd?
Disallow: /extern_js/
Disallow: /calendar/feeds/
Disallow: /calendar/ical/
Disallow: /cl2/feeds/
Disallow: /cl2/ical/
Disallow: /coop/directory
Disallow: /coop/manage
Disallow: /trends?
Disallow: /trends/music?
Disallow: /notebook/search?
Disallow: /musica
Disallow: /musicad
Disallow: /musicas
Disallow: /musicl
Disallow: /musics
Disallow: /musicsearch
Disallow: /musicsp
Disallow: /musiclp
Disallow: /browsersync
Disallow: /call
Disallow: /archivesearch?
Disallow: /archivesearch/url
Disallow: /archivesearch/advanced_search
Disallow: /base/search?
Disallow: /base/reportbadoffer
Disallow: /base/s2
Disallow: /urchin_test/
Disallow: /movies?
Disallow: /codesearch?
Disallow: /codesearch/feeds/search?
Disallow: /wapsearch?
Disallow: /safebrowsing
Allow: /safebrowsing/diagnostic
Disallow: /reviews/search?
Disallow: /orkut/albums
Disallow: /jsapi
Disallow: /views?
Disallow: /c/
Disallow: /cbk
Disallow: /recharge/dashboard/car
Disallow: /recharge/dashboard/static/
Disallow: /translate_c
Disallow: /translate_f
Disallow: /translate_suggestion
Disallow: /profiles/me
Allow: /profiles
Disallow: /s2/profiles/me
Allow: /s2/profiles
Disallow: /s2
Disallow: /transconsole/portal/
Disallow: /gcc/
Disallow: /aclk
Disallow: /cse?
Disallow: /tbproxy/
Disallow: /MerchantSearchBeta/
Disallow: /imesync/
Disallow: /websites?
Disallow: /shenghuo/search?
Disallow: /support/forum/search?
Disallow: /reviews/polls/
Disallow: /hosted/images/
Disallow: /hosted/life/
Disallow: /ppob/?
Disallow: /ppob?
Disallow: /ig/add?
Disallow: /adwordsresellers
Disallow: /accounts/o8
Allow: /accounts/o8/id
Sitemap: http://www.gstatic.com/s2/sitemaps/profiles-sitemap.xml
Sitemap: http://www.google.com/hostednews/sitemap_index.xml
Sitemap: http://www.google.com/ventures/sitemap_ventures.xml
Sitemap: http://www.google.com/sitemaps_webmasters.xml



http://www.w3schools.com/robots.txt
User-agent: *
Disallow: /quiztest
Disallow: /banners
Disallow: /images
Disallow: /ado/demo_db_edit.asp
Disallow: /html/tryit.asp
Disallow: /css/tryit.asp
Disallow: /dom/tryit.asp
Disallow: /js/tryit.asp
Disallow: /dhtml/tryit.asp
Disallow: /jsref/tryit.asp
Disallow: *.aspx$
Disallow: *.php$



Un archivo robots.txt digno de admiración es el de microsiervos que con muy buen humor empieza nombrando las tres leyes de la robotica de Isaac Asimov:

http://www.microsiervos.com/robots.txt
#
# robots.txt for http://www.microsiervos.com
#

# Las Tres Leyes de la Rob—tica
#
# 1. Un robot no puede causar da–o a un ser humano o, por su inacci—n,
# permitir que un ser humano sufra da–o.
#
# 2. Un robot debe obedecer las —rdenes que le sean dadas por un ser
# humano, a menos que dichas —rdenes entren en conflicto con la Primera Ley
#
# 3. Un robot debe proteger su propia existencia, siempre que ello no entre
# en conflicto con la Primera o la Segunda ley
#
# — Isaac Asimov
#
# (robots.txt inspirado por yell.com/robots.txt)

# First, this is the
# robots.txt from http://www.wikipedia.org/ for “other” robots
# Thanks Wikipedians!
#
# Please note: There are a lot of pages on this site, and there are
# some misbehaved spiders out there that go _way_ too fast. If you’re
# irresponsible, your access to the site may be blocked.
#

User-agent: Orthogaffe
Disallow: /

# Crawlers that are kind enough to obey, but which we’d rather not have
# unless they’re feeding search engines.
User-agent: UbiCrawler
Disallow: /

User-agent: DOC
Disallow: /

User-agent: Zao
Disallow: /

# Some bots are known to be trouble, particularly those designed to copy
# entire sites. Please obey robots.txt.
User-agent: sitecheck.internetseer.com
Disallow: /

User-agent: Zealbot
Disallow: /

User-agent: MSIECrawler
Disallow: /

User-agent: SiteSnagger
Disallow: /

User-agent: WebStripper
Disallow: /

User-agent: WebCopier
Disallow: /

User-agent: Fetch
Disallow: /

User-agent: Offline Explorer
Disallow: /

User-agent: Teleport
Disallow: /

User-agent: TeleportPro
Disallow: /

User-agent: WebZIP
Disallow: /

User-agent: linko
Disallow: /

User-agent: HTTrack
Disallow: /

User-agent: Microsoft.URL.Control
Disallow: /

User-agent: Xenu
Disallow: /

User-agent: larbin
Disallow: /

User-agent: libwww
Disallow: /

User-agent: ZyBORG
Disallow: /

User-agent: Download Ninja
Disallow: /

# Sorry, wget in its recursive mode is a frequent problem.
# Please read the man page and use it properly; there is a
# –wait option you can use to set the delay between hits,
# for instance.
#
User-agent: wget
Disallow: /

#
# The ‘grub’ distributed client has been *very* poorly behaved.
#
User-agent: grub-client
Disallow: /

#
# Doesn’t follow robots.txt anyway, but…
#
User-agent: k2spider
Disallow: /

#
# Hits many times per second, not acceptable
# http://www.nameprotect.com/botinfo.html
User-agent: NPBot
Disallow: /

# A capture bot, downloads gazillions of pages with no public benefit
# http://www.webreaper.net/
User-agent: WebReaper
Disallow: /

# Specifically for Microsiervos.com
User-agent: *
Disallow: /msmt/ # CMS, search CGI and others (ignore all)
Disallow: /msmt/mt-search.cgi # search CGI
Disallow: /microsiervos-al-azar.php # Random dynamic page, not to be crawled
Disallow: /ad-free-blog.php # Another random dynamic page, not to be crawled
Disallow: /version1/ # Old version of the site, ignore
Disallow: /archivo/mundoreal/pollas-y-pito.html # ignore for search
Disallow: /archivo/leyendas-urbanas/sadam-hussein-porno-gay.html # ignore for search
Disallow: /archivo/leyendas-urbanas/hunting-for-bambi.html #ignore for search
Disallow: /archivo/1988/
Disallow: /archivo/1995/
Disallow: /archivo/2001/
Disallow: /archivo/2002/
Disallow: /archivo/2003/
Disallow: /archivo/2004/
Disallow: /archivo/2005/
Disallow: /archivo/2006/
Disallow: /archivo/2007/
Disallow: /archivos/-sidebar-mapas
Disallow: /archivos/-sidebar-series
Disallow: /archivos/-sidebar-simpson
Disallow: /archivos/-sidebar-simpso
Disallow: /index-2.html
Disallow: /index-3.html
Disallow: /index-4.html
Disallow: /old/
Disallow: /cloneblog/

Sitemap: http://www.microsiervos.com/sitemap.xml



Como veis se finaliza (o en algunos casos empieza) indicando la referencia al sitemap para que el crawler continue por ahi, y por ahi continuamos…
Sitemap (xml)

Los Sitemaps son una forma fácil que tienen los webmasters para informar a los motores de búsqueda de las páginas que se pueden rastrear en sus sitios web. Un Sitemap, en su forma más sencilla, es un archivo XML que enumera las URL de un sitio junto con metadatos adicionales acerca de cada una de ellas: la última actualización, frecuencia de modificación, importancia, en relación con las demás URL del sitio; así, los motores de búsqueda pueden llevar a cabo rastreos del sitio de una forma más inteligente.

Google utiliza un schema XML para definir los elementos y atributos que pueden aparecer en un fichero Sitemap.

http://www.google.com/schemas/sitemap/0.84/sitemap.xsd

El formato estandar de un Sitemap está definido en sitemap.org:

http://www.sitemaps.org/es/protocol.php

El sitemap de microsiervos es sitemap.xml. Es una extensa lista con todas las entradas para facilitarle la busqueda al bot.

Como ejemplo podemos ver el sitemap que google define, sitemapindex.xml



http://www.gstatic.com/s2/sitemaps/sitemap-399.txt
2009-04-24



Mientras que el robots.txt no se suele generar, en los ficheros de sitemap se consultan bases de datos para generarlos, por lo que lo mas conveniente es crearse un script que actualice nuestro sitemap.xml cuando hacemos alguna modificación en nuestra web.

Más info:
www.robotstxt.org/

www.sitemaps.org/es/protocol.php

información: http://www.mangarrufos.es/2009/05/06/manual-robotstxt-y-sitemap/

No hay comentarios:

Publicar un comentario