Curso de WooCommerce: Crea tu tienda online desde cero

Los próximos días 11,13, 18 y 20 de este mes de octubre estaré impartiendo el curso de WooCommerce: Crea tu tienda online desde cero en la escuela de IEM Business School.

WooCommerce es la principal plataforma de comercio electrónico, tanto a nivel nacional como internacional. Más del 39% de las tiendas online están realizadas con este software que, como complemento a WordPress, nos permite establecer nuestro negocio online de forma rápida y económica.

Uso de WooCommerce

El programa del curso es muy completo, durante las 16 horas del mismo veremos aspectos como la instalación de WooCommerce para montar nuestra tienda, la gestión de métodos de envío o de las diferentes plataformas para pago online, hasta aspectos legales a tener en cuenta en la implantanción.

Todo el detalle del curso está en la web de IEM BS y la sección de contacto para más información.

Contenido del programa:

  1. INTRODUCCIÓN
  2. VISIÓN GENERAL
  3. REQUISITOS E INSTALACIÓN
  4. CONFIGURACIÓN
  5. CREACIÓN Y GESTIÓN DE CATEGORIAS DE PRODUCTOS Y ETIQUETAS
  6. CREACIÓN Y GESTIÓN DE PRODUCTOS
  7. CREACIÓN Y GESTIÓN DE MÉTODOS DE ENVÍO
  8. DEFINICIÓN DE TIPOS DE IMPUESTOS
  9. GESTIÓN DE MÉTODOS DE PAGO
  10. GESTIÓN DE PEDIDOS
  11. APARIENCIA DE LA TIENDA ONLINE
  12. CUESTIONES LEGALES
  13. AMPLIANDO FUNCIONALIDADES DE WOOCOMMERCE

WordPress 140% más rápido con PHP 7: un caso real

La nueva versión 7 de PHP es un gran salto en cuanto a optimización y rendimiento del lenguaje. Su aparición supone llevar a PHP a niveles de velocidad y rendimiento que antes sólo se podían conseguir con HHVM de Facebook.

Por eso ha generado tanto interés y se ha escrito tanto de las mejoras sobre versiones anteriores.

WordPress lleva más de 9 meses preparándose para PHP 7 y desde la versión 4.3 se eliminaron del core las incompatibilidades que se arrastraban de PHP4. Hace tiempo que también se integró la versión 7 de PHP en los tests automatizados que se realizan continuamente del core.

Para las últimas charlas de WPO que he dado en los meetup de Valencia y Alicante había hecho bastantes pruebas y pudimos comprobar en persona las mejoras importantes en la velocidad de generación de páginas con las preview de PHP 7 en instalaciones simples de ejemplo (core y pocos plugins). Pero una cosa son este tipo de pruebas y otra un proyecto en producción. El core está preparado para funcionar perfectamente con PHP 7 pero muchos de los plugins o themes desarrollados por terceros nos pueden dar problemas si no han sido probados a fondo.

Así que desde el lanzamiento de la versión definitiva de PHP 7 el pasado 3 de diciembre llevamos un par de semanas probando en nuestro entorno de desarrollo con algunos de los sitios web que gestionamos en Blogestudio.

Nos  hemos encontrado con varios problemas, desde que la extensión oficial de memcache no funciona (hay que compilar una versión modificada disponible en github) hasta diferentes plugins que no han sido actualizados y tienen problemas de compatibilidades que hay que arreglar. Pero en todos los casos hemos conseguido realizar las modificaciones necesarias para que funcione.

Con las modificaciones realizadas para que funcionaran correctamente solo nos quedaba empezar a probar en un entorno real con el primer sitio. Elegimos Gastronomiaycia.com como web con bastante tráfico (más de 5 millones de páginas vistas) en el que realizar las primeras pruebas. Al estar con una arquitectura cloud balanceada entre diversos frontales montando por NFS todo el código y ficheros nos permitió levantar fácilmente un frontal adicional al que sólo accedían los editores para realizar sus tareas habituales de publicación, moderación de comentarios, etc. y de esa forma podríamos darnos cuenta de fallos adicionales en un entorno real sin molestar a los usuarios finales.

Tras casi una semana con ese escenario y sin encontrar grandes problemas decidimos hace un par de días actualizar a PHP 7 el resto de frontales y pasar a probar el rendimiento real con toda la carga de usuarios.

El resultado está siendo muy bueno, no hemos tenido ningún problema de estabilidad, se están consiguiendo mejoras en cuanto a velocidad en generación de páginas muy importantes y estamos teniendo un consumo de CPU mucho más bajo.

Mejoras de velocidad

Impresionante: un 140% de mejora sobre la anterior versión 5.6.16 que usábamos.

reqs php7

Este gráfico muestra los requests per second de una de las instancias cloud tipo que utilizamos en StackScale como frontales web. Son instancias no muy grandes, con 2 cores y 2 GB de ram. En estas pruebas no se ha utilizado ningún sistema de cache de objetos o de página en WordPress. Tampoco está activo query cache de MySQL. El único cache que se ha utilizado es el de ficheros PHP (opcache)

  • PHP7 con opcache: 36.46 reqs/second
  • PHP7 sin opcache: 8.99 reqs/second
  • PHP5 con opcache: 14.89 reqs/second
  • PHP5 sin opcache: 5.65 reqs/second

O lo que es lo mismo, sin cambiar de servidor podemos servir más del doble de visitas generando las páginas en la mitad de tiempo.

Carga en entorno real.

Si lo de la velocidad de generación de páginas era impresionante, la reducción en el consumo de CPU es alucinante :-)

Aquí se puede ver la reducción en los 2 últimos días, pasando de picos del 42% al 21% aproximadamente.

Consumo de CPU del frontal web (2 cores y 2 GB de ram)

consumo_cpu

Load average del frontal web (2 cores y 2 GB de ram)

load_average

Con lo que si quieres ganar en velocidad y mejorar el rendimiento de tu web te tendrás que ir planteando la posible migración a PHP7.

Nota1: Este blog también está en PHP7

Nota2: La imagen de la cabecera es de Built in Los Angeles

WordPress: 55 millones

Según las stats de WordPress.com se acaba de llegar a los 55 millones de sitios con WordPress.

y algunos números más:

  • Se alcanzaron los 50 millones el 10 de julio del año pasado
  • 410 días desde entonces
  • 12.195 blogs por día
  • Incrementa 2 puntos en un año hasta conseguir el 16,7% de webs en el mundo que usan WordPress como CMS

Gráfico de uso de sistemas CMS

¡Enhorabuena!

Compresión html en el servidor web con nginx

A raíz de una publicación en Google+ de Ricardo Galli donde comenta el coste del ancho de banda mensual que tiene menéame en los servidores con Amazon Web Services, me ha parecido interesante mostrar la experiencia con las estadísticas de rastreo ofrecidas por Google Webmaster Tools de un sitio web que hemos pasado a administrar hace poco en Blogestudio.

Como siempre activamos la compresión desde el inicio en los proyectos que realizamos, no había visto la comparativa de forma gráfica que ofrece el propio Google.

Administramos este sitio desde hace poco más de 2 semanas y tenemos acceso al histórico de las estadísticas de rastreo, a continuación se puede ver la drástica reducción en el consumo de ancho de banda necesario por google para su indexación desde que activamos la compresión en el servidor web nginx.

Supongo que también tendrá algún efecto positivo en el posicionamiento web, pero eso ya lo veremos :-)

Kilobytes descargados al día por Google:

kilobytes descargados al día

Ricardo comenta que estarían pagando 3 veces más en menéame. En el gráfico se puede observar que el consumo en este caso es de 5 ó 6 veces inferior desde hace 2 semanas.

Activar la compresión en el lado del servidor puede suponer un importante ahorro en costes si pagas de forma variable por el consumo de ancho de banda como es el caso de Amazon EC2.

La configuración para Nginx la comparte Ricardo también en su post:

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_comp_level 4;
gzip_proxied any;
gzip_min_length 512;
gzip_http_version 1.0;
gzip_vary on;
gzip_types text/css text/xml application/x-javascript application/atom+xml
text/plain application/json application/xml+rss text/javascript;

Y para blogs en WordPress con sistema de cache en disco (wp-supercache o W3 total cache) podemos añadir la siguiente línea que antes de comprimir cada solicitud buscará si existe un archivo comprimido terminado en .gz en el disco duro del servidor :

gzip_static on;

Son varias las ventajas de comprimir en servidor, desde reducción del gasto en ancho de banda si es un coste variable como el caso de Amazon, un menor tiempo de descarga por parte de los usuarios o la reducción de tiempo y recursos que le hacen falta a los buscadores para indexar el sitio. A ver si tienen en cuenta que miramos por sus recursos ;-)

Oferta de trabajo para hackers en las cabeceras HTTP de WordPress.com

Aunque parece que ya lleva algo de tiempo el mensaje en las cabeceras http de WordPress.com, ha sido hoy cuando me lo he encontrado yo y me ha parecido una forma muy original de ofrecer trabajo.

Me he acordado de la oferta en la que se buscaba un SEO en el fichero robots.txt de un sitio web. En esta ocasión los amigos de Automattic buscan perfiles técnicos con un mensaje en la cabecera X-hacker.

Estaba mirando la versión del servidor web que usan en WordPress.com y me encuentro con una oferta de trabajo ;-)

[fserer@desktop conf.d]# curl -I http://wordpress.com
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 04 Feb 2011 09:08:42 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Last-Modified: Fri, 04 Feb 2011 09:04:14 +0000
Cache-Control: max-age=32, must-revalidate
Vary: Cookie
X-hacker: If you're reading this, you should visit automattic.com/jobs and apply
to join the fun, mention this header.
X-Pingback: http://wordpress.com/xmlrpc.php
Link: ; rel=shortlink
X-nananana: Batcache

Original, como mínimo.