Mover las Imágenes de un blog de WordPress a un Bucket S3 de AWS

En el artículo Redireccionar un contenedor S3 de HTTP a HTTPS con un nombre público personalizado en Internet, explicaba cómo crear un bucket S3 con un nombre público en Internet al que se accedía por HTTPS. A ese bucket S3 lo llamé media.puerto53.com y ahora lo voy a utilizar para que todo el contenido multimedia de este blog se almacene en este contenedor.

Antes de tocar nada de tu blog, hazte una copia de seguridad de todo tu contenido y de la base de datos.

Lo primero que hago es descargarme el plugin de WordPress WP Offload Media Lite. Yo utilizo la versión gratuita, que ya me es suficiente.

Como este blog está corriendo en una instancia EC2 que ya tiene un rol de acceso de lectura y escritura al contenedor media.puerto53.com, no es necesario que cree ningún usuario específico. Además de que no es seguro guardar tus credenciales en el propio servidor. Las buenas prácticas dicen que es mucho más eficiente asignar un rol a una instancia que no ir guardando las credenciales en cada uno de los servidores.

Por lo tanto, configuro el plugin para que acceda al bucket S3 mencionado.

WP Offload Media Lite

Una vez guardados los cambios, las nuevas imágenes ya se subirán directamente al contenedor S3 pero no las antiguas. Esta es una opción de pago.

Para solucionar este «inconveniente» intenté modificar la base de datos de MySQL sustituyendo la URL antigua por la nueva en todos los posts, con el siguiente comando SQL:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘https://puerto53.com/wp-content/uploads’, ‘https://puerto53.com/wp-content/uploads’);

Pero no funcionó a pesar de que ya había copiado previamente el contenido al bucket S3 y era público:

/usr/bin/aws s3 sync –acl public-read uploads s3://media.puerto53.com/wp-content/uploads

Seguro que hay alguna otra tabla interna de WordPress que tenía que haber modificado pero lo desconozco y tampoco lo encontré por Internet. Si alguien sabe qué más había que hacer, agradecería lo indicara en los comentarios.

Finalmente, pagué el plugin de pago de offload, que se encarga de modificar también las imágenes antiguas para que su enlace apunte realmente a la URL del bucket S3. En mi caso, media.puerto53.com.

offload media offloaded

El motivo de mover las imágenes a S3 es porque es un servicio autoescalable a nivel global, por lo que me aseguro un buen rendimiento de carga de este tipo de contenido.

He notado un efecto colateral sin mayor importancia y es que el plugin WP Smush ya no puede reducir el tamaño de la imágenes debido a que tengo activada la casilla de eliminarlas después de haberlas subido a S3. Pero no pasa nada, ya las reduzco antes de subirlas.

Te puede interesar

Servidores VPS (Virtual Private Servers) administrados

COMPÁRTEME

Deja un comentario