Categorías
Nuestros Proyectos WordPress

WordPress para grandes proyectos: Escalabilidad

En SI2 usamos WordPress como framework para proyectos bastante “más grandes” que un blog personal o una pequeña página de presentación corporativa, desarrollando funcionalidad a medida, integrándonos con sistemas externos mediante webservices, o con otros componentes de una plataforma mayor que forme parte del proyecto: por ejemplo, consumiendo e insertando información con plataformas móviles iOS y Android desarroladas por nosotros mismos, o por terceros.

Cuando trabajamos en este tipo de proyectos a veces aparecen las preguntas casi inevitables: ¿Qué tal escala WordPress? ¿Cómo se porta cuando hay muchos datos y/o muchos usuarios? ¿Podremos crecer? ¿Me puedes dar referencias de sitios “muy grandes” hechos con WordPress? ¿No es WordPress el mejor para “sitios pequeños”?

En realidad, nosotros pensamos que las preguntas no son del todo correctas, ya que se mezcla el CMS (donde WP puede tener la culpa o la virtud, nosotros pensamos que lo segundo) con otros aspectos como son:

El front-end

“Es que necesitamos un sitio que no parezca un blog”. ¡No hay problema! Si el proyecto lo requiere (y tiene presupuesto, éste es otro asunto), nosotros diseñamos desde 0, “en papel” (o partimos de tu diseño o el de tu equipo), maquetamos en HTML5+CSS3, validamos, y después es cuando construimos el theme de WordPress. Es decir, tenemos unos ficheros estáticos html que podremos “convertir” en un WP, en un Drupal, en un Joomla… Da igual. Bueno, no da igual, nosotros preferimos WordPress, porque conocemos bien su interior (y nos encanta casi todo), y además es más sencillo (gastas menos horas, gastas menos dinero).

El modelo de datos

WP no es solo posts y pages, desde hace ya bastante tiempo. Podemos definir “entidades” (Custom Post Types), que contengan los campos que queramos (Custom Fields), categorizadas de la forma que queramos (Taxonomies); incluso relacionarlas entre ellas, estableciendo jerarquías (esta entidad es hija de esta otra), o relaciones (ésta entidad sigue a ésta otra, y a su vez es seguida por ella). Todo esto es posible.

La administración

Dudamos que haya un CMS libre con tal relación de potencia y facilidad de uso en su backend… Pero es que, llegado el caso, si necesitamos por ejemplo definir algún flujo de trabajo para publicación, o un panel de usuario (distinto del admin estandar de WP), ¿qué nos impide desarrollar una pequeña área privada en el front, y programar esto a medida? Hacer este tipo de cosas es realmente fácil (si sabes cómo, si tienes claros los conceptos). Cogemos de WordPress todo lo que nos da, pero nada impide extenderlo con desarrollo propio, el límite está en la necesidad.

La escalabilidad

Ahora sí, ya hemos construido un gran proyecto que se prevé tenga un uso masivo en el futuro y que, por tanto tenga esta “propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos” (Wikipedia). ¿Es WordPress escalable? Yo preguntaría: ¿lo son los demás? 😉 Seguramente las respuestas serían muy similares con cualquier CMS robusto:

  • Distribuir la infraestructura (por ejemplo, separar la base de datos en otro(s) servidor(es): https://wordpress.org/plugins/hyperdb/)
  • Usar sistemas de cache, CDN’s,…
  • Utilizar Nginx en lugar de Apache (sumado a sistemas de caché optimiza muchísimo el rendimiento, el coste de servir una página).

WordPress tiene soporte nativo y gracias a unos plugins de su fantástica comunidad para dar respuesta a muchas medidas que optimizarán y permitirán su uso por un alto número de usuarios concurrentes. Evidentemente, no al coste de un pequeño sitio web personal, pero probablemente con un coste en infraestructura por usuario mucho menor que un Open CMS, por poner un ejemplo.

Javier Casares y Ernesto Gámez entran algo más en detalle en este pdf de la meetup de mayo 2014 de WP Barcelona, es muy interesante su lectura (algunos de los datos de este artículo vienen de ahí, precísamente).

Usan WordPress sitios como:

Estos sitios reciben cientos de miles de visitas mensuales.

WordPress no es solo para Blogs

Aunque no parece haber mucha duda de que es el mejor CMS para construir sitios relacionados con noticias, se pueden ver ejemplos en los que se utiliza WordPress de forma inteligente para construir sitios web de muy diferentes características:

Algunos datos globales

Hay una tendencia clara en el mercado de los CMS. A día de hoy, WP se usa en más del 60% de los sitios que usan un CMS estándar, Drupal está en el tercer puesto, por debajo de Joomla, con un poco más del 5%).

Si bien se trata de cifras globales, donde hay sitios “pequeños” y “grandes”, esto da una idea de la experiencia acumulada. Si algo puede suceder, ya ha ocurido en WP, y muy probablemente estará documentado.