¿Cómo poner un Nofollow en WordPress?

El otro día, por cosas de la vida (un problemilla de SEO), me topé con la necesidad de poner un Nofollow en un enlace del menú de WordPress. Estos menús (navbar) se controlan en la pestaña de «Apariencia > Menús» del escritorio de WordPress. Solucionar el problema sin recurrir a tocar el código fuente es muy fácil, pero hace falta saber donde se esconde la funcionalidad. Ahí va el truquillo.

Hay varias maneras de hacerlo, pero el método más sencillo es el siguiente:

Añadir el enlace

Accede al escritorio de WordPress y dirígete a la pantalla de gestión de menús (está en la sección «Apariencia»). Selecciona el menú en el que vas a añadir el enlace y crea un nuevo vínculo usando la opción «enlaces personalizados». Añade el nuevo enlace en el lugar que desees del menú. Hasta aquí, todo normal.

Añadir un enlace en menú de wordpress

Etiquetar como «nofollow»

Una vez añadido, fijate en la parte superior derecha de la pantalla. Ahí tienes un desplegable llamado “opciones de pantalla”. Selecciona la opción “Relación con el enlace (XFN)”. Esto lo puedes hacer antes o después de añadir el enlace, es lo mismo.

añadir campo relación con el enlace
(Haz click en la imágen para ver más grande)

Esto activará una nueva casilla en el enlace que acabas de añadir al menú. Regresa más abajo, al enlace, y coloca un «nofollow» en el nuevo campo.

etiquetar nofollow

Con esto, has añadido un nuevo vínculo en tu menú de navegación y ha quedado etiquetado como «nofollow», algo que es muy importante sobretodo cuando creamos un enlace que apunta fuera de nuestro dominio.

¿Te ha resultado útil? ¿Tienes preguntas? ¿Necesitas más ayuda? No dudes en dejar un comentario! 😉

Cómo desactivar xmlrpc.php de WordPress

Una de las vulnerabilidades más comentadas de WordPress es la que tiene que ver con el archivo xmlrpc.php. Para resumir, este archivo es el que permite la interacción entre wordpress y aplicaciones remotas. Sirve, a la práctica, para que los propietarios/editores de un sitio WordPress puedan acceder al Gestor de Contenidos y publicar nuevas entradas desde aplicaciones conectadas con WordPress.

La vulnerabilidad tiene que ver (sobre todo) con ataques de fuerza bruta. Es decir, se realizan muchas consultas simultáneas al archivo xmlrpc.php de desde distintos puntos, de modo que el servidor se vuelve inestable y cae, dejando el sitio web inoperativo. Esto es un resumen muy tosco, claro. En realidad existen muchas otras vías por las que el xmlrpc.php puede causar una vulnerabilidad en nuestro sitio web, pero no vamos a entrar en detalles.

Si no tienes intención de realizar operaciones remotas con WordPress y deseas desactivarlo, aparentemente no existe una opción que permita inhabilitar esta funcionalidad desde los menús de configuración. Pero no está todo perdido.

Método radical para desactivar el xmlrpc.php

Si revisas tu código fuente, encontrarás una línea como esta:

<link rel="pingback" href="http://www.adriapadilla.net/xmlrpc.php" />

Para eliminar este vínculo, accede al fichero header.php y busca la siguiente línea:

<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />

Comenta la línea y la función php para que el vínculo se inhabilite

<!--<link rel="pingback" href="<?php // bloginfo( 'pingback_url' ); ?>" />-->

Por último, en el directorio raíz de tu instalación de WordPress, busca el fichero xmlrpc.php y cambia su nombre a algo completamente distinto. Si estás seguro de que no vas a utilizar nunca esta funcionalidad, lo puedes eliminar. Con esto bastaría para que el fichero no sea detectado por los “hackers” malintencionados.

Método suave para desactivar el xmlrpc.php

Si crees que en algún momento vas a necesitar la funcionalidad y no deseas eliminar el fichero, hay otra vía para desactivarla de forma “menos agresiva”, que consiste en denegar el acceso al fichero xmlrpc.php. Consiste en añadir las siguientes líneas al .htaccess de tu sitio web:

<Files xmlrpc.php>
	Order Deny,Allow
	Deny from all
</Files>

Existe un último método que permite el acceso parcial al archivo. Se trata de combinar la anterior directiva del .htaccess con permisos de acceso para una o varias IPs concretas. Por ejemplo:

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
    Allow from xxx.xxx.xxx
    Allow from xxx.xxx.xxx
</Files>

Con esto ya tenemos las espaldas cubiertas frente a cualquier intruso malintencionado. Creo que no hace falta recordar la necesidad de realizar una copia de seguridad antes de proceder.

¿Cómo quitar el shortlink de WordPress?

Cuando creamos un sitio web en WordPress, una de las primeras cosas que hacemos es personalizar los enlaces permanentes. Se trata de evitar esa odiosa estructura por defecto que hace que nuestras URL sean tan feas.

Por ejemplo: http://www.tusitioweb.com/?p=8

A la mayoría de los usuarios les basta con realizar la modificación correspondiente en el panel “enlaces permanentes” del menú Ajustes de WordPress.

Este procedimiento no evita que el «shortlink» (el enlace feo) siga apareciendo en nuestro código fuente, y su presencia puede llegar a ser molesta. Aquí lo tenéis:

<link rel='shortlink' href='http://www.adriapadilla.net/?p=8' />

Tener este tipo de enlaces en nuestro código permite que los crawlers lo sigan encontrando. Algunos, como ScreamingFrog o Xenu, nos mostrarán estos enlaces «simples» (podéis llamarlos «feos») en el listado de links de nuestro sitio web. Puede que esto no nos interese.

Pasos para eliminar el shortlink de nuestro código fuente

  1. Abre el fichero “link-template.php”, que encontrarás en el directorio «/wp-includes/», en el directorio raíz donde tengas instalado WordPress. Para editarlo, es recomendable usar algún programa tipo Notepad++.
  2. Busca la siguiente función
  3. function wp_shortlink_wp_head() {
        $shortlink = wp_get_shortlink( 0, 'query' );
    	if ( empty( $shortlink ) )
    		return;
    	echo "<link rel='shortlink' href='" . esc_url( $shortlink ) . "' />\n";
    }
  4. Comenta el “echo”, que es lo que se encarga de hacer que el shortlink se muestre en tu código fuente. Debería quedarte así:
  5. function wp_shortlink_wp_head() {
        $shortlink = wp_get_shortlink( 0, 'query' );
    	if ( empty( $shortlink ) )
    		return;
    //	echo "<link rel='shortlink' href='" . esc_url( $shortlink ) . "' />\n";
    }

Con esto, ya has eliminado de tu código fuente el shortlink con la estructura «simple» de wordpress!