Mejoras y novedades. ¡La web es ahora muy rápida!

Bueno, tras un escueto resumen de las mejoras que habíamos hecho, traigo otras más, además de una explicación completa del trabajo realizado.

 

Reducción de Plugins (complementos)

Había demasiados complementos en la web, aprovechando nuevas características de WordPress hemos podido eliminar una parte. Hay que comprender que cada complemento es un extra de trabajo que se le pide a la página, pues no solo tiene que cargar la información, sino que tras ello, debe procesar todas las peticiones que le hagan los complementos. Por ejemplo, añadir el botón para imprimir los artículos, añadir los vídeos de YouTube, y muchísimos otros que ahora no voy a enumerar.

Así, hemos pasado de tener más de 25 complementos (plugins) a tener exactamente 16, la mayoría de los cuales solo actúan por petición del usuario y están casi siempre desactivados.

 

Uso de CDN

 

Explicamos lo que es un CDN con más detalle al final del artículo.

Por otro lado, y esta es la mejora más importante, ahora hacemos uso de 2 CDN. Un CDN (Content Delivery Network) es una red de varios centros de datos, situados alrededor del mundo, que ante una petición (por ejemplo, cuando entramos a la página hacemos una petición al servidor, le pedimos que nos envíe la página) seleccionan el servidor más próximo a ti, y el que esté menos saturado, permitiendo así una velocidad muchísimo mayor.

Concretamente, hacemos uso de CloudFlare y de Photon, este último perteneciente al pack Jetpack de WordPress.

Centros de datos de CloudFlare
Centros de datos de CloudFlare

Diversas herramientas de Caché

 

La manera general de funcionamiento de la web es la siguiente. Entramos en la web, y después:

  1. El servidor recibe nuestra petición
  2. Procesa la petición y busca qué contenido debe mostrar
  3. Obtiene el contenido de la base de datos
  4. Procesa este contenido
  5. Con la información recibida, nos genera el documento que nos va a mostrar
  6. Nos envía el documento

Utilizando el Plugin «W3 Total Cache», la web nos almacena el documento generado para servirlo al próximo visitante, reduciendo este proceso a:

  • El servidor recibe nuestra petición
  • Busca si hay una copia almacenada, si es así, nos la envía

En caso de que no exista esa copia, se lleva a cabo el primer proceso, y una vez se haya acabado, se almacenará el documento resultante para reducir el tiempo de carga posteriormente.

La reducción de tiempo es considerable, pues no es lo mismo tener que consultar al servidor, generar la página y enviarla que tener el documento ya generado y únicamente tener que enviarlo.

Además, este plugin hace uso de muchos otros tipos de caché, tales como el caché en el navegador del usuario, caché de solicitudes y otros más que se escapan del ámbito de este artículo.

También vale la pena mencionar que este plugin interactúa directamente con CloudFlare, almacenando partes del contenido en sus servidores.

 

Resumen: Velocidad

 

Si evitamos que el servidor tenga que procesar cada vez que se solicita una página, además, subimos una gran parte del contenido de las mismas a dos servicios con muy rápidos, obtenemos velocidad.

La web funciona mucho más rápido.

 

Además, ahora utilizamos Smush.it para comprimir las imágenes que se suben a la web, y hemos comprimido todas las que ya habían, reduciendo su tamaño y, consiguientemente, el tiempo de transferencia de las mismas.

Actualizaciones de software y Plugins

Además de haber eliminado una gran parte de los Plugins que no usábamos, hemos reemplazado algunos por otros más rápidos y modernos, así como unido varios en uno solo. Por ejemplo, en vez de tener uno que se encargue de los vídeos de YouTube y otro que se encargue de los formularios de contactos, hemos optado por utilizar WordPress JetPack que en uno solo incluye varias utilidades de este tipo.

También hemos actualizado el software de la web a una versión más moderna, segura y veloz.

 

Optimización de la base de datos

 

WordPress (el sistema que empleamos), como cualquier software, genera datos temporales, registros de transacciones, etcétera, que van llenando la base de datos, haciendo su lectura cada vez más costosa y lenta.

Hemos optado por emplear una herramienta que una vez a la semana limpia la base de datos y optimiza su estructura, aumentando considerablemente su velocidad, y evitando así largos tiempos de espera.

También realizaremos mensualmente una limpieza de la base de datos de manera manual, por si el sistema automático falla por cualquier motivo.

 

Medidores de rendimiento

 

Actualmente la página web es sondeada cada 5 minutos por la herramienta web Pingdom para medir su tiempo de respuesta, si hay problemas, etcétera. En caso de que los haya, se nos notificará automáticamente para proceder lo más rápido posible y tratar de volver a un funcionamiento óptimo cuanto antes.

 

Siempre On-Line

Entre las numerosas ventajas que provee CloudFlare, destaca su sistema Always Online. Cada cierto tiempo, almacena una copia íntegra de la web. En caso de que el servidor falle, nos notificará, pero siempre se podrá seguir navegando e interactuando con la página. Lo que CloudFlare hace es almacenar esa copia que realiza periódicamente (de manera frecuente) y, cuando detecte que hay algún error, nos proporcionará esa copia, de manera que podemos seguir accediendo como si nada hubiese ocurrido.

Nota: Si bien se podrá acceder para leer el contenido, no se podrá iniciar sesión, comentar o subir artículos. De todas formas, el tiempo en el que la web debería permanecer en este estado es breve, el suficiente para que podamos solucionar los errores.

 

Seguridad

 

Al utilizar la (gran) red de CloudFlare, en caso de que haya un ataque de denegación de servicios (DDoS), se nos notificará y se tratará de detener dicho ataque. El servicio de CloudFlare provee, entre muchas otras, herramientas para detectar si las solicitudes son malignas o si son visitantes normales, decidiendo así si se le permite continuar a la web o se les detiene.

bcheck

Este sistema provee, además, con protección de muchos otros tipos de ataque, detectándolos y denegando inmediatamente el acceso a la página.

De la misma manera, si cree que un usuario está realizando demasiadas solicitudes al servidor, se le mostrará una prueba para comprobar que no es un robot (un Captcha).

 

Asegurar la integridad de la web

 

Pese a utilizar pruebas para evitar robots (como el Captcha que se ve arriba), sigue habiendo registros basura. Hay personas que rellenan esos Captchas con el fin de conseguir publicar publicidad en otros sitios. Nosotros, como cualquier otra web, sufrimos de ello. Además, observamos también intentos alrededor de diversos lugares de iniciar sesión con el usuario Administrator (que no existe).

Hasta ahora, además del Captcha, el registro tenía que ser aprobado por un administrador. Con respecto al segundo problema, cuando el servidor detecta varios intentos de iniciar sesión incorrectos, bloquea al usuario por su IP durante un cierto periodo de tiempo, tras 5 de estos bloqueos, el periodo aumentaba a 24 horas.
Actualmente, hemos aumentado ese último periodo a 72 horas, pero hemos integrado más servicios. CloudFlare detecta focos de spam y publicidad y los bloquea, evitando que lleguen ni siquiera a la web.
Además, todas las webs sufren de un problema. El Hotlinking, que no es otra cosa que el término técnico con el que se denomina cuando desde otra página insertan una imagen sacada de esta web. Es decir, en vez de descargar la imagen y subirla a sus servidores, copian la dirección y la insertan. Con CloudFlare esto se bloquea, si se intenta, se obtendrá una imagen en blanco. Así, ahorramos recursos del servidor, que podremos utilizar para aumentar la velocidad de la página.

 

En breve incorporaremos, además, una política de privacidad para que puedas saber qué se hace con tus datos en todo momento.

Estadísticas

Ahora empleamos tanto las estadísticas provistas de CloudFlare como Google Analytics, que nos permiten contar de manera muy precisa el número de visitantes en cada momento, así como las estadísticas por días, semanas, meses o años. De la misma manera, nos permite conocer el navegador de los usuarios y otros datos anónimos (la privacidad siempre se mantiene) con los que podremos mejorar los servicios y dirigirlos más hacia el público que nos lee.

Las estadísticas de CloudFlare también proporcionan el nivel de carga del servidor, así como las solicitudes que le han realizado, si ha habido algún intento de ataque, etcétera.

Estadísticas CloudFlare
Estadísticas de Google

Twitter

 

Ahora cada vez que se sube un artículo a la web, se enviará un Tweet desde nuestra cuenta, @noentraexamen con el título del artículo y el enlace para leerlo.

¡Síguenos en twitter (https://twitter.com/noentraexamen)!

 

Foto de perfil

 

Hasta ahora, para establecer una foto en tu perfil, debías crear una cuenta en Gravatar con tu correo electrónico, de donde estonoentraenelexamen obtendría tu foto. Ahora, puedes subirla directamente a la web, sin necesidad de registrarte en ningún otro servicio. Simplemente accede a tu perfil (haciendo clic en la parte superior derecha, donde pone Hola, y tu nombre), y desde ahí podrás seleccionar la foto. Puedes subir una foto de tu ordenador, o seleccionar una de las muchas que ya se han ido subiendo para los diversos artículos a la web.

Si ya tenías una foto configurada en Gravatar, no te preocupes, seguimos usándolo. Simplemente te damos la opción de subir tu foto a esta web sin tener que registrarte en otro sitio, pero si prefieres seguir con Gravatar, no hace falta que cambies nada.

Perfil

(Haz clic para sobre la foto para verla a tamaño completo)

Traducciones

 

Hasta ahora, algunas pequeñas partes de la web se veían en inglés, como los mensajes privados. Ya está todo traducido al español. Aun así, podemos haber olvidado algo. Si notas que algo no está traducido o falla, por favor, contacta con nosotros en la pestaña Contacto (haz clic aquí)

¿Y qué es un CDN?

 

Un CDN o Content Delivery Network, traducido al español como Red de entrega de contenidos, es una red de muchos servidores en los cuales almacenamos información. Se selecciona el que esté más cerca geográficamente al usuario, así como el que tenga menos carga de trabajo.

Esta imagen explica cómo es el proceso sin CDN (izquierda) y cómo es con CDN (derecha):

 

Utilizamos tanto CloudFlare como WordPress Photon. Cuando un visitante entra, se le solicita la información, pasando primero por CloudFlare. Para esto, hemos tenido que cambiar los servidores DNS (Domain Name Service, el encargado de convertir estonoentraenelexamen.com en su dirección real de internet), razón por la cual hemos tenido algunos problemas durante unas horas, que ya están completamente solucionados.

 

Anteriormente, cuando entrábamos en la página, se realizaba una solicitud a la web directamente. Ahora, se realiza a CloudFlare, que con sus enormes y rápidos centros de datos situados alrededor del mundo, procesa lo que le estamos pidiendo, se lo pide al servidor, y acto seguido nos lo sirve a nosotros. Pero hay una diferencia, se almacena una copia de algunos (bastantes) elementos esa página, de tal forma que cuando alguien vuelva a entrar, CloudFlare será quien sirva una gran parte de la página de manera mucho más rápida que nuestro servidor.

CloudFlare puede almacenar solo partes de la misma, por ejemplo, si solicitamos una página que CloudFlare no tiene, se la solicita al servidor, pero si algún recurso de esa página, por ejemplo, la imagen del logo, sí la tiene, solo solicitará aquello que le falta.

Esto se puede explicar mejor con un ejemplo:

Alguien entra a la página de bienvenida, CloudFlare almacena todas las imágenes necesarias, el logo, las fotos, etcétera.

Otro visitante solicita ir a la pestaña de últimos artículos. Nadie lo había hecho anteriormente, con lo que CloudFlare no tiene todos los elementos de dicha página, habrá imágenes que no habrá copiado todavía. Detecta cuáles son esas imágenes y las solicita, y de resto aprovecha las que ya tenía guardadas, por ejemplo, el logo, que se mantiene constante.

 

CloudFlare, además, permite muchas otras características, como la carga de scripts de manera asíncrona, la seguridad ya explicada anteriormente, etcétera, de todas formas, no vamos a explicar todas las características que este servicio permite, pues no es el objetivo de este artículo.

 

Por su lado, Photon es un servicio de WordPress que almacena solo imágenes. Cada vez que se sube una imagen a esta web (o incluso si se inserta una de otra web usando su dirección), Photon la copia a sus servidores (actúa también como un CDN de los que explicamos anteriormente) para poder servirla de manera mucho más rápida. Además, comprime las imágenes y les reduce el tamaño si este es demasiado grande.

 

¿Problemas?

 

Si observas cualquier problema, por favor, no dudes en contactar con nosotros mediante las siguientes vías:

 

Compartir: