jueves, 19 de noviembre de 2015

Tu dosis diaria de WordPress - Ayuda WordPress

¿No lo ves bien? »»
Ver este email en tu navegador

Ayuda WordPress

Recursos, themes, plugins y tutoriales en español

Cómo cambiar la URL de autor en WordPress

Por Fernando el Nov 18, 2015 09:09 am

WordPress tienes muchas cosas buenas pero también algún picadillo, y uno de ellos es la URL de autor, que tiene dos errores, y uno de ellos supone un grave problema de seguridad: muestra el nombre de acceso del usuario en vez del nombre visible u otro.

El otro error, menos grave, es que no puedes cambiar la base de la estructura del enlace, me explico …

Como ya sabrás, en Ajustes -> Enlaces permanentes, puedes modificar la base de la URL de los archivos de categorías y etiquetas, de category y tag a lo que quieras.

url base de categorias y etiquetas

De este modo, la típica url del tipo misitio.es/category/mi-seccion/ puedes cambiarla, por ejemplo, a misitio.es/seccion/mi-seccion o de misitio.es/tag/mi-etiqueta/ a misitio.es/etiqueta/mi-etiqueta/.

Pero WordPress no nos ofrece ningún modo de cambiar el archivo de autor del estándar misitio.es/author/username/ a otra cosa, como podría ser misitio.es/perfil/ID_de_autor/, por ejemplo.

Como he dicho, este error es menos grave, meramente estético. Lo gordo es lo otro, que en la URL de un autor se muestre el nombre real de usuario (username) para acceder, con lo que ya estás “regalando” información de la mitad de lo que alguien podría necesitar para acceder sin permiso a tu sitio.

Da igual si pones tu nombre y apellidos, un alias o eliges un nombre visible, siempre se generará la URL con tu nombre de usuario que no puedes cambiar salvo modificándolo manualmente en la base de datos.

perfil de autor

Así, si haces clic en el nombre de autor en la línea de información de una entrada, se mostrará el nombre visible elegido, pero te llevará a la URL de autor, en la que podrás ver su nombre de usuario de acceso real, sabiendo ya el 50% de la información para poder intentar acceder en su lugar.

Si, es grave, pero tiene solución, de hecho hay varias.

De hecho ayer mismo me avisó por Twitter un lector, Joan Morci, de este grave problema de seguridad, sobre lo que ya ha publicado él mismo la solución en su blog, pero he encontrado algún recurso más que puede ayudar.

Cambiar la URL de autor en WordPress con código

Si queremos solucionar estos dos errores de golpe es sencillo. Solo tenemos que añadir el siguiente código a nuestro plugin de utilidades:

//Cambiar author/username a perfil/ID_de_usuario  function change_author_permalinks() {    global $wp_rewrite;     // Primero cambiamos el valor de la base de author a lo que queramos     $WP_rewrite->author_base = 'perfil';    $wp_rewrite->flush_rules();  }    add_action('init','change_author_permalinks');    add_filter('query_vars', 'users_query_vars');  function users_query_vars($vars) {      // ahora añadimos el ID de usuario a la lista de variables válidas      $new_vars = array('perfil');      $vars = $new_vars + $vars;      return $vars;  }    //Y finalmente generamos la regla de escritura de la URL con los valores anteriores  function user_rewrite_rules( $wp_rewrite ) {    $newrules = array();    $new_rules['perfil/(\d*)$'] = 'index.php?author=$matches[1]';    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;  }  add_filter('generate_rewrite_rules','user_rewrite_rules');

En este ejemplo lo que hacemos es, primero, cambiar la base de la URL de author a perfil (que por supuesto puedes cambiar a lo que quieras) y luego usar el ID de usuario como nombre de autor en la URL, lo que es la mejor opción, pues es único siempre, no como el nombre visible, alias u otros, que podrían coincidir y supondría otro problema.

De este modo, un usuario cuyo nombre de usuario sea admin, con lo que su url de autor habría sido por defecto misitio.es/author/admin/ pasaría a tener una url de autor del tipo misitio.es/perfil/12/ (siendo 12 su ID de usuario único).

Por supuesto, nadie podrá usar el ID como nombre de usuario para intentar acceder a WordPress, simplemente no funciona, con lo que hemos solucionado el problema.

Hay por ahí otros códigos para cambiar el nombre de usuario pero solo valen para hacerlo uno a uno, con este código los cambias todos, y a lo único interesante que puedes hacerlo sin conflictos.

Cambiar la URL de autor en WordPress con plugins

Claro que sí, también podemos hacerlo con plugins, no sufras si eres de los que aún le da dentera y temblores tocar código.

Edit Author Slug

Plugin muy completo, que te permite cambiar tanto la base de URL de autor como la base de uso para los nombres de autores. De este modo puedes sustituir author por lo que quieras, y usar otra base para los nombres de autor, como por ejemplo la combinación de nombre-apellido, alias, solo nombre, nombre visible, ID, etc.

edit author slug

En campo Author Base cambias author por lo que quieras y luego, más importante, en Bulk Update Author Slugs, si activas la casilla Bulk Update, te permite definir el nombre a usar en las URLs en vez del nombre de usuario real.

 

Además también te permite cambiar las URLs de autor  uno a uno si quieres, de manera totalmente manual, a lo que quieras.

edit author url unique wordpress

SF Author Url Control

Este es similar al anterior pero algo más limitado. La parte buena es que para cambiar la URL base de author a lo que quieras no tienes una página de opciones enorme sino que se añade un campo más a Ajustes -> Enlaces permanentes, justo debajo de donde haces lo mismo para categorías y etiquetas, algo totalmente lógico e intuitivo.

sf author url control

En lo que no llega al nivel del anterior plugin es que no puedes cambiar automáticamente las URLs de los autores sustituyendo el username por otra cosa, sino que tienes que hacerlo uno a uno, o el mismo usuario por su cuenta.

Creo que huelga decir que esto último no es nada recomendable, porque hay mucho loco por ahí que estaría todo el día mareando con su nombre de usuario.

author url control usuario


 

En fin, que el asunto creo que queda resuelto, ya sea mediante el código (creo que la mejor opción con enorme diferencia), o con el plugin Edit User Slug, haciendo el cambio en masa, pero con el fallo de no poder usar el ID, que sería lo mejor, ya que como he dicho con el resto de posibilidades, al ser modificables por los usuarios, podría haber coincidencias y sus consiguientes problemas.


Verlo en el navegador »



Artículos recientes:

Escribe bien siempre WordPress
Yoast SEO o All in one SEO pack ¿cuál es mejor?
Como enamorar a tus clientes con WordPress
Como acelerar la carga de tu tienda online WooCommerce
1 de cada 4 webs está creada con WordPress

Si quieres saber más sobre lo que ofrecemos en Ayuda WordPress echa un vistazo a los siguientes enlaces …  

Clic para saber más
Curso de WordPress
Todos los secretos
Saber más
Clic para acceder a la oferta exclusiva
Hosting WordPress
100% fiable
Saber más
Creamos tu Web
Profesionalidad 100%
Saber más
Twitter
Facebook
YouTube
Google Plus
Web
Copyright © 2015 Ayuda WordPress, Todos los derechos reservados.
Recibes este correo al estar suscrito a la lista de noticias de Ayuda WordPress

Ayuda WordPress
Madrid
España, ES 1001
Spain

Add us to your address book


Puedes cambiar tus preferenciasanular la suscripción

Email Marketing Powered by MailChimp

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog