Elegir un servidor para WooCommerce
La documentación oficial de WooCommerce pide PHP 8.3 o superior, MySQL 8.0 o MariaDB 10.6 o superior, HTTPS y un límite de memoria de WordPress de al menos 256 MB. No da ninguna cifra para la RAM del servidor. Para una tienda pequeña, empezar con 2-4 GB de RAM es razonable (una regla orientativa que varía según la tienda). A medida que crecen los productos y los pedidos, también crece la carga sobre la base de datos y el procesador.
Una tienda no se comporta como un blog. Las páginas del carrito y del pago son distintas para cada visitante, por lo que no se pueden guardar en caché, y los pedidos se escriben en la base de datos durante todo el día. Por eso, con el mismo tráfico, una tienda suele necesitar más recursos que un blog.
Los requisitos oficiales
El documento de requisitos de servidor de WooCommerce (una recomendación oficial) enumera:
- PHP 8.3 o superior.
- MySQL 8.0 o superior, o MariaDB 10.6 o superior.
- Compatibilidad con HTTPS.
- Un límite de memoria de WordPress de 256 MB o más.
- Apache o Nginx como servidor web.
- Compatibilidad con cadenas multibyte (mbstring) si tu tienda no está en inglés. El documento lo trata como un requisito que depende de la tienda, y una tienda turca entra en ese grupo.
La cifra de 256 MB es un techo para una sola solicitud de PHP, no la RAM del servidor. Si hace falta, añade esta línea a wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
Las versiones antiguas, como PHP 7.4, aparecen en el documento solo como alternativa heredada y no se recomiendan.
Por qué una tienda se diferencia de un blog
- Páginas que no se pueden guardar en caché. La guía de caché de WooCommerce indica que el carrito, el pago y las páginas de cuenta deben quedar fuera de la caché, porque muestran datos propios de cada visitante. También deben excluirse algunas cookies, como las del carrito. Comprueba que tu plugin de caché lo hace.
- Carga de escritura. Crear pedidos, actualizar existencias y guardar sesiones escribe en la base de datos constantemente. Un blog escribe poco, mientras que una tienda escribe todo el día.
- Tareas en segundo plano. WooCommerce ejecuta el trabajo diferido (correos, webhooks, pagos de suscripciones) mediante una cola de tareas integrada llamada Action Scheduler. La cola se activa con WP-Cron, así que en una tienda con poco tráfico las tareas pueden ejecutarse tarde. Configurar en el servidor una tarea cron que ejecute WP-Cron de forma programada (junto con el ajuste
DISABLE_WP_CRON) elimina esa dependencia. Puedes ver la cola en WooCommerce > Status > Scheduled Actions.
Datos de pedidos y HPOS
High-Performance Order Storage (HPOS) guarda los pedidos en tablas específicas creadas para ese fin, en lugar de las tablas generales de entradas de WordPress. Es el valor predeterminado en las instalaciones nuevas desde WooCommerce 8.2. Las tiendas antiguas no cambian por sí solas. Lo activas en WooCommerce > Settings > Advanced > Features, y un modo de compatibilidad mantiene sincronizadas las dos estructuras. Para el servidor, lo importante es esto: la estructura está optimizada para pedidos, pero la base de datos sigue necesitando memoria y disco.
Tamaño de partida
Estos valores son reglas orientativas y varían según la tienda. No son una promesa firme.
| Tienda | RAM inicial | vCores |
|---|---|---|
| Tienda nueva: pocos productos, pocos pedidos | 2-4 GB | 1-2 |
| Tienda en crecimiento: miles de productos, campañas periódicas | 4-8 GB | 2-4 |
| Tienda con mucho movimiento: campañas frecuentes, muchos plugins e integraciones | 8 GB o más | 4 o más |
El número de plugins, el tamaño de las imágenes y los picos de carga durante una campaña importan tanto como la cantidad de productos. Una caché de objetos (como Redis) reduce la carga de la base de datos, pero necesita memoria. Empieza con poco y crece comprobando la salida de free -h y top en horas punta.
Motivos habituales por los que una tienda se vuelve lenta
- Imágenes de producto grandes y sin comprimir.
- Plugins sin usar y scripts adicionales que se ejecutan en cada página.
- Sin caché de objetos, de modo que la misma consulta a la base de datos se ejecuta una y otra vez.
- Una versión antigua de PHP que ya no recibe mantenimiento.
Arreglar esto suele ir antes que ampliar. Cuando ampliar no ayuda, el problema suele estar en la configuración.
Copias de seguridad: una copia diaria puede no bastar por sí sola
En Seturack se hace una copia del servidor cada noche y se conservan los últimos 7 días. En una tienda los pedidos llegan todo el día, así que eso solo puede quedarse corto. Si restauras, se pierden los pedidos hechos desde la última copia. Haz volcados de la base de datos con más frecuencia y cópialos a otro lugar:
mysqldump --single-transaction -u USER -p DATABASE | gzip > orders-$(date +%F-%H%M).sql.gz
En una tarea programada, no pongas la contraseña en la línea de comandos. Usa un archivo ~/.my.cnf con los permisos en 600. En un servidor WooCommerce preparado, la aplicación se ejecuta en Docker, así que ejecuta los comandos de la base de datos desde dentro del contenedor. La base de datos es MariaDB. Puede que el contenedor no incluya mysqldump, así que usa mariadb-dump. Las imágenes de los productos están en la carpeta wp-content/uploads, así que copia también esa carpeta.
Qué preparar además del tamaño
- HTTPS. Es obligatorio para WooCommerce. Un servidor WooCommerce preparado se abre por HTTPS en una dirección derivada de tu IP con sslip.io. Para conectar tu propio dominio, consulta este artículo.
- Correo electrónico. Instala un plugin SMTP para que se envíen los correos de los pedidos. La instalación no configura el envío de correo.
- Actualizaciones. Tras la instalación, las actualizaciones de WordPress, WooCommerce y tus plugins corren de tu cuenta. Haz un snapshot desde el panel antes de una actualización importante. Un snapshot no sustituye a una copia de seguridad; solo te permite volver al punto anterior.
Un servidor con WooCommerce preinstalado está listo en aproximadamente 3,5 a 4 minutos, y puedes ampliarlo desde el panel a medida que crece la tienda. Echa un vistazo a la página del servidor WooCommerce.
Comentarios0
Todavía no hay comentarios
Sea la primera persona en compartir su opinión.
Inicie sesión o regístrese para dejar un comentario.