1. Code
  2. WordPress

Opciones para redirecciones 301 en WordPress

Scroll to top

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

Las redirecciones son algo que cualquier desarrollador web o propietario de un sitio web probablemente tenga que utilizar en un momento u otro. Las redirecciones son principalmente una forma de asignar automáticamente nuevas URLs a otras antiguas o rotas y también son una señal para los motores de búsqueda de que tu contenido ha sido trasladado.

Este artículo se va a centrar en la creación de una pequeña cantidad de redirecciones y no tocará las redirecciones más avanzadas utilizando expresiones regulares y comodines.

Google dice:

Si necesitas cambiar la dirección URL de una página tal como se muestra en los resultados del motor de búsqueda, te recomendamos que utilices una redirección 301 del lado del servidor. Esta es la mejor forma de garantizar que los usuarios y los motores de búsqueda sean dirigidos a la página correcta. El código de estado 301 significa que una página ha sido movida permanentemente a una nueva ubicación.

Entre los casos de uso habituales para las redirecciones 301 se incluyen los siguientes:

  • Has cambiado tu sitio web significativamente. Por ejemplo, has pasado de un sitio web estático a un sitio web de WordPress. Cuando la gente visite tus antiguas páginas no querrás que reciban un desagradable mensaje de "Error 404". Una redirección llevará automáticamente a los usuarios a la nueva dirección de tu sitio web.
  • Has trasladado tu sitio web a un dominio completamente nuevo.
  • Has cambiado la URL de una página o entrada. Esto es bastante habitual. Has publicado un artículo y luego has vuelto a optimizar la URL, pero ¿qué pasa si Google ya ha tuiteado o indexado esa URL? No quieres que esos enlaces se rompan. Crear una redirección resolvería este problema.

Notarás que la redirección que estamos viendo se denomina " redirección 301". 301 es el código de su estado de respuesta y se define como redirección debido a que algo se ha movido de forma permanentemente. Existen muchos otros códigos de estado, pero en este artículo sólo vamos a cubrir las redirecciones 301.

Este artículo está escrito suponiendo que estás utilizando un servidor web Apache (LAMP). Si no está seguro de esto, por favor, pregunta a tu proveedor de alojamiento web antes de hacer cualquier cambio.

Un rápido descargo de responsabilidad

Antes de empezar a ver nuestras opciones, hay un rápido descargo de responsabilidad: la edición del archivo .htaccess y las redirecciones puede estropear fácilmente un sitio y causar errores. Como siempre, con cualquier cambio que realices en un sitio web debes hacer una completa copia de seguridad primero y trabajar en un sitio web de ensayo antes de realizar cualquier cambio en un sitio web público.

Edición manual del archivo .htaccess

Un archivo .htaccess es un archivo de configuración que se encuentra en un servidor web y que te permite realizar cambios en el funcionamiento del servidor web. .htaccess puede utilizarse para crear redirecciones, entre otras muchas útiles cosas, por ejemplo, para el almacenamiento en caché y para proteger directorios mediante contraseñas.

El archivo .htaccess es un archivo "dot-file" o archivo oculto, por lo que si estás desarrollando localmente es posible que tengas que habilitar la visualización de los archivos ocultos para visualizarlo. El archivo se encuentra en el directorio raíz de tu instalación de WordPress y se puede editar con cualquier editor de texto. Es muy importante que hagas una copia de seguridad de tu archivo .htaccess antes de realizar cualquier cambio.

Su archivo .htaccess de WordPress ya tendrá probablemente alguna información dentro, especialmente si has habilitado permalinks o instalado algún plugin como W3 Total Cache o iThemes Security.

Por ejemplo:

1
# BEGIN WordPress
2
<IfModule mod_rewrite.c>
3
RewriteEngine On
4
RewriteBase /redirects/
5
RewriteRule ^index\.php$ - [L]
6
RewriteCond %{REQUEST_FILENAME} !-f
7
RewriteCond %{REQUEST_FILENAME} !-d
8
RewriteRule . /redirects/index.php [L]
9
</IfModule>
10
# END WordPress

Para nuestras redirecciones, queremos comenzar justo bajo cualquier código existente (como el que puedes ver justo arriba). El hash en el código (#) representa un comentario.

Supongamos que queremos redirigir un artículo con el permalink /old-page/ a su nuevo permalink llamado /new-page/, añadiríamos lo siguiente en nuestro archivo .htaccess:

1
# BEGIN 301 Redirects
2
Redirect 301 /old-page/ https://www.testdomain.com/new-page/
3
# END 301 Redirects

El código está declarando qué tipo de redirección estamos utilizando (301 permanente), está proporcionando la dirección URL relativa de la antigua página y después, la nueva URL a la que debe ser redirigida. Si deseas crear más redirecciones, simplemente añádelas a continuación en una nueva línea. Es buena idea indicar mediante algunos comentarios donde empiezan y terminan tus redirecciones, ya que esto facilitará mucho la comprensión del archivo.

Si tu instalación de WordPress está en un directorio, como http://www.testdomain.com/wp/ entonces tu redirección 301 también tendrá que incluir el nombre del directorio en el que esté instalado WordPress. Usando el ejemplo de directorio anterior, nuestra redirección tendría en siguiente aspecto:

1
# BEGIN 301 Redirects
2
Redirect 301 /wp/old-page/ http://www.testdomain.com/wp/new-page/
3
# END 301 Redirects

Esta es una manera genial y rápida de crear redirecciones, incluso se pueden usar aquí expresiones regulares, pero eso está más allá del alcance de este artículo. Este método no depende de ningún plugin por lo que es una forma muy fiable de crear redirecciones siempre y cuando tengas cuidado.

Sin embargo, existen algunas desventajas al crear redirecciones de esta manera:

  • Necesitas sentirte cómodo editando código básico
  • Los errores cometidos aquí pueden desconectar fácilmente u sitio web
  • Necesitarás acceso vía FTP (o similar) para poder editar el archivo*

En realidad existen algunos plugins para editar .htaccess directamente desde WordPress (uno de los cuales mencionamos más adelante). Yo los usaría con precaución, ya que cualquier error puede hacer que tu sitio deje de funcionar y después, en cualquier caso, necesitarías acceso FTP para arreglarlo.

Uso de plugins

Al igual que para la mayoría de las cosas en WordPress, también tenemos a nuestra disposición gran cantidad de plugins para crear redirecciones 301, he elegido sólo dos de los más populares para mostrartelos. Es importante recordar que si se rompe o desactivas el plugin alguna ocasión, tus redirecciones podrían perderse y dejar de funcionar.

Uso de WordPress SEO by Yoast

El extremadamente popular plugin SEO de WordPress creado por Yoast tiene la capacidad de crear redirecciones 301, pero de una manera bastante diferente. Como este plugin es tan popular, es posible que ya lo tengas instalado, si solo deseas crear algunas rápidas redirecciones, puede ser una buena opción y así evitas tener que añadir otro plugin a tu sitio web.

Cuando tengas WordPress SEO instalado, deberías tener un nuevo metabox en todas tus entradas y páginas. En la pestaña "Avanzado" dentro del metabox, existe un campo de entrada llamado "Redirección 301". Al introducir una dirección URL en esta sección se creará una redirección 301 desde esa página.

Yoast 301 RedirectYoast 301 RedirectYoast 301 Redirect

La principal desventaja de este método es que es necesario crear una página con el fin de crear tu redirección, por lo que hay una situación en la que podrías terminar con una sobrecarga de páginas en blanco cuyo único propósito es la creación de redirecciones.

WordPress SEO by Yoast viene con otro extra relacionado con las redirecciones, se trata de un editor .htaccess. Para acceder este editor, desde tu escritorio WordPress dirígete a "SEO" y luego a "Editar archivos". Aquí deberías ver dos campos de texto, la parte superior es para editar tu archivo robots.txt y la parte inferior es tu archivo .htaccess. Como ya se explicó antes, ten mucho cuidado al editar tu .htaccess de esta manera, un pequeño error podría hacer que tu sitio deje de estar accesible.

SEO by Yoast htaccess editorSEO by Yoast htaccess editorSEO by Yoast htaccess editor

Uso del plugin Redirection

Redirection es un popular plugin (gratuito) disponible en el repositorio de WordPress.org que puede gestionar las redirecciones 301 y mucho más, pero para este artículo sólo nos vamos a centrar en la funcionalidad de redirección 301 del plugin. Además de poder crear redirecciones personalizadas, este plugin tiene una característica muy agradable: creará automáticamente redirecciones 301 cuando cambies la URL de una entrada.

Después de instalar el plugin, para crear una simple redirección 301, sigue las siguientes instrucciones:

  1. Dirígete a Herramientas > Redirección
  2. Dentro de la cabecera "Añadir nueva redirección", introduce la dirección URL que deseas redirigir (URL de origen) y la nueva dirección URL a la que desea que vaya (URL de destino), todas las demás opciones que aparecen aquí deben permanecer con sus valores predeterminados (coincidencia: URL solamente y acción: redirigir a URL).
  3. Haz clic en el botón "Añadir redirección".
Redirection plugin - adding a new redirectRedirection plugin - adding a new redirectRedirection plugin - adding a new redirect

La página ahora debería recargar y tú deberías ver su redirección en una tabla que muestra qué tipo de redirección es (esta será 301), URL, hits (cuántas personas han utilizado la redirección) y el último acceso (la fecha en la cual fue utilizada por última vez esta redirección).

Redirection plugin - screen after adding a redirectRedirection plugin - screen after adding a redirectRedirection plugin - screen after adding a redirect

Mezclar y combinar

No hay un estándar para la creación de redirecciones en WordPress y el método exacto que elijas puede depender de factores como la cantidad de redirecciones que tengas que hacer y la frecuencia con la que necesites crear otras nuevas.

Tampoco es necesario que te adhieras a un método. Yo personalmente uso una combinación de redirecciones .htaccess cuando cambio una cantidad significativa de URL, pero a veces uso SEO by Yoast si necesito crear rápidamente una redirección.

Resumiendo

Ahora deberías ser capaz de crear redirecciones 301 simples para tu sitio WordPress. Las redirecciones 301 no son sólo una excelente forma de indicarle a los motores de búsqueda que tu contenido se ha trasladado, lo cual mejora también la experiencia del usuario, ya que los enlaces rotos pueden implicar la pérdida de clientes y tráfico.