En los últimos años la usabildad de las páginas web ha mejorado considerablemente y esto se debe especialmente al uso de JavaScript y también Ajax.
En el caso de Ajax, se trata de actualizar partes de una página web sin tener que refrescarla totalmente. Esto se realiza mediante peticiones internas del navegador al servidor web mediante la conocida función XMLHttpRequest (ver la historia de la API XTMLHTTP).
Cuando el rastreador de un buscador abre una página, solamente puede encontrar el contenido original de la primera petición al servido web, pero no puede ver el contenido que el usuario logra observar mediante las subsiguientes peticiones al servidor (ver cómo ve Googlebot páginas web con Ajax y JavaScript).
Por eso, inicialmente Google veía páginas que usaban estas técnicas como cloacking ya que el usuario podía ver información totalmente diferente a la que podía rastrear el googlebot.
Pero ahora, con el aumento del numero de páginas con está tecnología la situación ha cambiado: Google está tratando de poder leer la información que se obtiene mediante las peticiones al servidor web usando XMLHttpRequest y ha hecho una propuesta a los webmasters para que coloquen en este tipo de URLs la marca #! y no # ya que # sirve en HTML para definir anclas en una misma página web.
En un interesante articulo, Vanessa Fox, explica la propuesta de Google para rastrear Ajax y menciona que Google posiblemente ya esta usando esta técnica para rastrear páginas con Ajax.
Pero Vanessa también menciona de que Google todavía no tiene la figura bien definida, por lo que por el momento no aconseja cambiar las páginas y usar este tipo de URLs.
Google+
Buen artículo, estaba buscando esta información, gracias