Si tienes una página web en la que no utilices un CMS tipo Wordpress o Drupal, podrás seguir estos pasos como guía para conseguir que tu web sea las más rápida y así conseguir superar a tu competencia.

Rendimiento alto para un proyecto hecho en PHP

En mi ejemplo utilizo PHP, aunque como he dicho antes esto es una guía de pasos los cuales te ayudarán a no olvidar ciertos puntos y a tenerlos en cuenta.

Mi inicio de proyecto, mi stack tecnológico se compone por:

Nginx + Php-Fpm + MySql o MongoDB + Memcached + Framework PhalconPHP

Cómo mejorar la velocidad en tus Assets

  1. Minificar los CSS y los JS
  2. Si tienes varios CSS y JS en distintos archivos, juntarlos todos en un mismo fichero CSS y JS.
  3. Realizar el Critical CSS y No Critical CSS. Este paso mejorará enormemente la velocidad de navegación del usuario al cargar solamente la CSS necesaria en el head, para el primer impacto con el usuario.
  4. Optimizar todas las imágenes que tenemos subidas o que vamos a subir con herramientas como imagemin y darles un tamaño correcto dependiendo de si estamos en la home en un listado o en el contenido de un artículo.
  5. Cargar las imágenes con lazyload para evitar que se descarguen a no ser que sea necesario. Podemos utilizar el recurso nativo loading="lazy" que no está implementando en todos los navegadores y versiones, pero que funciona bastante bien. Para hacerlo 100% en todos los navegadores tendremos que utilizar alguna librería JS, si es en Vanilla JS y así evitar jQuery, mucho mejor.
  6. Cachear los CSS, JS e Imágenes mediante las directivas de Nginx para que el usuario al visitar la misma página no tenga que descargar de nuevo esa data.

Servir todo el contenido que sea posible desde Memcached

  1. Cachear todos las queries en base de datos con el tiempo que creamos necesario.
  2. Guardar las views en caché para servirlas los más rápido posible.
  3. Todas las rutas que sean del tipo categoría o subcategoría, cachearlas para que el enrutador conozca la urls válidas y evitar una consulta a base de datos innecesaria.
  4. La mejor manera de leer nuestro menú será desde un archivo JSON, así que crea un proceso para genérarlo y evitar realizar consultas.

Otras mejoras a tener en cuenta

  1. Comprimir el HTML con HTMLMinify.
  2. Crear el proyecto disponible para AMP. Esto es algo opcional, pero google da prioridad a las página con AMP en móvil.
  3. Si nuestra página tiene el servidor alojado en Europa pero tenemos mucho tráfico en América o en un país en concreto, posiblemente sea rentable contratar un CDN para servir las páginas lo más cerca posible de nuestros clientes.