En el post de hoy voy a dejar un pequeño código para liberar este CMS de tanto plugin. Aunque cosas como las que voy a escribir parecen bastante contradictorias, algunas reglas de SEO parecen contradecir a otras, la realidad es que hay aún algunas cosas que podemos hacer para mejorar o al menos no empeorar el posicionamiento en buscadores de nuestra web sin necesidad de plugins (para no sobrecargar la web con demasiados añadidos).
En esta ocasión me refiero a la relación de enlaces conocida como “nofollow“, que le “dice” a los buscadores que el enlace que estás poniendo en tu publicación no debe seguirlo (de ahí el “no follow“, o “no lo sigas“), ni debe compartir posicionamiento y ranking de tu web con ese enlace, lo cual haría que tu posicionamiento empeorase.
Por decirlo de algún modo, sería la relación a añadir cuando enlazas a una URL que no es referencia, ni siquiera trata sobre el asunto del que estés escribiendo.
Un ejemplo de enlaces con y sin nofollow sería el siguiente:
Esto sería un enlace sin nofollow
La idea sería añadirle rel="nofollow"
y el resultado sería el siguiente.
Esto sería un enlace con nofollow
El enlace se vería igual, e iría al mismo sitio pero internamente le estaríamos indicando a Google que no le haga caso. En realidad sería casi (he dicho casi) como si no hubieses enlazado a nada mirado desde el punto de vista de los buscadores.
Esto explicado así a groso modo… Ahora vamos a ver como hacerlo.
Si ya lo has entendido, y has leído por ahí que hay que mantener equilibrio de enlaces entrantes y salientes en una web, lo que viene a significar que no debes tener más enlaces hacia otros sitios de los que haya de otros sitios hacia tu web ya que eso sería como reconocer que tu web no vale nada sin los sitios a los que enlazas y que como no te enlazan tu reputación es un tanto dudosa.
Y como no vas a controlar quien te enlaza (salvo pago y no se trata de eso) igual si resulta interesante reducir el número de enlaces salientes añadiendo el “nofollow” a los enlaces externos que vienen siendo los links que llevan a sitios diferentes de tu web.
Puedes hacerlo manualmente como he mostrado unos párrafos más arriba y decidir con quien compartes posicionamiento, pero si lo tienes claro (solo si lo tienes claro) debes saber que puedes añadir “nofollow” automáticamente a TODOS los enlaces salientes, sin piedad!!. Lo podemos hacer de dos maneras, básicamente:
Añadiéndo nofollow automático mediante código sin plugins;
Si lo tienes clarísimo solo tendrías que echar mano de tu plugin de funciones y añadirle estas líneas:
//Añade nofollow a todos los enlaces externos
add_filter('the_content', 'auto_nofollow');
function auto_nofollow($content) {
//return stripslashes(wp_rel_nofollow($content));
return preg_replace_callback('/]+/', 'auto_nofollow_callback', $content);
}
function auto_nofollow_callback($matches) {
$link = $matches[0];
$site_link = get_bloginfo('url');
if (strpos($link, 'rel') === false) {
$link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link);
} elseif (preg_match("%href=S(?!$site_link)%i", $link)) {
$link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link);
}
return $link;
}
Guardas los cambios y listo. Todos tus enlaces externos tendrán rel="nofolow"
. Lo efectivo de este código es que tan solo afecta al contenido de entradas y páginas y solo a los enlaces externos, los enlaces a tu dominio quedan intactos, así como los enlaces del blogroll o los que pongas tú.
La otra manera de hacerlo sería utilizando plugin, los hay muy buenos, pero como digo siempre, por que vas a añadir plugins que puedes evitar picando un poco de código.