PolyCMS Plugin Management

Last updated on May 16, 2026 3:04 AM

Plugin System Overview

Plugins extend PolyCMS functionality without modifying core code. Navigate to Blog > Plugins to manage all installed plugins.

Plugin Listing

The Plugins page displays all installed plugins with:

  • Plugin name, version, and author
  • Short description
  • Active/Inactive status
  • Activate/Deactivate toggle
  • Settings link (if the plugin has a settings page)
  • Grid and List view modes

Installing Plugins

ZIP Upload

  1. Navigate to Blog > Plugins.
  2. Click Upload Plugin.
  3. Select a .zip file containing the plugin package.
  4. PolyCMS validates, scans for security threats, and extracts the plugin to modules/polycms/plugins/.
  5. After installation, click Activate to enable the plugin.

Manual Installation

Upload the plugin folder directly to modules/polycms/plugins/ via FTP.

Plugin Security

ZIP uploads undergo security scanning:

  • Dangerous PHP function detection and stripping
  • File extension validation
  • Directory traversal prevention via polycms_validate_file_path

Bundled Plugins

PolyCMS ships with 5 production-ready plugins:

PluginDescription
XML SitemapAuto-generates dynamic sitemap.xml for search engines
Google AnalyticsGA4/UA tracking code injection
Maintenance Mode"Under Maintenance" page for visitors
Banner SliderResponsive image carousels
MTOptimizeFrontend asset and image optimization

Plugin Settings

Active plugins that register settings pages display a Settings link in the plugin listing. Each plugin manages its own configuration independently via the blog_plugin_options database table.

Plugin Architecture

Each plugin resides in its own directory:

modules/polycms/plugins/
├── xml-sitemap/
│   ├── plugin.json        ← Plugin metadata
│   ├── xml-sitemap.php    ← Main plugin file
│   ├── language/          ← Translation files
│   └── assets/            ← CSS/JS assets
├── google-analytics/
└── maintenance-mode/

Plugins interact with PolyCMS core through the Hook & Filter system, registering actions and filters to extend functionality.

Related Documentation