[B] Easy vCard Generator — QR Code + Digital Business Card
Smart QR Codes that save contacts, track scans, and look professional — all on your own server.
Manual & Documentation
[B] Easy vCard Generator creates and manages vCard QR Codes (digital business cards) with advanced scan tracking and real-time analytics. Three delivery modes (Direct, Landing Page, Static), customizable colors, multi-language landing pages, PNG/SVG export, access rules (expiration, scan limit, password), and full GDPR compliance.
Requirements
- WordPress 6.0 or higher
- PHP 8.1 or higher
- Composer (required to install dependencies)
- endroid/qr-code library (installed via Composer)
Installation
- Go to Plugins → Add New in your WordPress admin.
- Click Upload Plugin and select the
.zipfile. - Click Install Now, then Activate.
- Access the plugin directory via terminal/SSH and run:
composer install - A new menu item QR Codes will appear in the admin sidebar.
Important: Without running composer install, the plugin will display a warning and will
not function.
Creating a QR Code
- Go to QR Codes → Add New.
- Enter a Title (internal name for the QR Code).
- Scroll to the Contact Information (vCard) section.
- Fill in the contact details.
- Configure the QR Appearance (colors).
- Select the Delivery Mode.
- Click Publish.
Contact Information Fields
- First Name: Contact’s first name (recommended).
- Last Name: Contact’s last name (recommended).
- Company: Company or organization name (optional).
- Job Title: Professional title/position (optional).
- Phone: Phone number, international format recommended, e.g.,
+34 600 123 456(recommended). - Email: Email address (recommended).
- Website: Website URL, always include
https://(optional). - LinkedIn: LinkedIn profile URL (optional).
- Address: Full address, multiple lines supported (optional).
QR Code Appearance
- Main Color: Color of the QR modules (default: black #000000).
- Background Color: QR background color (default: white #ffffff).
Tips: Maintain high contrast between colors. Avoid very light colors for the main color. Test QR readability after generating.
Delivery Modes
Direct Delivery (Recommended)
- Behavior: Tracks the scan and delivers the vCard file (.vcf).
- iOS: Automatically opens “Add Contact”.
- Android: Downloads the .vcf file.
- Tracking: Yes.
- Ideal for: Physical business cards, events.
Landing Page
- Behavior: Tracks the scan and displays a customized web page.
- Content: Profile photo, social links, “Save Contact” button.
- Tracking: Yes.
- Ideal for: Digital networking, email signatures.
Static QR
- Behavior: Instant vCard delivery (no redirect).
- Tracking: No.
- Ideal for: Permanent prints where tracking is not needed.
Landing Page Customization
Available only in “Landing Page” mode.
Accent Color
Choose the primary color for the landing page (buttons, links).
Profile Photo
- Click Select Image.
- Choose an image from the library or upload a new one.
- Recommended: 400x400px, JPG/PNG format.
Multi-language Texts
Customize landing page texts for each language (Galego, Español, English):
- Headline: Main title (default: contact name).
- Subhead: Job title and company.
- Save Contact Button: Primary button text.
- WhatsApp Label: WhatsApp link label.
- Call Label: Phone link label.
- Website Label: Site link label.
- LinkedIn Label: LinkedIn link label.
- Footer: Footer text.
Note: Leave blank to use default values for each language.
Access Rules
Configure optional restrictions for each QR Code:
Expires On
- Format: Date (YYYY-MM-DD).
- Behavior: After this date, the QR returns a 404 error.
- Example:
2025-12-31(expires on the last day of 2025).
Scan Limit
- Format: Integer number.
- Behavior: After reaching the limit, the QR returns an error.
- Value 0: Unlimited (default).
- Example:
100(allows only 100 scans).
Access Password
- Format: Free text.
- Behavior: Requires
?key=passwordin the URL to access. - Example: If password =
abc123, URL must behttps://site.com/qr/slug?key=abc123.
Downloading QR Codes
After publishing, use the preview panel on the right sidebar:
- Download PNG: Raster image, ideal for digital use and printing.
- Download SVG: Vector image, ideal for large-format printing.
Analytics Dashboard
Navigate to QR Codes → Analytics to view real-time data.
Summary Cards
- Total Scans: Sum of all recorded scans.
- Scans Today: Scans performed on the current day.
- Most Popular: QR Code with the highest number of scans.
30-Day Chart
Visualize scan evolution over the last 30 days in a line chart.
Recent Scans Table
Displays the 20 most recent scans with:
- Date and time of the scan.
- Scanned QR Code (link to edit).
- Anonymized IP (e.g., 192.168.1.0).
- Device/Browser (user agent).
Usage Examples
Physical Business Card QR Code
- Go to QR Codes → Add New.
- Fill in contact information (name, phone, email, etc.).
- Set colors to match your brand.
- Select Direct Delivery mode.
- Publish and click Download PNG.
- Send the file to your print shop.
Email Signature Landing Page
- Create a new QR Code with complete contact data.
- Select Landing Page mode.
- Upload a professional profile photo (400x400px).
- Customize the accent color and texts.
- Publish and copy the URL:
https://yoursite.com/qr/your-name. - Add to your email signature as a link or embed the QR Code image.
Event QR Code with Scan Limit
- Create a new QR Code for your event stand.
- Select Landing Page mode.
- Set Expires On: last day of the event.
- Set Scan Limit: stand capacity (e.g., 500).
- Publish and monitor in Analytics.
Roles & Permissions
- Administrator: Full access — create, edit, delete QR Codes and access Analytics.
- Editor: Create, edit, and delete QR Codes. No Analytics access by default.
- Author/Contributor: No access to the QR Codes CPT by default.
To grant access to other roles, use a capabilities management plugin (e.g., User Role Editor).
Troubleshooting
QR Code not generating
Symptoms: Empty preview area or error.
Solutions:
- Verify that
composer installwas executed. - Confirm that the
vendor/folder exists in the plugin directory. - Check server write permissions.
- Enable WP_DEBUG and check error logs.
Landing Page not displaying (404 error)
Symptoms: 404 error when accessing /qr/{slug}.
Solutions:
- Go to Settings → Permalinks.
- Click Save Changes (this flushes rewrites).
- Test again.
Analytics showing empty
Symptoms: “No scans recorded yet” message.
Causes:
- QR Code is in Static mode (does not track).
- No scans have been performed yet.
- Database table was not created.
Solutions:
- Check the QR Code’s delivery mode.
- Perform a test scan.
- Deactivate and reactivate the plugin (recreates the table).
Download not working
Symptoms: Error when clicking “Download PNG/SVG”.
Solutions:
- Verify that the post is published.
- Confirm that the endroid library is installed.
- Check PHP error logs.
Landing Page texts in wrong language
Symptoms: Texts do not appear in the expected language.
Solutions:
- Check the browser’s language setting.
- Manually customize texts in the QR Code editor.
- Confirm the language is one of the supported options (gl/es/en).
Privacy & Data (GDPR Compliance)
This plugin:
- Anonymizes IPs automatically using
wp_privacy_anonymize_ip(). - Truncates user agents for privacy.
- Stores data in a single database table (
wp_bqrcode_scans). - Does not set any cookies.
- Does not make any external HTTP requests.
- Does not send data to third parties.
- Is fully compatible with GDPR, LGPD, and similar privacy regulations.
Uninstallation
Deactivating the plugin stops QR Code functionality. To fully remove:
- Deactivate the plugin.
- Delete it from Plugins → Installed Plugins.
Data removed on deletion:
- Database table
wp_bqrcode_scans. - All posts of type
b_qrcode. - All post meta with prefix
_bqrcode_*.