Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/chrisgen19/cgdevtools/archive/refs/heads/main.zipWordPress plugin for managing development and staging environments. Scans your site for staging readiness, protects the frontend with a branded password gate, intercepts outgoing emails, and helps you go live with a production readiness checker.
Features
Staging Readiness Scanner
Checks your site against 19 staging best practices:
| Check | Auto-Fixable |
|---|---|
| Search engine visibility (blog_public) | Yes |
| Meta robots noindex/nofollow | Yes |
| Robots.txt blocking all crawlers | Yes |
| X-Robots-Tag HTTP header | Yes |
| WordPress sitemap disabled | Yes |
| Password protection enabled | Yes |
| Email interception enabled | Yes |
| Environment badge & banner enabled | Yes |
| DISALLOW_FILE_EDIT enabled | Yes (edits wp-config.php) |
| WP_DEBUG enabled | No |
| SSL/HTTPS | No |
| Caching plugins detected | No |
| Auto-updates disabled | No |
| Admin email is dev/staging | No |
| Analytics/tracking scripts detected | No |
| PHP version (8.1+ recommended) | No |
| Payment gateway in live mode | No |
| Risky WP Cron events active | No |
| Inactive plugins detected | No |
Production Ready Scanner
Reverse checklist — verifies all staging restrictions are removed and the site is hardened for production:
| Check | Auto-Fixable |
|---|---|
| Search engines allowed to index | Yes |
| Noindex meta injection removed | Yes |
| X-Robots-Tag injection removed | Yes |
| Robots.txt override removed | Yes |
| Sitemaps re-enabled | Yes |
| Password protection disabled | Yes |
| Email interception disabled | Yes |
| Environment badge & banner disabled | Yes |
| DISALLOW_FILE_EDIT enabled | Yes (edits wp-config.php) |
| WP_DEBUG_DISPLAY disabled | Yes (edits wp-config.php) |
| SSL/HTTPS enforced | No |
| WP_DEBUG disabled | No |
| Caching plugin active | No |
| PHP version (8.1+ required) | No |
| Database table prefix (non-default) | No |
| Default "admin" username removed | No |
| Permalink structure (not Plain) | No |
| Site icon / favicon set | No |
| Pending WordPress/plugin/theme updates | No |
| CGDevTools plugin deactivated | No |
One-Click Fix All
Apply all available fixes with a single button — for both staging and production modes.
Password Protection
- Branded lock screen with custom logo, background color, button color, and text color
- Password stored as a hash (using
wp_hash_password) - Cookie-based sessions (24-hour expiry)
- Logged-in administrators bypass automatically
- WP AJAX, REST API, cron, and wp-login.php are never blocked
Email Interception
- Hooks into
pre_wp_mailto trap all outgoing emails - Emails are logged to a database table and viewable in wp-admin
- Prevents staging from accidentally emailing real users
- Paginated email viewer with modal preview
Environment Badge
- Floating corner badge showing LOCAL, DEV, STAGING, or UAT
- Color-coded per environment type
- Visible on both frontend and wp-admin
Admin Banner
- Persistent colored banner in wp-admin dashboard
- Shows environment type and site name
- Links to the scan dashboard
Admin Bar Integration
- "Dev Tools" button in the WordPress admin bar (frontend + backend)
- Quick Scan from any page (results in modal or toast)
- Links to Staging Dashboard, Production Ready, and Settings
PDF Export
- Print-optimized HTML report for both staging and production scans
- Includes score summary, pass/fail/warn counts, and full checklist
- Uses browser "Save as PDF" via print dialog
Production URL Detection
- Set your production URL in settings
- If the current site URL matches, a warning is displayed in wp-admin
- Links to the Plugins page for quick deactivation
WP-CLI Support
# Run staging scan
wp cgdevtools scan
# Run production readiness scan
wp cgdevtools production
# Show current environment status
wp cgdevtools status
Requirements
- PHP 8.2 or higher
- WordPress 6.7 or higher
The plugin displays an admin notice and blocks activation if requirements are not met.
Installation
- Upload the
cgdevtoolsdirectory to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Go to Dev Tools > Settings to configure your environment
Configuration
Settings > Environment
- Environment Type — Local, Development, Staging, or UAT (controls badge color and label)
- Environment Badge — Toggle the floating corner badge
- Admin Banner — Toggle the wp-admin environment banner
- Production URL — Your live site URL (triggers a warning if current URL matches)
Settings > Password Protection
- Enable/Disable — Toggle frontend password gate
- Password — Set the access password (stored hashed)
- Logo — Upload a custom logo via the WordPress media library
- Colors — Background, button, and text colors with live preview
Settings > Email Interception
- Enable/Disable — Toggle email interception
- View intercepted emails under Dev Tools > Emails
File Structure
cgdevtools/
├── cgdevtools.php
├── includes/
│ ├── class-cgdevtools.php
│ ├── class-cgdevtools-scanner.php
│ ├── class-cgdevtools-settings.php
│ ├── class-cgdevtools-password-protection.php
│ ├── class-cgdevtools-email-interceptor.php
│ ├── class-cgdevtools-environment-badge.php
│ ├── class-cgdevtools-admin-bar.php
│ ├── class-cgdevtools-admin-notice.php
│ ├── class-cgdevtools-pdf-export.php
│ └── class-cgdevtools-cli.php
├── assets/
│ ├── css/
│ │ ├── admin.css
│ │ ├── badge.css
│ │ └── lock-screen.css
│ └── js/
│ └── admin.js
└── templates/
├── admin-dashboard.php
├── admin-settings.php
├── admin-emails.php
├── lock-screen.php
├── pdf-report.php
└── partials/
└── scan-table.php
Database
The plugin creates one custom table on activation:
{prefix}_cgdevtools_emails— Stores intercepted outgoing emails
Options used:
| Option Key | Purpose |
|---|---|
cgdevtools_password_protection |
Password gate settings |
cgdevtools_environment |
Environment type, badge, banner, production URL |
cgdevtools_email_interception |
Email interception toggle |
cgdevtools_last_scan |
Last staging scan results |
cgdevtools_last_production_scan |
Last production scan results |
cgdevtools_inject_noindex |
Flag: inject noindex meta tags |
cgdevtools_inject_x_robots |
Flag: send X-Robots-Tag header |
cgdevtools_override_robots_txt |
Flag: override robots.txt |
cgdevtools_disable_sitemaps |
Flag: disable WP core sitemaps |
cgdevtools_db_version |
Database schema version |
Workflow
Setting up staging
- Activate CGDevTools
- Go to Dev Tools > Settings and set environment type, production URL, and enable badge/banner
- Enable password protection (set a password first, then enable)
- Enable email interception
- Run a Staging Scan from the dashboard — fix any failing checks
Going to production
- Go to Dev Tools > Production Ready
- Run a Production Scan
- Click Fix All Issues to remove all staging restrictions at once
- Deactivate and remove CGDevTools
License
GPL v2 or later
Releases
1 release.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.