Migrar de dominio en WordPress conservando los compartidos en redes

Este fin de semana hemos realizado una migración de un WordPress desde un dominio a uno nuevo. Esto normalmente conlleva que se pierdan las veces que se ha compartido una determinada página en el dominio antiguo.

Pero hay una solución: Engañar a la red social haciéndole ver que la URL que se quiere compartir es la antigua. Entonces se muestra correctamente el número de compartidos.

OJO: Esto solo se debería de usar si en la migración del dominio hemos realizado redirecciones 30x del contenido antiguo al nuevo.

Por tanto: Para todos los posts antiguos usamos la URL antigua. Para los posts más nuevos usamos la URL nueva.

Lo negativo: Que cuando alguien comparta un post de los antiguos lo hará con la URL con el dominio antiguo.

La solución que hemos aplicado para conseguir esto está basada en un post de David Risley: How To Keep Your Social Media Buttons From Showing Zero After A Domain Change [WordPress].

migracion-web-wordpress

¿Cómo conseguir que los botones de las redes sigan mostrando los compartidos?

La idea es la siguiente: Comprobar antes de insertar los botones de las redes sociales si el ID del post es anterior o posterior a la migración:

  • Si es anterior a la migración, se usa la URL con el dominio antiguo para los botones de compartir de las redes sociales.
  • Si es posterior a la migración se usa la URL actual.

El código que se puede utilizar en el archivo single.php es el siguiente:

<?php
$url_para_compartir = get_permalink();
$iddelpost = get_the_ID();
if ($iddelpost < XXXX) {
$url_para_compartir = str_replace("://www.dominionuevo.com",
"://www.dominioantiguo.com",
$url_para_compartir);
}
?>

Este código lo que hace es crear una URL para compartir ($url_para_compartir) a partir de la URL actual y mirando si el ID es anterior o posterior a la migración. Esa $url_para_compartir es la que deberemos usar como URL en los botones de las redes sociales.

Para usar el código:

Hay que mirar cual es ID del último post antes de la migración (lo más sencillo es dentro de WordPress / Entradas ponerse encíma de la Edición de la última entrada y la URL que abre contiene su ID). A ese ID le sumamos 1 y lo reemplazamos por el XXXX del código.

En dominioantiguo.com va el nombre del dominio antiguo y en dominionuevo.com va el nombre del dominio nuevo.

Por tanto:

  1. El código coge la URL del post.
  2. Mira si el post es de antes o después de la migración.
  3. Si es de antes de la migración reemplaza el dominio nuevo por el antiguo.

Esa es la URL que debería de usarse en los botones de las redes sociales.

OJO: Si usáis un plugin para insertar los botones de las redes sociales, habría que modificar el plugin. Esto está pensado para temas que tengan los botones dentro del archivo single.php o estén definidos en el archivo functions.php.

Con esta información de base se puede ajustar el código a las necesidades de cada caso. Por ejemplo si estos botones también están en la home, etc.

Migración de una web en WordPress manteniendo los compartidos en redes

Esperamos que a alguien le sirva.

Créditos imágenes: Shutterstock – Jirsak, Shutterstock – Kjetil Kolbjornsrud

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *