Cambiar el link de autor en WordPress: SEO y Seguridad

Hoy te voy a enseñar como cambiar el link del autor de un blog en wordpress. Con eso conseguirás una mejora en seguridad y dos mejoras en SEO interno. Puedes ir y aplicar el cmbio directamente (ya tenemos plugin provisional!) pero lo mejor es que leas como y porqué deberías hacerlo si tu web es un blog en wordpress con hosting propio. Y ya que estoy aprovecho para pedirte disculpas por no haber publicado en tanto tiempo, pero como en breve habrá una sorpresita, no me preocupa tanto. Empecemos!

Cambiar el link de autor en WordPress

Si te fijas bien, cuando wordpress pone al final o al principio de un artículo el nombre del autor, ¿dónde lleva el enlace? Si colocas el puntero del ratón sobre ese link dónde pone Natan Valencia, (prueba en otro blog porque aquí ya no funciona) verás que el enlace lleva a una página como nombredelblog.com/author/nombre-de-login, y ese «login» no es nuestro nombre público, sino el maldito nombre de usuario que el autor utiliza junto a su contraseña para inciar sesión en /wp-admin y acceder a la administración del blog (señores programadores de WordPress, fallo de seguridad de primero de sentido común). Por favor, si alguno de vosotros tiene a bien indicarme o crear un plugin alternativo que aplique la siguiente solución, con gusto lo publicaré, de momento os doy la solución manual que no está nada mal.

como averiguar el login de un usuario de wordpress

Solucionar problemas de intentos de acceso a wordpress

Para no dejar a nadie en evidencia, lo más sencillo y rápido que puedes hacer es dejar esta ventana abierta para seguir leyendo después, e ir corriendo a instalar el Limit Login Attemps, un plugin que te permite limitar los intentos de acceso que puede hacer alguien que conozca tu nombre de acceso pero intente adivinar tu contraseña usando un programa de reintentos (fuerza bruta se llama esa técnica). De esta manera un ataque de este tipo no tendría sentido.

Cambiar el login de WordPress

No, una vez creado un usuario en WordPress no puedes cambiar su login (a no ser que te metas a editar directamente la base de datos o crees otro usuario), pero sí puedes esconderlo. Ya te he dicho antes cómo encontrarlo, y ahora te voy a enseñar cómo hacerlo invisible.

Solo tienes que ir al archivo functions.php de tu theme de wordpress y agregar el siguiente código (si no sabes bien dónde ponerlo, ponlo al final:

//cambiar permalink author
function cambia_author_permalink() {
    global $wp_rewrite;
    $wp_rewrite->author_base = 'NatanValencia';
    $wp_rewrite->author_structure = "/" . $wp_rewrite->author_base;
    add_rewrite_rule('usuario/([^/]+)/?$', 'index.php?author_name=$matches[1]', 'top');
}
add_action('init','cambia_author_permalink');

También puedes hacerlo desde el panel de administración de WordPress yendo a Apariencia > Editar > Seleccionar el tema, y en la columna de la derecha buscar el archivo functios.php. Luego lo añades al final del archivo (por ejemplo), y le das a guardar. Te recomiendo que antes hagas un backup del archivo porque si te equivocas en algo podría dejar de funciarte alguna parte del blog, sobretodo si no sabes exactamente lo que tocas.

como cambiar el enlace del nombre de usuario de wordpress

Este código solo servirá para blogs de un solo autor, porque tal cual está escrito, cambiaría todos los enlaces, sin importar qué usuario de WordPress haya escrito el artículo. Por supuesto, dónde mi código tiene «natan», tú deberás cambiarlo por tu nombre y crear una página con información sobre ti, o apuntarlo a cualquier página que quieras.

Solucionamos el 50% del contenido duplicado

En un blog WordPress de un solo autor, la dirección blog.com/author/usuario contiene un listado de los posts de dicho autor, exactamente lo mismo que la página de inicio o la página del blog, al estilo de las páginas de categorías o tags; por tanto cuando solo hay un autor, la portada y la página de autor son idénticas, así como cada una de las páginas. Normalmente la solución a esto es añadir en el archivo robots.txt la linea «Disallow: /author», y con esto evitamos que Google nos indexe la página que contiene un bonito listado de todos nuestros posts, además de nuestro nombre de login en la url. Pero si no cambiamos el enlace del autor…

Solucinar el problema de la fuga de PageRank

(Si no sabes lo que es el Page Rank te recomiendo este artículo: Actualización del PageRank.)

…bloqueando el /author en el robots.txt solo arreglamos la mitad del problema, pues conseguimos que cada artículo, tag, categoría y al pié de cada artículo en portada tenga un enlace interno hacia una página que no debería indexarse en Google. Es decir, estás transmitiendo tu fuerza hacia el vacío.

¿Y si hacemos que esos enlaces sean nofollow?

No sirve esa solución. El PageRank que transmite una página se reparte entre todos los enlaces existentes, sean del tipo que sean; luego, si son «nofollow», esa fuerza simplemente se pierde. Por eso mismo los enlaces internos (a páginas que deban indexarse) nunca deberían ser nofollow (algunos webmasters ponen enlaces nofollow hacia sus secciones menos importantes o de menor calidad, eso no hay que hacerlo. Solo hay algunas excepciones que ya trataremos otro día).

Apuntando los enlaces hacia una página «Sobre Mi» o «Quién Soy», con tu bio o con tu currículum, estarás dando mucha fuerza a una url que sí es útil, y que además suele visitarse mucho en un blog.

¿Por qué cambiar el login de WordPress?

En resumen, cambia el login aplicando el código que te he dado y conseguirás:

  • Esconder el 50% de tu modo de acceso al blog
  • Eliminar contenido duplicado
  • Perder PageRank
  • Mejorar el posicionamiento de una de tus páginas internas

Si crees que es un truco interesante y útil puedes compartirlo, comentar, +1 y todo eso. Gracias!!!

 

41 comentarios en “Cambiar el link de autor en WordPress: SEO y Seguridad”

    1. Gracias, voy a ver si hago un plugin que solucione el tema porque muchos lectores es posible que no quieran tocar el codigo tal cual. Además que una actualización de theme o similar se carga fácilmente estos cambios.

  1. Me pregunto que te hizo caer en cuenta de esto siendo un fallo que ya lleva tanto tiempo. Muy bueno el artículo, felicitaciones.

    Definitivamente un plugin sería la solución momentánea más acertada hasta que los desarrolladores de WordPress lo corrijan.

    Un saludo!

    1. Pues es simplemente una cosa de esas que llevas viendo desde siempre y sabiendo que es un fallo que no se puede arreglar. Hasta que un día te cansas y buscas la solución.

      Un saludo!

  2. Hola Natan.

    En mi blog escriben varios autores y el poder listar las entradas por autor es una funcionalidad que me gusta. Entiendo que si los autores van variando con frecuencia no se considera contenido repetido, ¿no?.

    Lo que si me preocupa es el parecido entre la página de inicio y la de blog que aunque el formato es distinto el contenido es el mismo (aunque en la página de inicio tengo más artículos). ¿Lo penaliza Google? Lo digo porque en principio me interesa tener ambas páginas.

    Un saludo,

    José María
    @jjimenez

    1. Hola josé María,

      en tu caso si hay varios autores, no existe ese problema de contenido repetido porque la home y la página del autor no son iguales (sería como una categoría más que cada url tiene contenidos distintos), en tu caso el único problema que habría es que en realidad al listar las entradas de cada autor se está revelando el texto que usan para hacer login

      para varios autores me costaría un poco más pero a ver como lo hago

      Un saludo!

  3. Guau Natan!!

    Llevaba un tiempo sin pasarme por aquí y veo que me he perdido muchísimo!!! Me parece un buen post que voy a implementar en la web de Iron Blogger.

    En el caso de mi blog personal creo que no es aplicable porque yo lo que hice fue desactivar las páginas de autor ya que soy el único que escribe. ¿Crees que debería hacerlo?

    Saludos!

    1. Bueno, la verdad es que llevo demasiado tiempo sin escribir, espero que no se repita otra vez un mes sin contenido bueno bueno.

      Gracias por comentar Victor.

      Por cierto, en tu caso no aplica porque tu theme no incluye el enlace de author, así que te ahorras un problema. Solo tienes que vigilar que no esté enlazado desde ninguna parte y que Google no haya indexado la página /author

    1. Perfecto Fran,

      voy a intentar darle dos vueltas de tuerca para que sirva en blogs de varios autores pero eso al menos servirá para que las actualizaciones no se fundan el cambio.

      Gracias!

  4. Hola Nata

    Mi problema en esta ocasión no es de SEO, haber si me puedes ayudar, desde hace un tiempo en vez en cuando, no se carga la web y sale el siguiente letrero : Parece que has instalado WordPress antes. Para volver a instalar borra antes las tablas de la base de datos antigua, por favor

    ¿Conoces algún a poder ser en vídeo que abarque este problema?

    Que puedo hacer para solucionarlo? tengo bastantes entradas y paginas publicadas también plugins configurados fotos etc, no quiero perder todo ese trabajo borrando la base de datos de MySQL

    Saludos Cordiales

    David Palau

    1. Hola

      Continua mi problema creo que es desde que actualice a worpress 3.8 carga lento y en ocasiones carga incompleto o aparece el siguiente escrito :

      Parece que has instalado WordPress antes. Para volver a instalar borra antes las tablas de la base de datos antigua, por favor.

      1. El mensaje «parece que has instalado WordPress antes» se da cuando se activa el installer.php y se encuentra una base de datos, eso puede ocurrir si hay errores de conexión a la base de datos, entonces no encuentra nada y se dispara el instalador.
        Tendrás que buscar qué es lo que dispara el installer.php, pero yo empezaría por borrarlo, no sea que en una de esas te haga limpieza y encuentres un blog nuevecito. Luego prueba a limpiar archivos de explugins y depurar y optimizar la base de datos a ver que tal…

        Saludos!

          1. Exacto, el installer.php deberías sustituirlo por un archivo que te indicara que tienes un error de conexión a base de datos, pero nunca debería ser realmente un arhivo con capacidad para iniciar la instalación.

          1. No lo borres, sustituye su contenido por otro, por ejemplo el del 404, pero cambia el texto de dentro para que el mensaje sea distinto, así mostrará un error pero no se cargará nada.

          2. Hola Natan

            Primero gracias por tu paciencia y tiempo, encontrado varios archivos con la palabra Theme : Themes.php , Theme-install.php y Theme-editor.php

            ¿Cual de ellos se trata? sobretodo ¿borro en contenido integro de archivo install? ¿después copio-pego el contenido de alguno de archivos Theme?

            Saludos

            David P

  5. El problema de esto es que francamente la mayoría de blogs grandes tienen varios autores, y wordpress como no asigna un nombre o alias único por defecto al registrarte y requerido, pues pone el user, lo que se puede hacer es poner requerido un alias y emplearlo para las urls de autor, eso si sería una gran utilidad.
    Saludos

  6. Hola Natan Valencia

    – Otra opción valida para los blogs de un solo autor en worpress, que son la mayor parte de ellos seria configurar Yoast WordPress SEO de loa siguiente forma: en la pestaña; «Títulos y Etiquetas Meta» entrar en «Otros» marcas la casilla; Desactiva los archivos de autor, al darle a Natan Valencia o en mi caso David Palau te dirigir a la pagina de inicio sin desvelar el nombre de usuario.

    – Pero este tema abierto un tema que tengo pendiente ¿cual es la mejor forma de hacer backup?

    Saludos Cordiales

    David Palau

    1. Aunque es una opción válida para esconder el nombre de autor, no me convence. Sigo prefiriendo escoger el enlace y me está costando hacerlo en blogs de varios autores.
      Para un backup yo uso BackwpUp o Duplicator. También puedes programarlo en el servidor: con tener los archivos y la base de datos ya se puede mover la instalación entera.

      Saludos!

  7. Buscaba algo como esto ya que con el ataque masivo que están sufriendo muchos de los blogs que usan wordpress (.org) es algo a tener muy en cuenta.

    Aunque con el functions no me ha funcionado, sí con el plugin que comentaron Display Name Author Permalink. (el plugin facilitado en la entrada lleva a un 404).

    Aunque no soluciono lo de duplicidad de contenido pero me importa más la seguridad ahora mismo tras más de 3 semanas con ataques cada pocos días.

    Saludos

      1. Gracias por el consejo! Aunque para los intentos de logins uso un apartado del Plugin Better WP Security que creo que cumple la misma función.

        Un saludo

  8. Muchísimas gracias por la info, si tienes razón en muchas ocaciones nos cuesta anexar código nuevo o sencillamente modificarlo, pues no queremos perder el tiempo, trabajo y dedicación que hemos pueto en nuestro blog, pero lo cierto es que debemos proteger nuestros datos porque existen muchos por ahí que estan buscando como hacernos el mal y no se lo debemos permitir.
    Saludos!!!

  9. Hola Natan,la verdad es que tu blog esta muy interesante, y he aprendido varias cosas,respecto a este articulo,yo para evitar la duplicidad del contenido en mi blog uso una opción de seo ultimate.
    http://i.imgur.com/DAXFE31.jpg
    Como se ve en la gráfica, la pregunta es, esta bien configurado asi??? o estoy dañando mi sitio?
    saludos!!

    1. Hola! Pues dependiendo del contenido que tengas hay que impedir que se indexe una tag o una categoría, pero la mayoría de lo que tienes marcado (paginas de login, de autor, backend, etc) creo que así está bien…

      Saludos

      1. Muchas gracias por tu respuesta Natan,por aquí seguiré leyendo y aprendiendo un poco de lo mucho que expones.
        Muchas felicidades por tu blog!!

  10. Hola, acabo de aplicar el cambio en la functions.php y cuando accedo a la pagina encuadra2.com/author/encuadra2 que es la que sale en primer lugar en google cuando buscas por nombre de marca (es decir por encuadra2) sigue saliendo la pagina con el mismo nombre y no con el del cambio que le he hecho que es el de «author/fotografos_torrejon»

    El plugin no he podido probarlo porque esta caída la dirección del plugin que hay en uno de los comentarios.

    Lo que no entiendo es como google ha indexado en primera posición esa pagina y no la inicial del blog. Si buscas encuadra2 fotografia, si que sale la inicial…

    1. Hola Raul,
      este código lo que hace no es modificar la dirección dominio/author/nombre. Lo que hace es modificar el link que aparece en cada entrada con el nombre del autor del post. Al no estar enlazado desde ningún sitio ya no hay manera de encontrar el nombre del usuario para atacar correctamente el inicio de sesión.

      Saludos

  11. Una alternativa más sencilla, pero que hay que hacer antes de crear un usuario de WordPress, es agregarle un «@» en alguna parte del nombre de usuario. WordPress no toma el «@» cuando genera las url, por lo tanto no aparece.

    Por ejemplo, si creas un usuario «@natan@valencia», la url quedaría …/author/natanvalencia

    Y nadie sospecharía que el nombre de usuario en realidad lleva 2 arrobas 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *