SEO para WordPress – URLs y permalinks

seo para wordpress

La estructura de las URLs o los Permalinks (permanent links o enlaces permanentes) va a condicionar toda la estructura de tu blog WordPress.

La mejor estructura para tus URls o premalinks es:

http://www.tublog.com/titulo-del-post

Esta estructura supone varias cosas:

  • Tu blog está en el root de tu dominio – Si tienes el blog en un directorio, por ejemplo, http://www.tublog.com/blog/ a los robots de los buscadores les resultará más dificil acceder a tu blog y pueden relentizarse. Coloca tu blog en el root de tu dominio.
  • Las URLs nunca cambian – Es decir, aunque cambies las categorías las direcciones de tus posts serán las mismas. Además, si escribes dos entradas con el mismo título WordPress asigna automáticamente un -2 a la URL.
  • Las URLs son más cortas y directas – Es más sencillo para los buscadores acceder directamente a el artículo en el primer nivel que si los clasificamos bajo varios niveles, como por ejemplo http://www.tublog.com/11/05/2007/titulo-del-post/
  • La termincaión de la URL – Si ponemos al final de la URL la barra /, los buscadores interpretan que hay otro directorio más e intentan acceder a él. Por eso es más rápido poner la extensión .php ó .html al final de la URL o no poner ni barra ni extensión. Sin embargo, está demostrado que las URLs con la barra / al final tienen ligeramente mejores rankings en Google. Lo dejo a tu elección.

Cambiar la estructura del Permalinks o URL

Accede al panel de administación de tu WordPress Options -> Permalinks, marca la opción permalink personalizado y solo escribe alguna de estas opciones dependiendo lo que elijas:

/%postname%/ – con la barra al final
/%postname% – sin la barra al final
/%postname%.php – con la extensión .php al final. Pon .html para terminar con esta extenxión.

También puede ser interesante que aparezcan las categorías en la URL, de esta forma se muestra en la URL las palabras clave de las categorías. Si quieres hacer ésto:

/%category%/%postname%/

Aviso: Si tu blog no es nuevo, NO es recomendable cambiar la URL, es mejor que las dejes como están, ya que si se cambian los buscadores tienen que re-indexarlas con otra URL y se pierden todos los rankings.

Si ya tiene un blog, no cambies la estructura de los prmalinks. Solo es recomendable para los blog nuevos.

El problema de la “canonicalization” de las URLs

Actualización 01-10-07 – A partir de la versión WordPress 2.3 ya viene por defecto una única URL, or lo que no es necesario hacer nada de lo siguiente.

Este problema llamado canonicalization problem consiste en que WordPress crea 4 URLs únicas para cada entrada de esta forma:

http://www.tublog.com/titulo-del-post
http://www.tublog.com/titulo-del-post/
http://tublog.com/titulo-del-post
http://tublog.com/titulo-del-post/

Los buscadores lo pueden interpretar como contenido duplicado. Habla sobre el tema Matt Cutts habla sobre ello en SEO advice: url canonicalization
. La solución es la siguiente:

Primero comprueba una por una las direcciones de un post para ver cómo se comporta la URL, ya que algunos hostings ya tienen algunas redirecciones activadas. Esto te redirige las 4 URls a la URL con la barra / al final. Después escribe lo siguiente en tu .htaccess:

– Si usas las WWW en tu dominio – http://www.tudiminio.com/:

Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^myblog\.com
RewriteRule ^(.*)$ http://www.myblog.com/$1 [R=permanent,L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.myblog.com/$1/ [L,R=301]

Esto te redirige las URLs a http://www.tublog.com/titulo-del-post/

Si no usas las WWW en tu dominio – http//tudominio.com/:

Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond ${HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^tudominio\.com
RewriteRule (.*) http://tudominio.com/$1 [L,R=301]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://tudominio.com/$1/ [L,R=301]

Esto te redirige las URLs a http://tublog.com/titulo-del-post/

Si el código de arriba no te funciona o no te quieres complicar, puedes utilizar esta plugin para Wordpres que lo hace por tí. Redirecciona a una sola URL las 4 anteriosres con la / al final o sin ella, en función de como hayas configurado el permanlink. Se llama Permalink Redirect WordPress Plugin

Con esto tendrás los mejores URLs y Permalinks posibles para tu WordPress.

Paso anterior Primeros pasos — Paso siguiente Title Tags y Meta Tags. Índice de SEO para WordPress.

Actualización Febrero 2010: Rendimiento de los permalinks.

108 opiniones en “SEO para WordPress – URLs y permalinks”

  1. Está muy bien el tip que das. Entiendo que ese cambio en el htaccess funciona cuando usamos /%postname%/, pero ¿qué debo escribir en mi htaccess si uso /%postname%-%post-id%/ ? Gracias anticipadas por tu ayuda.

  2. Cierto Fabian, solo funciona para esa URL. Para cada blog puede variar un poco lo que hay que escribir el el .htaccess.

    Si quieres investigar, puedes leer este completo tutorial de Apache .htaccess files.

    Si no quieres complicarte, usa el plugin que he puesto arriba. Te lo hace automáticamente sin tener que hacer nada.

  3. Si tu blog no es nuevo, NO es recomendable cambiar la URL, es mejor que las dejes como están, ya que si se cambian los buscadores tienen que re-indexarlas con otra URL y se pierden todos los rankings.

    Hombre, aunque tengas un blog que no sea nuevo siempre puedes añadir reglas de modrewrite al htaccess para redireccionar y ponerles un código 301

    Si el código de arriba no te funciona o no te quieres complicar, puedes utilizar esta plugin para Wordpres que lo hace por tí. Redirecciona a una sola URL las 4 anteriosres con la / al final o sin ella, en función de como hayas configurado el permanlink. Se llama Permalink Redirect WordPress Plugin

    Pero tiene la desventaja de que requiere más trabajo de CPU, lo cual puede ser decisivo si tienes una web grande en un servidor que restrinja bastante ese tema.

  4. De cualquier forma, la redirección 301 sigue siendo una redirección. Si solo se cambia la estructura del permanlink no tiene tantas consecuencias como cambiar el dominio entero, por el tema de la antiguedad, dos urls con el mismo acceso, etc.

    Por ejemplo, si quieres quitar las www o ponerlas en tu propio dominio, a pesar de la redirección 301 y de que sigue siendo el mismo dominio, puerdes todos los rankins. El tráfico puede disminuir del 50 al 75%. Por eso no es recomendable a no ser que sea necesario.

    Si tienes 50.000 visitas diarias, no instales el plugin.

  5. Enhorabuena por este estupendo Blog, que indudablemente me va a servir de ayuda para la creación de mi nueva web (www.bolsamagia.com.
    Seguro que me convertiré en uno de los visitantes habituales de este blog, que he conocido a través de Google. Estoy iniciándome con WordPress y tu ayuda me va a ser de inestimable valor.
    Un saludo

  6. Hola, tengo un blog echo con wordpress en localhost. El problema es que en la estructura de los Permalinks siempre me pone un /index.php/, por ejemplo:
    – http ://localhost/index.php/2007/07/04/sample-post/
    – http ://localhost/index.php/archives/123
    Podrias indicarme como solucionar esto? o solo basta con quitar el index.php?

    Gracias.

  7. Hola gracias por responder. Pero sigue sin funcionar. Tengo corriendo mi blog en localhost bajo linux. El problema es que los enlaces permanentes que he usado hasta ahora siempre anteponian el /index.php/, el problema ahora es que quiero quitar el /index.php/. Lo he echo desde la administracion dejando /%year%/%monthnum%/%day%/%postname%/, pero wordpress se reusa a mostrarme los enlaces sin el /index.php/.
    Si llamo una url como http ://localhost/page/3/ obtengo error 404, pero si agrego el index quedando http ://localhost/index.php/page/3/ funciona. He activado el modulo mod_rewrite en apache y mi .htaccess es:

    RewriteEngine On
    RewriteBase /156791301/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]

    Pero tampoco funciona, que me sugieres?

  8. Es curioso, últimamente he visto algunos blogs que utilizan esas mismas URLs, con el index.php u otros nombres antes de la ubicación de las páginas, pero había achacado el tema a que eran URLs con varios años.

    Cuando dices que estás corriendo en localhost, ¿A qué te refieres? ¿A que tienes instalado un servidor en tu ordenador? (yo lo uso para probar nuevos diseños y fucionalidades de las páginas antes de colgarlas). Si no es así, ¿Cuál es tu dominio?

    Lo único que se me ocurre de momento es que mires en Opciones > General y pongas:

    WordPress address (URL): http ://tudominio.com
    Blog address (URL): http ://tudominio.com

  9. Hola Adseok, llevo pasando por tu blog desde hace tiempo porque es difícil no llegar a él si tienes un blog.

    Acabo de coger un servidor gratuito decente y estoy “desarrollando” un blog (otro) y no tengo muchos conocimientos sobre wordpress(.org).

    A mi blog se accede mediante todo, es decir, teniendo “http://”, “www” y las barras; al mismo tiempo se puede acceder quitando una cosa u otra. Pero no me redireccionaba a una URL concreta. Puse la configuración de /%postname%/ y con el plugin que recomiendas todo se redirige a la URL con la barra (/) al final. Hasta aquí todo bien.

    EL problema es que puedo acceder al blog mediante “http://www.”, “http://” y “www.” pero SIN redireccionar todos a “http://”.

    ¿Sabrías decirme cómo redireccionar todos a “http://”? Si es que ésto es lo conveniente, sino lo fuera ¿qué sería lo conveniente?

    Un saludo y muchas gracias de antenamo. Cuando termine de hacer ésto bien voy al siguiente paso de tu guía, gracias por realizarla y difundirla gratuitamente ;)

  10. Hola Javyer, por lo que veo, el blog de tu firma si funciona correctamente.

    Si se trata de otro blog, solo puedes hacerlo si tienes acceso al .htaccess, que no todos los servidores ratuítos lo tienen.

    Si es así, lo tienes fácil. En caso de que no tengas acceso y funciones con WordPress, hay un plugin que te puede ayudar, se llama Permalink Redirect WordPress Plugin.

    Un saludo.

  11. Gracias por la pronta respuesta. EL blog de mi firma está alojado en los servidores gratuitos de wordpress.com Ese no es del que hablo, perdón por la confusión.

    Es otro blog, y tengo acceso al .htacces pero preferí instalar el plugin Permalink Redirect WordPress para evitar líos. Te planeto la pregunta de otra manera,

    ¿existe algún riesgo de mala indexación, mal posicionamiento o similar por poderse acceder a mi blog poniendo delante “http://www.”, “http://” ó “www.”? O en todos los blogs éso es igual, no influye en la indexación, posicionamiento, etc (lo de la barra lo solucioné con el plugin que me comentaste, el Permalink Redirect WordPress).

    Según tu comentario anterior creo que no hay problema y que todo está bien ;)

    Un saludo y gracias de nuevo.

  12. Es bueno que se pueda acceder desde todas esas maneras, siempre que se redireccione a una de ellas. Peor es que de error.

    Como lo tienes ahora está perfecto (lo mismo para otros blogs).

  13. Muchas gracias por la ayuda.

    No quiero ser pesado ni repetitivo pero el plugin Permalink Redirect WordPress no me redirecciona a “http://www.” como a tí. Simplemente me añade la barra al final (/). Mis posts no incluyen el WWW pero los tuyos sí. Y si entro al blog con “http://” (sin escribir WWW) delante del dominio me entra y se queda SIN las WWW, es decir, no añade las WWW como sí es tu caso. ¿Es eso malo? (No he tocado el .htaccess)

    Siento mi torpeza :(

  14. Bien, no, en absoluto. Da igual si pones las www o no las pones, lo imortante es que te quedes con una sola opción.

    En cuanto a si es mejor o peor poner las www o no ponerlas, es para gustos. Unos prefieren ponerlas, otros no porque ya no tienen sentido, es más que nada para el usuario poco experimentado que prefiere verlas, entre otras cosas. Pero si no las pones da igual.

    Además, si la URL de tu blog es un subdominio, no las pongas, como he dicho antes, el ejemplo de tu blog está perfecto (y si no es un subdominio, tampoco las pongas, o sí, da igual)

  15. Ya creo haberlo solucionado, introduje en el .htaccess el “trozo de sin WWW”. Y parece que todo funciona correctamente.

    Gracias por la paciencia y la ayuda Adseok ;)

    Un saludo y enhorabuena por el blog!

  16. hola he puesto esto en el permalink /%postname%/, he vuelto a generar el sitemap.xml, pero las direcciones de las paginas aparecen igual que antes.

    Sabes porque?

    Gracias

  17. Oye gracias, he cambiado los permalinks de mi blog para que terminasen en .html (no tenía otra forma de validarlo en Google Webmaster Tools). Tiene unos días de vida y unos cuantas páginas en Google, aunque prefiero perderlas y poder trabajar con GWT. Gracias
    Un saludo

  18. Tengo una duda respecto al modo de montar el permalinks, me gustaría montarlos como comentas en el blog del modo /categoria/titulo-del-post pero si un post está dado de alta en más de una categoría ¿no se generaría contenido duplicado? si es así ¿habría alguna manera de solucionarlo?

    Muchas gracias

  19. Hola. Muy buena información.
    La he enlazado en un post en el que doy algún otro dato que puede que te sirva de utilidad:
    permalinks en wordpress

    Un saludo!

  20. Saludos,

    Cuando activo la opcion me sale el siguiente error:

    Warning: fopen(/home/ximiltec/public_html/josebernal.net/index.php/.htaccess) [function.fopen]: failed to open stream: Not a directory in /home/ximiltec/public_html/josebernal.net/wp-admin/includes/misc.php on line 45

    Intente también con el plugin pero no funciona, no me deja abrir la página.

  21. Hola, quiero cambiar mis permalinks de
    http:// tomalafacil.idoo.com/?p=123 el predeterminado a/%postname%//%category%/, he intendado con el Permalink Redirect pero no se como configurar la pagina de opciones la cual al finla tiene la opcion de Old Permalink Structures: , no se que debe escribirse ahi, ya probe de todo (pegue esto http:// tomalafacil.idoo.com/?p=123 )y me sigeue saliendo pagina error 404, que puedo hacer porfavor a ayuda , llevo dias tratando de hacer eso.Permalink Redirect es el segundo plugin que uso, tampoco pude con deans permalinks migration, estoy desesperado, si ahi que hacerl oa mano no importa pero no se como

  22. Buenas, he segudo de cerca tu blog y ahora me he lanzado a crear uno, Ser Seo.

    Por cierto, no encuentro el archivo .htaccess, para cambiar mi permalink (al no tener permiso de escritura, wordpress me dijo que lo tengo que hacer manuelamente).

    ¿Que hago?

  23. Excelente articulo

    Solo una pregunta, en cuestion de SEO al momento de determinar el permalink solo con el post name, que me recomiendas

    ¿dejar la / al final?
    ¿dejar la terminacion .php?
    ¿dejar la terminacion .html?

    Cual funciona mejor segun tu experiencia

    Saludos

  24. Hola
    La verdad esto de las urls esta bien explicado.

    Yo tengo una pregunta. Ya que Google recomienda que nuestra web tenga un blog. ¿donde creeis que es mejor instalar el blog? En un directorio del raiz o en subdominio?
    Si se instala en un directorio, entiendo que se indexara mas rapidamente ya que tira del raiz, sin embargo si se instala en un subdominio, Google lo va a tratar como un dominio nuevo.

    ¿Que opinais? saludos

  25. Hola:

    Felicidades, un blog muy bueno.
    Mi pregunta es, si tenemos un servidor que no permite el comando “rewrite” en el htaccess (servidor no es apache). ¿Cuál es la mejor manera de poner los links? Gracias. Atentamente.

    Jorge

  26. Sin duda es un post de gran ayuda!>

    MI PREGUNTA ES:

    hace unas semanas, en dos meses habia conseguido 400 visitas diarias, debido a ello adquiri un paquete mas grande de hosting, le compre a un amigo mio que vende esos servicios, el asunto es que me dijo que no tenia un paquete mayor, etc.. y me cambio de servidor… No sabia las consecuencias que podia tener, resukta que ahora tengo 170 visitas en promedio al dia, que es lo que sucedio?…

  27. amigo tengo mi blog lleva 4 meses y tengo de 3 mil a 4 mil visitas diarias, pero en su mayoria provienen de sitios web de referencia. De google son muy pocas a pesar de tener pr3. Bueno en busca de mejorar lei sobre cambiar mis permalinks los cuales hasta el momento son las predeterminadas de wordpress (/?=3456). Sera que puedo cambiar la configuracion de permalink con el titulo del post y la categoria?

    que me recomiendan?

    Ya vi que es un riesgo, pero sera que se puede, y reelaboro mi sitemap?

    espero su respuesta…

    gracias y saludos desde Venezuela…

  28. hola buenos dias

    tengo un pequeño poroblema, con los permalink, que cuando lo pongo en la opccion personalizado n funciona, me da Error 404 alugno tiene una solucion

    un saludo y gracias

  29. Muy buen post, pero tengo una pequeña duda, espero me puedas ayudar.

    Al usar:

    /%category%/%postname%/

    Tendriamos por ejemplo en tu blog:

    “www.adseok.com/wordpress/titulo-del-blog”

    de donde “www.adseok.com/wordpress/” muestra los post de la categoria wordpress.

    Pero tendría el mismo contenido que:

    “www.adseok.com/category/wordpress/”

    Mi duda, es si esto afecta a mi sitio, o si no tengo de qué preocuparme.

    Gracias de antemano, seguiré pasando por aquí, esperando una pronta respuesta.

    Saludos

  30. Según tu artículo la mejor es: /%postname%, pero la que más beneficios trae es: /%postname%/.

    ¿Podrías explicarnos o proveernos de más enlaces sobre este punto, por favor?

  31. Tambien tuve el mismo error 404, que como vi no era el unico con ese problema, al parecer fue porque tenia hospedado mi dominio en Windows (que no tiene Apache ni mod_rewrite) y no en Linux, al hacer la transferencia se soluciono ese problema…Saludos

  32. hola, podrias hacer un minitutorial sobre como usar el PERMALINK REDIRECT? es importante ese plugin y no es facil entenderlo para la mayoria que somos novatos, y por loq ue vi ningun blog lo ha hecho aun. MUCHAS GRACIAS

  33. Una duda. Yo quiero migrar mi blog a otro servidor. Pero en el nuevo servidor no lo puedo tener en la raiz del sitio porque ya tengo uno albergado ahí. Es decir que tiene que estar en un Directorio, por ejemplo /miblog/ pero el dominio principal apuntara ahí. Que abría que hacer para no perder las posiciones en google?

    Gracias, un saludo.

  34. Hola,

    Quería saber si es posible poner las categorías de esta manera: categoria1.miblog.com/ , es decir, como si fuera un subdominio.

    Gracias

  35. Yo tengo el blog con 3 articulos nada mas y unas paginas, resulta que al cambiar las url desde el panel de control al navegar me sale la pagina de error no encontrado.

    Sabeis alguien como poder modificar esto…

  36. En mi caso tengo el blog en un directorio (/poceros/) y he pensado cambiar en el servidor el directorio virtual, para luego usar la forma /%categoria%/%postname%
    Voy bien?

  37. Muy buen artículo sobre los permantlinks.

    A mi me ha dado problemas cuando he intentado personalizar el permanlink pero voy a probar el plugin que recomiendas y espero solucionarlo.

  38. Muy buenas recomendaciones, las pondré en práctica enseguida. No tenia ni idea que eran mejores los links permanentes, creia que cualquiera valia.

  39. una pregunta:
    trabajo con un directorio, el directorio tiene en curso 3 meses, se postean muchos articulos, para este caso que recomendaciones seria para la configuracion en los permalink. con 3 mses se puede cambiar?…

    y que recomiendaciones me dan ..

    – /%postname%/ – con la barra al final
    – /%postname% – sin la barra al final
    – /%postname%.php – con la extensión .php al final. Pon .html para terminar con esta extenxión.

    o esta:

    – /%category%/%postname%/

    ejemplo:
    el directorio consta de esta manera por ejemplo:

    Credit (200)
    Loans (150)
    Leasing (150)

    Una consulta adicional: Trabajo con un directorio en ingles, quiziera que me ayuden con algunos consejos de posicionamiento en ingles, el mercado meta es el ingles..

    Saludos y gracias…

  40. Enhorabuena por el post, a nosotros nos ha sido de mucha utilidad, ya que hasta el año pasado utilizábamos un WordPress que no estaba bien configurado del todo respecto a permalinks y url canónicas. Con el cambio a una nueva web, también en wordpress sí lo hemos tenido en cuenta.

    Al final decidimos utilizar permalinks sin la fecha, directamente con las palabras del título separadas por guiones.

    Saludos

  41. Hola, me funciona perfecto, solo que yo quisiera en vez de terminar en misitio.com/post/ me gustaria configurar el htacces para que termine en misitio.com/post.html . Por favor alguien me pueda ayudar en esto

Deja un comentario

Tu dirección de correo electrónico no será publicada.