Cualquier usuario de WordPress que se haya enfrentado a la tarea de clonar un sitio web o bien utilizarlo como plantilla para generar otro se habrá dado cuenta de que uno de los aspectos más fatigosos de ambas tareas es la transferencia de la configuración del tema y de los widgets del sitio de origen hasta el sitio de destino, ya que, por defecto, WordPress carece de cualquier funcionalidad en este ámbito. Por lo que he podido averiguar, parece ser que el equipo de desarrollo de la aplicación ha tomado nota de las demandas de los usuarios a este respecto, pero de momento, no hay noticias sobre una próxima incorporación de tal capacidad al núcleo de WordPress.

Naturalmente, los diseñadores y desarrolladores de temas hace tiempo que han intentado rellenar este hueco por sus propios medios. De hecho, y aunque es una funcionalidad menos habitual de lo que sería deseable, cada vez son más los temas gratuitos y de pago que permiten exportar sus opciones, e incluso los estilos CSS personalizados que se hayan podido definir en su configuración. Entre los primeros, se pueden citar los casos de Atahualpa, Graphene, Mantra o Suffusion; entre los segundos, la funcionalidad está presente en los temas diseñados por ChimeraThemes, ColorLabs, StudioPress, PageLines, ThemeForest, Themify, etc.

También los creadores de plugins han proporcionado diversas soluciones para garantizar que los widgets definidos en las barras laterales o áreas de widgets de WordPress se puedan exportar e importar, capacidades ambas que resultan de gran utilidad no solo para la ya mencionada tarea de clonación de un sitio web, sino incluso como medida de precaución adicional cuando hay que realizar una copia de seguridad de un sitio, o se va a proceder a la transferencia de alojamiento y/o dominio. Hasta la fecha, yo había utilizado en tales ocasiones el plugin Widget Settings Importer/Exporter, que he mencionado en varios artículos (Nuevo alojamiento para el blog, Actualización a WordPress 3.4, con pie de foto mejorado y Feliz Navidad tras la actualización a WP 3.5), pero recientemente he tenido conocimiento, a través de WordPress Tavern, de una alternativa muy interesante, el plugin Widget Importer & Exporter, muy parecido en concepto al anterior, pero con significativas diferencias que aconsejan realizar una breve comparativa de ambas extensiones.

1. Tanto Widget Settings Importer/Exporter como Widget Importer & Exporter utilizan el formato JSON para exportación de los parámetros de configuración de los widgets; ambos generan ficheros de texto plano, con la extensión JSON el primero y WIE el segundo.

2. En el plugin Widget Settings Importer/Exporter las opciones de exportación e importación están separadas en dos páginas distintas dentro del menú Herramientas: Widget Settings Export y Widget Settings Import; por su parte, el plugin Widget Importer & Exporter dispone de una única página de administración, que reside en el menú Herramientas > Importar y exportar widgets (de acuerdo con mi traducción; el menú original es Widget Import/Export).

3. Widget Settings Importer/Exporter es más versátil y potente que Widget Importer & Exporter, ya que permite seleccionar los widgets exportables e importables a voluntad, mediante un cómodo interfaz que agrupa los widgets en función de las barras laterales o áreas de widgets de las que forman parte, tal como puede verse en la figura 1 (el interfaz sería todavía más cómodo si el plugin fuera traducible, tal como en su momento solicité a su autor, pero la última versión, publicada el pasado 12 de julio, todavía no incorpora las funciones de internacionalización que debieran permitir la traducción).

Figura 1. Exportación de widgets, mediante el plugin Widget Settings Importer/Exporter

Figura 1. Exportación de widgets, mediante el plugin Widget Settings Importer/Exporter

Hay que advertir que, si las barras laterales o áreas definidas en el sitio de origen no existen en el sitio de destino al que se exportan los widgets, estos no serán importados. Por tanto, es muy importante asegurarse de que las configuraciones de ambos sitios son idénticas en lo referente a la configuración de las barras laterales (al final de este artículo daré más detalles al respecto). Por otro lado, si desde el sitio de origen se exportan widgets inactivos, en el sitio de destino se importarán en el mismo estado.

4. Widget Importer & Exporter es un plugin traducible mediante los procedimientos estándar de WordPress (acabo de enviar al autor la traducción al español, para que la incorpore a próximas versiones), y también algo más fácil de utilizar para la mayoría de los usuarios, dado que, como no permite filtrar los widgets, por defecto exporta todos los elementos que se hayan definido en el sitio de origen.

A la hora de exportar e importar los widgets mediante este plugin, pueden darse tres situaciones distintas, varias de las cuales pueden observarse en la figura 2 (el llamativo backend de WordPress que se muestra en esta y en la siguiente captura de pantalla corresponde a un multisitio experimental en el que se ha instalado el plugin MP6, que modifica sustancialmente el menú de las pantallas de administración de la aplicación):

Figura 2. Importación de widgets, mediante el plugin Widget Importer & Exporter

Figura 2. Importación de widgets, mediante el plugin Widget Importer & Exporter

  • Si la barra lateral o área de widgets importada no existe en el sitio de destino, los widgets que se puedan importar se importarán como inactivos.
  • Si los widgets importados ya existen en el sitio de destino, no se duplicarán y, por tanto, no serán importados (más adelante explicamos qué significa exactamente que un widget “ya existe”).
  • Por último, si los widgets exportados no están soportados (por ejemplo, porque son específicos de un tema que no está disponible en el sitio de destino o derivan de un plugin que no está activado en él), el resultado es que no se importarán.

5. El plugin Widget Settings Importer/Exporter permite ver lo que se importa antes de importarlo, para lo cual hay que hacer clic en el botón Show Widget Settings, tal como se muestra en las figuras 3 y 4; Widget Importer & Exporter, en cambio, no dispone de esa posibilidad. A cambio, este segundo plugin ofrece más información a los usuarios sobre cómo ha transcurrido la importación, pues los mensajes que se muestran tras concluir dicha tarea (que acabamos de mostrar en la figura 2) tienen un código que colores que permite identificar perfectamente qué ha ocurrido con cada uno de los widgets.

Figura 3. Selección del fichero de importación mediante el plugin Widget Settings Importer/Exporter

Figura 3. Selección del fichero de importación mediante el plugin Widget Settings Importer/Exporter

Figura 4. Confirmación de los widgets que se van a importar con el plugin Widget Settings Importer/Exporter

Figura 4. Confirmación de los widgets que se van a importar con el plugin Widget Settings Importer/Exporter

Conviene tener en cuenta que ninguno de los dos plugins pueden crear por sí mismos en el sitio de destino una barra lateral que solo exista en el sitio de origen; lo más que puede hacer el plugin Widget Importer & Exporter es, como ya hemos visto, importar los widgets en estado inactivo, lo cual permitirá, posteriormente, arrastrarlos a la barra lateral que interese. Si no hay coincidencia de barras laterales, la exportación no es posible de forma directa, lo cual aconseja utilizar ambos plugins cuando el sitio de origen y el de destino tienen el mismo tema (situación que, como es lógico, debería ser la más frecuente) o bien cuando son temas distintos pero con barras laterales que comparten los mismos identificadores.

Si los identificadores de las barras laterales del sitio origen y el sitio destino no coinciden, y es imperativo llevar a cabo el proceso de exportación-importación, no queda otro remedio que replicar primero, en el sitio de destino, las barras laterales del sitio de origen. Otra alternativa es editar los ficheros de texto generados por las utilidades de exportación, y realizar las modificaciones oportunas; si se opta por esta alternativa, hay que proceder con mucha atención, porque el formato JSON requiere cierto esfuerzo de lectura para averiguar cuáles son los identificadores de las barras laterales y de los widgets. Como ayuda para tales menesteres puede aconsejo utilizar el plugin Debug This, que, una vez activado, y tras seleccionar las opciones Sidebars > Widgets o Sidebars >Registered Sidebars, proporciona la información necesaria (figuras 5 y 6).

Figura 5. Depuración de widgets mediante el plugin Debug This

Figura 5. Depuración de widgets mediante el plugin Debug This

Figura 6. Depuración de barras laterales registradas mediante el plugin Debug This

Figura 6. Depuración de barras laterales registradas mediante el plugin Debug This

Por otro lado, si se desea que el proceso de exportación e importación de widgets se realice correctamente y no se produzcan resultados inesperados, debe tenerse muy presente que, WordPress solo considera dos widgets iguales cuando coinciden el tipo de widget y su título. Es decir, si en el sitio de origen existe un widget de categorías denominado “Categorías del blog”, y en el sitio de destino existe un widget con idéntico contenido, pero con el nombre “Categorías del sitio”, el proceso de importación considerará ambos elementos como elementos distintos; por tanto, cuando se importe el widget, el sitio de destino tendrá dos widgets iguales en contenido, pero con nombres diferentes.

Tras esta breve comparativa, llega el momento de decidir cuál de entre ambos plugins se debe utilizar. A mi modo de ver, la decisión es tan evidente como salomónica: los dos, en función de las circunstancias del caso y de los objetivos que se pretendan, ya que ambos son perfectamente compatibles entre sí, y no existe ningún inconveniente para tenerlos instalados y desactivados de forma habitual, a la espera de activar uno u otro (o los dos) en función de la situación que se plantee.

En una actividad formativa que estoy preparando para el próximo curso escolar (toquemos madera para que salga adelante), los asistentes podrán realizar unos cuantos experimentos con ambas extensiones, así que espero disfrutar de unas cuantas oportunidades para mejorar el presente análisis. Naturalmente, les tendré oportunamente informados de las conclusiones.

alojamiento wordpress