Hay diversas ocasiones en las que puedes querer, o necesitar, cambiar la estructura de tus enlaces en el Blog, por ejemplo, de /%year%/%monthnum%/%day%/%postname%/ a algo mas sencillo de recordar como /%postname%/, que hemos ya recomendado en mas de una ocasión.
Pero si haces esto «a pelo» descubrirás con horror que los buscadores ya no van a encontrar los artículos de tu blog, y perderás popularidad y visitas. Y no queremos eso ¿verdad?.
Hay un modo de decirle a los motores de búsqueda que una página se ha movido permanentemente, y que la antigua dirección debería remplazarse por la nueva. Se llama “Redirección 301”, también conocida como Redirección Permanente. Cuando haces esto los motores de búsqueda actualizan sus índices rápidamente y no pierdes ni Pagerank ni visitas, de hecho seguirás recibiendo tráfico como si nada hubiese cambiado. Esto funciona tanto para los motores de búsqueda, como para los marcadores favoritos, enlaces, etc.
Hay dos modos principales de conseguir este tipo de redirección, y vamos a ver ambos, tu elijes …
Índice de contenidos
1. Redirección 301 con .htaccess
Hacer una redirección con el fichero .htaccess es muy sencillo. Para ello tienes que abrir el archivo para editarlo, y lo encontrarás en la carpeta donde instalaste WordPress. En la siguiente imágen lo puedes ver, es el seleccionado.
Pues bien, si lo que quieres es unos enlaces permanentes amigables, del tipo que estamos recomendando ya sabes que tienes que cambiarlos en el panel de administración -> Opciones -> Enlaces Permanentes.
Si volvemos al fichero .htaccess, lo abres y, salvo que ya hayas modificado algo, o algún plugin haya añadido algún código adicional, debes añadir estas líneas …
Options +Indexes Options +FollowSymLinks RewriteEngine on RewriteCond ${HTTP_HOST} . RewriteCond %{HTTP_HOST} !^miblog\.com RewriteRule (.*) http://miblog.com/$1 [L,R=301] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule (.*) http://miblog.com/$1/ [L,R=301]
Con ello consigues que se haga la redirección a las URLs del tipo «miblog.com/mi-post/». Si te da algo de repelús tocar los ficheros del sistema pasa a la segunda posibilidad.
2. Redirección 301 con plugin WordPress
Este es quizás el método al que mas usuarios se atrevan, y no es que el método con .htaccess sea difícil, pero hay un cierto miedo a tocar los archivos del sistema, y mas si no se tiene algo de soltura con el código.
Este método es menos flexible, permite menos opciones que el anterior, pero funciona también de maravilla y te solucionará el problema. Para ello podemos usar varios plugins.
- Permalink Migration – Una vez cargado y activado podrás definir cual es la antigua estructura de enlaces de tu blog para que el plugin se ocupe de hacer los cambios necesarios con el objeto de que ni buscadores ni enlaces pierdan la pista de tu blog. No tiene opciones, es simple y efectivo.
- Redirection – Mucho más completo que el anterior. No solo hace la redirección sino que además te permite seguir y controla que las redirecciones se hacen correctamente.
Ya sabes, tu elijes, pero no dejes de hacer redirecciones permanentes 301 cuando cambies la estructura de enlaces en tu blog
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Disculpen mi ignorancia, pero wordpress no hacia las redirecciones automáticamente cuando cambiábamos los permanlink ?
no lo hace
Super útil! Muchisimas grácias…
En mi caso de primitivismo en cuanto a conocimientos del fichero .htacces lo más seguro sería usar el plugin. ¿Cual de los dos plugins que recomiendas utiliza menos «recursos»? No sé si me expreso bien, quiero decir, cual haría menos perjuicio al tiempo de carga de mi blog.
Un problema de permalinks impedía a mis usuarios comentar en mi blog, a propósito del cambio de hosting que hice los días pasados y toda aquella sufrida aventura. Gracias a Dios pude recordar la estructura de las permalinks, pero sin duda prefiero que sean más amigables como sabiamente sugieres.
¡Un abrazo! Como siempre, me llevo de Ayuda WordPress conocimiento útil para administrar mi adorado blog.
@Cesar: wp no te «recuerda» la estructura anterior para «decirle» a los buscadores donde encontrar el nuevo post, ni de lejos.
@Pitonizza: estos plugins no consumen prácticamente nada de recursos así que usa el que mas te guste. El que yo he usado alguna vez es el primero, por si te sirve de algo
hola cesar no comprendo muy bien eso de cambiar el .htaccess, por eso quiero usar el plugin REDIRECTION, ay algun tutorial que me explique como redireccionar los enlaces miblog.com/mypost/ a miblog.com/mypost.html ? por favor necesito tu ayuda, ya que en webmaster tool tengo enlaces rotos por haber cambiado los permalinks … un saludo
necesito ejemplos de como se configura el redirection por que no me funciona
lo mismo digo
asi quedo mi archivo, pero cuadno trato de ver la pagina me sale error 404, vuelvo a ver el arcvhivo .htaccess y me ha borrado las lineas que le pegue.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond ${HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^miblog\.com
RewriteRule (.*) http://miblog.com/$1 [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://miblog.com/$1/ [L,R=301]
# END WordPress
Tengo el plug in # AA RewriteRules para ver como esta el arvhico y me dice esto
> Permalink: /%category%/%postname%/
> Writable .htaccess file found
> mod_rewrite found
> Not using pathinfo style index permalinks
> Using mod_rewrite permalinks
que estoy haciendo mal porfa ayuda
no entiendo que es lo que has hecho
hola, suponiendo que tengo mi wordpress en midominio.com/blog y quiero pasarlo a midominio.com como quedaría la estructura de mi .htaccess para no verme afectado…
gracias!
winiberto, sigue la base de lo comentado en este post:
https://ayudawp.com/como-redirigir-de-wwwmidominiocom-a-midominiocom/
Gracias fernando, lo voy a intentar a ver que sale…
saludos!
muy buen metodo
Fernando…existe alguna manera (plugins o htacces) para redireccionar solamente una cantidad definida de post?.
Si claro, ambas, solo que es mas manual el proceso … y tedioso.
Mmm…si, acabo de ver, pues di no queda de otra. Gracias Fernando!
En el apartado rewritebase hay que ecribir al o o se deja en blanco como esta ?. Saludos.
Hola necesito ayuda respecto con una redirección permanente 301.
He utilizado la herramienta website grader y me dice:
Redirige Permanente No encontrado.
Según tengo entendido al hacer esto se posiciona mejor mi blog.
Un saludo.
Muchas gracias por el tuto.
La explicación está OK.
Yo Redireccioné un dominio completo y el pagerank y el nº de páginas indexadas por google es el que tenía en el dominio antiguo.
Saludos.
A ver…
Yo tenía mis poost de la forma "fea" y lo pasé a la fácil de recordar.
Los enlaces a mi blog que provenían de otras páginas y que linkaban desde la forma "fea" lo siguen haciendo, y las búsquedas de google, también se redireccionan.
¿me recomendáis que haga algo o lo dejo tal cual?
Saludos
me redirecciona al nuevo dominio pero solo al index
un link a
viejodominio.com/category1
en vez de ir a
nuevodominio.com/category1
me lleva siempre al index
Hola: quisiera saber si reinstalando el Wordpress (tengo que actualizar al 3.0), configurando para que el enlace aparezca con el titulo de la noticia(por ejemplo: http://www.miblog.com.ar/año/mes/dia/miarticulo ), e importando el archivo XML, los enlaces suben como se ha seteado o mantienen el URL de la manera vieja (por ejemplo: http://www.miblog.com.ar/wp/?p=3084)
Para hacer una redirección de un enlace que termina en .html por ejemplo a / al final, cuál sería la regla a agregar.
Al estar mi blog en un servidor IIS, como puedo utilizar los permalinks?
He intentado un montón de cosas y nada, porque no tengo .htaccess y si lo creo yo, no se reescribe… supongo que lo mejor sería cambiar de servidor pero, se os ocurre algo para hacerlo con IIS?
gracias!
saludos a todos
como hacer enlaces permanentes como por ejemplo:
blog/categoria/social/
aver si ayudan.
yo hice cambios en permalinks, pero no use plugins para redirecciones. Las hice directamente en el .htaccess. MI antigua estructura era /category/post.html y cambia a /post/ Lo que hice fue redireccionar masivamente las entradas de una categoria.
pero como se usa el plugin? haaaaaaaaaaaaaaaa
Hola Fernado . Podrás ayudarme. Modifique los permalinks y me dan arror en el search console. Me explicarias paso a paso como modificar el htaaccess.
Desde ya muchas gracias
Hay que modificar el archivo y subirlo por ftp?
Alguien que me ayude?
donde dice los «miblog» va el nombre de la web?
Contesten por favor
El nombre de dominio
Gracias Fernando. Por otra parte. Le agregue el código pero me dio error. Este es el código original, donde tendria que pegar el código qu tu compartes?
«original»
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Hola Fer. Un programador me hizo esto en el sitio. Esta bien hecho?
Copio:
# BEGIN W3TC Browser Cache
Header append Vary User-Agent env=!dont-vary
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
# END W3TC Browser Cache
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Que tal Fernando, he cambiado la página que se muestra en portada, y las entradas de portada las he puesto en una página llamada blog, he realizado una redirección 301, de la página que ahora es portada que es un custom post type, pero no se como hacer que la redirección de la paginación normal de las entradas que era dominio/page/2/ a dominio/blog/page/2/, etc… Muchas gracias por la ayuda.
Que tal, ya solucione la redirección con RedirectMatch 301 ^/page/(.*)$
Sin embargo me falta redireccionar los resultados de búsquedas, normalmente sería /?s=term, pero quiero que se muestre como /blog/?s=term, he tratado de hacerlo con RedirectMatch 301 ^/?s=(.*)$ https://www.cyberdocentes.com/blog/?s=$1, pero no me funciona, que estoy haciendo mal.