Imagine an editor forgets to fill the SEO description, and the product page drops from search results. Or when changing URLs, you need to manually set 301 redirects, and within a week there are a hundred of them. Such routine tasks waste time and invite errors. A custom MODX plugin, tied to system events, automates these processes, saving up to 80% of time and eliminating human error. Over the past five years, we have developed more than 50 plugins for e-commerce, media, and government sectors—each solution is tested on edge cases and comes with documentation.
What problems does a custom MODX plugin solve?
Standard MODX does not cover specific business requirements. Here are three cases.
Auto-fill SEO fields
Editors often forget to fill description or longtitle. A plugin on the OnBeforeDocFormSave event fills them automatically: description from introtext (up to 160 characters), longtitle from pagetitle. This reduces manual work by 70% and ensures correct meta-data. For example, an online store with 500 products saves about 10 hours per week.
Smart 301 redirects
Static redirect tables on the 404 page are outdated. A plugin on OnPageNotFound dynamically looks up redirects in a JSON configuration and sends the correct 301. If no redirect is found, it shows a custom 404 page. It handles up to 1000 requests per second, which is 10 times faster than manually updating a table. One of our clients achieved significant operational cost savings.
Geotargeting without multisite
For online stores with different prices for CIS countries. A plugin on OnHandleRequest determines the country by IP (via ipapi.co or MaxMind) and redirects to the appropriate context (by, ua, kz). Only for the first visit, so as not to interfere with the user.
How we develop plugins: stack and cases
We use MODX 2/3, PHP 8.1+, MySQL/PostgreSQL. For external integrations, we use cURL, Guzzle, or RabbitMQ. Plugins are written in the file system with Git support—via the StaticElements plugin.
Official MODX documentation confirms: plugins flexibly extend functionality without modifying the core.
In-depth case: product sync with CRM (AmoCRM / RetailCRM)
A plugin on OnDocFormSave monitors changes to resources with product templates. On update, it sends a PUT request to the CRM with fields: id, title, url, price, category, updated. On error (HTTP >= 400), it logs to modx.log. Sync time is under a second. This allowed one of our clients to reduce catalog update time from 2 hours to 5 minutes, significantly cutting costs.
Example event handler (fragment)
switch ($modx->event->name) { case 'OnDocFormSave': $resource = $modx->event->params['resource']; // send data to CRM break; } Plugin vs snippet comparison
| Criteria | Plugin | Snippet |
|---|---|---|
| How it is invoked | Tied to an event | Manually in template/chunk |
| Effect on content | Changes system behavior | Returns content |
| Typical use | Redirects, validation, integrations | Output menu, news list |
| Performance | Automatic, does not burden template | May be called multiple times |
Which MODX events do we use most often?
| Event | Typical plugin application |
|---|---|
| OnPageNotFound | Custom 404 and 301 redirects |
| OnHandleRequest | Geolocation, country-based redirects |
| OnBeforeDocFormSave | Validation, auto-fill fields |
| OnDocFormSave | CRM sync, logging |
| OnCacheUpdate | CDN sync, cache clearing |
Plugin development process
- Analysis. We break down your task, identify required events, data volume, external APIs.
- Prototype. We write a draft version in PHP, test on a local environment.
- Integration. We tie to events, configure access rights and system settings.
- Testing. We verify in all modes (create/update/delete), edge cases.
- Deployment. We put on production, configure logging and monitoring.
What's included in the work
- Plugin source code (PHP) with comments
- Installation and configuration documentation
- Test scenarios (minimum 3)
- 30-day uptime guarantee
- Consultation on further development
Timeline and cost
A plugin for one or two events takes 0.5–1 day. A complex plugin with integrations takes 2–4 days. We will estimate the project for free after analyzing your tasks. For non-standard functionality not available in off-the-shelf solutions, contact us—we will develop a plugin from scratch.
Why order MODX plugin development from us?
- Over 50 plugins in production with 99.9% uptime
- Full documentation and post-deployment support
- Fixed cost with no hidden fees
Describe your task—we will propose the optimal solution. Get in touch to discuss details and automate routine with a custom MODX plugin. Order plugin development today and receive an engineer consultation.







