WP Manifestindependent plugin directory
manifest / admin / plugin-wordpress-maintenance

Weidenhammer - Maintenance

WordPress plugin that automates monthly maintenance reporting by collecting site data (plugins, users, security settings, forms) and generating pre-populated maintenance form URLs for PDF report generation.

by Hammer · github.com/ltgustin/plugin-wordpress-maintenance

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/ltgustin/plugin-wordpress-maintenance/archive/refs/heads/main.zip

Weidenhammer - Maintenance Plugin

A WordPress plugin that streamlines the monthly maintenance reporting process by automatically collecting site data and generating pre-populated maintenance reports.

This plugin was built while being employed by Weidenhammer Systems Inc.

📋 Overview

This plugin adds a "Do Maintenance" button to the WordPress plugin list page (visible only to authorized company email addresses). When clicked, it collects comprehensive site information and redirects to an external maintenance form with all data pre-populated via query string parameters. The form generates a styled PDF report that is provided to clients after monthly maintenance is completed.

✨ Features

  • Automated Data Collection: Gathers site information including:

    • Site name and URLs (multisite support)
    • Plugin versions and update status
    • Theme information
    • User counts and role-based user lists
    • Security plugin status and settings
    • Backup and caching plugin detection
    • Gravity Forms notification configurations
  • Multisite Support: Fully compatible with WordPress multisite installations

  • Security: Only visible to authorized company email addresses

  • One-Click Reporting: Generates pre-populated maintenance form URLs

  • PDF Generation: Integrates with external form system for professional PDF reports

🔍 Data Collected

The plugin collects the following information:

Site Information

  • Site name
  • Site URL(s) (including all subsites in multisite)
  • Multisite status

Users

  • Total user count
  • Administrator usernames (including super admins in multisite)
  • Editor usernames

Plugins

  • List of plugins with available updates
  • Current and latest version numbers

Theme

  • Active theme name and version
  • Theme author

Security

  • iThemes Security Pro activation status
  • Custom login URL enabled status
  • REST API restriction status

Backup & Caching

  • Active backup plugin (UpdraftPlus detection)
  • Active caching plugin (WP Rocket detection)

Forms

  • Gravity Forms notification configurations
  • Form notification email addresses
  • Routing rules for conditional notifications

🏗️ Architecture

The plugin is structured with modular functions that collect specific data points:

  • Site Data Functions: ham_maint_get_site_name(), ham_maint_get_site_urls()
  • User Functions: ham_maint_get_total_users_count(), ham_maint_get_admin_users(), ham_maint_get_editor_users()
  • Plugin Functions: ham_maint_get_plugins_list()
  • Theme Functions: ham_maint_get_theme_name_version(), ham_maint_get_theme_author()
  • Security Functions: ham_maint_is_security_active(), ham_maint_security_setting_check()
  • Form Functions: ham_maint_get_forms(), get_forms_from_site()
  • URL Builder: ham_maint_get_form_url() - Combines all data into query string

🔒 Security

  • Plugin checks for direct access and exits if not in WordPress context
  • Maintenance button only visible to users with @company.com email addresses
  • All data is URL-encoded before being passed in query strings

🌐 Multisite Compatibility

The plugin fully supports WordPress multisite installations:

  • Automatically detects multisite environment
  • Collects data from all subsites when needed
  • Handles site switching properly to avoid context issues
  • Aggregates user and form data across all sites

📝 Notes

  • The plugin requires an external maintenance form at https://maintenance.company.com/
  • Form data is passed via URL query parameters
  • Some functions require specific plugins to be active (Gravity Forms, iThemes Security Pro)
  • Plugin update checking requires WordPress.org API access

👤 Author

Hammer
Website: https://hammer.net

📄 License

This plugin is proprietary software developed for internal use.

🔄 Version History

  • 1.0.1 - Current version
    • Initial release
    • Multisite support
    • Comprehensive data collection
    • Security and form integration

Built for efficient monthly WordPress maintenance reporting