Documentación de MevvBlocks

Cien píxeles en escritorio, cuarenta en móvil — en el editor de bloques.

El editor de bloques de WordPress no tiene breakpoints para los valores de estilo. MevvBlocks cierra primero esa brecha y, alrededor, pone lo que un sitio necesita para sostenerse solo: ciento un bloques, plantillas de tema, una cuadrícula de contenido y un constructor de bucles, un motor de formularios, ventanas emergentes, una sola pantalla para la paleta del sitio, una auditoría de accesibilidad que dice la verdad en lugar de taparla, y una pantalla de Core Web Vitals alimentada por sus propios visitantes.

Instalación

MevvBlocks necesita WordPress 6.0 o superior y PHP 8.1 o superior. No hay ninguna otra dependencia: ninguna biblioteca externa, ninguna fuente desde el servidor de otro, ningún paso de compilación.

  1. Suba y active el plugin.
  2. Abra una página en el editor de bloques y añada el bloque Contenedor.
  3. Ponga dentro los bloques que quiera. Los encontrará en la categoría Diseño.
  4. Gestione el resto desde el menú MevvBlocks de la barra lateral de administración.
  • WooCommerce es opcional. Instalarlo añade dos bloques.
  • MevvBridge es opcional. Si viene de Elementor, MevvBlocks es lo que hace que esas páginas vuelvan a ser editables.
  • MevvLegal es opcional. Si está presente, el bloque de mapa le entrega su incrustación a MevvLegal para que el mapa no se cargue antes de que el visitante dé su consentimiento.

Pro es un plugin aparte que se instala junto al gratuito, y declara el plugin gratuito como requisito estricto. Su clave de licencia se introduce en la pantalla Lisans (Licencia). Sin Pro, MevvBlocks no hace ninguna petición a nuestros servidores.

Estilo por tamaño de pantalla — la brecha que esto cierra

Los bloques del núcleo aceptan un valor de relleno, una altura mínima, un número de columnas. Ese valor se aplica en todas las pantallas. Si una sección necesita 100 píxeles de relleno en escritorio y 40 en móvil, el núcleo no puede expresarlo — y esa única carencia es la razón técnica más común por la que la gente instala un page builder.

MevvBlocks guarda tres valores en lugar de uno — escritorio, tableta, móvil. Los umbrales están fijados:

Escritorio
Sin media query — el valor base.
Tablet (Tableta)
Se aplica a partir de 1024 píxeles hacia abajo.
Móvil
Se aplica a partir de 767 píxeles hacia abajo.

Los mismos dos números se usan en todo el resto del plugin — el umbral del menú hamburguesa, el número de columnas de la cuadrícula. Deliberadamente no se ofreció un campo de píxeles libre: quien eligiera 900 tendría el menú hamburguesa a 900 mientras su relleno seguiría cambiando a 1024, y dos sistemas de breakpoints significan diseños que se contradicen a sí mismos.

Los valores viven en los propios atributos del bloque, dentro de post_content — no en una tabla personalizada ni en post meta. El CSS se produce en el servidor, en el momento de la petición, y se imprime como un pequeño bloque de estilo junto al elemento al que pertenece.

¿Por qué no guardar el CSS con la página? Porque el HTML guardado solo puede llevar un breakpoint. Renderizar en la petición es lo que hace posibles los tres valores — y es la razón por la que una licencia vencida nunca puede apagar una página publicada: en ese camino no hay una sola comprobación de licencia.

La vista previa del editor — qué muestra y qué sigue sin poder mostrar

Esta página decía antes que la vista previa era una aproximación. Ya no lo es, en cuanto al diseño. Ahora el lienzo le pide al servidor el mismo CSS que imprimirá la página y lo aplica a las mismas clases de envoltorio que usa la parte pública.

Lo que hoy es exacto en el lienzo: el diseño del contenedor (dirección, columnas, espacio entre elementos, alineación), el relleno, el margen, el fondo, el borde, el radio, la sombra, la altura mínima, la tipografía, las transformaciones, las máscaras y el posicionamiento — con los valores de tableta y de móvil aplicándose al cambiar de tamaño, porque el lienzo es un iframe y las media queries funcionan dentro de él.

Por qué el CSS viene del servidor en lugar de reconstruirse en JavaScript: hay un solo motor de estilos, y una segunda copia se desacompasaría de la primera. El día en que alguien añadiera un ajuste a uno y se olvidara del otro, el editor estaría equivocado mientras afirma ser exacto — peor que la vieja aproximación honesta.

Lo que sigue sin ser exacto: las reglas que apuntan al marcado dentro de un bloque. En el lienzo, un bloque dibuja sus propios controles de edición, así que un selector escrito contra la estructura pública no tiene nada con lo que coincidir. Cerrar eso significa hacer que el marcado de edición sea idéntico al marcado publicado en cada uno de los ciento un bloques; es trabajo real y no está hecho.

Medido, no afirmado: la misma sección se renderizó dos veces con la misma hoja de estilos — una como la imprime la parte pública, otra como la construye el lienzo — y se compararon dieciséis propiedades de diseño en cada elemento. El lienzo antiguo se diferenciaba en veinticuatro de ellas. Ahora son cero de sesenta y cuatro. La herramienta que lo mide está en el código del plugin (tools/onizleme-esitlik.js), y primero se apuntó al marcado antiguo para demostrar que no estaba ciega.

Los bloques

Ciento un bloques, o setenta y ocho sin WooCommerce. Todos están en la edición gratuita; ningún bloque es exclusivo de Pro. Viven en la categoría Diseño del insertador.

Diseño y texto
Contenedor, Encabezado, Texto, Botón, Separador, Espaciador, Ancla, Imagen, Shortcode, Cita, Lista de comprobación, Tabla, Código
Presentación
Testimonio, Icono, Caja de icono, Lista de iconos, Caja de imagen, Iconos sociales, Aviso de copyright, Miembro del equipo, Valoración con estrellas, Tabla de precios, Lista de precios, Distintivo, Banner, Franja de logotipos, Caja de número, Aviso
Interacción
Carrusel, Diapositivas, Pestañas, Acordeón, Menú de navegación, Formulario de búsqueda, Formulario, Formulario de acceso, Formulario de registro, Tabla de contenidos, Compartir en redes, Preguntas frecuentes, Línea de tiempo, Pasos
Conversión
Caja giratoria, Llamada a la acción, Titular animado, Antes / Después, Punto interactivo, Panel lateral, Botones de contacto, Barra de anuncios, Comparativa, Barra de datos, Progreso de lectura, Tiempo de lectura, Volver arriba, Texto sobre un trazado
Medios
Vídeo, Audio, Galería
Datos y tiempo
Cuadrícula de contenido, Cuenta atrás, Contador, Barra de progreso, Mapa
Plantillas de sitio y de tema
Logotipo del sitio, Título del sitio, Descripción corta del sitio, Título de la página, Migas de pan, Información de la entrada, Caja de autor, Comentarios, Anterior / Siguiente, Título del archivo, Descripción del archivo, Mapa del sitio
WooCommerce (20)
Productos, Categorías de producto, Galería del producto, Título del producto, Precio del producto, Valoración del producto, Descripción corta, Descripción del producto, Metadatos del producto, Información adicional, Pestañas del producto, Añadir al carrito, Estado de existencias, Productos relacionados, Ventas adicionales, Ventas cruzadas, Minicarrito, Carrito, Proceso de pago, Mi cuenta, Seguimiento del pedido, Ordenación de productos, Recuento de resultados — se añaden solo cuando WooCommerce está activo

Los efectos de movimiento no son un bloque: se añade un panel Movimiento a cada bloque de MevvBlocks.

Aquí no se oculta nada cuando JavaScript no llega a cargarse. Las pestañas muestran todos los paneles, el acordeón es un elemento details nativo, el carrusel se desplaza y las flechas se imprimen ocultas hasta que el script puede manejarlas — mostrar un botón que no hace nada es mostrar una interfaz rota. Contenido oculto es contenido inaccesible.

Cuadrícula de contenido y constructor de bucles

El bloque Cuadrícula de contenido consulta entradas, páginas o productos y los dispone. La paginación son enlaces simples, así que funciona con JavaScript desactivado.

  • La ordenación es una lista cerrada — fecha, fecha de modificación, título, orden de menú, aleatorio — porque el valor llega hasta la base de datos.
  • Los encabezados de las tarjetas van de h2 a h6. La h1 no se ofrece: una cuadrícula de tarjetas en una página que ya tiene un h1 rompería el orden de encabezados.
  • Un enlace por tarjeta. Hacer que la imagen, el título y el “leer más” sean todos enlaces significa que un lector de pantalla anuncia el mismo destino tres veces.
  • La cuadrícula almacena en caché los ids de las entradas que encontró, nunca el HTML renderizado, y la caché se invalida al guardar cualquier entrada — así que “publiqué una entrada y no aparece” no puede pasar.

El constructor de bucle le permite dibujar usted mismo la tarjeta en lugar de usar la integrada. Crea una plantilla de tipo Tarjeta de bucle, la construye con bloques corrientes y enlaces dinámicos, y la elige en los ajustes de la cuadrícula.

Mientras edita una plantilla de tarjeta no hay contexto de entrada, así que los enlaces dinámicos muestran sus valores estáticos de reserva. Y si la plantilla está vacía, borrada, en borrador o se refiere a sí misma, la cuadrícula recurre a la tarjeta incorporada en lugar de no imprimir nada. El anidamiento de bucles está limitado a dos niveles.

El motor de formularios

Dieciséis tipos de campo, con validación en el servidor. El formulario es la única parte de una página que realmente hace algo, así que funciona sin JavaScript: un envío POST simple recibe la misma validación y los mismos mensajes que uno con script.

Tipos de campo
Texto, Correo electrónico, Teléfono, Dirección (URL), Número, Fecha, Hora, Oculto, Texto largo, Desplegable, Lista de opción múltiple, Opción única, Varias casillas de verificación, Casilla de verificación, Texto del consentimiento (KVKK) y Subencabezado. Pro añade un campo de subida de archivo.
Adónde van los envíos
A una tabla propia y también al correo. El registro se escribe primero y el correo se envía después, porque la entrega de correo falla mucho más a menudo que una escritura en la base de datos.
Leerlos
MevvBlocks → Envíos de formulario. Pro añade allí una exportación CSV.
Correo de notificación
El remitente es su sitio, nunca el visitante. Usar la dirección del visitante como remitente es la razón más común por la que el correo de un formulario nunca llega — SPF y DMARC lo rechazan. Su dirección se convierte en el Reply-To.

El spam se gestiona con tres capas y sin CAPTCHA: una firma que no depende de una sesión, un tiempo mínimo de relleno y un campo honeypot. Un envío que rellena el honeypot se acepta en silencio y se descarta — mostrar un error le diría al bot que lo han pillado, y el siguiente intento se saltaría ese campo.

¿Por qué una firma y no un nonce de WordPress? Un nonce está ligado a una sesión y a una ventana de doce horas. En un sitio con caché, el mismo HTML se sirve durante horas o días, el nonce que lleva dentro hace tiempo que caducó, y el formulario deja de funcionar en silencio. Ese es el fallo de campo más común de los plugins de formularios. La firma que se usa aquí es válida siete días y no depende de quién esté navegando.

La dirección IP de un envío nunca se almacena en forma legible — solo un resumen criptográfico, con la sal de la clave de su propio sitio, de modo que los registros de dos sitios distintos no se pueden cruzar entre sí.

El almacenamiento de envíos no está atado a la licencia. Si lo estuviera, el día en que venciera un pago sería el día en que el cliente empezaría a perder datos.

Plantillas de tema

Siete tipos de plantilla, construidos en el editor de WordPress que ya usa — Cabecera, Pie de página, Contenido individual, Archivo, Resultados de búsqueda, No encontrado (404) y Tarjeta de bucle. Un segundo editor sería una cosa más que mantener al paso del núcleo de WordPress.

El tipo y las condiciones están en una caja lateral sencilla, no en un panel de React — una caja clásica también se guarda con JavaScript desactivado, y no se rompe cuando cambia la API del editor.

Condiciones
Todo el sitio, la página de inicio, un tipo de contenido, una categoría o un contenido concreto. Déjelas vacías para todo el sitio.
Cuando coinciden varias
Gana la condición más estrecha.
Condiciones mal formadas
Se descartan al guardar y se almacenan vacías, en lugar de conservarse como texto no válido que haría que la plantilla no apareciera nunca en silencio.

Las plantillas de encabezado y pie de página solo se colocan en Astra y GeneratePress. Si su tema no tiene receta, no se imprimen en absoluto y la pantalla lo dice — acoplar un encabezado a un tema que no podemos levantar significa dos encabezados, garantizado. Las plantillas de contenido individual, archivo, búsqueda y 404 siguen funcionando con cualquier tema, porque sustituyen el bucle y dejan en su sitio el encabezado y el pie del propio tema.

Una plantilla de Tarjeta de bucle nunca se coloca sola en ninguna parte. La elige un bloque de cuadrícula.

Biblioteca de patrones y ajustes preestablecidos de bloque

Veinte composiciones listas para usar: dieciséis secciones y cuatro páginas completas. Están registradas como composiciones corrientes de WordPress, así que se insertan como ya sabe — el botón +, la pestaña Composiciones y luego la categoría MevvBlocks sections o MevvBlocks pages.

Para esto no se escribió ninguna ventana modal a medida. El insertador del núcleo ya da vista previa, búsqueda, navegación por teclado y traducción gratis, y lo que inserta es marcado de bloques normal — nada a lo que quedar atado.

Los patrones vienen sin imágenes. Traer imágenes de otro sitio es una cuestión de derechos de autor, una cuestión de privacidad, y ata el aspecto de su página a que el servidor de otra persona siga en pie. Los bloques de imagen están colocados con su texto alternativo relleno; elija las suyas.

Los ajustes preestablecidos de bloque guardan bajo un nombre los ajustes de apariencia de un bloque y los aplican a otro bloque del mismo tipo. El contenido deliberadamente no se guarda — el texto, los enlaces, las imágenes y los elementos de lista se retiran, así que aplicar un preajuste nunca sobrescribe lo que usted escribió.

Los patrones no se registran en absoluto en la parte pública. Generar su marcado en cada visita a una página se midió en 109 KB y 3,59 ms — pagados a cambio de nada, ya que nadie inserta un patrón mientras lee.

La paleta del sitio

Una sola pantalla para colores y tipografía, accesible tanto desde el menú de MevvBlocks como desde Apariencia, porque es ahí donde la gente la busca. Cada entrada muestra su propio nombre de variable, y los bloques se refieren a esos nombres en lugar de a valores literales.

Eso es lo que permite que una página construida antes del cambio adopte una nueva paleta en lugar de perder sus referencias — los nombres de variable se mantienen iguales a los que sus páginas ya usan.

No hay opción de borrar. Un color o un conjunto tipográfico se pueden dejar vacíos, pero eliminarlos dejaría a todos los bloques que se referían a ellos apuntando a la nada. Vaciar es reversible; borrar una referencia no lo es.

La auditoría de accesibilidad

MevvBlocks → Accesibilidad analiza sus páginas, entradas y plantillas publicadas e informa de lo que cada bloque dejó fuera: una imagen sin texto alternativo, un encabezado vacío, un botón sin nombre o sin destino, un orden de encabezados roto, un contraste demasiado bajo.

La misma auditoría está disponible como panel lateral mientras sigue editando, que es donde un hallazgo resulta más barato de arreglar.

Esto deliberadamente no es una capa superpuesta. Las capas que acoplan un “menú de accesibilidad” a una página no arreglan nada: una imagen sin texto alternativo sigue sin tenerlo, y un texto con poco contraste sigue siendo ilegible. Sostener la afirmación “este sitio es accesible” sin que sea cierto es una posición peor que no afirmar nada — hay sitios con capas superpuestas que han sido demandados justo por eso. Esta herramienta mide y se lo dice; arreglarlo le toca a usted.

El contraste solo se reporta cuando ambos colores se conocen realmente. Adivinar un color heredado produciría avisos sobre los que no se puede actuar.

Velocidad — caché de elementos e imágenes

Dos cosas distintas, ambas en la edición gratuita.

Caché de elementos. La salida de los bloques se guarda en lugar de reconstruirse en cada petición. Medido: tiempo de renderizado de bloques reducido un 33–72%. Usa una caché de objetos persistente (Redis, Memcached) cuando la hay, y transients cuando no.

Un bloque cuya salida varía según el visitante, la consulta o el momento no se guarda nunca: formularios, acceso, registro, minicarrito, cuadrícula de productos, búsqueda, carrito, proceso de pago, mi cuenta, shortcode. El shortcode está en esa lista porque no sabemos qué hay dentro — una vez congelamos un token de WPForms en un sitio real, y desde entonces la regla se aplica desde el código.

Optimización de imágenes. Se escribe una copia WebP (opcionalmente AVIF) de cada imagen subida junto al original; el original nunca se toca. Medido: entre un 39% y un 78% más pequeñas. Un archivo que no encoge no se conserva — los PNG pequeños y planos suelen crecer en WebP.

Las imágenes se sirven dentro de un elemento <picture>: la dirección de cada formato está en el HTML y el navegador elige. Decidir en el servidor a partir de la cabecera Accept se descartó deliberadamente — cuando la misma dirección varía según el visitante, cualquier caché del camino puede entregar el archivo equivocado a la persona equivocada.

Si otro plugin está haciendo realmente este trabajo (LiteSpeed, ShortPixel, Imagify, Smush, EWWW, Optimole, Converter for Media), MevvBlocks se aparta por su cuenta y explica por qué. La pregunta no es “¿está instalado?” sino “¿puede realmente funcionar?”: LiteSpeed con la optimización de imágenes activada pero sin clave de nube no hace absolutamente nada.

Core Web Vitals — medidos en sus visitantes

Los Core Web Vitals son datos de campo por definición: medidos en los navegadores de visitantes reales y reportados como el percentil 75 sobre una ventana de 28 días. Una pasada de Lighthouse es otra cosa — una máquina, una red, un momento. Saber cuál es cuál es lo que resuelve la confusión de “PageSpeed dice 98, Search Console dice rojo”.

La pantalla Web Vitals muestra tres números por clase de dispositivo:

LCP
Cuánto tarda en aparecer el contenido principal. Bueno es 2,5 segundos o menos.
CLS
Cuánto se mueve la página mientras se asienta. Bueno es 0,1 o menos.
INP
Cuánto tarda la página en responder a un toque o a un clic. Bueno es 200 ms o menos.

El script de medición ocupa alrededor de un kilobyte y no carga ninguna biblioteca — el trabajo lo hace el propio PerformanceObserver del navegador. El muestreo es por defecto del 10% de las visitas y lo decide el navegador, no el servidor: si decidiera el servidor, la misma URL produciría dos documentos HTML distintos y una caché de página completa serviría a todo el mundo el primero que viera.

No se recopila nada personal: ni IP, ni cookie, ni identificador. Tres valores, una clase de dispositivo y la ruta de la página, almacenados en su propio servidor como recuentos agrupados. No se envía nada a ninguna parte.

Por debajo de cien muestras la pantalla no enseña ningún número — dice cuántas tiene. Un percentil sacado de una docena de mediciones es ruido, y un número equivocado es peor que ningún número, porque alguien actuará en consecuencia. El percentil se lee de un histograma, así que es aproximado a la anchura del intervalo, y la pantalla lo dice.

Transformaciones y máscaras

Cualquier bloque se puede desplazar, escalar, rotar (en Z y en 3D X/Y), inclinar y voltear — cada cosa con valores separados para escritorio, tableta y móvil. Se pueden definir una transformación de hover aparte y una duración de transición.

Las máscaras pueden ser un círculo, un triángulo, un hexágono, una mancha, una flor, una forma libre o su propia imagen, con controles de tamaño, posición y repetición.

Las formas están incrustadas en el CSS, no se distribuyen como archivos SVG aparte. Una ruta de archivo equivocada hace que una máscara desaparezca en silencio y nadie ve el 404; detrás de un CDN, la dirección de la carpeta del plugin también puede cambiar.

Código personalizado para todo el sitio

Se pueden colocar HTML, CSS y JavaScript en el head, al principio del body o al final: etiquetas de verificación, fragmentos de medición, pequeños arreglos de estilo. La posición, la prioridad y una condición de sesión son configurables.

No ejecuta PHP. Poner un ejecutor de PHP dentro de un page builder convertiría el permiso de un diseñador en permiso para ejecutar código en el servidor.

La capacidad requerida es unfiltered_html: quien no puede poner un script en bruto en una entrada tampoco puede ponerlo en todo el sitio. Con MevvLegal instalado, los scripts de seguimiento colocados aquí también se retienen hasta que se da el consentimiento de cookies.

Bloques de WooCommerce

Veinte bloques: título del producto, imágenes, precio, añadir al carrito, valoración, existencias, metadatos, descripción corta, descripción, pestañas de datos, información adicional, productos relacionados, ventas adicionales, ventas cruzadas, carrito, proceso de pago, mi cuenta, seguimiento del pedido, ordenación y recuento de resultados.

Ninguno de ellos redibuja WooCommerce. Todos llaman a sus propias funciones de plantilla y shortcodes. Su tema modifica esas plantillas y sus plugins se enganchan a ellas — envíos, cuotas, avisos de existencias, tablas de tallas. Dibujar nuestro propio marcado tiraría todo eso por la borda en silencio.

El carrito, el proceso de pago, mi cuenta y el seguimiento del pedido son específicos de cada visitante: la caché de página completa se desactiva y nunca se guardan en la caché de elementos. Si WooCommerce no está activo, estos bloques no se registran ni en el servidor ni en el editor.

Notas del editor

Puede fijar una nota a cualquier bloque: quién la escribió, cuándo, y si está resuelta.

Las notas NUNCA se imprimen en la página. En ese archivo no hay un solo hook de la parte pública y una prueba lo garantiza. Las notas son conversación interna; que un visitante las viera sería peor que un diseño roto.

Una nota está ligada a la identidad del bloque. Duplicar un bloque le da a la copia una identidad NUEVA, así que no hereda la nota — y, como ventaja añadida, obtiene su propio ámbito de CSS.

Las notas viven en los propios datos de la entrada: borre la entrada y las notas se van con ella, sin dejar filas huérfanas.

IA en el editor — con su propia clave

Escribir, reescribir, acortar, generar texto alternativo de imágenes y traducir. Se admiten Anthropic y OpenAI.

Usted introduce SU PROPIA clave de API y la petición va de su sitio DIRECTAMENTE al proveedor. Su texto nunca llega hasta nosotros; la cuota y la factura siguen siendo suyas. No construimos un servicio en la nube propio: entonces su texto pasaría por nuestros servidores y la responsabilidad sobre los datos pasaría a ser nuestra.

La clave nunca llega al navegador — la petición se hace desde el servidor. Tampoco la devuelve ningún endpoint; ni siquiera el formulario de ajustes vuelve a imprimir el valor.

NO ciframos la clave, y lo decimos sin rodeos: en WordPress la clave de cifrado tiene que estar en el mismo servidor, así que un atacante con acceso a la base de datos obtiene las dos. Llamarla “cifrada” prometería una protección que no existe.

El resultado no se escribe directamente en el bloque; llega como sugerencia y usted lo aplica. Esa es nuestra defensa real contra una frase enterrada en su contenido que pudiera leerse como una instrucción — la aprueba una persona.

Free y Pro

La edición gratuita es el producto entero: los ciento un bloques, las plantillas de tema, la cuadrícula y el constructor de bucles, el motor de formularios con su almacén de envíos, el menú, la búsqueda, las ventanas emergentes, la biblioteca de patrones, los preajustes de bloque, la paleta global, la optimización de imágenes, la caché de bloques, el código personalizado para todo el sitio, las notas del editor, la pantalla de Core Web Vitals y la auditoría de accesibilidad.

Pro añade capacidades de edición, no de salida:

  • Puntos de interrupción — las pestañas de escritorio / tablet / móvil, con altura mínima, ancho del contenido, ancho y los cuatro valores de relleno por punto de interrupción.
  • CSS personalizado por bloque, donde el token selector representa ese bloque mismo.
  • Extras de formulario — campos condicionales, una respuesta automática al remitente, un webhook y un campo de subida de archivo.
  • Exportación CSV de los envíos de formulario.

Los paneles de puntos de interrupción y CSS personalizado aparecen hoy en los bloques principales — Contenedor, Título, Texto, Botón, Separador, Imagen, Testimonio, Icono, Caja de iconos, Lista de iconos, Shortcode, Formulario, Productos y Categorías de producto. Varios controles por punto de interrupción son gratuitos allí donde existen: el número de columnas de la cuadrícula en tablet y móvil, el umbral del menú hamburguesa, la posición móvil de la caja de imagen y la elección de dispositivo de la posición fija.

Cuando una licencia expira o falta:

  • Su sitio se ve exactamente igual. Cada valor guardado para tableta y móvil se sigue imprimiendo, y también cada regla de CSS personalizado por bloque. Esto no es una promesa, es una regla arquitectónica: ningún archivo del camino de renderizado pregunta por la licencia, y una prueba lo comprueba en cada publicación.
  • Los formularios siguen enviándose, siguen guardando y siguen mandando correo.
  • Las ventanas emergentes existentes siguen mostrándose.
  • Lo que pierde son los paneles Pro del editor — y solo eso.

Si nuestros servidores no están accesibles, una licencia activa sigue funcionando siete días. Una instalación que nunca se verificó correctamente no obtiene ninguna gracia: bloquear nuestra dirección no es una forma de conseguir Pro.

Cuando algo no funciona

«La sesión del formulario ha caducado.»
La copia en caché de esa página tiene más de siete días, o las claves de seguridad de su sitio se rotaron. Vacíe la caché de páginas.
El formulario no envía correo
Mire primero la lista de envíos — el registro se escribe antes que el correo, así que si está ahí, el formulario funcionó y lo que falló fue la entrega. Después compruebe la dirección del destinatario y la configuración de correo de su sitio.
La página se ve bien en el editor y mal en la parte pública
La vista previa del editor es aproximada por diseño; véase más arriba. La parte pública es la verdad. Si un bloque lleva valores para tableta o móvil, el editor imprime un aviso diciéndolo.
Un bloque dice que no es válido cuando intento editarlo
Históricamente esto les pasaba a los bloques registrados en el servidor pero ausentes del script del editor — se imprimían perfectamente y solo fallaban al abrirlos para editar. Ahora una prueba lo vigila; si aun así lo ve, díganos el nombre del bloque.
La cuenta atrás muestra una hora equivocada
El marcado lleva un instante objetivo absoluto, nunca “quedan X segundos”, así que una página en caché no puede congelarlo. El bloque se corrige contra el reloj del servidor; si esa petición está bloqueada, recae en el propio reloj del visitante en lugar de fallar.
La plantilla de encabezado o de pie de página no se muestra
Su tema no tiene receta. Solo Astra y GeneratePress se pueden levantar; la pantalla se lo advierte. Los demás tipos de plantilla funcionan con cualquier tema.
Aparecieron dos encabezados
MevvBlocks y MevvBridge están produciendo uno cada uno. MevvBlocks toma el hueco primero, a propósito — deje el encabezado en manos de uno solo de ellos.
Los contenedores son más anchos o más estrechos de lo definido
Una regla del tema está ganando por especificidad. Astra en particular aplica estilos con mucha fuerza a sus descendientes. Esto se ha corregido en los casos medidos subiendo la especificidad en lugar de usar !important; si se encuentra con uno nuevo, díganos qué tema es.
Una entrada publicada no aparece en una cuadrícula
Debería. La cuadrícula solo almacena en caché los ids de las entradas y guardar cualquier entrada la invalida. Si persiste, compruebe que el tipo de contenido y la ordenación son los que espera.

Límites

  • La vista previa del editor es aproximada. Se muestran la estructura y el contenido; la apariencia exacta es la parte pública.
  • Las plantillas de encabezado y pie de página solo funcionan en Astra y GeneratePress. Cualquier otro tema no recibe nada, más un aviso — el silencio serían dos encabezados.
  • El mapa es una incrustación de OpenStreetMap. Un marcador, sin imagen de marcador personalizada, sin estilos de mapa, sin indicaciones. Sin clave de API, sin cuenta de facturación y sin ninguna clave en el código fuente de su página.
  • Sin capa de accesibilidad superpuesta. Solo medir e informar.
  • Sin CAPTCHA.
  • Sin búsqueda en vivo. Una petición por cada pulsación de tecla es una dependencia y una superficie de limitación de tasa.
  • La cuenta atrás usa la zona horaria del sitio, no la del visitante. Una campaña termina en un mismo instante en todo el mundo.
  • El menú ofrece dos breakpoints, no un valor libre en píxeles, y no tiene modo desplegable lateral ni fuera de lienzo — un panel deslizante con gestión del foco es justamente para lo que está el bloque de ventana emergente.
  • Las tarjetas de la cuadrícula no pueden ser h1, y el anidamiento de bucles se detiene en dos niveles.
  • El contenido dinámico procede de una lista cerrada de fuentes. No hay ningún campo del tipo “ejecuta esta expresión”: eso entregaría la ejecución de código a cualquiera que pueda editar una página.
  • Los conjuntos globales de color y tipografía no se pueden borrar, solo vaciar.
  • Las tarjetas de producto las dibuja WooCommerce, no nosotros, así que su tema y cualquier hook de terceros siguen funcionando.
  • La interfaz se distribuye en once idiomas. Turco, inglés, español, alemán, francés, portugués, italiano, neerlandés, japonés, ruso y polaco, además de variantes por país como es_MX y pt_PT. Cualquier otra configuración regional recae en el inglés.
  • La ventana de Web Vitals se reinicia cada 28 días; no es deslizante. Una ventana deslizante necesitaría intervalos diarios y veintiocho veces más almacenamiento. La pantalla muestra cuándo empezó la ventana actual.
  • Desinstalar no elimina la tabla de envíos ni los ajustes. El contenido de sus bloques queda legible en cualquier caso — es marcado estándar dentro de post_content.

No se carga ninguna biblioteca de JavaScript o CSS de terceros, en ninguna parte. Ni para el carrusel, ni para el acordeón, ni para el movimiento, ni para el mapa. Cada una de ellas habría costado entre cuarenta y cien kilobytes en cada página que la usara.