Ir directamente al contenido

Ajustes de cookies

Elija por tipo qué cookies permite. Puede cambiar su elección en cualquier momento en Ajustes de cookies, al pie de cada página. Declaración de privacidad

Necesarias

Siempre activadas

Necesarias para iniciar sesión, conservar su carrito y recordar sus preferencias. Siempre están activadas.

¿Qué cookies?
  • weboke_sessie, weboke_klant, weboke_remember: su sesión y mantener la sesión iniciada
  • weboke_basket: su carrito
  • wkBtwIncl: mostrar los precios con o sin IVA
  • wok_cookies: su elección de cookies, 12 meses

Mide qué anuncio lleva a una visita o a un pedido, para no pagar por anuncios que no sirven de nada.

¿Qué cookies?
  • Google Ads a través de Google Tag Manager (_gcl_au, _gcl_aw), hasta 90 días
  • OpenAI Ads, anuncios en ChatGPT
  • wok_aff: a través de qué socio llegó a nosotros (programa de afiliados), 60 días

4,6

País e idioma

Cada país tiene su propio sitio, con los precios y el IVA de ese país.

Ver

Actualizaciones, copias de seguridad y roles

Módulo 6: Gestión y seguridad · Tiempo de lectura: 11 minutos

Objetivo de aprendizaje: Después de esta lección podrá actualizar una tienda WooCommerce y hacer copias de seguridad sin perder pedidos, y repartir los permisos de modo que cada persona solo pueda hacer lo necesario.

Conceptos clave: actualización grande y pequeña, actualización de la base de datos, extensiones y compatibilidad, sobrescrituras de plantillas (template overrides), plantillas obsoletas, copia de seguridad antes de actualizar, pedidos entre la copia de seguridad y la restauración, tablas HPOS, roles Gestor de la tienda (Shop manager) y Cliente (Customer), privilegios mínimos, mostrar versiones, xmlrpc.php

Por qué una tienda es distinta de un sitio normal

En el curso de WordPress (lecciones 7.2, 8.1 y 8.2) se explica cómo actualizar WordPress, cómo hacer copias de seguridad y cómo restaurarlas. En una tienda todo eso sigue siendo válido, con una gran diferencia: la base de datos cambia durante todo el día. Cada pedido, cada cliente, cada cambio de existencias y cada pago se guarda en ella. En un sitio informativo, con una copia de seguridad de ayer pierde como mucho una entrada. En una tienda pierde pedidos que ya se han pagado.

Por eso, dos reglas básicas para esta lección:

  1. En una tienda, restaurar es el último paso, no el primero.
  2. Actualice con un plan, no "un momento entre otras cosas el viernes por la tarde".

Actualizaciones de WooCommerce

WooCommerce publica nuevas versiones con regularidad y, entre ellas, pequeñas correcciones. El número de versión tiene tres partes, como 11.2.2. Un cambio en el último número es una pequeña corrección o una actualización de seguridad; un cambio en el primer o en el segundo número trae nuevas funciones y, a veces, cambios a los que deben adaptarse las extensiones o su tema.

En una actualización de WooCommerce ocurren tres cosas que se ven menos en un plugin normal:

  • Una actualización de la base de datos. A veces WooCommerce tiene que modificar las tablas. Verá entonces un aviso en la administración indicando que la base de datos se está actualizando; esto se ejecuta en segundo plano mediante las acciones programadas (lección 7.3). No lo interrumpa y compruebe en WooCommerce > Estado si ha terminado.
  • Las extensiones deben acompañar. Los plugins de pago, las integraciones de envío y las de contabilidad indican hasta qué versión de WooCommerce se han probado. En la pantalla de plugins verá una advertencia si una extensión no menciona una versión más reciente. Lea los cambios de su plugin de pago antes de actualizar: un plugin de pago que se estropea significa una tienda que no vende.
  • Sobrescrituras de plantillas. Muchos temas tienen sus propias copias de plantillas de WooCommerce (la carpeta woocommerce/ del tema). Si WooCommerce cambia el original, la copia queda obsoleta. En WooCommerce > Estado (Estado del sistema) aparece abajo, junto al tema, qué plantillas sobrescribe y cuáles están obsoletas. Las plantillas obsoletas pueden carecer de campos nuevos o provocar errores. Actualice el tema o pida una actualización a su creador.

Las actualizaciones pequeñas (último número) conviene aplicarlas pronto, preferiblemente de forma automática, porque a menudo corrigen fallos de seguridad. Las actualizaciones grandes se prueban primero en staging (lección 7.3), en un momento tranquilo y con una copia de seguridad justo antes.

Copias de seguridad: qué desaparece al restaurar

Un ejemplo. Theehuis Example hace cada noche a las 03.00 una copia de seguridad. El martes a las 10.00 el administrador actualiza WooCommerce y después la página de producto muestra un error. Entre las 03.00 y las 10.00 entraron seis pedidos, pagados a través del proveedor de pago. Si ahora restaura la copia de las 03.00:

  • esos seis pedidos desaparecen de la base de datos, aunque el dinero sí está en el proveedor;
  • la tienda ya no sabe que las existencias son menores;
  • es posible que más tarde la tienda reciba avisos (webhooks) del proveedor sobre pedidos que no conoce.

Por eso:

  • Haga una copia de seguridad justo antes de una actualización, no solo por la noche. Así el hueco es lo más pequeño posible.
  • Al restaurar, anote qué pedidos llegaron después de la copia de seguridad (a partir de los correos "Nuevo pedido" y del panel de su proveedor) y vuelva a introducirlos después a mano, o expórtelos antes.
  • Restaure preferiblemente solo los archivos (la carpeta antigua del plugin o del tema) si el problema está en el código, y deje la base de datos como está. A menudo se puede deshacer una actualización instalando la versión anterior del plugin; el curso de WordPress, lección 8.2, muestra cómo restaurar de forma selectiva. Si la actualización ya ha actualizado la base de datos, puede que la versión antigua ya no funcione con ella: por eso conviene probar antes en staging.
  • Haga copias de seguridad con más frecuencia que en un sitio normal: una tienda que recibe pedidos todo el día necesita al menos una copia diaria de la base de datos, mejor varias, y una copia fuera del servidor (regla 3-2-1, curso de WordPress, lección 8.1).

Desde WooCommerce 8.2, en las tiendas nuevas los pedidos se guardan en tablas propias (HPOS, lección 1.2), como wp_wc_orders. Un plugin de copias de seguridad que solo incluya las "entradas" o que elija las tablas por nombre debe incluir también esas tablas. Compruebe en una prueba de restauración (curso de WordPress, lección 8.2) que los pedidos están realmente incluidos.

En WebOké, WebOké Backups hace cada noche una copia de seguridad que se conserva durante 30 días en otro centro de datos (DA 16.1); además, puede hacer usted mismo una copia antes de una actualización en DirectAdmin o en Installatron. En otros proveedores de alojamiento funciona de forma parecida; pregunte con qué frecuencia y durante cuánto tiempo.

Roles: quién puede hacer qué

WooCommerce añade dos roles a WordPress (curso de WordPress, lección 3.3):

  • Cliente (Customer): un cliente con una cuenta. Solo puede ver sus propios pedidos y datos. No dé nunca permisos de administración a este rol.
  • Gestor de la tienda (Shop manager): puede gestionar productos, pedidos, clientes, cupones y los ajustes de WooCommerce, pero no puede instalar plugins ni cambiar el tema.

Para el personal que prepara pedidos, responde a preguntas de clientes o introduce productos, basta con Gestor de la tienda. Administrador es solo para quien se ocupa de la parte técnica. Cada empleado debe tener su propia cuenta, con verificación en dos pasos (curso de WordPress, lección 7.3); nada de una cuenta compartida "tienda". Un gestor de la tienda ve todos los datos de los clientes, así que elimine las cuentas cuando alguien se marche.

Las claves API (lección 2.4) también son una forma de permisos: dé a una integración solo permiso de lectura si no necesita escribir nada, y elimine las claves que ya no se usen.

Qué muestra su tienda a todo el mundo

Los atacantes buscan tiendas con una versión antigua de WooCommerce o con un plugin de pago con una vulnerabilidad conocida. WooCommerce añade por defecto una línea <meta name="generator" content="WooCommerce 11.2.2"> al código fuente, y la versión aparece también detrás de las hojas de estilo (?ver=). Ocultarla es una pequeña ganancia; actualizar, una grande. Una tienda que está al día no tiene que preocuparse mucho por un número de versión visible. Una tienda que va con retraso se delata.

El archivo xmlrpc.php es una antigua interfaz con la que las aplicaciones inician sesión en WordPress. Se utiliza mucho de forma abusiva para adivinar contraseñas. Si no usa ninguna aplicación o servicio que lo necesite, bloquéelo (en WebOké está bloqueado por defecto, KB 169). Un xmlrpc.php abierto responde a una petición normal en el navegador con "XML-RPC server accepts POST requests only." y el estado 405. Bloqueado devuelve 403 o 404.

Resumen

  • La base de datos de una tienda cambia todo el día: restaurar cuesta pedidos que ya se han pagado.
  • Actualizaciones pequeñas, pronto; actualizaciones grandes, primero en staging; vigile la actualización de la base de datos, las extensiones y las plantillas obsoletas en WooCommerce > Estado.
  • Copia de seguridad justo antes de una actualización y con más frecuencia que en un sitio normal; compruebe que se incluyen las tablas de pedidos.
  • El personal recibe el rol Gestor de la tienda, no Administrador; cada uno con su propia cuenta y verificación en dos pasos.
  • Ocultar versiones ayuda poco, actualizar mucho; bloquee xmlrpc.php si no lo usa.

Cuestionario

1. Tras una actualización, su tienda da un error a las 10.00. La última copia de seguridad es de las 03.00. ¿Cuál es el mayor riesgo si restaura la copia completa?



2. ¿Dónde puede ver si su tema usa plantillas de WooCommerce obsoletas?



3. Un empleado prepara pedidos y responde a preguntas de clientes. ¿Qué rol es el adecuado?



4. ¿Qué indica un estado 405 con el texto "XML-RPC server accepts POST requests only." al abrir /xmlrpc.php en el navegador?



Ejercicio

Ejercicio A6.2: ¿Muestra su tienda las versiones? Introduzca la dirección de su tienda, su versión de WordPress (Escritorio > Actualizaciones) y su versión de WooCommerce (Plugins). El programa solicita la página de inicio y el feed, y el archivo /wp-content/plugins/woocommerce/readme.txt (solo los primeros 2 kB, la línea "Stable tag"). Busca números de versión de WordPress y WooCommerce en las líneas generator y detrás de ?ver= en las hojas de estilo de WooCommerce, y consulta en wordpress.org las versiones más recientes. Verde si sus versiones son las más recientes y lo que se ve coincide con ellas. Naranja si solo queda pendiente una actualización pequeña, o si la versión es visible pero está al día. Rojo si va una versión grande por detrás, si la versión visible es distinta de la que ha introducido (se está ejecutando algo distinto de lo que cree) o si los datos introducidos no son válidos.

Ejercicio A6.2: ¿Muestra su tienda las versiones?




No guardamos lo que escriba ni lo que encontremos. Su navegador recuerda sus respuestas y si ha superado el ejercicio. Si ha iniciado sesión, en Mis cursos solo guardamos que el ejercicio estaba (casi) correcto; allí también puede eliminarlo.

Ejercicio A6.2b: ¿Está bloqueado xmlrpc? Introduzca la dirección de su tienda y marque la casilla si usa una aplicación o un servicio que necesita xmlrpc.php. El programa solicita /xmlrpc.php con un GET normal, sin enviar nada. Verde con 401, 403, 404, 410, una redirección o una página HTML normal. Rojo con 405 y el texto "XML-RPC server accepts POST requests only." sin la casilla marcada; naranja si ha indicado que lo necesita. También comprueba si la lista de nombres de usuario a través de /wp-json/wp/v2/users es pública (naranja si se ven nombres).

Una marca verde significa que esta comprobación es correcta ahora, no que su tienda sea segura.

Ejercicio A6.2b: ¿Está bloqueado xmlrpc?



No guardamos lo que escriba ni lo que encontremos. Su navegador recuerda sus respuestas y si ha superado el ejercicio. Si ha iniciado sesión, en Mis cursos solo guardamos que el ejercicio estaba (casi) correcto; allí también puede eliminarlo.

Para saber más

Los pasos en un panel se refieren a WebOké; en otros proveedores funciona de forma parecida.

Un momento…

Configure sus dominios

Configure para cada dominio los servidores de nombres, la vinculación a su hosting y quién será el titular.

Cargando sus dominios…