Installing GP Premium
warning
Treat commercial plugin ZIPs and license keys as secrets. Do not commit them to Git and do not leave ZIPs world-readable in shared locations.
License Key Hygiene
- Store the license key in a secure runbook/password manager.
- Never put the key in a repo, a theme file, or a public issue.
- Validate plugin updates on staging before production.
Prerequisites
| Item | What it is | Path |
|---|---|---|
| GP Premium | Commercial plugin that extends GeneratePress | /wp-content/plugins/gp-premium/ |
| Modules | Feature toggles (Elements, Typography, Colors, Site Library, etc.) | Usually configured in WP admin; stored in options |
| Elements | UI + storage for hook/layout/block elements | Under the GP Premium plugin code |
Safety Notes
- GP Premium unlocks the features most production sites use (Elements, Site Library, advanced controls).
- Understanding the plugin's filesystem layout helps you trace behavior and debug conflicts.
- A clean install workflow prevents broken permissions and accidental secret leakage.
How It Works
WP-CLI installs the ZIP into wp-content/plugins/, activates it, then WordPress loads it on each request. GP Premium extends GeneratePress by adding modules and UI.
Step-by-Step Installation
Step 1: Put the ZIP on the Server
Example (SCP from your workstation):
upload-gp-premium-zip.sh
scp ~/Downloads/gp-premium.zip user@server:/tmp/gp-premium.zip
Step 2: Install and Activate via WP-CLI
install-gp-premium.sh
cd /var/www/html
wp plugin install /tmp/gp-premium.zip --activate
Expected output (example):
Installing GP Premium (latest)...
Plugin installed successfully.
Activating 'gp-premium'...
Success: Plugin 'gp-premium' activated.
Step 3: Verify Activation and Location
verify-gp-premium-active.sh
cd /var/www/html
wp plugin list | grep gp-premium
wp plugin is-active gp-premium && echo "gp-premium is active"
ls -lah wp-content/plugins/gp-premium | head -n 40
Step 3b: Identify the Folders You Will Use Later
locate-gp-premium-feature-folders.sh
cd /var/www/html
ls -1 wp-content/plugins/gp-premium | head -n 80
ls -1 wp-content/plugins/gp-premium/elements 2>/dev/null || true
Step 4: Clean Up the ZIP
cleanup-zip.sh
rm -f /tmp/gp-premium.zip
caution
If your server is shared, leaving plugin ZIPs in /tmp can leak them to other users via backups or misconfigurations.
Optional Configuration
Example: Snapshot Plugin Version for Change Control
record-plugin-version.sh
cd /var/www/html
wp plugin get gp-premium --field=version
Example: Confirm the Parent Theme Is Active
confirm-parent-theme.sh
cd /var/www/html
wp option get stylesheet
Best Practices
| Practice | Why |
|---|---|
| Install from a verified ZIP | Avoid tampered downloads |
| Remove ZIP after install | Reduces secret leakage risk |
| Keep ZIP outside the web root | Prevents accidental public access |
| Record plugin + theme versions | Supports rollback and reproducible environments |
| Enable modules intentionally | Fewer active modules means less surface area |
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Plugin installs but does not activate | PHP error or missing dependencies | Check /usr/local/lsws/logs/error.log and deactivate other plugins on staging |
| WP-CLI cannot read ZIP | Wrong path or permissions | Ensure /tmp/gp-premium.zip exists and is readable |
| Features missing in UI | Module not enabled | Verify module toggles in admin and confirm gp-premium is active |
| Site caching hides changes | LSCache | Purge cache after enabling modules or changing Elements |
| Updates not offered | License not activated | Add/verify the license key in admin and confirm outbound connectivity |
Hands-On
- Install and activate GP Premium on staging.
- Record
generatepresstheme version andgp-premiumplugin version. - Locate the
elements/directory inside the plugin and list its top-level contents. - Capture a list of GP-related options with
wp option list --search=gp_(use this later when you audit module settings).
Quick Reference
gp-premium-cheatsheet.sh
cd /var/www/html
wp plugin install /path/to/gp-premium.zip --activate
wp plugin list | grep gp-premium
wp plugin get gp-premium --field=version
What's Next
- Next module: GeneratePress Core Structure
- Next lesson: Theme Architecture