MevvBlocks-documentatie

Honderd pixels op desktop, veertig op mobiel — in de blokeditor.

De blokeditor van WordPress kent geen breakpoints voor stijlwaarden. MevvBlocks dicht dat gat als eerste en legt daaromheen wat een site nodig heeft om op eigen benen te staan: honderd en één blokken, themasjablonen, een inhoudsraster en een loopbouwer, een formuliermotor, pop-ups, één scherm voor het palet van de site, een toegankelijkheidsaudit die de waarheid vertelt in plaats van die te verhullen, en een Core Web Vitals-scherm dat door uw eigen bezoekers wordt gevoed.

Installatie

MevvBlocks heeft WordPress 6.0 of nieuwer en PHP 8.1 of nieuwer nodig. Er is geen andere afhankelijkheid: geen externe bibliotheek, geen lettertype van andermans server, geen buildstap.

  1. Upload de plug-in en activeer die.
  2. Open een pagina in de blokeditor en voeg het blok Container toe.
  3. Zet daar de blokken in die u wilt. U vindt ze in de categorie Ontwerp.
  4. De rest beheert u vanuit het menu MevvBlocks in de beheerzijbalk.
  • WooCommerce is optioneel. Installeren voegt twee blokken toe.
  • MevvBridge is optioneel. Komt u van Elementor, dan is MevvBlocks wat die pagina's weer bewerkbaar maakt.
  • MevvLegal is optioneel. Is het aanwezig, dan geeft het kaartblok zijn embed door aan MevvLegal, zodat de kaart niet wordt geladen voordat de bezoeker instemt.

Pro is een aparte plug-in die naast de gratis versie wordt geïnstalleerd, en die verklaart de gratis plug-in tot harde vereiste. Uw licentiesleutel voert u in op het scherm Lisans. Zonder Pro doet MevvBlocks helemaal geen verzoek aan onze servers.

Stijl per schermgrootte — het gat dat dit dicht

Kernblokken accepteren één opvullingswaarde, één minimumhoogte, één kolomaantal. Die waarde geldt op elk scherm. Heeft een sectie 100 pixels opvulling nodig op desktop en 40 op mobiel, dan kan de kern dat niet uitdrukken — en juist dat ene gat is de meest voorkomende technische reden waarom mensen een paginabouwer installeren.

MevvBlocks slaat drie waarden op in plaats van één — desktop, tablet, mobiel. De drempels liggen vast:

Desktop
Geen media query — de basiswaarde.
Tablet
Geldt vanaf 1024 pixels en lager.
Mobiel
Geldt vanaf 767 pixels en lager.

Dezelfde twee getallen worden overal elders in de plug-in gebruikt — de hamburgerdrempel van het menu, de kolomaantallen van het raster. Een vrij pixelveld is bewust niet aangeboden: wie 900 kiest, krijgt de hamburger bij 900 terwijl zijn opvulling nog steeds op 1024 verandert, en twee breakpointsystemen betekenen lay-outs die het met zichzelf oneens zijn.

De waarden zitten in de eigen attributen van het blok, binnen post_content — niet in een eigen tabel en niet in postmeta. De CSS wordt op de server, op het moment van de aanvraag, geproduceerd en afgedrukt als een klein stijlblok naast het element waar het bij hoort.

Waarom wordt de CSS niet met de pagina opgeslagen? Omdat opgeslagen HTML maar één breakpoint kan dragen. Renderen op het moment van de aanvraag maakt drie waarden pas mogelijk — en daarom kan een verlopen licentie nooit een gepubliceerde pagina donker maken: op dat pad zit geen enkele licentiecontrole.

De editorvoorbeeldweergave — wat die toont en wat die nog niet kan

Op deze pagina stond vroeger dat de voorbeeldweergave een benadering was. Voor de lay-out is dat niet meer zo. Het canvas vraagt nu bij de server dezelfde CSS op die de pagina zal afdrukken, en past die toe op dezelfde wrapperklassen die de front-end gebruikt.

Wat vandaag nauwkeurig is in het canvas: containerlay-out (richting, kolommen, tussenruimte, uitlijning), opvulling, marge, achtergrond, rand, radius, schaduw, minimumhoogte, typografie, transformaties, maskers en positionering — waarbij de tablet- en mobielwaarden gelden terwijl u het formaat aanpast, want het canvas is een iframe en media queries werken daarbinnen.

Waarom de CSS van de server komt in plaats van in JavaScript te worden nagebouwd: er is één stijlmotor, en een tweede kopie zou uit de pas gaan lopen met de eerste. Op de dag dat iemand een instelling aan de ene toevoegt en de andere vergeet, zou de editor fout zijn terwijl hij beweert exact te zijn — erger dan de oude, eerlijke benadering.

Wat nog niet exact is: regels die gericht zijn op de markup binnen een blok. In het canvas tekent een blok zijn eigen bewerkingshulpmiddelen, dus een selector die op de front-endstructuur is geschreven, vindt daar niets. Dat gat dichten betekent de bewerkmarkup identiek maken aan de gepubliceerde markup voor elk van de honderd en één blokken; dat is echt werk en het is niet gedaan.

Gemeten, niet beweerd: dezelfde sectie is twee keer gerenderd onder dezelfde stylesheet — één keer zoals de front-end die afdrukt, één keer zoals het canvas die opbouwt — en zestien lay-outeigenschappen zijn op elk element vergeleken. Het oude canvas week op vierentwintig daarvan af. Nu is het nul van de vierenzestig. Het gereedschap dat dit meet, zit in de broncode van de plug-in (tools/onizleme-esitlik.js), en het werd eerst op de oude markup gericht om te bewijzen dat het niet blind was.

De blokken

Honderdeen blokken, of achtenzeventig zonder WooCommerce. Ze zitten allemaal in de gratis editie; geen enkel blok is alleen voor Pro. Ze staan in de categorie Ontwerp van de invoeger.

Lay-out en tekst
Container, Kop, Tekst, Knop, Scheidingslijn, Tussenruimte, Anker, Afbeelding, Shortcode, Citaat, Checklist, Tabel, Code
Presentatie
Testimonial, Pictogram, Pictogramvak, Pictogramlijst, Afbeeldingsvak, Sociale pictogrammen, Copyright, Teamlid, Sterbeoordeling, Prijstabel, Prijslijst, Badge, Banner, Logostrook, Getalvak, Melding
Interactie
Slider, Slides, Tabbladen, Accordeon, Navigatiemenu, Zoekformulier, Formulier, Inlogformulier, Registratieformulier, Inhoudsopgave, Sociaal delen, FAQ, Tijdlijn, Stappen
Conversie
Flipbox, Call-to-action, Geanimeerde kop, Voor / Na, Hotspot, Off-canvaspaneel, Contactknoppen, Aankondigingsbalk, Vergelijking, Databalk, Leesvoortgang, Leestijd, Terug naar boven, Tekst op een pad
Media
Video, Audio, Galerij
Gegevens en tijd
Inhoudsraster, Aftelklok, Teller, Voortgangsbalk, Kaart
Site- en themasjablonen
Sitelogo, Sitetitel, Siteslogan, Paginatitel, Kruimelpad, Berichtinfo, Auteursvak, Reacties, Vorige / Volgende, Archieftitel, Archiefbeschrijving, Sitemap
WooCommerce (20)
Producten, Productcategorieën, Productgalerij, Producttitel, Productprijs, Productbeoordeling, Korte beschrijving, Productbeschrijving, Productmeta, Aanvullende informatie, Producttabbladen, In winkelwagen, Voorraadstatus, Gerelateerde producten, Upsells, Cross-sells, Mini-winkelwagen, Winkelwagen, Afrekenen, Mijn account, Bestelling volgen, Productsortering, Resultaataantal — alleen toegevoegd wanneer WooCommerce actief is

Bewegingseffecten zijn geen blok: aan elk MevvBlocks-blok wordt een paneel Beweging toegevoegd.

Hier wordt niets verborgen wanneer JavaScript niet laadt. Tabbladen tonen elk paneel, de accordeon is een native details-element, de slider scrollt, en de pijlen worden verborgen afgedrukt tot het script ze kan aansturen — een knop tonen die niets doet, is een kapotte interface tonen. Verborgen inhoud is ontoegankelijke inhoud.

Inhoudsraster en de loopbouwer

Het blok Inhoudsraster bevraagt berichten, pagina’s of producten en zet ze op. De paginering bestaat uit gewone links, dus het werkt ook met JavaScript uitgeschakeld.

  • De sortering is een vaste lijst — datum, wijzigingsdatum, titel, menuvolgorde, willekeurig — omdat de waarde tot in de database komt.
  • Kaartkoppen lopen van h2 tot h6. h1 wordt niet aangeboden: een raster met kaarten op een pagina die al een h1 heeft, zou de kopvolgorde breken.
  • Eén link per kaart. Van de afbeelding, de titel en 'lees meer' allemaal links maken betekent dat een schermlezer hetzelfde doel drie keer aankondigt.
  • Het raster cachet de gevonden bericht-id's, nooit de gerenderde HTML, en de cache wordt ongeldig zodra een bericht wordt opgeslagen — 'ik heb een bericht gepubliceerd en het verschijnt niet' kan dus niet gebeuren.

Met de loop-bouwer tekent u de kaart zelf in plaats van de ingebouwde te gebruiken. U maakt een sjabloon van het type Loop-kaart, bouwt het op uit gewone blokken met dynamische bindingen, en kiest het in de instellingen van het raster.

Terwijl u een kaartsjabloon bewerkt, is er geen berichtcontext, dus dynamische bindingen tonen hun statische terugvalwaarden. En is het sjabloon leeg, verwijderd, als concept gelaten of verwijst het naar zichzelf, dan valt het raster terug op de ingebouwde kaart in plaats van niets af te drukken. Het nesten van loops is begrensd op twee niveaus.

De formuliermotor

Zestien veldtypen, met validatie op de server. Het formulier is het ene deel van een pagina dat echt iets doet, dus het werkt zonder JavaScript: een gewone POST-inzending krijgt dezelfde validatie en dezelfde meldingen als een script-gestuurde.

Veldtypen
Tekst, E-mail, Telefoon, Adres (URL), Nummer, Datum, Tijd, Verborgen, Lange tekst, Vervolgkeuzelijst, Meerkeuzelijst, Enkelvoudige keuze, Meerdere selectievakjes, Selectievakje, Toestemmingstekst (KVKK) en Subkop. Pro voegt een veld voor bestandsupload toe.
Waar inzendingen naartoe gaan
Zowel naar een eigen tabel als naar e-mail. Het record wordt eerst weggeschreven en de mail daarna verstuurd, want mailbezorging mislukt veel vaker dan een databaseschrijfactie.
Ze lezen
MevvBlocks → Formulierinzendingen. Pro voegt daar een CSV-export toe.
Meldings-e-mail
De afzender is uw site, nooit de bezoeker. Het adres van de bezoeker als afzender gebruiken is verreweg de meest voorkomende reden dat formuliermail nooit aankomt — SPF en DMARC wijzen die af. Zijn adres wordt in plaats daarvan de Reply-To.

Spam wordt door drie lagen afgevangen en geen CAPTCHA: een handtekening die niet van een sessie afhangt, een minimale invultijd en een honeypotveld. Een inzending die de honeypot invult, wordt in stilte aanvaard en weggegooid — een foutmelding zou de bot vertellen dat hij gepakt is, en de volgende poging zou dat veld overslaan.

Waarom een handtekening in plaats van een WordPress-nonce? Een nonce is gebonden aan een sessie en een venster van twaalf uur. Op een gecachte site wordt dezelfde HTML uren- of dagenlang geserveerd, de nonce erin is allang verlopen, en het formulier stopt in stilte met werken. Dat is de meest voorkomende storing in het veld bij formulierplug-ins. De handtekening hier is zeven dagen geldig en hangt niet af van wie er browst.

Het IP-adres van een inzending wordt nooit in leesbare vorm opgeslagen — alleen een digest, gezouten met de sleutel van uw eigen site, zodat records van twee verschillende sites niet aan elkaar gekoppeld kunnen worden.

De opslag van inzendingen is niet aan de licentie gekoppeld. Als dat wel zo was, zou de dag waarop een betaling verloopt de dag zijn waarop de klant gegevens begint te verliezen.

Themasjablonen

Zeven sjabloontypen, gebouwd in de WordPress-editor die u al gebruikt — Header, Footer, Losse inhoud, Archief, Zoekresultaten, Niet gevonden (404) en Loop-kaart. Een tweede editor zou nog iets zijn dat in de pas moet blijven met de WordPress-kern.

Het type en de voorwaarden staan in een eenvoudig zijbalkvak, niet in een React-paneel — een klassiek vak slaat ook op met JavaScript uit en gaat niet stuk wanneer de editor-API verandert.

Voorwaarden
Hele site, homepage, berichttype, categorie of één stuk inhoud. Laat ze leeg voor de hele site.
Wanneer er meerdere passen
De smalste voorwaarde wint.
Ongeldige voorwaarden
Worden bij het opslaan weggegooid en leeg opgeslagen, in plaats van bewaard als ongeldige tekst waardoor het sjabloon stilletjes nooit zou verschijnen.

Sjablonen voor koptekst en voettekst worden alleen geplaatst bij Astra en GeneratePress. Heeft uw thema geen recept, dan worden ze helemaal niet afgedrukt en zegt het scherm dat — een koptekst hangen aan een thema dat we niet kunnen optillen betekent gegarandeerd twee kopteksten. Sjablonen voor enkelvoudige weergave, archief, zoeken en 404 blijven op elk thema werken, omdat ze de loop vervangen en de eigen koptekst en voettekst van het thema laten staan.

Een Loop-kaart-sjabloon plaatst zichzelf nergens. Een rasterblok kiest het.

Patronenbibliotheek en blokvoorinstellingen

Twintig kant-en-klare patronen: zestien secties en vier volledige pagina’s. Ze zijn geregistreerd als gewone WordPress-patronen, dus u voegt ze in zoals u al gewend bent — de knop +, het tabblad Patronen, en dan de categorie MevvBlocks secties of MevvBlocks pagina’s.

Hiervoor is geen eigen modaal venster geschreven. De blokkenkiezer van de kern geeft voorbeeldweergave, zoeken, toetsenbordnavigatie en vertaling al gratis, en wat hij invoegt is gewone blokmarkup — niets om aan vast te zitten.

De patronen komen zonder afbeeldingen. Afbeeldingen van elders halen is een auteursrechtelijke vraag, een privacyvraag, en het bindt het uiterlijk van uw pagina aan de beschikbaarheid van andermans server. De afbeeldingsblokken staan er, met ingevulde alt-tekst; kies uw eigen afbeeldingen.

Blokvoorinstellingen slaan de uiterlijkinstellingen van een blok onder een naam op en passen ze toe op een ander blok van hetzelfde type. Inhoud wordt bewust niet opgeslagen — tekst, links, afbeeldingen en lijstitems worden eruit gehaald, zodat het toepassen van een voorinstelling nooit overschrijft wat u hebt geschreven.

Patronen worden op de front-end helemaal niet geregistreerd. Hun markup bij elke paginaweergave genereren is gemeten op 109 KB en 3,59 ms — voor niets betaald, want niemand voegt een patroon in tijdens het lezen.

Het palet van de site

Eén scherm voor kleuren en typografie, bereikbaar zowel via het MevvBlocks-menu als via Weergave, want daar zoeken mensen het. Elk item toont zijn eigen variabelenaam, en blokken verwijzen naar die namen in plaats van naar letterlijke waarden.

Juist dat laat een pagina die vóór de omschakeling is gebouwd een nieuw palet oppikken in plaats van haar verwijzingen kwijt te raken — de variabelenamen blijven dezelfde die uw pagina's al gebruiken.

Er is geen verwijderen. Een kleur- of typografieset kan leeg blijven, maar die verwijderen zou elk blok dat ernaar verwees naar niets laten wijzen. Leegmaken is omkeerbaar; een verwijzing verwijderen niet.

De toegankelijkheidsaudit

MevvBlocks → Toegankelijkheid scant uw gepubliceerde pagina’s, berichten en sjablonen en meldt wat elk blok heeft weggelaten: een afbeelding zonder alt-tekst, een lege kop, een knop zonder naam of zonder doel, een gebroken koppenvolgorde, een te laag contrast.

Dezelfde audit is beschikbaar als zijbalkpaneel terwijl u nog aan het bewerken bent, en daar is een bevinding het goedkoopst te verhelpen.

Dit is bewust geen overlay. Lagen die een 'toegankelijkheidsmenu' op een pagina schroeven, lossen niets op: een afbeelding zonder alt-tekst heeft die nog steeds niet, en tekst met laag contrast blijft onleesbaar. De bewering 'deze site is toegankelijk' voeren zonder dat het waar is, is een slechtere positie dan helemaal niets beweren — sites met overlays zijn precies daarom aangeklaagd. Dit gereedschap meet en vertelt het u; het herstellen is aan u.

Contrast wordt alleen gemeld wanneer beide kleuren echt bekend zijn. Gokken naar een geërfde kleur zou waarschuwingen opleveren waar u niets mee kunt.

Snelheid — elementcaching en afbeeldingen

Twee losstaande dingen, beide in de gratis editie.

Elementcaching. Blokuitvoer wordt opgeslagen in plaats van bij elk verzoek opnieuw opgebouwd. Gemeten: rendertijd van blokken 33–72% lager. Het gebruikt een persistente objectcache (Redis, Memcached) wanneer die er is, en transients wanneer niet.

Een blok waarvan de uitvoer per bezoeker, per query of per moment verschilt, wordt nooit opgeslagen: formulieren, inloggen, registreren, mini-winkelwagen, productraster, zoeken, winkelwagen, afrekenen, mijn account, shortcode. Shortcode staat op die lijst omdat we niet weten wat erin zit — we hebben ooit op een echte site een WPForms-token bevroren, en de regel wordt sindsdien vanuit de broncode afgedwongen.

Afbeeldingsoptimalisatie. Naast elke geüploade afbeelding wordt een WebP- (optioneel AVIF-)kopie geschreven; het origineel wordt nooit aangeraakt. Gemeten: 39–78% kleiner. Een bestand dat niet krimpt, wordt niet bewaard — kleine, vlakke PNG's worden als WebP meestal groter.

Afbeeldingen worden geserveerd binnen een <picture>-element: het adres van elk formaat staat in de HTML en de browser kiest. Op de server beslissen op basis van de Accept-header is bewust niet gebruikt — wanneer hetzelfde adres per bezoeker verschilt, kan elke cache op het pad het verkeerde bestand aan de verkeerde persoon geven.

Als een andere plug-in dit werk werkelijk doet (LiteSpeed, ShortPixel, Imagify, Smush, EWWW, Optimole, Converter for Media), treedt MevvBlocks vanzelf terug en zegt waarom. De vraag is niet 'is het geïnstalleerd' maar 'kan het echt draaien': LiteSpeed met afbeeldingsoptimalisatie aan maar zonder cloudsleutel doet helemaal niets.

Core Web Vitals — gemeten bij uw bezoekers

Core Web Vitals zijn per definitie veldgegevens: gemeten in de browsers van echte bezoekers, gerapporteerd als het 75e percentiel over een venster van 28 dagen. Een Lighthouse-run is iets anders — één machine, één netwerk, één moment. Weten wat wat is, beslecht de verwarring 'PageSpeed zegt 98, Search Console zegt rood'.

Het scherm Web Vitals toont drie getallen per apparaatklasse:

LCP
Hoe lang de hoofdinhoud erover doet om te verschijnen. Goed is 2,5 seconden of minder.
CLS
Hoeveel de pagina beweegt terwijl ze tot rust komt. Goed is 0,1 of minder.
INP
Hoe lang de pagina erover doet om op een tik of klik te reageren. Goed is 200 ms of minder.

Het meetscript is ongeveer een kilobyte en laadt geen bibliotheek — de PerformanceObserver van de browser doet het werk. De steekproef staat standaard op 10% van de bezoeken en de browser beslist, niet de server: besliste de server, dan zou dezelfde URL twee verschillende HTML-documenten opleveren en zou een volledige paginacache aan iedereen serveren wat hij het eerst zag.

Er worden geen persoonsgegevens verzameld: geen IP, geen cookie, geen identificator. Drie waarden, een apparaatklasse en het paginapad, opgeslagen op uw eigen server als gebucketteerde tellingen. Er wordt niets ergens naartoe gestuurd.

Onder de honderd metingen toont het scherm helemaal geen getal — het zegt in plaats daarvan hoeveel het er heeft. Een percentiel uit een dozijn metingen is ruis, en een verkeerd getal is erger dan geen getal, want iemand gaat ernaar handelen. Het percentiel wordt uit een histogram gelezen en is dus benaderend tot op de bucketbreedte, en het scherm zegt dat erbij.

Transformaties en maskers

Elk blok kan worden verschoven, geschaald, gedraaid (Z en 3D X/Y), scheefgetrokken en gespiegeld — telkens met aparte waarden voor desktop, tablet en mobiel. Er kan een aparte hover-transformatie en een overgangsduur worden ingesteld.

Maskers kunnen een cirkel, driehoek, zeshoek, blob, bloem, vrije vorm of uw eigen afbeelding zijn, met besturing voor grootte, positie en herhaling.

De vormen zitten ingebed in de CSS en worden niet als aparte SVG-bestanden geleverd. Een verkeerd bestandspad laat een masker stilletjes verdwijnen en niemand ziet de 404; achter een CDN kan het adres van de plug-inmap bovendien veranderen.

Eigen code voor de hele site

HTML, CSS en JavaScript kunnen in de head, aan het begin van de body of aan het einde worden geplaatst: verificatietags, meetsnippets, kleine stijlcorrecties. Positie, prioriteit en een sessievoorwaarde zijn instelbaar.

Het voert geen PHP uit. Een PHP-uitvoerder in een paginabouwer stoppen zou de bevoegdheid van een ontwerper veranderen in de bevoegdheid om code op de server uit te voeren.

De vereiste bevoegdheid is unfiltered_html: wie geen ruw script in een bericht mag zetten, mag er ook geen sitebreed plaatsen. Is MevvLegal geïnstalleerd, dan worden hier geplaatste trackingscripts eveneens tegengehouden tot de cookietoestemming is gegeven.

WooCommerce-blokken

Twintig blokken: producttitel, afbeeldingen, prijs, in winkelwagen, beoordeling, voorraad, meta, korte beschrijving, beschrijving, gegevenstabbladen, aanvullende informatie, gerelateerde producten, upsells, cross-sells, winkelwagen, afrekenen, mijn account, bestelling volgen, sortering en resultaataantal.

Geen van deze tekent WooCommerce opnieuw. Ze roepen allemaal de eigen sjabloonfuncties en shortcodes ervan aan. Uw thema wijzigt die sjablonen en uw plug-ins haken erop in — verzending, termijnbetaling, voorraadmeldingen, maattabellen. Eigen markup tekenen zou dat allemaal stilletjes laten vallen.

Winkelwagen, afrekenen, mijn account en bestelling volgen zijn bezoekerspecifiek: volledige paginacaching wordt uitgeschakeld en ze worden nooit element-gecachet. Is WooCommerce niet actief, dan worden deze blokken noch op de server noch in de editor geregistreerd.

Editornotities

U kunt aan elk blok een notitie prikken: wie die heeft geschreven, wanneer, en of ze is afgehandeld.

Notities worden NOOIT op de pagina afgedrukt. In dat bestand zit geen enkele front-endhook en een test dwingt dat af. Notities zijn intern gesprek; een bezoeker die ze ziet, zou erger zijn dan een kapotte lay-out.

Een notitie is gekoppeld aan de identiteit van het blok. Een blok dupliceren geeft de kopie een NIEUWE identiteit, dus die erft de notitie niet — en als bijkomend voordeel krijgt ze haar eigen CSS-scope.

Notities zitten in de eigen gegevens van het bericht: verwijder het bericht en de notities gaan mee, zonder verweesde rijen achter te laten.

AI in de editor — met uw eigen sleutel

Schrijven, herschrijven, inkorten, alt-tekst voor afbeeldingen genereren en vertalen. Anthropic en OpenAI worden ondersteund.

U voert UW EIGEN API-sleutel in en het verzoek gaat van uw site RECHTSTREEKS naar de aanbieder. Uw tekst bereikt ons nooit; het quotum en de rekening blijven bij u. We hebben geen eigen clouddienst gebouwd: uw tekst zou dan via onze servers lopen en de verantwoordelijkheid voor de gegevens zou de onze worden.

De sleutel bereikt de browser nooit — het verzoek wordt vanaf de server gedaan. Hij wordt ook door geen enkel eindpunt teruggegeven; zelfs het instellingenformulier drukt de waarde niet terug af.

We versleutelen de sleutel NIET, en we zeggen dat gewoon: in WordPress moet de versleutelingssleutel op dezelfde server staan, dus een aanvaller met databasetoegang krijgt beide. Hem 'versleuteld' noemen zou een bescherming beloven die niet bestaat.

Het resultaat wordt niet meteen in het blok geschreven; het komt binnen als suggestie en u past het toe. Dat is onze echte verdediging tegen een zin die diep in uw inhoud verstopt zit en als instructie wordt gelezen — een mens keurt het goed.

Free en Pro

De gratis editie is het hele product: alle honderd en één blokken, themasjablonen, het raster en de loopbouwer, de formuliermotor met haar inzendingenopslag, het menu, de zoekfunctie, pop-ups, de patronenbibliotheek, blokvoorinstellingen, het globale palet, afbeeldingsoptimalisatie, blokcaching, eigen code voor de hele site, editornotities, het Core Web Vitals-scherm en de toegankelijkheidsaudit.

Pro voegt bewerkingsmogelijkheden toe, geen uitvoer:

  • Breekpunten — de tabbladen desktop / tablet / mobiel, met minimale hoogte, inhoudsbreedte, breedte en de vier opvulwaarden per breekpunt.
  • Eigen CSS per blok, waarbij het token selector voor dat blok zelf staat.
  • Formulierextra's — voorwaardelijke velden, een automatisch antwoord aan de afzender, een webhook en een veld voor bestandsupload.
  • CSV-export van formulierinzendingen.

De panelen voor breekpunten en eigen CSS verschijnen vandaag op de kernblokken — Container, Titel, Tekst, Knop, Scheidingsteken, Afbeelding, Testimonial, Pictogram, Pictogramvak, Pictogramlijst, Shortcode, Formulier, Producten en Productcategorieën. Verschillende instellingen per breekpunt zijn gratis waar ze bestaan: het aantal kolommen van het raster op tablet en mobiel, de hamburgerdrempel van het menu, de mobiele positie van het afbeeldingsvak en de apparaatkeuze van de plakkende positie.

Wanneer een licentie verloopt of ontbreekt:

  • Uw site ziet er precies hetzelfde uit. Elke opgeslagen tablet- en mobielwaarde wordt nog steeds afgedrukt, en elke eigen CSS-regel per blok ook. Dit is geen belofte maar een architectuurregel: geen enkel bestand op het renderpad vraagt naar de licentie, en een test controleert dat bij elke release.
  • Formulieren blijven inzenden, blijven opslaan en blijven mail versturen.
  • Bestaande pop-ups blijven verschijnen.
  • Wat u verliest, zijn de Pro-panelen in de editor — en alleen die.

Zijn onze servers onbereikbaar, dan blijft een actieve licentie zeven dagen werken. Een installatie die zich nooit met succes heeft geverifieerd, krijgt helemaal geen respijt: ons adres blokkeren is geen manier om Pro te krijgen.

Wanneer iets niet werkt

“De formuliersessie is verlopen.”
De gecachte kopie van die pagina is ouder dan zeven dagen, of de beveiligingssleutels van uw site zijn vervangen. Leeg de paginacache.
Het formulier verstuurt geen mail
Controleer eerst de lijst met inzendingen — het record wordt vóór de mail weggeschreven, dus staat het er, dan werkte het formulier en de bezorging niet. Controleer daarna het ontvangeradres en de mailinstellingen van uw site.
De pagina ziet er goed uit in de editor en verkeerd op de front-end
De editorvoorbeeldweergave is van huis uit een benadering; zie hierboven. De front-end is de waarheid. Draagt een blok tablet- of mobielwaarden, dan drukt de editor daarover een melding af.
Een blok zegt dat het ongeldig is wanneer ik het probeer te bewerken
Historisch overkwam dit blokken die op de server geregistreerd waren maar ontbraken in het editorscript — ze werden perfect afgedrukt en faalden pas bij het openen voor bewerking. Een test beschermt daar nu tegen; ziet u het toch, meld dan de bloknaam.
De aftelklok toont de verkeerde tijd
De markup draagt een absoluut doelmoment, nooit 'nog X seconden', zodat een gecachte pagina die niet kan bevriezen. Het blok corrigeert zichzelf tegen de serverklok; wordt dat verzoek geblokkeerd, dan valt het terug op de klok van de bezoeker in plaats van te falen.
Het koptekst- of voettekstsjabloon verschijnt niet
Uw thema heeft geen recept. Alleen Astra en GeneratePress kunnen worden opgetild; het scherm waarschuwt u. De andere sjabloontypen werken op elk thema.
Er verschenen twee kopteksten
Zowel MevvBlocks als MevvBridge produceert er een. MevvBlocks neemt de plek met opzet het eerst — laat de koptekst aan één van beide over.
Containers zijn breder of smaller dan ingesteld
Een themaregel wint op specificiteit. Vooral Astra stijlt zijn afstammelingen sterk. Voor de gemeten gevallen is dit opgelost door de specificiteit te verhogen in plaats van !important te gebruiken; stuit u op een nieuw geval, zeg dan welk thema.
Een gepubliceerd bericht verschijnt niet in een raster
Dat hoort wel. Het raster cachet alleen de bericht-id's en elk opgeslagen bericht maakt de cache ongeldig. Blijft het zo, controleer dan of het berichttype en de sortering zijn wat u verwacht.

Grenzen

  • De editorvoorbeeldweergave is een benadering. Structuur en inhoud worden getoond; het exacte uiterlijk is de front-end.
  • Sjablonen voor koptekst en voettekst werken alleen bij Astra en GeneratePress. Elk ander thema krijgt niets, plus een waarschuwing — zwijgen zou twee kopteksten betekenen.
  • De kaart is een OpenStreetMap-embed. Eén marker, geen eigen markerafbeelding, geen kaartstijl, geen routebeschrijving. Geen API-sleutel, geen factureringsaccount en geen sleutel in de broncode van uw pagina.
  • Geen toegankelijkheidsoverlay. Alleen meten en melden.
  • Geen CAPTCHA.
  • Geen live zoekfunctie. Een verzoek per toetsaanslag is een afhankelijkheid en een oppervlak voor snelheidslimieten.
  • De aftelklok gebruikt de tijdzone van de site, niet die van de bezoeker. Een campagne eindigt wereldwijd op één moment.
  • Het menu biedt twee breakpoints, geen vrije pixelwaarde, en heeft geen fly-out- of off-canvasmodus — een schuivend paneel met focusbeheer is precies waar het pop-upblok voor is.
  • Rasterkaarten kunnen geen h1 zijn, en het nesten van loops houdt op bij twee niveaus.
  • Dynamische inhoud komt uit een vaste lijst van bronnen. Er is geen veld 'voer deze expressie uit': dat zou code-uitvoering geven aan iedereen die een pagina mag bewerken.
  • Globale kleur- en typografiesets kunnen niet worden verwijderd, alleen leeggemaakt.
  • Productkaarten worden getekend door WooCommerce, niet door ons, zodat uw thema en eventuele hooks van derden blijven werken.
  • De interface wordt in elf talen geleverd. Turks, Engels, Spaans, Duits, Frans, Portugees, Italiaans, Nederlands, Japans, Russisch en Pools, plus landvarianten zoals es_MX en pt_PT. Elke andere taal valt terug op het Engels.
  • Het Web Vitals-venster wordt elke 28 dagen gereset; het schuift niet mee. Een schuivend venster zou dagbuckets en achtentwintig keer zoveel opslag vergen. Het scherm toont wanneer het huidige venster begon.
  • Verwijderen haalt de inzendingentabel en de instellingen niet weg. Uw blokinhoud blijft hoe dan ook leesbaar — het is standaardmarkup in post_content.

Er wordt nergens een JavaScript- of CSS-bibliotheek van derden geladen. Niet voor de slider, niet voor de accordeon, niet voor beweging, niet voor de kaart. Elk daarvan zou tussen de veertig en honderd kilobyte hebben gekost op elke pagina die het gebruikte.