{"id":8857,"date":"2026-05-25T13:20:43","date_gmt":"2026-05-25T11:20:43","guid":{"rendered":"https:\/\/www.lrob.fr\/?page_id=8857"},"modified":"2026-05-26T15:13:33","modified_gmt":"2026-05-26T13:13:33","slug":"qr-code-maker","status":"publish","type":"page","link":"https:\/\/archive-www.lrob.fr\/en\/wordpress\/plugins\/qr-code-maker\/","title":{"rendered":"LRob QR Code Maker: the free, SaaS-free QR code WordPress plugin"},"content":{"rendered":"<p class=\"wp-block-paragraph\">With the LRob QR Code Maker plugin, generate personalized QR codes directly on your WordPress site. No SaaS, no API key, no subscription, no account to create. Everything runs on your server and in your visitors' browsers.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\/releases\" target=\"_blank\" rel=\"noopener\">Free download<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\" target=\"_blank\" rel=\"noopener\">View source code<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\/issues\" target=\"_blank\" rel=\"noopener\">Suggestions and bug reports<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">QR Code generator - Live demo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Test the plugin below, it's exactly the Gutenberg block you'll install on your site.<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Why this plugin<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>100% free, open source (GPL)<\/strong>, no limits, no watermarks, no restricted Pro tier.<\/li>\n\n\n\n<li><strong>No SaaS, no registration, no API key.<\/strong> Nothing to declare in your RGPD register.<\/li>\n\n\n\n<li><strong>Public Gutenberg block<\/strong> to offer your visitors a QR generator, branded with your colors.<\/li>\n\n\n\n<li><strong>Library admin<\/strong> for your own tracked QR codes, on your domain.<\/li>\n\n\n\n<li><strong>Tracking zero per-visitor data<\/strong> : only one scan counter is incremented.<\/li>\n\n\n\n<li><strong>Native auto-update<\/strong> from GitHub, with no dependency on wordpress.org.<\/li>\n\n\n\n<li><strong>PHP 8.3+<\/strong>, WordPress 6.0+<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Two interfaces in a single plugin<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">GBloc Gutenberg public<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Insert block <strong>QR Code Maker<\/strong> on any page. Your visitors have access to a complete generator, with live preview, customizable shapes, free colors and logo import. Visitors' logos remain in their browsers, never touching your server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ideal for bars, restaurants, hotels, coworking firms, agencies and freelancers who want to offer a useful tool without sending their visitors to an external service.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a1dbaae763b8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a1dbaae763b8\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"807\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QRCode-Frontend-Gutenberg-Visiteur-1024x807.png\" alt=\"\" class=\"wp-image-8943\" srcset=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QRCode-Frontend-Gutenberg-Visiteur-1024x807.png 1024w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QRCode-Frontend-Gutenberg-Visiteur-300x237.png 300w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QRCode-Frontend-Gutenberg-Visiteur-150x118.png 150w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QRCode-Frontend-Gutenberg-Visiteur.png 1040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">admin library<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the <strong>QR Codes<\/strong> from the back office, manage a grid of reusable QR codes. Real-time preview, autosave, one-click editing and export. And best of all, <strong>optional tracked redirection<\/strong> on your own domain.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;galleryId&quot;:&quot;6a1dbaae76509&quot;}\" data-wp-interactive=\"core\/gallery\" class=\"wp-block-gallery has-nested-images columns-2 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a1dbaae76850&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a1dbaae76850\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"963\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"8940\" src=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/Generateur-QR-Code-backend-963x1024.png\" alt=\"\" class=\"wp-image-8940\" srcset=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/Generateur-QR-Code-backend-963x1024.png 963w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/Generateur-QR-Code-backend-282x300.png 282w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/Generateur-QR-Code-backend-141x150.png 141w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/Generateur-QR-Code-backend.png 974w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a1dbaae76c40&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a1dbaae76c40\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1006\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"8941\" src=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QR-Codes-Bibliotheque-1024x1006.png\" alt=\"\" class=\"wp-image-8941\" srcset=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QR-Codes-Bibliotheque-1024x1006.png 1024w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QR-Codes-Bibliotheque-300x295.png 300w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QR-Codes-Bibliotheque-150x147.png 150w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/QR-Codes-Bibliotheque.png 1154w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a1dbaae76f70&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a1dbaae76f70\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"766\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"8939\" src=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/export-qrcode-en-webp.png\" alt=\"\" class=\"wp-image-8939\" srcset=\"https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/export-qrcode-en-webp.png 982w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/export-qrcode-en-webp-300x234.png 300w, https:\/\/archive-www.lrob.fr\/wp-content\/uploads\/2026\/05\/export-qrcode-en-webp-150x117.png 150w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">racking on your domain, without any per-visitor data<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Activate tracking on a QR code: it encodes <code>https:\/\/votre-site.com\/qr\/&lt;slug&gt;<\/code> instead of the final URL. With each scan, the <strong>increments a counter<\/strong>, then redirects in 302 to the target. That's all there is to it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No stored IP, even truncated. No user-agent. No referers. No cookies. No fingerprint. No need for a specific consent banner, no subcontractor to declare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the practical side: print a QR on 500 flyers, change the target later, don't reprint anything. And unlike SaaS, <strong>if you stop using the plugin, your printed QRs won't become 404s with a service provider<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tracking is available on <strong>URL<\/strong>, <strong>free text<\/strong> and <strong>vCard<\/strong>. For other types (Wi-Fi, email, SMS, phone, geo), the native scheme is interpreted directly by the phone, and HTTP redirection would break the QR.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Full customization<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>6 stitch shapes<\/strong> Square, Rounded, Extra rounded, Dots, Classy, Classy rounded.<\/li>\n\n\n\n<li><strong>5 eye shapes<\/strong> Square, Extra rounded, Circle, Classy, Classy rounded.<\/li>\n\n\n\n<li><strong>Free colors<\/strong> on points, inner eyes, outer eyes and background.<\/li>\n\n\n\n<li><strong>Central logo<\/strong> with automatic management of error correction level and 3 sizes (Safe, Medium, Max).<\/li>\n\n\n\n<li><strong>5 interface themes<\/strong> Auto (default), Light, Dark, Inherited from theme (FSE), Custom.<\/li>\n\n\n\n<li><strong>3 page layouts<\/strong> : preview right, preview left, stacked.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8 types of QR code content<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Encoding<\/th><\/tr><\/thead><tbody><tr><td><strong>URL<\/strong><\/td><td>Web address<\/td><\/tr><tr><td><strong>Free text<\/strong><\/td><td>Plain text<\/td><\/tr><tr><td><strong>Contact (vCard)<\/strong><\/td><td><code>BEGIN:VCARD<\/code> v3.0<\/td><\/tr><tr><td><strong>Wi-Fi network<\/strong><\/td><td><code>WIFI:T:WPA;S:...;P:...;;<\/code><\/td><\/tr><tr><td><strong>Email<\/strong><\/td><td><code>mailto:<\/code><\/td><\/tr><tr><td><strong>SMS<\/strong><\/td><td><code>sms:<\/code><\/td><\/tr><tr><td><strong>Phone call<\/strong><\/td><td><code>tel:<\/code><\/td><\/tr><tr><td><strong>Geolocation<\/strong><\/td><td><code>geo:<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Multi-format export<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WebP<\/strong> (default), <strong>PNG<\/strong>, <strong>JPEG<\/strong>. Sizes: 256, 512, 1024, 2048, 4096 px as presets, plus a custom size up to 8192 px for large-format prints.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SVG is deliberately not offered: SVG can embed script.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">LRob QR Code Maker vs SaaS QR codes<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>LRob QR Code Maker<\/th><th>Typical SaaS QR code<\/th><\/tr><\/thead><tbody><tr><td><strong>Cost<\/strong><\/td><td>Free for life (GPL)<\/td><td>5 to \u20ac50\/month<\/td><\/tr><tr><td><strong>Tracked URL<\/strong><\/td><td><code>your-site.com\/qr\/...<\/code><\/td><td><code>their-domain.com\/code<\/code><\/td><\/tr><tr><td><strong>If the service closes<\/strong><\/td><td>Nothing changes<\/td><td>Your QRs become 404s<\/td><\/tr><tr><td><strong>Scan data<\/strong><\/td><td>Meter only<\/td><td>IP, user-agent, geo, etc.<\/td><\/tr><tr><td><strong>RGPD Compliance<\/strong><\/td><td>No subcontractors<\/td><td>Subcontractor to be declared<\/td><\/tr><tr><td><strong>Branding<\/strong><\/td><td>Standard<\/td><td>Often reserved for Pro<\/td><\/tr><tr><td><strong>Visitor logo<\/strong><\/td><td>Stay in their browser<\/td><td>Uploaded to them<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Use cases<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Restaurant, bar, hotel<\/strong> public block for guest Wi-Fi, menu, reservation.<\/li>\n\n\n\n<li><strong>Web agency<\/strong> deployment on customer sites, without recommending SaaS for a fee.<\/li>\n\n\n\n<li><strong>Print marketing<\/strong> QR trackers on flyers, counters in the back office.<\/li>\n\n\n\n<li><strong>Real estate<\/strong> QR for each panel, tracked redirection to the virtual tour.<\/li>\n\n\n\n<li><strong>Conferences<\/strong> QR vCard on speaker badge, QR ticketing on landing.<\/li>\n\n\n\n<li><strong>Coworking<\/strong> QR Wi-Fi at reception, identifiers never communicated verbally.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download <code>lrob-qrcode-maker-.zip<\/code> since <a href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\/releases\" target=\"_blank\" rel=\"noopener\">GitHub Releases<\/a>.<\/li>\n\n\n\n<li>Admin WordPress \u2192 <strong>Extensions \u2192 Add \u2192 Upload<\/strong> \u2192 activate.<\/li>\n\n\n\n<li>Insert block <strong>QR Code Maker<\/strong> on a page, or go to <strong>QR Codes \u2192 Library<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">No external configuration, no API keys. Updates arrive automatically from GitHub via the native WordPress mechanism.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Is the plugin really free?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. GPL-2.0-or-later, no limits, no watermarks, no tier Pro. For commercial use, on as many sites as you like.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I need an API key or an account?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. You install, activate, it works.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does the plugin make calls to external servers?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Just one: the daily check of GitHub releases for auto-update. Nothing else. No analytics, no callbacks, no third-party scripts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do my visitors upload their logo to my server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. The public block reads the file in the visitor's browser via <code>FileReader<\/code> and composes it locally via canvas. No file touches your server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What do you store on the scans?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Only one counter per QR code. No IP, no user-agent, no referer, no cookie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What happens if I uninstall the plugin?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By default, nothing is deleted: a reinstallation finds your QR codes and counters. You can change this behavior before uninstalling.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress multisite compatible?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, each site has its own library and settings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why no SVG export?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An SVG can embed JavaScript. Allowing it to be generated on the visitor's side would open up an attack surface with no real benefit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Links<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udce6 <a href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\/releases\" target=\"_blank\" rel=\"noopener\">Download the latest version<\/a><\/li>\n\n\n\n<li>\ud83d\udcbb <a href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\" target=\"_blank\" rel=\"noopener\">GitHub repository<\/a><\/li>\n\n\n\n<li>\ud83d\udc1b <a href=\"https:\/\/github.com\/LRob-FR\/wp-lrob-qrcode-maker\/issues\" target=\"_blank\" rel=\"noopener\">Report a bug<\/a><\/li>\n\n\n\n<li>\ud83d\udce7 <a href=\"https:\/\/archive-www.lrob.fr\/en\/contact\/\">Contact LRob<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">License and credits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin code : <strong>GPL-2.0-or-later<\/strong>. Developed by <a href=\"https:\/\/archive-www.lrob.fr\/en\/\">LRob<\/a>, a WordPress hosting company based in Orl\u00e9ans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Embedded library : <a href=\"https:\/\/github.com\/kozakdenys\/qr-code-styling\" target=\"_blank\" rel=\"noopener\">qr-code-styling<\/a> by Denys Kozak (MIT license), responsible for browser-side rendering.<\/p>","protected":false},"excerpt":{"rendered":"<p>Avec le plugin LRob QR Code Maker, g\u00e9n\u00e9rez des QR codes personnalis\u00e9s directement sur votre site WordPress. Pas de SaaS, pas de cl\u00e9 API, pas d&rsquo;abonnement, pas de compte \u00e0 cr\u00e9er. Tout tourne sur votre serveur et dans le navigateur de vos visiteurs. G\u00e9n\u00e9rateur de QR Code &#8211; D\u00e9mo en conditions r\u00e9elles Testez le plugin [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8954,"parent":8838,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8857","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/comments?post=8857"}],"version-history":[{"count":17,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8857\/revisions"}],"predecessor-version":[{"id":8953,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8857\/revisions\/8953"}],"up":[{"embeddable":true,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8838"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/media\/8954"}],"wp:attachment":[{"href":"https:\/\/archive-www.lrob.fr\/en\/wp-json\/wp\/v2\/media?parent=8857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}