Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
En la parte introductoria de esta serie, mencione que las "herramientas para WordPress" no se pueden definir como algo perteneciente a un medio específico: una herramienta WordPress puede venir en forma de plugin para WordPress, de archivo PHP único, de sitio web o como una aplicación de escritorio.
En esta parte de la serie "Caja de Herramientas de un Desarrollador de WordPress Inteligente", vamos a revisar dos herramientas diferentes pertenecientes a dos tipos distintos de medio: WXR File Splitter (como una aplicación de escritorio) y WP Serialized Search & Replace (como archivo PHP).
Dividir Archivos de Copias de Seguridad Grandes
Si eres un diseñador web freelance o trabajas en una agencia de diseño web y estás leyendo este artículo, es muy posible que instales con regularidad WordPress en servidores, de forma que ya sabrás algo (o mucho) sobre como migrar WordPress. Y si eres un desarrollador WoprdPress afortunado, es posible que hayas tenido un cliente con un sitio web enorme que necesita migrar entre dos servidores.
Aunque existen docenas de técnicas y opciones diferentes por ahí para trasladar instalaciones de WordPress, en algunos casos, sólo podemos conformarnos con el más fiable: las copias de seguridad que realiza WordPress Extended RSS (WXR).
¿Qué pasa si tu cliente sólo te proporciona los datos de acceso del administrador de WordPress en su antiguo y cutre servidor compartido? ¿Qué pasa si ese nuevo plugin para migraciones de WordPress no puede realizar la migración desde el servidor antiguo al nuevo? Debe estar listo y preparado para cuando llegan los momentos difíciles.
Si la copia de seguridad de WXR es enorme (y me refiero a gigabytes de enorme), WXR File Splitter será la solución que pondrá fin a tus lágrimas.
Trabajando Con WXR File Splitter



Las malas noticias primero: esta herramienta, que funciona en Windows, es antigua. Super antigua. Y no funciona. Quiero decir que no funciona con las nuevas versiones de WordPress (las de los dos últimos años, probablemente). No estoy bromeando.
Pero evidentemente, no voy a hablar de una herramienta que sea totalmente inútil en la actualidad. Aquí es donde viene la buena noticia, es muy fácil hacer que funcione, tan fácil que sólo necesitarás realizar una rápida búsqueda y reemplazo en el archivo de tu copia de seguridad.
Repasemos los pasos:
- Descarga la herramienta aquí (antes de que el sitio web desaparezca).
- Descarga el archivo de tu copia de seguridad desde tu panel de administración accediendo a la página para exportar que encontrarás en Herramientas > Exportar.
- Abre el archivo de la copia de seguridad y todas tus etiquetas en mayúsculas
<item>(buscando y reemplazando sólo las etiquetas de apertura, no necesitas hacer lo mismo con las etiquetas</item>) y guarda el archivo. - Abre el archivo
WXRsplit.exe. - Indica un tamaño para los archivos de salida (y el número de archivos será calculado automáticamente).
- Haz clic en el botón Split Files.
¿Una experiencia terrible? Bueno, debería serlo: si el cliente te entrega un panel de administración de un sitio web que está alojado en servidores usados en la II Guerra Mundial, la solución para la migración no puede ser sencilla. ¿Correcto?
Ah y existe una versión para Mac OS X desarrollada por un programador independiente, pero no he tenido la oportunidad de probarla porque no tengo un Mac (y tengo un ataque de nervios por ese motivo).
Ahora, pasemos a nuestra segunda herramienta: WP Serialized Search & Replace.
Operaciones Seguras de Búsqueda y Reemplazo en la Base de Datos de WordPress con WP Serialized Search & Replace
Allá por el 2012 trabajé en una agencia de diseño web. En mi primer día, revisé algunos proyectos anteriores para ver cómo trabajaban en la agencia con sus clientes. Observé que cuando conseguían un cliente nuevo, comenzaban construyendo su sitio web en un subdominio bajo el dominio de nuestra propia marca y mostraban el trabajo al cliente cuando era necesario; y cuando todo estaba ya concretado (incluido el último pago), mudaban la página web al dominio del cliente.
Ese mismo día propuse cambiar el flujo de trabajo con nuestros clientes, porque retrasaba nuestro trabajo; pero el jefe rechazó mi propuesta por "motivos económicos". Explicó que en el pasado, algunos clientes habían intentado robar nuestro trabajo justo antes de efectuar el último pago y que por eso estábamos trabajando de esta manera. "Absurdo", pensé, pero después de todo era el jefe.
Mi primer trabajo fue para un cliente de alta prioridad que necesitaba el sitio web tan pronto fuese posible. (Por suerte, nos había enviado el contenido con antelación.) Instalé WordPress en un subdominio de nuestro sitio web rápidamente y activé el tema (elegido por el cliente) junto con algunos plugins. Configuré todos los ajustes del núcleo de WordPress, del tema y de los plugins y después empecé a trabajar con el contenido.
Cuando había terminado (e impresionado al jefe con la velocidad con la que había "pintado" una web entera en menos de cuatro horas), mostramos la web al cliente y conseguimos de inmediato su aprobación y un mensaje en el que nos indicaba que el sitio web debía estar en marcha a la mañana siguiente ya que iban a visitar una feria.
Con confianza, decidí hacer algunas horas extras y mover la página web ese mismo día. Descargué todos los archivos vía FTP y en lugar de hacer una copia de seguridad WXR rápida, hice un backup SQL en phpMyAdmin. Después cambié las URLs de la página web en la tabla wp_options, subí los archivos y envié el SQL a la base de datos de la web del cliente. Ah, y eliminé rápidamente todo en el subdominio de desarrollo.
Cuando me di cuenta de que las imágenes destacadas no se mostraban, revisé el archivo SQL y vi que todas tenían aún las direcciones URL del antiguo subdominio ubicado en nuestro propio sitio web. Hice una búsqueda y reemplazo rápidos, guarde los cambios en la copia de seguridad y sobreescribí la base de datos con el nuevo SQL. Cuando visité la página web, comprobé no sólo que las imágenes seguían sin aparecer, sino que todas las entradas habían desaparecido, a pesar de que todavía estaban en la base de datos.
Ese fue el día que aprendí a "serializar entradas". (también llegué a casa a medianoche, porque trabajé el resto del día creando el mismo sitio web de nuevo en el servidor del cliente). Con esta experiencia, aprendí que las entradas serializadas se almacenan con recuento de caracteres, y si el recuento no es consistente con la cadena, WordPress omitirá por completo la entrada.
Así que, ¿cómo hacer una búsqueda y reemplazo en WordPress, incluidas las entradas serializadas? Con WP Serialized Search & Replace, por supuesto.
Utilizar WP Serialized Search & Replace



WP Serialized Search & Replace es más bien una herramienta portátil: subes la carpeta (en el directorio en donde tengas instalado WordPress) y ejecuta el archivo index.php. Por lo tanto, si los archivos de tu WordPress están en el directorio mywebsite.com/wp/, deberías ejecutar la herramienta desde mywebsite.com/wp/srtool/index.php (el nombre de carpeta de la herramienta no tiene importancia, puedes cambiarlo si lo deseas).
Después de ejecutar la herramienta, verás cinco secciones:
- Search/Replace: dispone de dos campos de entrada, "search" para buscar y "replace" para las sustituciones, y una casilla de verificación para activar las expresiones regulares.
-
Base de Datos: Tiene cuatro campos de entrada para las credenciales de la base de datos. La herramienta de autocompleta estos campos comprobando el archivo
wp-config.php. - Tablas: Por defecto, la herramienta funciona en todas las tablas de la base de datos, pero si lo deseas, puedes seleccionar tablas individuales haciendo clic en los botones "Select Tables", o rellenando los dos campos de entrada para excluir o incluir tablas.
- Acciones: Hay cinco acciones en esta sección: "Información de actualización" vuelve a conectar a la base de datos si cambia las credenciales de la base de datos, "Dry Run" simula la búsqueda y reemplazar el proceso, realmente "Vivir Run" ejecuta la búsqueda y reemplazar el proceso, "Convertir a InnoDB" convierte el motor de base de datos en InnoDB, y "Convertir a UTF8 Unicode" convierte los juegos tablas de bases de datos de caracteres en Unicode.
- Borrar: Borra la herramienta, toda la carpeta.
Debo decir, me gustó mucho el diseño, pero creo que esta herramienta podría funcionar mejor como un plugin para WordPress.
Terminando por hoy
Aceleró un poco el ritmo para esta parte solo y pasó dos pequeñas herramientas de WordPress en un solo post. Creo que ambos merecen un reconocimiento, a pesar de ser un poco apagado el radar en la comunidad de WordPress.
¿Qué opinas sobre estas herramientas? ¿Conoces alternativas mejores? Comparta sus pensamientos y experiencia con nosotros en la sección de comentarios abajo. Y si te gustó el artículo, no olvides compartir con tus amigos!
Nos vemos en la siguiente parte donde hablaremos acerca de la actualización de Plugin WordPress GitHub, una gran herramienta para manejar el proceso de actualización de plugins de WordPress alojada en GitHub.



