Pirobits
Blog@bypirob

Gestiona bulk redirects con NGINX usando 'map' en tu página web

alberto avatar Alberto Sola · 12/20/2023 · 2 min

Si te preocupas por el SEO de tu página web, posiblemente habrás tenido que gestionar redirects de URLs. En mi caso suelo trabajar con el servidor NGINX, así que hoy quiero explicarte cómo configurar bulk redirects usando la directiva map en el servidor NGINX.

Los bulk redirects básicamente son listados más o menos grandes de URLs, cuyo objetivo es redirigir las URLs antiguas a sus nuevas versiones.

Es una técnica muy utilizada para mantener una buena experiencia de usuario y preservar el posicionamiento web (SEO) cuando reestructuras tu sitio web o modificas las URLs.

NGINX es un servidor web muy popular por su eficiencia y simplicidad, que puede utilizarse para diferentes casos de uso: servir ficheros estáticos, como un proxy inverso, balanceador de carga... Su configuración es fácil y al estar escrito en C, es muy eficiente a la hora de manejar un gran número de conexiones simultáneas. Por estos motivos suele ser común utilizarlo en sitios web de alto tráfico, aunque tiene ciertas limitaciones que en ocasiones pueden llevarte a preferir otras opciones.

Si utilizas NGINX, puedes utilizar la directiva map para crear asociar las URLs antiguas con las nuevas, y, en caso de que haya un hit, ejecutaremos un redirect a la nueva URL.

Imagina que quieres crear varias redirecciones de páginas de tu blog antiguo a sus nuevas versiones. Un ejemplo de configuración podría ser:

map $request_uri $new_uri {
    /old-post-1 /new-post-1;
    /old-post-2 /new-post-2;
    # otras redirecciones...
}

server {
    ...
    if ($new_uri) {
        rewrite ^ $new_uri permanent;
    }
    ...
}

En este ejemplo, utilizo la directiva map para crear una tabla donde cada línea asocia una URL antigua con la nueva URL correspondiente. Luego, en el bloque server, uso una condición if para verificar si hay una correspondencia en dicha tabla para la URL solicitada por el usuario y, de ser así, redirijo al usuario a la nueva URL con un código de estado HTTP 301 (Moved Permanently).

Notas: - Si tu tabla es muy larga, puede que tengas que ajustar algunos parámetros. Revisa la documentación. - Puedes cargar las URLs desde un fichero usando include /path/to/file.conf;.

Esta es una forma bastante simple y eficiente de generar tus bulks redirects con NGINX.

Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.


Posts recientes