La popularidad de Drupal ha ido creciendo rápidamente en los últimos años yendo a la zaga de Wordpress, y ha generado una gran comunidad de Editores y Desarrolladores alrededor de esta plataforma.

El principal motivo es que en comparación con otros CMSs, Drupal ofrece a sus usuarios una gran facilidad y potencia a la hora de desarrollar un website en los principales aspectos de edición de contenidos, construcción visual del website en base a multitud de módulos contribuidos, y para los más avanzados la posibilidades de Desarrollos basados en su API de programación.

Drupal es un software Opensource (de código abierto) basado en el lenguaje de programación PHP y no depende de ninguna plataforma, es decir, puede ser ejecutado en cualquier servicio de hosting (o en tu máquina local) con cualquier sistema operativo (Linux o Windows).

En el desarrollo de este Insight daremos una visión introductoria para el Editor de Contenidos sobre los aspectos más importantes en las facilidades para la definición y creación de contenidos, hasta el consejo sobre una serie de módulos que van a potenciar aspectos fundamentales como el posicionamiento en buscadores, analítica y accesibilidad web.

 

Modular, extensible y sencillo

Drupal es un software altamente personalizable ya que puede ser extendido combinando ciento de módulos integrables. Los módulos se pueden descargar de forma gratuita y se clasifican en diferentes áreas.

Aquí puedes encontrar el listado oficial con más de 45.000 módulos contribuidos, donde vamos a poder encontrar una solución prácticamente para cualquier funcionalidad que vayas a necesitar para desarrollar tu website.

Al instalar Drupal nos encontramos diferentes perfiles de instalación que han sido adecuados a diferentes sectores y ámbitos de aplicación ofreciendo así módulos adecuados a ellos.

1
Modular, extensible y sencillo

Tipos de contenido

En el momento en el que vamos a crear contenidos en Drupal, nos encontramos con dos tipos de contenidos habilitados por defecto y que podemos encontrar en el apartado Estructura -> Tipos de contenido:

  • Páginas básicas
  • Artículos

Además, Drupal también trae instalados por defecto pero deshabilitados los siguientes tipos de contenido:

  • Entradas de blog: Genera entradas individuales en un blog.
  • Tema del foro: Permite crear nuevos temas de discusión en foros mientras los usuarios pueden responder a estos temas a través de comentarios.
  • Página de libro: Cada página de libro está preparada para ser parte de un libro colaborativo organizado por entradas relacionadas entre si.
  • Encuesta: Es una pregunta con una serie de posibles respuestas.

Como uno de los puntos fuertes de Drupal es su extensibilidad, en este ámbito nos ofrece una forma visual de crear nuevos tipos de contenidos, sin tener que codificar ni una sola linea. Estos nuevos tipos de contenidos pueden ser creados de forma sencilla, compuestos por campos de tipo, texto, imágenes, videos, listados, referencias, etc.

Creación de Contenidos

Anteriormente hemos comentado cuales son los tipos de contenido habilitados por defecto, y en este punto vamos a ver lo sencillo que resulta la creación y gestión de nuevos contenidos. Para agregar contenido deberemos ir a: Contenido à Agregar contenido y elegir Articulo o Página básica.

Si por ejemplo elegimos agregar Artículo, se nos abrirá una nueva ventana con los campos de Titulo, etiquetas, contenido, formato de texto, imágenes y propiedades del articulo. Siendo el titulo el único obligatorio para poder publicar nuestro artículo.

  • Titulo: Es el nombre que llevará nuestro artículo y se mostrará diferenciado del resto de elementos.
  • Etiquetas (taxonomías): Estas nos permitirán clasificar, relacionar y ordenar el contenido de nuestra web pudiendo hacer clic en ellas y ver todo el contenido relacionado bajo las mismas.
  • Contenido: Será el contenido principal del artículo que estamos creando. Se puede crear el contenido de una forma visual, utilizando una solución WYSIWYG, o si tienes un mayor conocimiento de HTML, entrar en la vista de edición de código. Dentro tenemos la opción de Editar resumen sobre la cual podremos poner un pequeño fragmento sobre el contenido que aparecerá como información preliminar de nuestro artículo en la portada.
  • Formato de texto: En el indicamos el tratamiento que hará del contenido Drupal. Permite introducir determinadas etiquetas HTML.

Además, tanto en estos artículos como en cualquier otro tipo de contenido, de forma general vamos a disponer de un conjunto de  opciones de menú que ofrecen varias opciones para ayudarnos a gestionar dentro del site mejor nuestro artículo, incluso a mejorar su posicionamiento SEO.

  • Opciones de menú. Dentro de las opciones de menú podemos encontrarnos las siguientes opciones:
    • ​Título del enlace del menú: Es el texto sobre el que el usuario hará clic para acceder a la página.
    • Descripción: Es el texto que aparecerá si un usuario coloca el ratón por encima de este.
    • Elemento Padre: Se puede elegir el elemento principal dónde se colocará el enlace.
    • Peso: A través de este elegiremos el orden en el que queremos que aparezca este enlace.
  • Información de la revisión: Aquí se introduce la explicación sobre los cambios que se han realizado y quien los ha llevado a cabo. ​
  • Opciones de ruta URL: Con esta opción podemos especificar un alias personalizado de URL, que sea favorable a su funcionamiento SEO.
  • Opciones de comentarios: Con esta opción podemos elegir si queremos que se realicen comentarios o si por el contrario queremos cerrar esta opción para que nadie pueda comentar nuestra publicación.
  • Información de autoría: En esta sección podemos añadir quien es la persona o personas que escribieron este artículo.
  • Opciones de publicación. Podemos elegir entre:
    • ​Publicado: La página estará activa y ser mostrara en la web.
    • Promovido a la portada: Al activar esta opción, pondremos la publicación en la primera página de nuestra web.
    • Fijo al comienzo de las listas: Si esta página aparece en cualquier lugar dentro de su sitio con otras páginas en un formato tipo lista, esta aparecerá en la parte superior de las mismas.
Layout Builder, confecciona contenidos como en WP.

Layout Builder, confecciona contenidos como en WP.

El sistema de Layout Builder que ofrece Drupal 8 en su core, es un potente modelo visual para poder componer fácilmente los elementos de las páginas (bien sea de forma general sobre un determinado tipo de contenido, o bien sobre páginas concretas), en base a la reutilización de bloques de librería o bien de la creación de nuevos contenidos de bloque.

Una vez se establece el sistema de layout y bloques por defecto en cada uno de los tipos de contenidos, cuando estos son instanciados en nodos de contenidos, también pueden ser configurados con el Layout Builder UI, para modificar el sistema de secciones y columnas (en los porcentajes que se determine), así como en los bloques propiamente dichos que se asignan a los huecos.

Los bloques de contenidos que se ubican en el sistema de huecos, podrán ser:

  • Bloques personalizados creados por el usuario Editor, bien sean básicos de título+código html, o bloques más complejos y configurables a través de un conjunto de campos que se asemejan en concepto a lo que pueda ser el enfoque de Paragraphs.
  • Bloques producidos en Views, para mostrar información dinámica basada en los contenidos del sistema. Identificamos algunos layouts a resolver de esta forma dependiente del contexto, y no se necesitará más gestión. De esta forma se estructura, centraliza y unifica la gestión de la información.
  • Bloques que incluyen elementos Paragraph (veremos la potencia de Paragraph en un siguiente Insight), que nos dan toda la potencia de definir contenidos estructurados fuera de los Content Types para incluir bloques informacionales. 
  • Bloques predefinidos con informaciones diversas del sistema Drupal (formularios de contacto, de búsqueda, info de usuarios, comentarios, campos del propio tipo de contenido,…).

Sobre la base funcional que ofrece Layout Builder, se pueden aplicar una serie de módulos contribuidos (inclusión de Paragraphs, permisos sobre secciones o bloques en base al rol, empleo de ventanas modales, uso de Tabs interesantes para ficha de tipos de contenido, estilo, etc) que nos permiten extender dicho funcionamiento, facilitando y potenciando ciertos aspectos necesarios del sistema.

Algunas facilidades para mejorar el Posicionamiento en Buscadores (SEO) de nuestros contenidos.

Hoy en día, aspectos como la presencia en RRSS y el posicionamiento en Buscadores, son cuestiones básicas en los planteamientos de cualquier site que ofrece sus contenidos al público general.

Para conseguir un buen posicionamiento orgánico en los resultados de búsqueda de Google (y otros buscadores), se requiere considerar un conjunto variado de factores y buenas prácticas onpage: marcado html, tiempos de carga, enlaces entrantes, etc.

En este ámbito, en plataforma Drupal nos ayuda en 4 aspectos fundamentales para conseguir nuestros objetivos de posicionamiento:

  • La facilidad de poder producir el código HTML con la estructura necesaria para dar a los keywords y contenidos la semántica buscada.
  • Plugins adicionales al core y plantillaje, como puedan ser AMP, SEO Checklist (compilación de puntos de chequeo), Metatag (para gestionar urls canónicas y facilitar la incorporación de metainformación de forma general o particularizada en cada contenido, o Pathauto (para las urls amigables). Y para una correcta indexación de nuestros contenidos emplearemos las configuraciones del Sitemap.xml (XML Sitemap ) y del Robot.txt.
  • Velocidad de carga de los contenidos, donde en un sites con un mayor volumen de consultas consistente en usuarios anónimos, podemos aplicar políticas muy agresivas de cacheo de página tanto en la parte de Drupal, como en la parte de navegador de usuario. Para conseguir este objetivo, también aplicaremos plugins especializados como puedan ser Image Resize Filter, o con un mayor conocimiento en configuraciones de Drupal o servidor Apache/Nginx. Estos plugins nos permitirán controlar entre otros los aspectos de Caches de browser, Minificaciones de ficheros, Optimizadores automáticos de imágenes, Compresión gzip en las comunicaciones
  • Cuando se trata de una migración entre un site antiguo y un nuevo site, es muy importante el establecer una correcta política de redireccionamiento entre las antiguas páginas y las nuevas urls, para transferir a las nuevas el reconocimiento que tiene Google sobre las antiguas. Para esto también nos podemos apoyar en módulos contribuidos como Redirect, o bien con un mayor conocimiento implementarlo a nivel de Apache o .htaccess.

Analítica Web, medir bien para conocer que tal está funcionando nuestro website en Drupal

Algunos módulos contribuidos en Drupal nos ayudan a tener una visión del detalle más amplio de las visitas que recibimos, y de qué contenidos son los más consultados en nuestra web.

GoogleTagManager, nos permite insertar y gestionar de forma sencilla diversos aspectos sobre el código de Google Tag Manager en todas las páginas del site.

Con el anterior módulo ya nos ofrece una funcionalidad suficiente para hacer el tracking y explotar los datos directamente sobre los servicios de Analítica de Datos de Google. Pero si además queremos dichas estadísticas integradas en nuestro site Drupal, con módulos contribuidos como Google AnalyticsGoogle Analytics Reports nos muestra una página básica de visión de métricas en la que podemos ver además, elementos individualizados que podemos añadir o eliminar para obtener otras analíticas más concretas.

2
Analítica Web, medir bien para conocer que tal está funcionando nuestro website en Drupal

Otras ayudas de Drupal para conseguir Contenidos Web Accesibles.

En gran medida (como el posicionamiento SEO) la accesibilidad web del sistema final depende tanto de la facilidad de customización de las plantillas (tanto en presentación como en funcionalidad javascript), como de la meta-información que se le da a los elementos de la página.

En Drupal 8 se puede conseguir unas altas cotas de accesibilidad adecuadas a lo exigido por ley, pero no ofrece una solución outofthebox que resuelva este aspecto completamente, aunque si sobre determinados aspectos (estructuración y corrección de código, descripciones alternativas, etc). Es por tanto una cuestión que depende más del conocimiento del integrador y de cómo customice y extienda la plataforma Drupal, que de la propia plataforma en sí.

Pero como en todo, Drupal ofrece una serie de facilidades en forma de módulos contribuidos, que nos van a ayudar a mejorar la accesibilidad de nuestro contenido. Algunos de estos módulos:

  • Módulo de texto alt automático: Este módulo genera un texto alternativo automáticamente para las imágenes cuando el usuario no lo ha proporcionado. Este modulo funciona muy bien en sitios web donde el contenido es generado por usuarios y donde pueden no ser conscientes del propósito de mantener la accesibilidad en orden.
  • Block ARIA Landmark Roles: Añade elementos adicionales a los formularios de configuración de bloques que permiten a los usuarios añadir un rol o etiqueta ARIA a un bloque.
  • Módulo CKEditor Accesibility Checker: Permite inspeccionar el nivel de accesibilidad del contenido generado y resolver cualquier problema relacionado con esta de forma inmediata.
  • Módulo Hight Contrast: Permite al usuario cambiar entre el tema activo y uno de alto contraste para comprobar que la paleta de colores utilizada es correcta.