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.
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.
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!!!
Me parece fantástico el artículo Natán, wordpress es de lo mejor para seo bien optimizado, pero claro, también tiene sus fallos, lo aplicaré hoy mismo 🙂
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.
Es cierto que esto es hilar ya muy fino y a algunos les dará reparo, un plugin vendría genial, un saludo crack!
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!
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!
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
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!
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!
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
Hola Natán,
Después de leer el post me he puesto a buscar un poco por internet y he encontrado este plugin en wordpress. Lo he instalado en un wordpress de pruebas y parece que funciona correctamente.
Esta es la Url http://wordpress.org/plugins/display-name-author-permalink/
Espero que os sirva de ayuda.
Un saludo
Gracias Jesús,
la descripción que tiene me parece que lo marea un poco pero creo que sirve
un saludo!
Funciona perfectamente.
Ahi dejo el plugin hecho, solo teneis que descomprimir en archivo «authorSEC.php» dentro de la carpeta plugins y activarlo.
Descarga: http://paginaswebyseo.es/authorSEC.rar
Finalmente hay que editar el archivo «authorSEC.php» y cambiar las XXXXXXX por lo que querais.
Saludos y buen aporte Natan.
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!
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
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.
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!
Hola Natan
Gracias por tu respuesta, ya estaba algo desesperado…
Borrarlo te refieres al: installer.php
Saludos
Deivid…
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.
El archivo que encontrado en File Manager es: install.php
¿Es este al que tengo que eliminar? mi duda es de eliminar este ¿como sabre si hay problemas?
Saludos Cordiales
David Palau
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.
Hola
Entonces entiendo que borro el contenido y pego un código 404 en php.
¿donde puedo conseguir el código?
Saludos
David
el mismo archivo 404 de tu theme te servirá!!
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
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
Gracias por tu comentario Pablo. Visto que la mayoría de comentarios van en la misma dirección, habrá que implementarlo modificando el código que tenemos.
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
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!
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
Gracais por el apunte Javier, ahora resubo el plugin. Recuerda incluir en tu blog el plugin Limit Login Attempts para evitar dichos ataques, estarás mucho más tranquilo.
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
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!!!
Si se añade como un plugin es muy sencillo Johanna!
Gracias por tu comentario y a por los piratas!
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!!
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
Muchas gracias por tu respuesta Natan,por aquí seguiré leyendo y aprendiendo un poco de lo mucho que expones.
Muchas felicidades por tu blog!!
Buen post, me sirvió para cambiar esta falencia en la seguridad de WordPress, gracias.
Me alegro Gonzalo!
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…
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
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 😉
Buenísimo Marcos!
Fíjate que solución tan sencilla y que buena idea para esconder tu login de intrusos…
Gracias por comentarios como este.