Wordpress:Transferencia de noticias de Port@l2 a wp mediante CSV

From
Jump to navigation Jump to search

Mediante este proceso, se transfieren las noticias de Portal2 a Wordpress. Se transfieren también las categorias de estas noticias, y se selecciona la primera imagen que existe de esa noticia, convirtiéndose en la featured image del post de Wordpress.

Se requiere:


Preparación del entorno de trabajo:

1.- Instalar Python 3.x según vuestro SO

2.- Instalar Python Virtual Environment. Para ello, ejecutad en una terminal:

pip install virtualenv

3.- Crear una carpeta en local. En este ejemplo, la llamaremos migracion, aunque el nombre puede ser cualquiera.

4.- Copiar todo el contenido de smb://emc1.eprinsa.es/almacen/CMS/WordPress/pyt/importaciones_wp en esa carpeta. Debe quedar como la imagen.

Migracion.png

Abrir una terminal en la carpeta migracion

5.- Ejecutar:

virtualenv migracion

6.- En Mac y Linux, ejecutad:

source migracion/bin/activate

En Windows:

migracion\Scripts\activate

7.- Para instalar todas las dependencias necesarias (Este paso solo es necesario la primera vez que se efectua el proceso):

pip install -r requirements.txt

Configuración de los datos del cliente:

1.- Abrir con un editor de texto parameters.py. El contenido del fichero es bastante explícito:

portal_host='mysqlserver-production.eprinsa.es'
portal_database='portal2_xxxxxxx'
portal_user='portal2_xxxxxx'
portal_password='yyyyyyyyyyyyyyy'

portal2_img_url="https://www.xxxxxx.es/sites/default/files/field/image/"
wp_img_url="https://portalx.eprinsa.es/wp-content/uploads/aaaa/mm/"

max_row=10

Las cuatro primeras lineas son los datos de conexión a la base de datos MySQL de Port@l2. Se pueden obtener accediendo a nuestro fichero key.kdbx mediante Keepass o Macpass.

Las dos siguientes lineas son los paths de las imagenes, el primero en Port@l2, el segundo en el WP de destino. Estos valores habra que obtenerlos de cada uno de los portales correspondientes.

Por último, max_row establece el número máximo de registros que se van a obtener. Este proceso se ha probado con un máximo de 1844 registros. Evidentemente, para traerse todas las noticias habra que usar un numero de registros superior al de estas noticias. Se aconseja hacer alguna prueba previa con un número limitado de registros (10 ó 20) para comprobar que todo va bien.


Migración de imágenes:

Este proceso obtiene de la base de datos de Port@l2 la primera imagen de las asociadas a cada una de las noticia, y la descarga a la carpeta images del directorio que hemos llamado migracion'. Volver a abrir una terminal en la carpeta migracion. Ejecutar:

python3 down_with_img_1.py

Una vez terminado el proceso, hay que subir las imágenes a Wordpress. Para ello, se ha empleado el propio administrador de Wordpress. No ha habido problema en subir de una tacada 1260 imágenes. Es posible que si hubiera que subir un mayor número de ficheros, hubiera que recurrir al uso de CLI.(A estudiar)

Migracion de noticias

Este proceso obtiene de la base de datos de Port@l2 todos los datos de cada una de las noticias, y crea un CSV (result.csv) en el directorio que hemos llamado migracion'. Este CSV será el que importaremos mediante el plugin de Wordpress Ultimate CSV Importer Free.


Volver a abrir una terminal en la carpeta migracion. Ejecutar:

python3 noticias_portal_to_wp_01.py

Si todo ha ido bien, tendremos un fichero result.csv, listo para importar.

Importación a Wordpress

Accedemos en el menú de WP al plugin Ultimate CSV Importer Free

Importacion csv 01.png

Seleccionamos el fichero result.csv:

Importacion csv 02.png

En la siguiente pantalla, no es necesario modificar nada...

Importacion csv 03.png

Pero en la siguiente, es muy importante marcar las opciones tal como están en la captura de pantalla, para que las imágenes destacadas se inserten correctamente en las noticias:

Importacion csv 04.png

El proceso de importación debe ejecutarse sin problema, con lo cual finaliza la migración.