Installation

LicenceForge installs like any standard WordPress plugin. The entire process takes under a minute and requires no manual database setup -- activation handles everything automatically.

Note

Before installing, verify your server meets the system requirements. LicenceForge requires WordPress 5.8+ and PHP 7.4+ at minimum.

Method 1: WordPress Admin Upload

This is the recommended approach for most users.

  1. Download the licenceforge.zip file from your account.
  2. In your WordPress admin, navigate to Plugins > Add New > Upload Plugin.
  3. Click Choose File, select the ZIP, then click Install Now.
  4. Once installed, click Activate Plugin.
WordPress Plugins Add New Upload Plugin screen
Upload the plugin ZIP through the WordPress admin interface.

Method 2: FTP / SFTP Upload

Use this method if you prefer direct file access or have upload size restrictions.

  1. Unzip licenceforge.zip on your local machine.
  2. Connect to your server via FTP or SFTP.
  3. Upload the licenceforge/ folder to /wp-content/plugins/.
  4. In the WordPress admin, go to Plugins and click Activate next to Licence Forge.

Method 3: WP-CLI

For developers comfortable with the command line:

wp plugin install /path/to/licenceforge.zip --activate

What Happens on Activation

When you activate LicenceForge, the plugin automatically performs the following setup tasks. No manual intervention is required.

Database Tables

Eight custom tables are created using the WordPress dbDelta() function. All table names use the {prefix}wplf_ namespace.

Table Purpose
wplf_productsYour plugins/themes with version info, rollout settings, and trial configuration
wplf_product_pricesPricing tiers with Stripe/WooCommerce mapping, activation limits, and feature gating
wplf_licensesIssued license keys (hashed), customer data, status, and subscription references
wplf_activationsPer-site activations with last-seen timestamps and device fingerprints
wplf_webhook_eventsStripe/WooCommerce webhook log for idempotency and retry tracking
wplf_audit_logChronological log of all license operations with hashed IP addresses
wplf_analyticsValidation and activation event data for usage analytics
wplf_api_keysAPI key management with hashed keys, labels, permissions, and product scoping

Scheduled Cron Events

Four WP-Cron events are registered to handle background maintenance:

Event Hook Frequency Purpose
wplf_daily_maintenanceDailyExpire licenses past grace period, cleanup old audit/webhook/analytics records, auto-deactivate expired sites, run health alerts
wplf_check_expiring_licensesDailySend email notifications for licenses nearing expiration
wplf_cleanup_analyticsWeeklyPurge analytics data older than 365 days
wplf_webhook_retryEvery 5 minutesRetry failed webhook events with exponential backoff

Tip

If your site does not receive regular traffic, consider setting up a real server-side cron job to trigger wp-cron.php. This ensures scheduled tasks run on time even during low-traffic periods.

Encryption Secrets

Two 64-character random secrets are generated and stored as WordPress options on first activation:

  • wplf_license_hmac_secret -- used for HMAC-based license key hashing and privacy-preserving IP hashing
  • wplf_download_token_secret -- used to sign time-limited download tokens

These values are created once and never regenerated on subsequent activations. If they already exist in the database, they are left unchanged.

Warning

Do not manually modify or delete these secrets. Changing them will invalidate all existing license key hashes and active download tokens.

Default Options

The following default settings are written to the wp_options table. Each is created only if the option does not already exist (safe for re-activation).

Option Key Default Value Description
wplf_grace_period_days3Days after license expiry before status changes to expired
wplf_rate_limit_validate30Maximum validation requests per minute per IP
wplf_rate_limit_activate10Maximum activation requests per minute per IP
wplf_stripe_modetestStripe API mode (test or live)
wplf_email_notificationstrueEnable email notifications for license events
wplf_auto_deactivatetrueAutomatically deactivate sites when a license expires
wplf_analytics_enabledtrueCollect validation and activation analytics
wplf_require_api_keyyesRequire API key authentication for REST endpoints
wplf_db_version1.0.0Tracks the current database schema version for migrations

Verifying Installation

After activation, confirm everything is working:

  1. Navigate to Licences in the WordPress admin sidebar -- the LicenceForge dashboard should load.
  2. Go to Licences > Settings and check that the DB Version displays 1.7.0 (the latest schema version).
  3. Look for a LicenceForge Health widget on the WordPress Dashboard page -- all checks should show green.
LicenceForge dashboard after successful installation showing health widget
A healthy installation shows all green status indicators on the dashboard health widget.

Next Steps