Una documentación de ayuda mejor
Escrita y mantenida para las marcas y agencias que están haciendo una migración de sitio. Sobre todo si eres un equipo pequeño que necesita aprovechar cada hora. Esta guía te ayuda a construir una estrategia para completar con precisión las redirecciones 301 si estás migrando a Shopify. En concreto, este documento te puede ayudar si estás:
- Migrando desde Wordpress
- Migrando desde Magento
- Migrando desde Salesforce
- Migrando desde Sitecore
- Migrando desde BigCommerce
- Migrando desde Webflow
- Migrando desde un sitio PHP hecho a medida
Si vas a emprender un proyecto con mapeos complejos de redirecciones 301 y necesitas un equipo que viva y respire este tipo concreto de trabajo, habla con nosotros.
La lógica de redirecciones de URL de Shopify: visión general
La documentación de ayuda oficial de Shopify para las redirecciones de URL está aquí. Es un documento ligero, con pautas generales que quien gestiona una tienda Shopify puede consultar para añadir redirecciones 301 individuales y masivas. Le faltan detalles sobre los tipos de URL que una tienda Shopify admite de forma nativa, y este informe está pensado para llenar esos huecos.
Resumen de los hallazgos sobre la funcionalidad de redirecciones de URL de Shopify
- La lógica de redirecciones de URL de Shopify es muy sólida.
- De nuestra prueba con 100 formatos distintos de cadena de URL, Shopify admitió funcionalmente 99 de los 100 tipos.
- Una ruta real del escaparate siempre le gana a una redirección, y sin avisar.
- El sistema nativo no admite comodines para las redirecciones de URL.
- Actualizar rutas de redirección existentes fue fácil con la herramienta de importación, siempre que sigas las reglas no documentadas de Shopify.
- Existen límites en el número total de redirecciones que gestionan las tiendas Shopify y Shopify Plus.
- Existen límites en el número total de caracteres de una cadena de redirección de URL.
- La prevención de cadenas es parcial. Shopify bloquea una dirección, y el orden de creación todavía puede dejar una cadena viva.
- Existen muchas excepciones y reglas para las URL con parámetros.
- La interfaz de gestión de redirecciones de URL es cómoda, pero le vendrían bien más detalles.
- Las pruebas no examinaron las opciones de redirección disponibles para Hydrogen y Oxygen.
- Le damos al sistema actual de redirecciones de URL de Shopify una puntuación de utilidad del 85%.
La puntuación bajó un 5% por la falta de soporte de comodines, un 1% por el único tipo de cadena de URL que no admitió, un 2% por los límites de longitud de caracteres, un 3% por el comportamiento raro con las URL con parámetros y un 4% por los datos de gestión esenciales que faltan en la experiencia de uso de las redirecciones.
Probado por primera vez el 19 de junio de 2024. Vuelto a probar el 27 de julio de 2026 contra una tienda Shopify real con plan estándar, a través de la Admin GraphQL API y contra peticiones reales al escaparate. Lo que cambió entre ambas rondas está en el registro de cambios.
Nuestra metodología de pruebas de redirecciones
Queríamos responder a unas cuantas preguntas con nuestras pruebas, para ayudarte a esquivar las trampas de las reglas de redirección 301 de Shopify:
- ¿Qué caracteres o combinaciones de cadena no admite el sistema de redirecciones de URL?
- ¿Hay límites en la longitud de la cadena de URL?
- ¿Existe un número máximo de registros por importación masiva?
- ¿El sistema admite redirecciones con comodín?
- ¿Hay algún formateo o conversión automática de las cadenas tras la importación que cambie los datos originales?
Como referencia, aquí está nuestra lista completa de URL que usamos para probar estas condiciones. Las pruebas se hicieron en un plan estándar de Shopify (no en Shopify Plus).
11 hallazgos que te ayudarán con las redirecciones de Shopify
Shopify no se lleva bien con estos tipos de cadena de URL
Uno de los cien formatos de cadena que probamos no se puede redirigir de forma fiable. Shopify acepta el registro y lo guarda, pero un navegador que lo pide recibe un 404. Es una cadena que lleva un punto y coma después del operador igual, así:
/page?param=;semicolon
Lo llamativo de esta cadena es que el sistema de Shopify convierte el carácter especial del punto y coma en su valor codificado en la tabla de redirecciones, así:
/page?param=%3Bsemicolon
Cuando escribes la cadena de URL sin codificar en la barra de direcciones de un navegador, te devuelve un error 404.
/page?param=;semicolon
/page?param=%3Bsemicolon
Este comportamiento se desvía del tratamiento de otros caracteres especiales. Si escribes en la barra de direcciones una cadena de URL con caracteres sin codificar, como la llave de cierre:
/page?param=}
Shopify la codificará automáticamente al recibir la petición y no se producirá ningún error 404.
/page%7Drightbrace
También llama la atención que otras variantes de una cadena de URL con un punto y coma sin codificar sí validan en el sistema de redirecciones de Shopify, como:
/page;semicolon
El 404 solo se dispara cuando el punto y coma sin codificar aparece después del operador igual, y el fallo ocurre al recibir la petición, no al importar. Shopify guarda el registro con el punto y coma codificado como %3b, y una URL entrante que lleva el punto y coma en crudo nunca coincide con el registro codificado. Pedir la forma codificada devuelve un 301 con normalidad, así que donde controlas los enlaces entrantes, codificar el punto y coma lo resuelve. Donde el punto y coma en crudo llega desde enlaces externos que no controlas, este formato no se puede redirigir de forma fiable.
Shopify no admite redirecciones con comodín
Las redirecciones con comodín siguen en la lista de deseos de muchos usuarios de Shopify. Sus foros de soporte están llenos de peticiones de esta función. Hasta la fecha, Shopify no se ha pronunciado sobre dónde encajaría en la hoja de ruta del producto.
Por ahora, quien esté planeando mudarse a Shopify debe entender que Shopify y Shopify Plus nativos no ofrecen esta opción.
¿Qué son las redirecciones con comodín?
Las redirecciones con comodín son un tipo de redirección de URL que te permite enviar varias URL que coinciden con un patrón concreto hacia un único destino. Resulta especialmente útil al migrar un sitio web, reorganizar contenido o gestionar grandes cantidades de URL parecidas. En lugar de configurar redirecciones individuales para cada URL, usas un carácter comodín (normalmente *) para representar cualquier secuencia de caracteres.
Imagina que estás reestructurando tu blog y moviendo todos los artículos del directorio /blog/ a /articles/. En lugar de configurar redirecciones individuales para cada artículo, puedes usar una redirección con comodín:
From: /blog/*
To: /articles/*
This wildcard redirect will automatically map:
/blog/post1 to /articles/post1
/blog/post2 to /articles/post2
/blog/post3 to /articles/post3
Esto simplifica el proceso de redirección y garantiza que todas las URL bajo /blog/ se redirijan sin problemas a su nueva ubicación bajo /articles/. Las tiendas Shopify y Shopify Plus por defecto no incluyen esta capacidad sin la ayuda de una app.
La parte que le cuesta tráfico a la gente es que Shopify acepta la sintaxis de comodín sin rechistar. Un registro creado como /old-blog/* se guarda, aparece en la tabla de redirecciones y no reporta ningún error. El asterisco se guarda como carácter literal, así que la única URL con la que coincidirá alguna vez es una que contenga literalmente un asterisco. Eso es peor que un rechazo directo, porque nada avisa del fallo hasta que el tráfico real empieza a devolver 404. Expande los comodines de tu archivo de redirecciones a rutas explícitas antes de importarlo.
Shopify hace lo que puede para evitar cadenas de redirección
Shopify tiene una protección contra las cadenas, y conviene entender sus límites antes de confiar en ella. Rechaza una redirección cuyo destino ya es el origen de otra redirección, con Target can't redirect to another redirect. Rechaza una redirección que apunta a sí misma, con Target can't be the same as path, y bloquea los bucles directos de dos pasos.
En esta prueba, los registros de URL que intentamos crear fueron los siguientes, y no se permitieron:
/BOTH redirects to /SHORT/SHORT redirects to /homepage
Lo que la protección no hace es comprobar la dirección inversa. Crea /a hacia /b cuando no existe nada en /b, después crea /b hacia /c, y ambas se aceptan. Shopify nunca vuelve a revisar el primer registro, y te queda una cadena viva:
GET /a
301 to /b
301 to /
final: 200, 2 hops
El orden de creación por sí solo decide si se forma una cadena. Las importaciones masivas aplican las filas en el orden del archivo, y los archivos de migración casi nunca se ordenan para evitar esto, así que la protección no es algo con lo que puedas contar. Después de cualquier importación grande, muestrea tus redirecciones y cuenta los saltos:
curl -sIL https://yourstore.com/old-path -o /dev/null -w "hops: %{num_redirects}
"
Cualquier cosa por encima de 1 es una cadena.
¿Qué son las cadenas de redirección?
Las cadenas de redirección aparecen cuando una URL redirige a otra URL, que a su vez redirige a otra más, creando una secuencia o “cadena” de redirecciones. Puede ocurrir sin querer cuando se configuran varias redirecciones a lo largo del tiempo sin una gestión adecuada.
Las cadenas de redirección son problemáticas porque ralentizan los tiempos de carga, perjudican al SEO y crean una mala experiencia de usuario. Cada redirección adicional añade latencia, porque el navegador tiene que seguir cada paso de la cadena antes de llegar al destino final.
Por ejemplo, si tienes configuradas estas redirecciones:
/old-page redirects to /new-page
/new-page redirects to /latest-page
Cuando alguien visita /old-page, primero se le redirige a /new-page y de inmediato se le redirige otra vez a /latest-page, lo que da como resultado una cadena de redirección.
Nuevas reglas que seguir al configurar redirecciones en Shopify
Nuestro mayor descubrimiento en las pruebas es que la documentación de Shopify está desactualizada, y que la regla que hay debajo es más simple que la lista documentada de prefijos reservados.
Una ruta real del escaparate siempre le gana a una redirección. Cuando una página existe de verdad en una URL, Shopify sirve la página e ignora la redirección. El registro se acepta, se queda en tu tabla de redirecciones y no hace nada. Ni error ni aviso. La variable no es el prefijo. Es la existencia de una ruta:
/products/ai-skillset-package-001 -> 200, the product page
/products/zz20260727 -> 301, the redirect fires
Mismo prefijo, resultado opuesto. Eso cubre todos los productos, colecciones, páginas y artículos de blog vivos de tu tienda, no solo las cuatro rutas que Shopify documenta. Una redirección sobre la URL de un producto publicado es inerte hasta que ese producto deja de resolverse, lo que hace que el orden importe durante una migración: primero despublica o borra el recurso antiguo, y después confirma que la redirección se dispara.
Según Shopify, si intentas redirigir cualquier cosa que empiece por estos prefijos reservados, tus reglas de redirección no se crearán:
/apps
/application
/cart
/carts
/orders
/services
/products
/collections
/collections/all
Comprobamos que eso no es cierto.
/apps/application/carts/orders/services/cart/people
Cart fue la excepción. Está reservado por sí solo, y funciona en cuanto lleva detrás un subdirectorio.
/cart/products/collections/collections/all
/cart/people/carts/people/products/people/collections/people
/cart/products/collections/collections/all
/services es la excepción de este grupo, y se comporta justo al revés que el resto. Una redirección sobre /services devuelve un 301. Una redirección sobre cualquier cosa por debajo, como /services/consulting, devuelve un 404 aunque el registro se guarde sin rechistar. Lo repetimos cuatro veces a lo largo de unos 45 segundos para descartar un retraso de propagación, con el registro presente en la tabla todo el rato. Todos los demás prefijos de este grupo funcionaron con subdirectorios.
La causa probable es que Shopify enruta /services/* internamente para los proxies de apps y los endpoints del sistema, de modo que esas peticiones nunca llegan a la tabla de redirecciones, aunque no verificamos el mecanismo de forma directa. Si estás migrando un sitio con una sección /services/, ninguna de esas redirecciones se disparará. Reasígnalas a otra estructura de rutas, o resuélvelas en tu capa de DNS o de proxy.
Crear y actualizar redirecciones de URL es fácil en Shopify
Crear una redirección nueva es sencillo en Shopify. Te dan dos opciones:
- Creación de redirecciones de URL individuales, una a una
- Creación masiva de redirecciones, mediante un archivo CSV: aquí tienes la última plantilla para esa importación.
Al añadir URL al sistema de Shopify, puedes introducir rutas de URL relativas, sin dominio de primer nivel, para el origen (from) y rutas absolutas o relativas en el destino (to). Ejemplo:
/example_product.php
Crear redirecciones de URL individuales
Las reglas de redirección que Shopify tiene implementadas no te dejan crear dos veces la misma redirección de URL cuando usas la interfaz de redirección individual.
Una vez que una URL está en el listado de la tabla ‘Redirect from’, si intentas añadirla otra vez recibirás un error.
Si quieres actualizar el registro individual, tienes que encontrarlo en la tabla de redirecciones o usar el método de importación masiva. Si una URL que ya existe se incluye en un archivo de importación masiva, el campo ‘Redirect to’ del registro se actualizará con el valor del archivo CSV.
Nuestro consejo es importar siempre las redirecciones en lotes manejables y eficientes. Por ejemplo, si tienes 10.000 redirecciones de URL, importa 1.000 cada vez y revísalas si tienes tiempo. Es mejor cazar los errores en conjuntos de datos pequeños que perseguirlos en los grandes.
Ten cuidado con las redirecciones de URL masivas en Shopify
Para crear redirecciones masivas, rellena el archivo CSV con las cabeceras que Shopify pide, crea los mapeos 1:1 y asegúrate de que todas las URL están formateadas como rutas relativas. Si creas un archivo con rutas absolutas en el campo ‘Redirect from’ o en el ‘Redirect to’, Shopify tomará cartas en el asunto. Aquí tienes algunos escenarios:
https://www.wislr.com/path/to/resource%20with
/path/to/resource%20with
www.wislr.com/unicode/test?value=%E2%9C%93%20co.wislr.com/mix/of%20encoded
/www.wislr.com/unicode/test?value=%E2%9C%93%20/co.wislr.com/mix/of%20encoded
wislr.com/nested/directory/structure?param1=value1
/wislr.com/nested/directory/structure?param1=value1
La conclusión es que revises dos veces tu archivo de importación antes de usarlo. Si no, crearás reglas de redirección de URL que no funcionan como necesitas.
Si un registro de redirección ya existe en la tabla y el archivo de importación incluye los mismos valores, Shopify actualizará el registro con los datos más recientes del archivo. En nuestra opinión esto es muy útil, siempre que quieras que ese registro se actualice. Razón de más para revisar los datos dos veces.
Shopify no impone un techo de filas por archivo. Una única importación de 1.051 filas pasó sin ningún fallo en 48 segundos, lo que sale a unas 1.300 filas por minuto.
Los lotes de unas 1.000 filas siguen mereciendo la pena, por un motivo distinto a un límite duro. Los archivos pequeños fallan de forma más legible. Si una importación de 20.000 filas sale mal, tienes mucha menos idea de qué filas la provocaron que si hubieras lanzado veinte archivos vigilando los recuentos. Lee createdCount, updatedCount y failedCount después de cada importación, porque un failedCount distinto de cero es la única señal que vas a tener de que se descartaron filas.
Una ruta que ya está en la tabla de redirecciones ve su destino sobrescrito y se reporta bajo updatedCount, conservando su id de registro original. Eso hace que una importación CSV se pueda relanzar sin riesgo, lo cual es útil a mitad de una migración. También significa que un archivo desactualizado sobrescribirá en silencio las correcciones que hiciste a mano desde la última importación.
Deja que construyamos el mapa de redirecciones.
Hemos mapeado redirecciones en más de 100 migraciones, incluida una mudanza de 27.000 URL a Shopify Plus. Construimos el archivo y lo validamos contra todos los límites de esta página antes de importarlo. Después del cambio leemos nosotros mismos las respuestas en vivo en lugar de fiarnos de lo que dice la tabla de redirecciones.
El límite de Shopify en registros de redirección de URL
Todo lo bueno tiene su límite, y las reglas de redirección de Shopify no son distintas. Hay dos umbrales para las redirecciones de URL.
Planes Shopify (no Plus):
Máximo 100.000 redirecciones de URL
Planes Shopify Plus:
Máximo 20.000.000 de redirecciones
No hemos probado estos límites, ¡sería una locura! Son las especificaciones documentadas actuales de la plataforma. Tenlas en cuenta al planificar tus redirecciones y prioriza las URL con más tráfico e ingresos. Hasta donde sabemos, Shopify no amplía estos límites, pese a las súplicas constantes de los foros de soporte.
El límite de Shopify en caracteres dentro de las URL
Aquí es donde la cosa se pone interesante con el sistema de redirecciones de Shopify. Las pautas oficiales de Shopify no especifican límites estrictos de caracteres.
Para validar los límites de caracteres de una URL en una redirección, primero construimos e intentamos importar cadenas muy largas. Empezamos con una URL de 2.000 caracteres, ya que los navegadores manejan peticiones URI de hasta 2.083 caracteres. Aquí tienes a la criatura en todo su esplendor:
/2000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBccccccccccccccccccccccccccccccccccccccccccccccccccccDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Nuestro método inicial fue importar una URL de 2.000 caracteres con la plantilla de redirecciones masivas, y ahí saltaron las alarmas de Shopify. El umbral que descubrimos oficialmente fue un límite de 1.024 caracteres para las cadenas de redirección de URL, incluida la barra inicial ‘/’.
- Passed URL de 300 caracteres
- Passed URL de 600 caracteres
- Passed URL de 1.000 caracteres
- Failed URL de 2.000 caracteres
Algunas reglas de redirección importantes y no documentadas que conviene entender de Shopify
Shopify normaliza los caracteres alfabéticos de tus cadenas de URL. Es decir, tanto si pones una mayúscula como una minúscula, servirá la petición de esas variantes de la misma manera. Todas estas URL irán a la misma página, aunque existan registros individuales:
/CASE/TEST.html
/case/test.html
/Case/Test.html
La cadena en minúsculas tendrá prioridad sobre las demás:
/case/test.html
En nuestras pruebas, aunque hay dos registros únicos de “Redirect from” con valores distintos de “Redirect to”, la página /about.html siempre se sirve para ambos registros:
#1
/Case/Test.html [redirect to] /homepage
#2
/case/test.html [redirect to] /about.html
Resulta curioso, y potencialmente molesto, que Shopify te deje introducir todos estos valores únicos en la tabla de redirecciones y sirva solo uno de ellos. Te aconsejamos revisar tus datos con cuidado si crees que tu taxonomía de URL puede caer en estos patrones antes de importarla a Shopify.
Puedes usar rutas de URL absolutas en las redirecciones de Shopify
Nuestra prueba encontró que las rutas de URL absolutas están bien en tus redirecciones si van en el campo “Redirect to”. Pueden apuntar a cualquier URL que quieras. Aquí tienes un ejemplo en el que una ruta de URL redirige a un perfil de LinkedIn cuando se solicita:
[Redirect from]
/Case/Test.html
[Redirect to]
https://www.linkedin.com/wislr
Además, en el campo “Redirect to” Shopify no elimina los dominios de primer nivel, ni siquiera cuando son de tu propia tienda Shopify.
URL con parámetros
En nuestras pruebas Shopify conservó las URL con parámetros, con algunas excepciones. Si tienes URL que se han indexado con muchas cadenas de parámetros únicas, esas cadenas únicas se pueden añadir a las tablas de redirecciones de Shopify y llevar a destinos únicos. Hicimos esta prueba con una taxonomía habitual para este tipo de URL, los parámetros UTM. Por ejemplo:
Esta cadena de URL está en el campo “Redirect from” de la tabla de redirecciones y llegó a su destino previsto:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google&utm_term=redirects
Modificamos la cadena de URL y quitamos el último parámetro ‘&utm_term=redirects’, lo que provocó un 404:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google
Este comportamiento se reprodujo en otras pruebas con parámetros distintos como valores, lo que confirmó que Shopify trata las URL con parámetros como cadenas literales. No recortan la URL hasta la URL base si quitas un parámetro de una URL de redirección, siempre que la URL no exista en el sitio de Shopify.
Para confirmarlo más a fondo apuntamos una URL a sí misma, algo que Shopify no permite por defecto. Recibirías este mensaje:
Esta entrada sí se permite cuando los parámetros están en el campo “Redirect from”. No constituye un bucle de redirección, pero según el comportamiento en el navegador, nuestra prueba mostró que Shopify ignora este registro. Cuando se solicita la URL de “Redirect from”, Shopify sirve la cadena de URL completa con sus parámetros, no la página raíz como cabría esperar según la tabla:
Esta entrada se permite, pero Shopify no añadirá los parámetros a la página que carga, como la regla espera. Solo cargarán la URL raíz.
Eso vale para las rutas de origen con parámetros. Cuando la ruta de origen de la redirección no lleva parámetros propios, lo que llegue en la petición se traslada al destino:
GET /old-page -> 301 to /new-page
GET /old-page?utm_source=x -> 301 to /new-page?utm_source=x
Las redirecciones no van a quitarte los parámetros. Eliminarlos tiene que ocurrir en una capa por encima de Shopify.
La coincidencia tampoco es una comparación literal de cadenas. Shopify normaliza tanto el registro guardado como la petición entrante antes de compararlos, así que las mayúsculas y el orden de los parámetros dan igual. Contra un registro guardado como /page?doe&name=john, tanto ?name=John&Doe como ?Doe&name=John y ?name=john&doe devuelven un 301. Lo que sí importa es qué parámetros están presentes: cada parámetro de la ruta guardada tiene que aparecer en la petición, y quitar uno devuelve un 404 en lugar de una coincidencia parcial.
Nuestra última observación sobre las URL con parámetros es que Shopify reescribe los datos que le das en algunos casos. Sí, Shopify reescribirá los datos de URL que le des para algunos parámetros.
Aquí tienes ejemplos donde nuestras pruebas encontraron este patrón.
Datos de redirección originales ingeridos por Shopify:
/test?name=John&Doe
Shopify reescribió la cadena para poner ‘doe’ primero, y lo pasó a minúsculas:
/test?doe&name=john
Los valores se pasan a minúsculas junto con las claves, así que una tabla de redirecciones comparada con el archivo del que salió parecerá que la importación corrompió los datos.
Datos de redirección originales ingeridos por Shopify:
/user?name=John&age=30&active=true
Shopify reescribió la cadena para dar un orden nuevo a los parámetros listados:
/user?active=true&age=30&name=John
Las pruebas que hicimos sugieren que Shopify intenta poner los parámetros en orden alfabético. Nos preguntamos si sería un bug, ya que hemos determinado que Shopify trata las URL con parámetros como cadenas literales, así que por qué socavar esa regla reescribiendo el orden de los parámetros. Hoy por hoy, nunca conseguirás que las cadenas de URL con varios parámetros conserven su estructura. Esto puede tener implicaciones grandes para algunos gestores de contenidos.
La experiencia de uso de las redirecciones de URL de Shopify necesita una actualización
Durante nuestro uso intensivo de la herramienta de redirecciones de Shopify, hubo elementos que agradecimos y otros que echamos de menos.
Agradecemos estas funciones:
- Los botones y la funcionalidad de importación masiva de redirecciones
- El filtrado y la búsqueda rápida por taxonomía de URL
- La exportación de URL
- La facilidad para crear una URL suelta
Encontramos que a la herramienta le faltan estos datos y funciones:
- El recuento total de URL importadas
- Una forma más fácil de copiar y pegar más de una URL en el sistema. Si añades más de una URL a la vez, tienes que usar el documento de importación. Un caso de uso donde copiar y pegar vendría bien es cuando un conjunto de URL debe apuntar todo al mismo destino.
Importar es rápido, deshacer una importación no
Crear redirecciones en masa es rápido. Quitarlas en masa no lo es, y la diferencia es lo bastante grande como para cambiar cómo planificas una importación.
| Operación | Método | Observado |
|---|---|---|
| Crear 1.051 redirecciones | Importación CSV, un solo archivo | 48 segundos |
| Borrar 1.051 redirecciones | urlRedirectDelete, una a una |
226 segundos |
Las mutaciones rápidas de borrado masivo están restringidas. urlRedirectBulkDeleteBySearch, urlRedirectBulkDeleteByIds y urlRedirectBulkDeleteAll exigen todas el scope write_online_store_navigation y una sesión de usuario activa. Una app que se autentica con client credentials, que es como corre la mayoría de los scripts de migración, no puede llamarlas y se queda borrando un registro cada vez.
Planifica tus importaciones como si fueran difíciles de revertir, porque lo son. Valida el archivo antes en una tienda de desarrollo, o importa en tandas que estés dispuesto a deshacer a mano. No lances un archivo de 50.000 filas que no has probado dando por hecho que podrás revertirlo rápido.
La importación CSV y la Admin API tratan los duplicados de forma distinta
Esta guía está escrita alrededor del flujo con CSV, donde una ruta duplicada actualiza el registro existente. La API hace lo contrario:
create /existing-path -> /pages/about
(where /existing-path already redirects to /)
REJECTED: "Path has already been taken"
Quien porte un flujo de CSV a la Admin API tiene que consultar el registro existente y llamar a urlRedirectUpdate, o borrar y volver a crear. Un port directo de la lógica de importación fallará en todas las rutas que ya existan.
Cómo probar tus redirecciones de Shopify después del lanzamiento
Todo lo anterior describe lo que Shopify acepta. Nada de ello te dice si las redirecciones que importaste funcionan de verdad en la tienda en vivo, y esa es otra pregunta. Una redirección puede importarse limpia, aparecer en el admin y aun así no hacer lo que esperabas en cuanto un tema, una app o un proxy se meten por medio.
Prueba desde fuera de la tienda en lugar de hacer clic en un navegador, porque el navegador esconde justo lo que necesitas ver: el código de estado. Pide la URL antigua y lee las cabeceras de la respuesta.
curl -sIL https://yourstore.example/old-product-url
Lee tres cosas en la salida:
- El código de estado del primer salto. Quieres un
301. Un302es temporal y transfiere valor de otra forma, lo cual importa cuando todo el objetivo es una mudanza permanente. - El número de saltos. Cada línea
HTTP/de la salida es un salto. Dos o más significa que construiste una cadena, y la solución es reapuntar el origen original al destino final en lugar de dejar el paso intermedio ahí. - El estado final. La última línea debería ser
200. Una redirección que acaba en404es peor que no tener redirección, porque en tu hoja de cálculo parece resuelta.
Después prueba las formas que se olvidan con facilidad. Haz la misma comprobación con una URL que lleve un parámetro de seguimiento para confirmar que la cadena de consulta sobrevive hasta el destino, con el dominio raíz además de www, y sobre http a secas y no solo https. Probamos exactamente esto en una tienda en vivo y el parámetro llegó intacto al destino, pero la idea es que lo verifiques en tu tienda en lugar de fiarte de una respuesta general, porque un tema o una app pueden cambiar el resultado.
Un comportamiento que conviene conocer antes de asustarse: después de cambiar o borrar una redirección, un nodo del edge de Shopify puede seguir sirviendo la respuesta antigua durante unos treinta segundos mientras una versión de la misma URL con la caché saltada ya devuelve la nueva. Dale un minuto y vuelve a probar con una cadena de consulta única añadida antes de concluir que la redirección no se aplicó.
Para la secuencia completa alrededor de una migración y no de una sola redirección, trabaja con la checklist de migración de sitios web, que cubre el mapeo, el día del lanzamiento y la monitorización posterior en la que esto encaja.
En conclusión
El sistema que Shopify tiene para gestionar redirecciones 301 es bueno para la mayoría de los negocios, pero todavía no está a nivel Enterprise. Con el tiempo esperamos que evolucione para incluir redirecciones con comodín y más registros de redirección en sus planes estándar y Plus. La capacidad de usar su sistema de redirecciones y los distintos tipos de formatos de URL que admite nos lleva a darles una puntuación de utilidad alta.
Si vas a emprender un proyecto con mapeos complejos de redirecciones 301 y necesitas un equipo que viva y respire este tipo concreto de trabajo, habla con nosotros.
Registro de cambios
Esta guía se publicó por primera vez a partir de las pruebas del 19 de junio de 2024 y se volvió a probar el 27 de julio de 2026 contra una tienda Shopify real con plan estándar, a través de la Admin GraphQL API y contra peticiones reales al escaparate. La mayoría de los hallazgos originales se mantuvieron. Nueve no. El cuerpo de arriba cuenta lo que Shopify hace ahora, y esto es lo que se movió.
2024 Shopify te impide crear cadenas de redirección.
2026 La protección comprueba una sola dirección. Rechaza una redirección cuyo destino ya es el origen de otra, pero no la inversa, así que crear /a hacia /b y más tarde /b hacia /c deja una cadena viva de dos saltos. El orden de creación por sí solo decide si se forma una.
/services2024 /services funciona como redirección, igual que /apps, /carts y /orders.
2026 /services funciona por sí solo y falla con cualquier subdirectorio. /services/consulting devuelve un 404 aunque el registro se guarde. Todos los demás prefijos de ese grupo funcionan con subdirectorios.
2024 Cuatro prefijos reservados se ignoran cuando se usan por sí solos: /cart, /products, /collections, /collections/all.
2026 Las observaciones se mantienen, la explicación no. Una ruta real del escaparate siempre le gana a una redirección, lo que cubre todos los productos, colecciones, páginas y artículos de blog vivos, y no una lista de cuatro rutas.
2024 Los parámetros nunca se añaden a la URL que carga.
2026 Solo es cierto para las rutas de origen con parámetros. Cuando la ruta de origen no tiene parámetros propios, los parámetros de la petición se trasladan al destino.
2024 Shopify trata las URL con parámetros como cadenas literales.
2026 Ambos lados se normalizan antes de compararse, así que las mayúsculas y el orden dan igual. Solo el conjunto de parámetros es estricto, y quitar uno devuelve un 404.
2024 Los parámetros se alfabetizan, y /test?name=John&Doe se guarda como /test?Doe&name=John.
2026 Alfabetización confirmada, y las mayúsculas no se conservan. La misma ruta se guarda como /test?doe&name=john, con los valores en minúsculas junto con las claves.
2024 Shopify no podía ingerir una cadena con un punto y coma sin codificar después del operador igual.
2026 La ingiere sin problema y guarda el punto y coma como %3b. El fallo ocurre al recibir la petición, y pedir la forma codificada devuelve un 301.
2024 Importa 1.000 filas cada vez.
2026 No es un techo. Un único archivo de 1.051 filas se importó sin ningún fallo en 48 segundos. Los lotes siguen siendo buena práctica porque los archivos pequeños fallan de forma más legible.
2024 Shopify no admite redirecciones con comodín.
2026 Sigue siendo cierto, y además acepta la sintaxis sin dar ningún error. El asterisco se guarda como carácter literal, así que nada avisa del fallo hasta que el tráfico empieza a dar 404.
2026 Crear 1.051 redirecciones llevó 48 segundos. Borrar esas mismas 1.051 llevó 226 segundos, porque las mutaciones de borrado masivo exigen una sesión de usuario activa y un token de script no puede llamarlas.
2026 La importación CSV actualiza una ruta que ya existe. La Admin API la rechaza con Path has already been taken, así que un port directo de la lógica de importación falla en todas las rutas existentes.
Todas las redirecciones devuelven un 301. El límite de 1.024 caracteres de ruta incluye la barra inicial, con 1.027 rechazados y 1.015 aceptados. Las mayúsculas se normalizan y las minúsculas tienen prioridad. La importación masiva quita el protocolo y el dominio para dejar una ruta relativa, mientras que el campo de destino conserva intacta una URL externa absoluta. Un nodo del edge puede servir una respuesta caducada durante unos treinta segundos después de un cambio.
Los límites de registros, 100.000 en los planes estándar y 20.000.000 en Plus, no se volvieron a ejecutar. Alcanzarlos es mecánicamente posible ahora que la tubería de importación está medida, pero el borrado va a unos 280 registros por minuto sin deshacer masivo por script, así que confirmar una cifra documentada dejaría a una tienda en vivo cargando con redirecciones basura durante seis horas o más.
Preguntas frecuentes
¿A quién está dirigida la base de conocimiento de WISLR sobre redirecciones de URL en Shopify?
Nuestra base de conocimiento ayuda sobre todo a marcas y agencias que están haciendo migraciones de sitio a Shopify. Es especialmente valiosa para equipos pequeños que necesitan aprovechar cada hora, y ayuda a los clientes a mapear y completar hasta 100.000 redirecciones de URL de forma eficiente.
¿Tiene Shopify un documento de soporte oficial para las redirecciones de URL?
Sí, Shopify mantiene un documento de ayuda oficial sobre redirecciones de URL en help.shopify.com. Aunque ofrece pautas generales para añadir redirecciones 301 individuales y masivas, nuestra guía lo complementa con especificaciones detalladas sobre tipos de URL y límites de la plataforma.
¿Qué cadenas de URL no admite Shopify?
Shopify solo tiene un formato de cadena de URL no admitido: las cadenas con un punto y coma sin codificar después del operador igual (por ejemplo, /page?param=;semicolon). Todos los demás formatos de URL, incluidos los puntos y coma codificados y los puntos y coma en otras posiciones, sí funcionan.
¿Admite Shopify redirecciones con comodines o regex?
No, Shopify no admite hoy redirecciones con comodín ni patrones regex en su sistema nativo de redirecciones. Esta limitación existe tanto en las tiendas Shopify estándar como en las Shopify Plus.
¿Qué son las redirecciones con comodín?
Las redirecciones con comodín te permiten redirigir varias URL que coinciden con un patrón concreto hacia un único destino. Por ejemplo, redirigir todas las URL bajo /blog/* a /articles/*. Aunque es una función muy pedida, hoy no está disponible en la funcionalidad nativa de Shopify.
¿Puede Shopify evitar la creación de cadenas de redirección?
Sí, Shopify tiene protecciones integradas para evitar las cadenas de redirección. El sistema no te deja crear una redirección hacia una URL que ya se está redirigiendo a otro sitio.
¿Qué son las cadenas de redirección?
Las cadenas de redirección aparecen cuando las URL redirigen a través de varios pasos antes de llegar al destino final (por ejemplo, A→B→C). Estas cadenas pueden ralentizar la carga de las páginas y afectar al rendimiento SEO. El sistema de Shopify ayuda a evitarlas por diseño.
¿Es fácil crear y actualizar redirecciones de URL en Shopify?
Sí, Shopify ofrece dos métodos sencillos: la creación de redirecciones de URL individuales desde su interfaz y la importación masiva mediante archivo CSV. Ambos métodos admiten rutas de URL relativas y absolutas.
¿Cómo se crean redirecciones de URL masivas en Shopify?
Las redirecciones masivas se pueden crear con la herramienta de importación CSV de Shopify. Recomendamos importar en lotes de 1.000 para revisar y gestionar los errores con más facilidad. Tienes una plantilla para la importación aquí.
¿Tiene Shopify un límite máximo de registros de redirección de URL?
Sí. Los planes estándar de Shopify están limitados a 100.000 redirecciones de URL, mientras que las tiendas Shopify Plus pueden manejar hasta 20.000.000 de redirecciones. Estos límites son fijos y no se pueden ampliar.
¿Tiene Shopify límites de número de caracteres en las redirecciones?
Sí, Shopify impone un límite de 1.024 caracteres para las cadenas de redirección de URL, incluida la barra inicial (’/’). Las URL que superen esa longitud no serán aceptadas por el sistema.
¿Existe alguna herramienta para validar URL compatibles con Shopify?
Aunque Shopify no ofrece una herramienta de validación oficial, nuestras pruebas exhaustivas han demostrado que el 99% de los formatos de URL estándar funcionan. Lo principal a tener en cuenta es el límite de 1.024 caracteres y evitar los puntos y coma sin codificar después de los operadores igual.