=== Switchboard ===
Contributors: wpswitchboard
Tags: admin, customization, security, smtp, optimization
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Replace dozens of plugins with one. SMTP, SVG upload, disable comments, login security, post duplication, admin customization & 115+ more modules.

== Description ==

Switchboard is a lightweight, modular WordPress admin toolkit that replaces dozens of single-purpose plugins with one clean dashboard. SMTP email, SVG uploads, disable comments, duplicate posts, login security, admin customization, performance optimization - all as independent modules you toggle on or off.

**Stop installing 20+ plugins.** Each feature is a self-contained module with zero overhead when disabled. Enable only what you need.

= Email & SMTP Configuration =
Configure SMTP email delivery, customize default sender name and email address, and test email deliverability - all without a separate SMTP plugin. Works with Gmail, Outlook, SendGrid, Mailgun, Amazon SES, and any SMTP provider.

= Post & Content Management =
Duplicate posts and pages with one click, disable comments site-wide, add reading time estimates, auto-generate featured images, manage content expiration, add table of contents, social share buttons, breadcrumbs, related posts, and more.

= Media & SVG Support =
Enable safe SVG uploads with sanitization, AVIF format support, custom image sizes, automatic image resizing on upload, media file replacement, regenerate thumbnails, and organize your media library efficiently.

= Admin Customization =
Clean up dashboard widgets, customize admin menu with separators, change admin color schemes, add featured image columns to post lists, show post/page IDs, customize admin footer, hide admin notices, and create a streamlined admin experience.

= Performance Optimization =
Disable emoji scripts, remove oEmbed functionality, disable RSS feeds, control heartbeat API frequency, limit post revisions, clean expired transients, remove Gutenberg block library CSS, and disable frontend dashicons for faster page loads.

= Login & Security Hardening =
Limit login attempts with lockout protection, disable XML-RPC, restrict REST API access, add security headers (HSTS, X-Frame-Options, CSP), disable file editing, hide WordPress version, force SSL on admin, and obfuscate author slugs.

= User Management =
Add login/logout links to navigation menus, track last login dates, set local user avatars without Gravatar, assign multiple roles per user, allow username changes, export user lists, and redirect users after login based on role.

= Developer & Utility Tools =
Inject header/footer code (analytics, tracking pixels), manage custom fonts, monitor site performance, check for broken links, toggle WordPress debug mode, edit robots.txt, manage ads.txt, customize excerpt length, and more.

= Key Features =

* **115+ Modules** - Admin, content, media, optimization, security, user management, utilities
* **Modular Design** - Enable only what you need, disabled modules add zero overhead
* **Single Dashboard** - Manage everything from one organized interface with search and filtering
* **Import/Export** - Backup and transfer your module configuration between WordPress sites
* **Lightweight** - No bloat, no unnecessary database queries, minimal footprint
* **Developer Friendly** - Clean code, WordPress coding standards, hooks and filters

= Switchboard Pro =

[Switchboard Pro](https://wpswitchboard.com/pricing) adds 50+ additional premium modules:

**Admin (6 modules)**
* Admin Columns Manager - Customize admin list table columns for posts, pages, and CPTs
* Admin Menu Organizer - Drag-and-drop admin menu editor with reordering and renaming
* Hide Admin Menu Items - Selectively hide menu items by user role
* Login Page Customizer - Custom logo, background colors, and layout for wp-login.php
* Options Page Builder - Create custom admin settings pages with multiple field types
* Plugin Role Control - Restrict dashboard capabilities by user role

**Content (7 modules)**
* Accessibility Widget - Floating toolbar with font size, contrast, and focus controls (WCAG)
* Custom Post Type Builder - Create and manage custom post types with full control
* Custom Field Groups - Visual metabox builder with text, select, checkbox, and more
* Custom Post Order - Drag-and-drop reordering in admin list tables
* Custom Taxonomy Builder - Create custom taxonomies with hierarchy and rewrite rules
* Custom Taxonomy Order - Drag-and-drop term reordering
* Remove CPT Base - Clean custom post type URLs for better SEO

**Media (7 modules)**
* AVIF Conversion - Bulk convert JPEG/PNG images to AVIF format
* WebP Conversion - Automatic WebP conversion on upload for smaller file sizes
* Media Categories - Organize media library files into custom categories
* Download Media Library - Export entire media library or selected months as ZIP
* Image Watermark - Auto-add watermarks with customizable position and opacity
* Media Rename - Bulk rename files with patterns, auto-update references, create redirects
* Unused Media Finder - Find and delete orphaned media files to free storage

**Optimization (3 modules)**
* Database Optimizer - Remove revisions, spam, trashed items, expired transients
* Database Cleaner - Comprehensive cleaning with orphaned data and size analysis
* Cleanup Removed Plugins - Find and remove database leftovers from uninstalled plugins

**Security (10 modules)**
* Two-Factor Authentication - TOTP authenticator apps, email codes, recovery codes
* Activity Log - Track logins, post changes, plugin activations for security auditing
* Cloudflare Turnstile - Privacy-focused CAPTCHA for login, registration, comments
* Google reCAPTCHA - reCAPTCHA v2 checkbox or v3 invisible for forms
* Simple CAPTCHA - Self-hosted math and text CAPTCHA without external services
* Email/SMS Verification (OTP) - One-time password verification after login
* Magic Login - Passwordless login via secure email links or 6-digit codes
* Hide My Login - Custom login URL with honeypot and rate limiting
* IP Whitelist/Blacklist - Control site access by IP address rules

**User Management (3 modules)**
* Simple Role Editor - Visual interface to edit roles, capabilities, and create custom roles
* Temporary Login - Generate expiring login links for support or client access
* View Admin As Role - Preview admin interface as any role without switching accounts

**Utilities (14 modules)**
* Code Snippets Manager - Add custom CSS, JavaScript, and HTML without theme editing
* Simple Forms - Contact forms with file uploads, email notifications, spam protection
* Link Shortener - Create short links with click analytics and password protection
* Lean Analytics - Privacy-first pageview tracking without cookies or consent banners
* Simple Backups - Download plugins, themes, uploads, or database as ZIP files
* Coming Soon Mode - Launch page with countdown timer and email subscription
* Maintenance Mode - Professional maintenance page while you work on your site
* Redirects Manager - 301/302 redirects with wildcard and regex pattern matching
* Conditional Redirects - Redirect based on language, referrer, URL parameters, login status
* Email Reports - Scheduled digest emails with analytics and site health data
* Favicon Generator - Create favicons from letters, emojis, or icons with custom colors
* Track 404s - Monitor 404 errors with URLs, hit counts, referrers, and user agents
* WP Mail Logging - Log all outgoing emails for debugging delivery issues
* Alpine.js Enqueue - Load Alpine.js framework on frontend or admin pages
* Remove Unused Themes & Plugins - One-click cleanup of inactive items

**Pro-exclusive features:**
* Configuration Presets - Save named snapshots of active modules, switch instantly
* Cross-site Teleport - Transfer module configurations between WordPress sites
* Priority support and automatic updates

[Upgrade to Switchboard Pro](https://wpswitchboard.com/pricing)

== Installation ==

1. Upload the `wpswitchboard` folder to `/wp-content/plugins/` or install directly from the WordPress plugin directory
2. Activate the plugin through the Plugins menu in WordPress
3. Go to Switchboard in your admin sidebar
4. Browse modules by category and toggle on the ones you need
5. Click the gear icon on any module to configure its settings

== Frequently Asked Questions ==

= Does Switchboard include SMTP email configuration? =
Yes. The Email SMTP module lets you configure WordPress to send emails through any SMTP provider including Gmail, Outlook, SendGrid, Mailgun, Amazon SES, and custom SMTP servers. No separate SMTP plugin needed.

= Can I upload SVG files safely with Switchboard? =
Yes. The SVG Support module enables SVG uploads with built-in sanitization to prevent malicious code. SVG files display correctly in the media library and can be used anywhere in your content.

= How do I disable comments site-wide? =
Enable the Disable Comments module. It removes comment forms, admin menu items, dashboard widgets, and support for comments across all post types with one toggle.

= Can I duplicate posts and pages? =
Yes. The Duplicate Post Button module adds a one-click duplicate action to your posts, pages, and custom post type list tables in the admin area.

= Does Switchboard slow down my site? =
No. Disabled modules add zero overhead - they are not loaded at all. Even with many modules active, each one is lightweight and optimized. Switchboard is designed to be faster than running multiple separate plugins.

= Can I use this alongside other plugins? =
Yes. Switchboard modules are designed to coexist with existing plugins. If a module duplicates functionality from another plugin, simply keep it disabled.

= How do I limit login attempts? =
Enable the Limit Login Attempts module under Security. It adds brute-force protection with configurable lockout thresholds, durations, and email notifications for failed login attempts.

= Does it include security headers? =
Yes. The Security Headers module adds HTTP security headers including X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Strict-Transport-Security (HSTS), and Content-Security-Policy to protect against common attacks.

= Can I customize the WordPress admin dashboard? =
Yes. Multiple admin modules let you clean up dashboard widgets, hide admin notices, customize the admin footer, change color schemes, add featured image columns, show post IDs, and create a streamlined admin experience.

= Will disabling a module delete its settings? =
No. Module settings are preserved when you disable a module. Re-enable it anytime and your configuration is still there. Use Clear Inactive Data in Settings to explicitly remove data from disabled modules.

= Can I transfer settings between WordPress sites? =
Yes. Use the Export/Import feature in the Configurations tab to download a `.switchboard` file and import it on another site. All module states and settings are included.

= What happens if I switch from Free to Pro? =
All your existing settings and active modules are preserved. Pro adds additional modules and features on top of what you already have. No reconfiguration needed.

= Does Switchboard replace plugins like Jeadise Comments or Disable Emojis? =
Yes. Switchboard includes individual modules for disabling comments, disabling emoji scripts, disabling embeds, disabling RSS feeds, controlling heartbeat API, and many other optimizations that typically require separate plugins.

= Can I add custom CSS, tracking codes, or header/footer scripts? =
Yes. The Custom Frontend CSS module lets you add site-wide CSS, the Header/Footer Code module injects scripts (Google Analytics, Meta Pixel, etc.), and the Custom Admin CSS module styles the admin area.

== Screenshots ==

1. Module dashboard with category sidebar and search filtering
2. Module settings panel with toggle controls
3. Configuration export and import with drag-and-drop
4. Settings page with cache management and data controls

== External Services ==

Switchboard modules are modular and opt-in. The following external services are only used when you explicitly enable the corresponding module and configure it with your own API keys or tracking IDs.

= Google Analytics 4 (Tracking Codes Manager module) =
When you enter a GA4 Measurement ID, the module loads the Google Analytics script from `https://www.googletagmanager.com/gtag/js` and sends pageview and event data to Google. No data is sent unless you configure a Measurement ID.
[Google Terms of Service](https://policies.google.com/terms)
[Google Privacy Policy](https://policies.google.com/privacy)

= Google Tag Manager (Tracking Codes Manager module) =
When you enter a GTM Container ID, the module loads the Google Tag Manager script from `https://www.googletagmanager.com/gtm.js`. Tags configured in your GTM container may send data to various third-party services.
[Google Tag Manager Terms](https://marketingplatform.google.com/about/analytics/tag-manager/use-policy/)
[Google Privacy Policy](https://policies.google.com/privacy)

= Meta Pixel (Tracking Codes Manager module) =
When you enter a Meta Pixel ID, the module loads the Facebook tracking script from `https://connect.facebook.net/en_US/fbevents.js` and sends pageview data to Meta. No data is sent unless you configure a Pixel ID.
[Meta Terms of Service](https://www.facebook.com/terms.php)
[Meta Privacy Policy](https://www.facebook.com/privacy/policy/)

= Google Ads Conversion Tracking (Tracking Codes Manager module) =
When you enter a Google Ads Conversion ID, the module loads the Google Ads script from `https://www.googletagmanager.com/gtag/js` and sends conversion data to Google.
[Google Ads Terms](https://ads.google.com/terms/)
[Google Privacy Policy](https://policies.google.com/privacy)

= Google reCAPTCHA (Google reCAPTCHA module) =
When enabled and configured with Site Key and Secret Key, loads the reCAPTCHA script from `https://www.google.com/recaptcha/api.js` and verifies user responses via `https://www.google.com/recaptcha/api/siteverify`. Sends the user's reCAPTCHA response token and IP address to Google for verification. Supports v2 Checkbox, v2 Invisible, and v3 modes.
[Google reCAPTCHA Terms](https://policies.google.com/terms)
[Google Privacy Policy](https://policies.google.com/privacy)

= Cloudflare Turnstile (Cloudflare Turnstile module) =
When enabled and configured with Site Key and Secret Key, loads the Turnstile widget from `https://challenges.cloudflare.com/turnstile/v0/api.js` and verifies user responses via `https://challenges.cloudflare.com/turnstile/v0/siteverify`. Sends verification token and IP address to Cloudflare.
[Cloudflare Terms of Service](https://www.cloudflare.com/terms/)
[Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/)

= AI Image Alt Text (Auto Alt Text module) =
When enabled and configured with an API key, sends image data to OpenAI or OpenRouter AI services for generating descriptive alt text. Only processes images when explicitly triggered by the site administrator. Requires your own API key.
[OpenAI Terms of Use](https://openai.com/terms/)
[OpenAI Privacy Policy](https://openai.com/privacy/)

== Changelog ==

= 1.0.0 =
* Initial release with 115+ modules across 7 categories
* SMTP email configuration module
* SVG upload support with sanitization
* Duplicate post and page functionality
* Disable comments, emoji, embeds, feeds, XML-RPC modules
* Login security with attempt limiting and lockout
* Security headers (HSTS, X-Frame-Options, CSP)
* Admin dashboard customization and cleanup
* Media management: custom sizes, resize on upload, regenerate thumbnails
* Performance optimization: heartbeat control, revisions, transients
* User management: avatars, last login, multiple roles, login/logout menus
* Import/Export configuration between sites
* Module search, filtering by category, and status tracking

== Upgrade Notice ==

= 1.0.0 =
Initial release. Replace 20+ single-purpose plugins with one lightweight modular toolkit.
