MODX Revolution Development: Flexibility, Performance, SEO
The Real Cost of Template Chains
When a corporate site grows beyond a few pages, standard CMS impose template inheritance hierarchies that add 200 ms to TTFB for every additional plugin. We've seen projects where editing a simple template took months due to overcomplicated structures. MODX Revolution solves this: you control the HTML, URL structure, and processing logic directly. Our team has specialized in MODX for over 7 years and offers custom development with a focus on performance.
MODX is not a typical CMS. It does not impose templates or load unnecessary scripts. Every element — resource, template, chunk, snippet, or plugin — is created for a specific task. This results in LCP 30% lower than WordPress (on the same hosting). TTFB drops by 40% due to the absence of heavy ORM. Clean URLs of any nesting without additional configuration.
How MODX Revolution Solves Performance Issues
Templating Without Bloat
In typical CMS, each template drags an inheritance chain. In MODX, a template is just an HTML wrapper with placeholders. Example template:
<!DOCTYPE html> <html lang="[[++locale:default=`ru`]]"> <head> <meta charset="utf-8"> <title>[[*pagetitle]] — [[++site_name]]</title> <meta name="description" content="[[*description:default=`[[++site_tagline]]`]]"> [[- SEO tags via pdoPage/Seosuite ]] [[++seosuite_meta_output]] <link rel="stylesheet" href="[[++assets_url]]css/app.css?v=[[++assets_version]]"> </head> <body class="[[*template:is=`2`:then=`page--inner`:else=`page--home`]]"> [[- Header chunk ]] [[$header]] <main class="main-content"> [[*content]] </main> [[$footer]] <script src="[[++assets_url]]js/app.js?v=[[++assets_version]]" defer></script> </body> </html> N+1 Queries Are Not a Problem
By using pdoTools instead of DocManager, we get a single query instead of dozens. Case: on a site with 200 pages, the menu built via pdoMenu in 15 ms. Without pdoTools — 120 ms and 80 queries.
SEO Configuration for Any Search Engine
Clean URLs, meta tags, micro-markup — all set in the template or via Seosuite snippets. Result: Core Web Vitals pass audit on the first attempt.
Our Approach
Typical project stack:
MODX Revolution 3.x ├── PHP 8.1–8.3 ├── MySQL 8.0+ ├── Extras: │ ├── pdoTools (performant snippets) │ ├── migx (complex TV fields) │ ├── Gallery / phpThumbOf (images) │ ├── msearch2 / SimpleSearch (search) │ ├── FormIt (forms) │ └── FastTab (organize TVs in panel) └── Frontend: Vite + Tailwind CSS We configure caching for chunks and snippets via [[++cache_resource]], reducing MySQL load by up to 70%. For complex filters, we use migx with JSON fields instead of separate tables — keeping queries single.
Example of pdoResources for listing child pages:
[[pdoResources? &parents=`[[*id]]` &tpl=`@INLINE <div class="service-card"><h3><a href="[[+uri]]">[[+pagetitle]]</a></h3><p>[[+introtext]]</p></div>` &limit=`0` &showHidden=`0` &sortby=`menuindex` ]] Performance Optimization
We optimize at every level:
- Use FastRoute for routing (saves 5 ms per request).
- Resize images via phpThumbOf with webp format.
- Bundle CSS/JS via Vite with hash naming.
- For high-traffic projects, implement Edge Functions (Cloudflare Workers) to render the most popular pages.
Work Process
- Analytics (3–5 days): gather requirements, audit current site (if any), create prototype.
- Design (5–7 days): resource tree structure, templates, TV fields, routes.
- Implementation (10–20 days): template markup, write snippets/plugins, integrate external services.
- Testing (3–5 days): load testing (k6), check Core Web Vitals, fix bugs.
- Deployment (1–2 days): configure hosting, migrate to production, final check.
Timeline Estimates
| Project Type | Timeline |
|---|---|
| Landing (1–3 pages) | 1–2 weeks |
| Corporate (8–15 pages) | 3–5 weeks |
| Catalog (50+ pages) | 5–8 weeks |
| Complex (with integrations) | 8–12 weeks |
Cost is calculated individually after a brief. Contact us for a free estimate.
Comparison with Other CMS
| Metric | MODX Revolution | WordPress | Bitrix |
|---|---|---|---|
| LCP (average) | 1.2 s | 2.5 s | 3.0 s |
| TTFB (average) | 200 ms | 400 ms | 600 ms |
| Number of requests (homepage) | 8 | 25 | 40 |
Typical Mistakes in MODX Development
- Abandoning pdoTools. Without it, each
[[getResources]]call spawns a separate query. For 20 blocks on a page — 20 queries instead of one. - Ignoring caching. Chunks and snippets are cached by default, but if you forget to enable it, TTFB doubles.
- Complex TV fields via additional tables. Use migx — it stores data in JSON, faster and simpler.
- Incorrect URLs. MODX allows friendly URLs of any depth, but without the 'Friendly URLs' plugin they won't work.
What's Included
- Functional MODX Revolution site.
- Documentation of resource structure and settings.
- Hosting and admin panel access.
- Editor training (2 hours).
- 6 months technical support.
- Warranty on identified bugs for one year.
Content filling is billed separately.
Why Choose Us
- 7+ years of experience with MODX Revolution.
- 50+ completed projects.
- Average LCP of our projects: 1.2 s, TTFB: 200 ms.
- 6-month warranty on all work.
- Full transparency: we show metrics before and after development.
Order a MODX Revolution site — get a fast, flexible, SEO-friendly project. Contact us for a consultation. Get your project estimate today.







