SmartLink QR releasesself-updates
SmartLink QR — Unified QR Code generator, link shortener, click analytics and UTM passthrough for WordPress.
by SmartLink QR · github.com/meiaumlabs/smartlink-qr · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/meiaumlabs/smartlink-qr/releases/download/v1.2.1/smartlink-qr-1.2.1.zipShips its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.
Readme
=== SmartLink QR === Contributors: smartlinkqr Tags: qr code, url shortener, analytics, utm, links Requires at least: 6.2 Tested up to: 6.5 Requires PHP: 8.1 Stable tag: 1.2.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html
QR Codes, short links, click analytics and UTM passthrough — with a React admin panel and a public generator.
== Description ==
SmartLink QR unifies four tools into one privacy-first plugin:
- Short links — random or custom slugs, 301/302/307 redirects, expiry, click limits, password protection, tags, soft-delete trash, CSV import/export.
- UTM passthrough — incoming query strings are merged into the destination with configurable rules (override / preserve / ignore) and per-link default UTMs.
- QR Codes — generated client-side (bundled, no CDN) with an optional server-side fallback via
endroid/qr-code; download PNG (512/1024/2048) and sanitized SVG. The QR always points at the short link with?src=qrso scans are counted. - Analytics — total/unique clicks, time series, top referrers/countries/devices/browsers, QR vs. direct, top links. IPs are stored only as daily-salted SHA-256 hashes (LGPD/GDPR).
A React admin SPA provides the Dashboard, Links table, link editor with live QR preview + UTM builder, QR Studio, Settings and Security Logs. A public React app (shortcode [smartlink_qr] and a Gutenberg block) lets visitors generate links and QR codes with honeypot + rate-limit protection.
== Installation ==
- Build assets:
npm install && npm run build. - (Optional) Server-side QR fallback:
composer install. - Upload the
smartlink-qrfolder to/wp-content/plugins/and activate it. - Visit SmartLink QR → Settings to configure retention, permissions, public mode and anti-abuse.
Cache exclusions (required for the redirect route)
The redirect route already sends Cache-Control: no-store and X-Robots-Tag: noindex, but also exclude short slugs from page caches:
- WP Rocket — Settings → Advanced Rules → Never Cache URL(s): add
/[a-z0-9-]{1,64}/?$or your known slugs. - LiteSpeed Cache — Cache → Excludes → Do Not Cache URIs: add each slug path (or a shared
/go/prefix if you namespace links). - Cloudflare — Create a Cache Rule: If URI Path matches your slug pattern → Bypass cache; ensure
Cache-Control: no-storeis respected (do not enable "Cache Everything" for those paths).
== Frequently Asked Questions ==
= Does it store IP addresses? = No. Only a SHA-256 hash of the IP combined with a daily-rotating salt is stored, used solely for unique-visitor counting.
= Does the QR count scans? =
Yes. QR codes encode the short link with ?src=qr, so scans are recorded and separated from direct clicks.
== Changelog ==
= 1.2.1 =
- Widget do Elementor com personalização visual completa: novas seções de estilo para Container (tipografia base, superfícies, bordas, sombra, largura, posição, espaçamento e margem), Título, Marca (selo e nome), Campos do formulário (rótulos, entradas, borda, foco e ajuda), Botão principal e Botões de ação (com estados normal/hover), Resultado (cartão, QR, link e alertas) e Assinatura.
= 1.2.0 =
- Novo widget nativo do Elementor ("SmartLink QR") com controles completos por instância: título, exibição de marca/alias/controles do QR/assinatura, cores e nível de correção padrão do QR, além de estilo visual (superfícies, cores, tipografia do título, largura, espaçamento e arredondamento).
- Novo modo neutro (white-label) nas configurações para ocultar a marca "61 Labs" no painel e na ferramenta pública, com nome exibido personalizável.
- A ferramenta pública agora aceita configuração por instância e monta corretamente dentro do editor do Elementor.
= 1.1.1 =
- A marca "61 Labs" (cabeçalho do painel e da ferramenta pública) agora é um link clicável para https://61labs.com.br.
= 1.1.0 =
- Interface totalmente traduzida para o português (painel, editor de links, configurações, registros de segurança, estúdio de QR e ferramenta pública).
- Novo tema visual com a identidade de marca da 61 Labs e maior contraste (WCAG AA).
- Assinatura da 61 Labs adicionada ao rodapé do painel e da ferramenta pública.
= 1.0.0 =
- Initial release.
Read the full README on GitHub →