Migrar de VTEX a Shopify sin perder SEO: cómo redirigir cientos de URL sin riesgo
Para migrar de VTEX a Shopify sin perder posicionamiento, cada URL que Google conoce de tu VTEX tiene que llevar, con una redirección 301, a su equivalente en Shopify desde el primer minuto. En VTEX eso significa cientos de direcciones: productos que terminan en /p, categorías, marcas y muchas «rutas propias» de campañas viejas. El método que uso: sacar todo desde los sitemaps, identificar cada URL con la API pública de VTEX, cruzarla con el catálogo de Shopify con reglas fijas y validar el mapa completo antes de importarlo. En la migración de Jackie Guiloff fueron 280 URL y 267 redirecciones.
Esta guía es para quien ya decidió irse de VTEX y quiere hacerlo sin perder el tráfico de Google. Si todavía estás comparando plataformas, empieza por la guía general para migrar a Shopify. Aquí me concentro en lo específico de VTEX y en la parte que más se descuida: las direcciones.
Por qué VTEX es una migración distinta
En casi cualquier migración a Shopify las direcciones cambian, porque Shopify usa siempre /products/, /collections/, /pages/ y /blogs/. VTEX agrega tres complicaciones:
- Los productos terminan en
/p(/tartaro-de-filete/p) y su nombre en la dirección no siempre coincide con el nombre del producto que vas a crear en Shopify. - Las «rutas propias» se acumulan. Cada campaña, landing estacional o receta del blog creó una dirección en la raíz del sitio (
/cyber-gourmet-2024,/gazpacho). Con los años son decenas o cientos, y nadie las tiene listadas. - El contenido no siempre es tuyo de exportar. Si tu tienda VTEX la opera una agencia, el blog o las landings pueden depender de que ellos te entreguen el contenido. Hay que planificar los destinos asumiendo que quizás no llegue.
Paso 1: el inventario completo, desde los sitemaps
No partas de una lista hecha a mano ni de lo que ves en el menú. Las URL que importan son las que Google conoce, y la fuente más completa es el sitemap de tu VTEX: un índice (/sitemap.xml) que lista sitemaps separados de productos, categorías, marcas y rutas propias. Descárgalos todos y junta las direcciones en una sola lista.
En Jackie Guiloff, los cuatro sitemaps dieron 280 URL: 141 productos, 10 categorías, 128 rutas propias y 1 de marca. Si tienes Search Console, cruza esa lista con las páginas que reciben impresiones: te dice cuáles cuidar con más atención.
Paso 2: saber qué es cada URL
Una dirección como /lasagna-de-aji-de-gallina/p no dice cómo se llama el producto en el catálogo, ni si sigue existiendo. VTEX tiene una API pública de catálogo que responde, sin claves, con el nombre y los datos de un producto a partir de su dirección. Con ella identifiqué 139 de los 141 productos; los otros dos ya estaban dados de baja.
Para las rutas propias no hay API que ayude. Lo útil es ver cuáles siguen enlazadas desde la portada y las categorías: en Jackie Guiloff solo 21 de las 128 lo estaban. Las otras 107 eran campañas viejas y recetas sin enlaces internos, pero Google las seguía conociendo.
Paso 3: cruzar con Shopify con reglas, no a ojo
Con la lista identificada, cada URL de VTEX se empareja con su destino en Shopify. La regla que uso es estricta y en dos pasadas:
- Handle idéntico: si la parte final de la dirección coincide con el handle del producto en Shopify, se empareja.
- Título normalizado: si no, se compara el nombre del producto sin tildes, sin mayúsculas y sin puntuación. «Lasaña de Ají de Gallina» y «LASAGNA DE AJÍ DE GALLINA» no son iguales, pero un nombre limpio sí puede coincidir.
Lo que no se empareja con esas dos reglas no se adivina: va a una lista de decisiones. Emparejar «a ojo» cientos de líneas es donde aparecen los errores que nadie revisa después.
Paso 4: decidir el destino de cada tipo de URL
| En VTEX | Destino en Shopify |
|---|---|
Producto /nombre/p | El mismo producto: /products/handle |
| Producto descontinuado | La colección donde estaría hoy, no la portada |
| Categoría o departamento | La colección equivalente: /collections/handle |
| Landing de campaña vieja | La colección de esa campaña si vuelve a existir; si no, /collections/all |
| Receta o artículo del blog | Su artículo en /blogs/…; si el contenido no se migró, el índice del blog |
| Páginas institucionales | /pages/… (contacto, despachos, tiendas) |
| Páginas de prueba y marcadores de plantilla | Ninguno: se dejan en 404 |
Ese último punto es importante. Redirigir una página que nunca tuvo contenido no conserva nada: solo esconde un error. En Jackie Guiloff quedaron 4 URL en 404 a propósito: el producto interno del despacho, dos páginas de prueba y un marcador de la plantilla.
Y redirigir todo a la portada tampoco sirve. Google trata como página no encontrada una redirección a una página que no tiene relación con la anterior, así que se pierde lo mismo que con un 404.
Paso 5: validar el mapa antes de importarlo
Antes de cargar nada, el mapa completo pasa tres revisiones automáticas:
- Sin duplicados: una dirección antigua, un solo destino.
- Sin cadenas ni loops: ningún destino puede ser a su vez una dirección redirigida. A → B → C hace más lenta cada visita y diluye la señal; A → B → A rompe la página.
- Destinos que existen: cada página de destino tiene que estar creada en Shopify antes del cambio. Si apuntas a
/pages/contactoy esa página no existe, la redirección lleva a un 404.
Conviene guardar dos archivos: el que se importa y una versión de revisión con el motivo y el nivel de confianza de cada línea. En Jackie Guiloff el resultado fue 267 redirecciones: 178 con destino inequívoco, 41 landings de campaña que pedían una decisión, 47 recetas que dependían de que se migrara el blog y 1 producto duplicado en Shopify que había que resolver.
Paso 6: importar las redirecciones en Shopify
Shopify importa redirecciones desde un CSV de dos columnas, Redirect from y Redirect to, en Contenido › Menús › Redirecciones de URL › Importar (según la versión del administrador, la ruta cambia un poco). La dirección antigua va sin el dominio:
| Redirect from | Redirect to |
|---|---|
/lasagna-de-aji-de-gallina/p | /products/lasana-de-aji-de-gallina |
/aperitivos | /collections/aperitivos |
/cyber-gourmet-2024 | /collections/all |
/gazpacho | /blogs/recetas/gazpacho |
Dos detalles que conviene saber:
- Las redirecciones de Shopify solo actúan si la dirección antigua no existe en la tienda. Si creas una página con la misma ruta, la página gana y la redirección no se ejecuta.
- Impórtalas antes de cambiar el dominio. Se pueden cargar con la tienda aún sin publicar. Así, en el minuto en que el dominio apunta a Shopify, las direcciones viejas ya llevan a su lugar.
El día del cambio de dominio
- Confirma que todas las redirecciones están importadas y que los destinos existen.
- Cambia los DNS hacia Shopify y marca tu dominio como principal, con la redirección de todo el tráfico activada (así
wwwy sinwwwllegan al mismo lugar). - En una ventana de incógnito, prueba la portada, una ficha, una colección y varias direcciones viejas de cada tipo.
- Envía el sitemap nuevo de Shopify en Search Console.
No des de baja la tienda VTEX ese mismo día si puedes evitarlo. Tener acceso unas semanas más sirve para consultar algo que se haya quedado atrás.
Después: comprobar todas las redirecciones, no una muestra
Con cientos de líneas, revisar cinco a mano no dice nada. Lo que hago es recorrer el archivo completo con un script que pide cada dirección antigua y anota el código y el destino: tiene que responder 301 y llevar exactamente al destino del mapa. Después se revisa que cada destino responda 200.
En Jackie Guiloff lo volví a correr el 5 de noviembre de 2026, dos meses después del cambio: las 267 direcciones respondían 301. Además, las recetas ya no llevaban al índice del blog sino a su artículo, porque el contenido se migró después y el mapa se actualizó.
Las primeras semanas, revisa en Search Console el informe de páginas no encontradas: lo que aparezca ahí es una URL que se escapó del inventario.
Errores que sí cuestan tráfico
- Hacer el inventario desde el menú y no desde los sitemaps: se pierden todas las rutas propias.
- Mandar todo a la portada: para Google es casi lo mismo que un 404.
- Emparejar a ojo cientos de productos y no revisar los que no coinciden.
- Apuntar a páginas que todavía no existen en Shopify.
- Importar las redirecciones después del cambio de dominio: las horas sin ellas son horas de 404 para Google y para quien llega desde un enlace viejo.
- Revisar una muestra en vez del archivo completo.
Preguntas frecuentes
¿Pierdo posicionamiento al migrar de VTEX a Shopify?
No, si cada URL que Google conoce redirige con un 301 a su equivalente en Shopify desde el día del cambio. Lo que se pierde es lo que queda sin redirigir o se redirige a una página sin relación, como la portada. Es normal ver movimiento en Search Console las primeras semanas mientras Google procesa las direcciones nuevas.
¿Cuántas redirecciones necesita una tienda VTEX?
Tantas como URL tenga en sus sitemaps, menos las que no tiene sentido conservar. En una tienda de unos 140 productos, como Jackie Guiloff, fueron 280 URL inventariadas y 267 redirecciones. Casi la mitad venía de rutas propias de campañas y recetas, no de productos.
¿Cómo se importan muchas redirecciones en Shopify?
Con un CSV de dos columnas, Redirect from y Redirect to, desde la sección de redirecciones de URL del administrador. La dirección antigua va sin dominio y el destino es la ruta en Shopify. Conviene importar antes de cambiar el dominio y validar que no haya duplicados, cadenas ni destinos que no existan.
¿Qué hago con las landings de campañas antiguas de VTEX?
Si la campaña vuelve a existir en Shopify, redirige a su colección. Si no, a la colección más cercana o al catálogo completo, pero nunca a la portada. Y cuando la campaña vuelva (Navidad, Cyber), actualiza esas líneas del mapa para que apunten a la colección nueva.
Si quieres ver el proyecto completo, con el antes y el después de la tienda, está en el caso de Jackie Guiloff. Para el resto de la migración (catálogo, pagos, despacho), la guía general para migrar a Shopify en Chile y la de rediseñar sin perder posicionamiento.
¿Tu tienda está en VTEX?
Me encargo de la migración completa: inventario de URL, mapa de redirecciones validado, catálogo, pagos chilenos y despacho probados antes del cambio de dominio. Agenda una llamada y revisamos tu caso.
Ver servicio de tiendas Shopify →Agenda una reunión →