SEO Migration Guide: Keep Rankings When Switching from WordPress – BuiltToWinWeb
EN ES FR DE IT PT ZH JA KO RU NL
← Back to all articles

Guía de migración SEO: Cómo cambiar de plataforma sin perder posicionamiento (2026)

Ya sea que te muevas de WordPress a PHP personalizado, de Shopify a WooCommerce, o de cualquier plataforma a otra, los riesgos son los mismos: tráfico perdido, posiciones caídas y enlaces rotos. He migrado más de 30 sitios – desde pequeños blogs hasta tiendas de comercio electrónico de 500.000 páginas – y aprendí exactamente qué preserva (y a menudo mejora) el valor SEO. Sigue esta guía para evitar los errores comunes.

Por qué fallan las migraciones – La verdad incómoda

  • Cambiar las estructuras de URL sin implementar redirecciones 301.
  • Perder metadatos (etiquetas de título, meta descripciones, etiquetas canónicas).
  • Romper enlaces internos debido a los nuevos patrones de URL.
  • Lanzar sin probar las redirecciones en un entorno de ensayo.

Esta guía aborda cada uno de estos problemas. Sigue cada paso y preservarás – a veces incluso mejorarás – tus posiciones.

Fase 1: Auditoría previa a la migración – Captura tu línea base SEO

Antes de tocar nada, documenta el rendimiento SEO actual de tu sitio. Lo necesitarás para comparar después del lanzamiento.

1. Rastrea todo tu sitio

Usa Screaming Frog SEO Spider (gratis hasta 500 URL) para extraer:

  • Todas las URL internas (incluyendo imágenes, PDF, etc.).
  • Etiquetas de título, meta descripciones y H1 para cada página.
  • Etiquetas canónicas.
  • Códigos de respuesta (200, 301, 404).
  • Enlaces internos y externos.

Exporta el rastreo a CSV. Esto se convierte en tu lista maestra de mapeo de URL.

2. Registra las posiciones de las 50 palabras clave principales

Usa Google Search Console (informe de rendimiento) o una herramienta de pago como SEMrush/Ahrefs. Exporta posiciones, impresiones y CTR de los últimos 3 meses.

3. Documenta los niveles de tráfico orgánico

En Google Analytics (o GA4), registra los últimos 30 días de sesiones orgánicas, tasa de rebote y datos de conversión. Toma capturas de pantalla. Los compararás después del lanzamiento.

4. Descarga todos los backlinks

Google Search Console → Enlaces → Enlaces externos → Exportar. Guarda la lista de dominios y páginas que enlazan. Querrás asegurarte de que esas URL antiguas redirijan correctamente.

5. Guarda el sitemap XML

Si tu sitio antiguo tiene un sitemap (ej. `/sitemap.xml`), descárgalo. Es una lista rápida de todas las URL indexadas.

Fase 2: Mapeo de URL – El paso más crítico

Si mantienes exactamente las mismas rutas de URL, evitas la mayoría de los riesgos de migración. Pero a menudo querrás limpiar las URL (eliminar fechas, acortar categorías). Crea un mapeo 1:1 de cada URL antigua a su equivalente nueva.

Ejemplos de reglas de mapeo:

<code>/2023/01/por-que-php-personalizado → /blog/por-que-php-personalizado<br>/categoria/diseno-web → /servicios/diseno-web<br>/producto?id=123 → /productos/nombre-del-producto<br>/contactenos → /contacto (mantén igual si es posible)</code>

Herramientas para construir tu archivo de mapeo:

  • Excel/Google Sheets manual – para sitios pequeños (<500 URL).
  • Script Python con regex – para sitios grandes.
  • Exportación del CMS + fórmulas de hoja de cálculo – si tu nueva plataforma tiene un patrón.

Guarda el mapeo como CSV con columnas: old_url, new_url.

Fase 3: Implementar redirecciones 301

Una redirección 301 le dice a Google: “Esta página se movió permanentemente”. Google transfiere casi el 100% del poder de posicionamiento de la página antigua a la nueva URL. Nunca uses redirecciones 302 (temporales) para movimientos permanentes.

Opción A – Apache .htaccess (mejor para < 200 redirecciones)

<code>Redirect 301 /url-vieja /url-nueva<br>Redirect 301 /2023/01/por-que-php-personalizado /blog/por-que-php-personalizado</code>

Opción B – Mapa PHP de redirecciones (mejor para miles de redirecciones)

<code>&lt;?php<br>$redirects = json_decode(file_get_contents(__DIR__ . '/redirects.json'), true);<br>$request = $_SERVER['REQUEST_URI'];<br>if (isset($redirects[$request])) {<br>    header('HTTP/1.1 301 Moved Permanently');<br>    header('Location: ' . $redirects[$request]);<br>    exit;<br>}<br>?&gt;</code>

Opción C – Nginx (usa `map` para muchas redirecciones)

<code>map $request_uri $new_uri {<br>    /url-vieja      /url-nueva;<br>    /url-vieja2     /url-nueva2;<br>}<br>server {<br>    if ($new_uri) {<br>        return 301 $new_uri;<br>    }<br>}</code>

Regla crítica: Sin cadenas de redirección – Nunca hagas A → B → C. Cada salto pierde una pequeña cantidad de valor de enlace. Siempre redirige directamente A → C.

Fase 4: Preservar los metadatos – Etiquetas de título, Meta descripciones, Canónicas

Tu nuevo sitio debe generar exactamente las mismas etiquetas de título y meta descripciones que el sitio antiguo (o mejores).

  • Si usas un CMS (WordPress, Shopify), exporta los metadatos mediante plugin o CSV.
  • Si estás construyendo un sitio PHP personalizado, almacena los metadatos en una tabla de base de datos o en un array PHP indexado por URL.

Ejemplo de implementación en PHP personalizado:

<code>&lt;?php<br>$pageMetadata = [<br>    '/servicios/diseno-web' => [<br>        'title' => 'Diseño web personalizado | BuiltToWinWeb',<br>        'description' => 'Sitios web PHP codificados a mano que obtienen 100 en Lighthouse.'<br>    ]<br>];<br>if (isset($pageMetadata[$_SERVER['REQUEST_URI']])) {<br>    $meta = $pageMetadata[$_SERVER['REQUEST_URI']];<br>    echo '&lt;title&gt;' . htmlspecialchars($meta['title']) . '&lt;/title&gt;';<br>    echo '&lt;meta name="description" content="' . htmlspecialchars($meta['description']) . '"&gt;';<br>}<br>?&gt;</code>

Fase 5: Probar todo en un entorno de ensayo

Antes de salir al aire, clona tu sitio a un subdominio de ensayo (ej. `ensayo.tudominio.com`). Prueba:

  • Todas las redirecciones – usa Screaming Frog para rastrear las URL antiguas y verificar que devuelvan 301 a las nuevas URL.
  • Metadatos – revisa una muestra de páginas para verificar títulos y descripciones correctos.
  • Enlaces internos – sin enlaces rotos a URL antiguas.
  • Core Web Vitals – ejecuta Lighthouse. Si las puntuaciones son peores que el sitio antiguo, depura.

Fase 6: Día del lanzamiento – Cambiar DNS y enviar sitemap

  1. Apunta el DNS a tu nuevo servidor (el TTL debe estar configurado a 300 segundos de antemano).
  2. Envía inmediatamente tu nuevo sitemap XML en Google Search Console (Sitemaps → Añadir).
  3. Usa la herramienta “Inspeccionar URL” para obtener como Google y solicitar la indexación de tus páginas más importantes.
  4. Monitorea los registros en tiempo real para detectar errores 404 (usa un visor de registros del servidor o una herramienta como LogHound).

Fase 7: Monitoreo posterior al lanzamiento – Los primeros 30 días

Aquí es donde fallan la mayoría de las migraciones – lanzan y asumen que todo está bien.

Controles diarios (primera semana):

  • Google Search Console → Cobertura → Errores. ¿Algún 404? Solucionalo inmediatamente (añade redirecciones faltantes).
  • Google Analytics → Tiempo real para asegurarte de que el tráfico llegue al nuevo sitio.

Controles semanales (semanas 2‑4):

  • Compara el tráfico orgánico con la línea base previa a la migración (Google Analytics). Una pequeña caída (5‑10%) es normal; cualquier cosa mayor indica un problema.
  • Vuelve a ejecutar el informe de palabras clave principales. Si las posiciones bajaron para páginas específicas, verifica si esas URL redirigen correctamente.
  • Monitorea los 404 de backlinks – usa Ahrefs o GSC para ver si los enlaces externos ahora están rotos.

Si ves una caída:

  • Verifica que no hayas bloqueado accidentalmente robots.txt o añadido etiquetas `noindex`.
  • Asegúrate de que el nuevo sitio sea más rápido (Core Web Vitals). Las mejoras de velocidad a menudo compensan pequeñas pérdidas de redirección.
  • Vuelve a enviar el sitemap y usa “Inspeccionar URL” en algunas páginas clave.

Errores comunes de migración (y cómo evitarlos)

  • Error: Cambiar de HTTP a HTTPS sin redirigir todas las URL HTTP. Solución: Añade una redirección global HTTP→HTTPS a nivel del servidor.
  • Error: Migrar a un nuevo dominio y no actualizar la propiedad de Google Search Console. Solución: Añade el nuevo dominio como propiedad y envía un cambio de dirección.
  • Error: Perder las URL de las imágenes (imágenes rotas). Solución: Mantén la misma estructura de ruta para `/wp-content/uploads/` o crea redirecciones para las URL de imágenes.
  • Error: Enlaces internos que apuntan a URL antiguas (codificados de forma rígida). Solución: Usa una búsqueda y reemplazo en tu base de datos o código antes del lanzamiento.

Caso de estudio: Migración de comercio electrónico de 50.000 páginas – 0% de pérdida de tráfico

Un gran minorista en línea pasó de Magento a una plataforma PHP personalizada. El desafío: 50.000 URL de productos tenían que cambiar de `/catalog/product/view/id/123/` a `/products/nombre-del-producto/`.

Proceso:

  • Exportaron todas las URL antiguas de la base de datos de Magento.
  • Generaron nuevos slugs amigables para SEO basados en los nombres de los productos.
  • Crearon un mapeo CSV con 50.000 filas.
  • Usaron un mapa PHP de redirecciones (archivo JSON) para manejar los 301 – sin hinchar .htaccess.
  • Preservaron todos los metadatos (títulos, descripciones) almacenándolos en una tabla personalizada indexada por nueva URL.
  • Escenificaron y probaron las redirecciones con un rastreador – 99,8% de cobertura.

Resultados:

  • Cero pérdida de tráfico orgánico en los primeros 30 días.
  • Después de 60 días, el tráfico aumentó un 12% debido a una carga de página más rápida (PHP personalizado vs Magento).
  • Sin errores 404 en Search Console después de la primera semana.
  • Los ingresos del tráfico orgánico aumentaron un 18% en 3 meses.

El cliente ahora es dueño del código, no paga tarifas de licencia de Magento y puede actualizar las URL al instante.

Lista de verificación de migración (Resumen imprimible en PDF)

  • ☐ Pre‑migración: rastreo, posiciones, tráfico, backlinks, sitemap.
  • ☐ Mapeo de URL: CSV 1:1 de antigua → nueva.
  • ☐ Implementar redirecciones 301 (sin cadenas).
  • ☐ Preservar metadatos (títulos, descripciones, canónicas).
  • ☐ Probar en ensayo (rastreo con Screaming Frog, Lighthouse).
  • ☐ Lanzamiento: DNS, enviar sitemap, inspeccionar URL.
  • ☐ Monitorear GSC diariamente durante 30 días, corregir 404.
  • ☐ Después de 30 días, comparar posiciones y tráfico.

¿Listo para migrar sin estrés?

He migrado más de 30 sitios – desde blogs de pequeñas empresas hasta comercio electrónico empresarial. Manejo todo el proceso: mapeo de URL, implementación de redirecciones, migración de metadatos, pruebas en ensayo y monitoreo posterior al lanzamiento. Mantendrás tus posiciones y a menudo verás una mejora en el rendimiento.

Hablemos sobre tu migración. Te proporcionaré un plan y presupuesto de migración gratuito y sin compromiso.

Permíteme manejar tu migración →

Datos de migraciones reales de clientes realizadas por BuiltToWinWeb. Los resultados individuales pueden variar según la complejidad del sitio y la salud SEO existente.