Cómo creamos nuestra nueva web usando el editor de bloques

Publicada en Negocio.

Por si no te has dado cuenta, desde hace un par de meses la apariencia de nuestra web ha cambiado ligeramente. Hemos hecho un pequeño lavado de cara a nuestra página, actualizando fuentes, estilos, paleta de colores… y hemos pasado de esto:

Página principal de Nelio Software 2016-2018
Página principal de Nelio Software 2016-2018.

a esto:

Página principal de Nelio Software (2019)
Página principal de Nelio Software (2019).

Pero lo más interesante de estos cambios es que no son únicamente estéticos: decidimos rehacer nuestra web de cero para que estuviera completamente basada en bloques. Hoy me gustaría explicarte cómo conseguimos pasar de un tema hecho a medida y basado en plantillas a otro tema totalmente personalizado que confía la generación y maquetación del contenido a los bloques de WordPress.

De dónde venimos

Cuando lanzamos Nelio Content hace ya tres años decidimos reorganizar completamente todas nuestras webs y centralizar nuestra presencia online bajo un único dominio y marca: neliosoftware.com. Una de las tareas que hicimos fue, lógicamente, contactar con el equipo de Silo Creativo para que diseñaran la imagen de nuestra nueva web. Aquí puedes ver una de las primeras propuestas que nos hicieron:

Blog de Nelio Content
Primer boceto del diseño del blog de Nelio Content propuesto por Silo Creativo.

Cuando dimos el visto bueno a ese diseño inicial, y siguiendo nuestras peticiones, Ricardo y Verónica se pusieron manos a la obra y nos implementaron un tema a medida con todas las plantillas necesarias para las diferentes partes de nuestra web: la página principal, el blog, las entradas, las páginas de ayuda, … Todo estaba integrado directamente en el tema como plantillas de página, con lo cual disfrutábamos de una extremadamente rápida de cargar y un poco «pesada» de editar (puesto que cambiar cualquier página pasaba por editar una plantilla).

Y entonces llegó Gutenberg.

Entendiendo el contenido de nuestra web

El nuevo editor de bloques de WordPress, Gutenberg, supone un cambio de paradigma a la creación de contenidos en un WordPress por defecto. Hasta ahora, crear páginas era un proceso tedioso y poco amigable para los usuarios, a no ser que usaras un page builder. Pero Gutenberg viene con una promesa bajo el brazo: crear contenido visualmente atractivo en WordPress debe estar al alcance de cualquiera. Y nosotros queríamos montarnos en el carro de Gutenberg e intentar aprovecharnos de esta promesa.

Si habías visto la web que teníamos anteriormente, sabrás que era un diseño sencillo y elegante. A pesar de no tener cosas excesivamente complicadas, algunas cosas que encontrábamos (y encontramos) en nuestra web son:

  • Páginas con una imagen destacada que ocupa todo el primer scroll
  • Bloques con texto descriptivo e imágenes y/o vídeo
  • Formularios de contacto
  • Páginas legales
  • Tablas de precios
  • Testimonios de nuestros usuarios
  • Listados de funcionalidades con las características de nuestros plugins
Página de Nelio Content donde combinamos texto y vídeo
Página de Nelio Content donde combinamos texto y vídeo.

¿Podríamos crear todo esto en Gutenberg? Nosotros creíamos que sí, puesto que Gutenberg promete poder crear cosas así… pero había que probarlo.

Nuestro nuevo tema

Lo primero que hicimos para diseñar la nueva web fue crear un tema de cero. Para ello, decidimos partir del conocido starter theme underscores. Se trata de un tema que viene con las plantillas mínimas y necesarias para tener un tema de WordPress operativo, bien documentado y bien organizado.

Creación de un tema usando underscores
Creación del tema de Nelio Software para el año 2019 usando el starter theme «underscores».

Adaptando underscores

Todo tema WordPress tiene un conjunto de páginas que son comunes a toda instalación WordPress e independiente de qué contenidos acabes generando en tu web. Estoy hablando, por ejemplo, de la página del blog donde aparecen las últimas entrads, la página donde se ve una propia entrada, la página de error 404, la página de resultados de una búsqueda, etc. Pues bien, el primer paso para poder crear nuestro tema usando los bloques de WordPress consiste en adaptar underscores a nuestro propio estilo para que esas páginas se vean como queramos. Y eso fue lo que hicimos.

Si te fijas en la captura anterior, verás que descargamos el tema con la opción _sassify! activada, con lo que el tema se descarga con los estilos en formato SASS, organizados en múltiples ficheros y haciendo extremadamente sencilla su edición. Durante unas horas, estuvimos escribiendo código SASS y personalizando algunos detalles en functions.php para conseguir que el tema se viera como queríamos:

Captura de pantalla del blog con el tema del 2019.
Captura de pantalla del blog con el tema del 2019.

Los bloques como base

Una vez tenemos un tema inicial con el que nos sentimos cómodos (en nuestro caso, el tema que creamos a medida a partir del underscores, pero en tu caso podría ser perfectamente un tema que hayas encontrado en wordpress.org, un tema premium o incluso un tema también hecho a medida), es hora de maquetar todas nuestras páginas usando los bloques de WordPress.

Durante las próximas líneas, te voy a explicar los «retos» que había en nuestra página y cómo los hemos implementado con el editor de bloques.

Bloques por defecto

Los bloques que incluye WordPress por defecto son un poco limitados: párrafos, imágenes, galerías… y algún bloque de maquetación como columnas. De hecho, todos ellos parecen más enfocados a la creación de entradas de un blog que a la maquetación de páginas.

Pero no pasa nada.

No pasa nada porque, para empezar, toda web tiene páginas que parecen una entrada de blog: las páginas con asuntos legales, como por ejemplo nuestra página con información legal o nuestra política de privacidad y cookies. Si vas a ver cualquiera de esas páginas, verás que su maquetación es sencilla y encaja perfectamente bien con lo que Gutenberg nos da por defecto.

Pero tampoco pasa nada porque muchas de las páginas que tenemos maquetadas usan componentes lo suficientemente sencillos como para que Gutenberg pueda con ellos. Por ejemplo, un poco más arriba compartía contigo una imagen de una página de Nelio Content donde combinábamos texto e imagen/vídeo. Eso se puede hacer de forma súper sencilla con el bloque Medios y texto:

Combinar texto e imágenes en Gutengerg es muy sencillo
Combinar texto e imágenes en Gutengerg es muy sencillo.

Como ves, conseguimos un resultado muy parecido al punto de partida. Genial, ¿no crees?

Combinando bloques por defecto

El siguiente punto es hacer cosas un poco más complicadas como, por ejemplo, la lista de funcionalidades:

Ejemplo de un conjunto de funcionalidades
Ejemplo de un conjunto de funcionalidades en nuestra web.

Si te fijas, verás que cada una de las funcionalidades combina una imagen y un pequeño fragmento de texto descriptivo. Así que parece lógico pensar que cada una de ellas se implementará usando el mismo componente que antes, el Medios y texto. Pero, claro, aquí tenemos tres columnas… ¿conseguiremos el resultado añadiendo el bloque Columnas?

Ejemplo de funcionalidades usando un bloque de columnas
Combinamos un bloque de columnas con múltiples funcionalidades en cada columna.

Pues sí, casi sí que lo tenemos ahí. El problema es que en la captura original cada fila de funcionalidades estaba alineada correctamente y lo que nosotros acabamos de maquetar aparece en forma de escalera. Para solucionar este problema hay que ser un poco astuto y saber jugar con los bloques por defecto. Así, en lugar de añadir un único bloque columnas y cada columna con múltiples funcionalidades, vamos a crear n bloques de columnas y en cada bloque habrá una única funcionalidad por columna:

Alineación horizontal en columnas
Si quieres alinear horizontalmente los elementos en un bloque de columnas, la única solución es crear un bloque de columnas nuevo para cada fila.

¡Y ahora sí que lo tenemos bien!

Bloques por defecto con esteroides

Hay casos en los que el bloque por defecto no acaba de darnos el resultado que queremos. Si se trata de un problema con la apariencia, es probable que podamos solucionarlo por CSS, y la mejor parte es que el propio Gutenberg nos permite añadir clases a nuestros bloques para que se apliquen las reglas CSS que queramos.

Por ejemplo, si queremos que los bloques imagen puedan tener un sombreado, basta con definir la clase en nuestro CSS y añadirla al bloque usando la sección Avanzado:

Sombreando imágenes en Gutenberg
Sombreando imágenes en Gutenberg usando una clase CSS.

El problema que tiene esta solución es que estamos mezclando la interfaz de usuario con detalles de implementación (el nombre de una clase CSS). ¿Por qué narices debería yo saber que existe una clase llamada shadow para sombrear imágenes? Pues bien, también esto tiene una sencilla solución.

La interfaz de programación del editor de bloques de WordPress expone una función llamada registerBlockStyle que nos permite definir qué estilos extra aplican a un bloque. De esta forma, si hacemos algo tal que así:

registerBlockStyle( 'core/image', {
  name: 'image-with-shadow',
  label: __( 'Shadow', 'nelio' ),
} );

estaremos registrando un nuevo estilo para el bloque imagen (core/image) llamado Shadow que, cuando lo apliquemos, añadirá la clase has-style-image-with-shadow al bloque:

Estilos de bloque
Estilos de bloque en Gutenberg.

Bloques personalizados

Finalmente, para aquellos casos en los que te encuentres con algo que no puedas crear usando los bloques por defecto de WordPress, tienes la solución de crear tu propio bloque (o usar un bloque que haya creado otra parte). Nosotros implementamos esta solución en varios casos, como por ejemplo en la tabla de precios de Nelio Content y Nelio A/B Testing o en el mapa que aparece en la página de contacto (por cierto, ya te contamos cómo crear el bloque de mapas en esta otra entrada) y el resultado es impresionante:

Tabla de precios con un bloque personalizado de Gutenberg
Tabla de precios con un bloque personalizado de Gutenberg.

Pero si no sabes cómo o no quieres crear tus propios bloques, te dejo con algunos plugins que incluyen bloques adicionales para muchas cosas:

Nuestra experiencia

Hace un par de meses decidimos que había que renovar un poco nuestra web e implementarla usando Gutenberg. Nuestro objetivo era doble: por un lado, queríamos poner un poco al día la web y darle un aire más fresco. Por otro, queríamos aprender más sobre Gutenberg, tanto a nivel de usuario como a nivel desarrollador. Al final, hemos conseguido migrar toda la web a Gutenberg y el resultado ha sido un éxito absoluto. Te animamos a que tú también lo hagas y, si tienes cualquier duda, no dudes en dejarla en los comentarios.

Por cierto, la entrada de hoy estaba inspirada en la charla que di en WordCamp Lisboa 2019. Te dejo con las transparencias aquí:

Imagen destacada de Samuel Zeller en Unsplash.

FlojaNo está malBienMuy bien¡Impecable! (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

He leído y acepto la Política de privacidad de Nelio Software

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.