[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

  1. Go to Plugins → Add New in your WordPress admin.
  2. Click Upload Plugin and select the .zip file.
  3. Click Install Now, then Activate.
  4. Access the plugin directory via terminal/SSH and run: composer install
  5. 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

  1. Go to QR Codes → Add New.
  2. Enter a Title (internal name for the QR Code).
  3. Scroll to the Contact Information (vCard) section.
  4. Fill in the contact details.
  5. Configure the QR Appearance (colors).
  6. Select the Delivery Mode.
  7. 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

  1. Click Select Image.
  2. Choose an image from the library or upload a new one.
  3. 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=password in the URL to access.
  • Example: If password = abc123, URL must be https://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

  1. Go to QR Codes → Add New.
  2. Fill in contact information (name, phone, email, etc.).
  3. Set colors to match your brand.
  4. Select Direct Delivery mode.
  5. Publish and click Download PNG.
  6. Send the file to your print shop.

Email Signature Landing Page

  1. Create a new QR Code with complete contact data.
  2. Select Landing Page mode.
  3. Upload a professional profile photo (400x400px).
  4. Customize the accent color and texts.
  5. Publish and copy the URL: https://yoursite.com/qr/your-name.
  6. Add to your email signature as a link or embed the QR Code image.

Event QR Code with Scan Limit

  1. Create a new QR Code for your event stand.
  2. Select Landing Page mode.
  3. Set Expires On: last day of the event.
  4. Set Scan Limit: stand capacity (e.g., 500).
  5. 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:

  1. Verify that composer install was executed.
  2. Confirm that the vendor/ folder exists in the plugin directory.
  3. Check server write permissions.
  4. Enable WP_DEBUG and check error logs.

Landing Page not displaying (404 error)

Symptoms: 404 error when accessing /qr/{slug}.

Solutions:

  1. Go to Settings → Permalinks.
  2. Click Save Changes (this flushes rewrites).
  3. 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:

  1. Check the QR Code’s delivery mode.
  2. Perform a test scan.
  3. Deactivate and reactivate the plugin (recreates the table).

Download not working

Symptoms: Error when clicking “Download PNG/SVG”.

Solutions:

  1. Verify that the post is published.
  2. Confirm that the endroid library is installed.
  3. Check PHP error logs.

Landing Page texts in wrong language

Symptoms: Texts do not appear in the expected language.

Solutions:

  1. Check the browser’s language setting.
  2. Manually customize texts in the QR Code editor.
  3. 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:

  1. Deactivate the plugin.
  2. 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_*.

Frequently Asked Questions