Alternativa a Nofollow para hacer PR Sculpting

Hace unos dias Lino Uruñuela (@errixoa) publico un post sobre PR sculpting con JavaScript y Robots.txt recomiendo leerselo por que lo explica todo muy bien, y es que entre tanta duda en como reparte ahora mismo Google el Link Juice con el uso de rel=”nofollow” el uso de javascript para crear enlaces es una alternativa sencilla que siempre ha estado ahí.

Sabemos que Google puede seguir enlaces windows.open o windows.location.href pero supuestamente no sigue más pero…

Yo he podido comprobar cómo el bot de Google me ha estado siguiendo link dentro de un código similar a este:

<script type="text/javascript">
so.addVariable("xmlfile", "/swfs/myimage.php?cod=2345");
so.write("imgflash");
</script>

La url es de un fichero xml que se le pasa como una variable al flash a traves de javascript, y supuestamente el bot de google n lo deberia leer, pues bien en concreto a mi me indexo 700 urls como estas, leyéndolas incluso con la ruta dinamica, ¿curioso no?
Para solucionarlo bloquee el directorio /swfs desde el robots pero cada vez que entraba en GWT me encontraba que en errores de rastreo Google decia que existian 700 urls bloqueadas por robots.txt, vamos que venía a decirme que Google seguía sabiendo que estaban ahí y que podía rastrearlas.
La solución vino por partir la url lo más posible para que Google no pudiera rastrearla de la siguiente forma:

var dirfile="/swfs/";  var urlfile="myimage.php?cod_pro=2406";
so.addVariable("xmlfile", dirfile+urlfile);

A partir de ahi, los errores de rastreo fueron bajando de 700 hasta llegar a 0 ya que el bot de Google no encontraba la url.

Eso me da que pensar que el bot de Google puede intentar seguir todo enlace que se encuentre este dentro de javascript o no , quizás sirviéndose de si es válido o no por la respuesta del servidor (200 OK) .

Después de comentárselo a Lino me hizo la pregunta del millon ¿Pero repartira link Juice entre esos enlaces?, – ja, pues no lo se, habrá que hacer pruebas, que mejor manera..

Como decía, Lino ya lo explico todo muy bien como realizar esos links en javascript y así que no voy a decir lo mismo claro, podéis leer el de lino que le he puesto un link precioso arriba.

La cosa es que hay varias formas de hacer enlaces con javascript, y personalmente las que más me gustan a mi son las menos intrusivas de código javascript en el html.

Utilizando JQuery se pueden crear enlaces desde javascript no intrusivos y que el usuario pueda seguir viendo en la pagina un link normal, con su manita para clicar y todo.

Para ello solo tendríamos que crear un archivo externo e incluir en él las siguientes líneas: (ni que decir tiene que hace falta la librería Jquery)

$(document).ready(function() {
var a =$(".link");
$.each( a, function(){
if ($(this).attr('rel')=="external") {
$(this).wrap('<a href="http://' + $(this).attr('pag') + '"></a>');
} else {
$(this).wrap('<a href="' + $(this).attr('ruta') + $(this).attr('pag') + '"></a>');
}
});
});

Esto introducirá un enlace dentro de cualquier etiqueta span que tenga asignada la clase “.link” para que Google no sea capaz de seguir la url por si las moscas partimos la url, para enlaces internos, en el atributo “dir” indicamos la ruta, y en el atributo “pag”, indicamos la pagina.

<span class="link"  dir="/ruta/" pag="pagina.php">anchor text de mi enlace</span>

Y para enlaces externos incluimos el rel=external y en el atributo “pag” indicamos la url:

<span rel="external" pag="www.yahoo.es">anchor text de mi enlace</span>

En lugar de el atributo “pag” se puede utilizar cualquier otro, da igual que no sea standar por el W3C pero yo lo pongo a modo de ejemplo, cada cual que lo haga como quiera, yo solo doy la idea.