SEO for a Custom or Legacy CMS: How to Rank a Non-Standard Platform
Not every site runs on WordPress or a modern headless stack. Plenty of businesses run a custom-built CMS or an older platform — Refinery, BetterCMS, Polopoly, or something an agency built years ago. These systems can absolutely rank, but they rarely ship with the SEO features that mainstream platforms include by default. The good news: almost everything Google needs can be retrofitted without rebuilding the platform.
This guide walks through auditing a custom or legacy CMS for SEO gaps and closing them one by one. If you conclude the platform is holding you back beyond repair, we cover the safe exit in How to Migrate a CMS Without Losing SEO. First, though, try to fix in place — a migration is high-risk, and most gaps here are addressable.
Start with an audit against the fundamentals
Score your platform against the same CMS SEO requirements you would apply to any CMS. On a custom or legacy system, the common failures are predictable:
- URLs you cannot fully control or that carry query strings and IDs
- Title tags and meta descriptions hard-coded or missing per-page control
- No automatic XML sitemap
- No structured data
- No canonical tags, producing duplicate-URL problems
- Slow, heavy page output
- No way to set robots or noindex directives per page
Work through them in priority order. Not new to the concept? If any of these terms are unfamiliar, What Is CMS SEO? explains why each one matters.
Retrofitting the essentials
Take control of URLs
The highest-priority fix. If your platform emits URLs like /page?id=1423, add URL rewriting at the application or web-server layer (for example, an Nginx or Apache rewrite) to map clean, keyword-relevant paths to the underlying pages. Implement 301 redirects from any old URLs so you preserve equity.
Add editable title tags and meta descriptions
If the CMS has no per-page metadata fields, add them. Even a legacy platform usually has a database and templates you can extend with two extra fields that populate the <title> and <meta name="description"> tags. This is often a small change with outsized impact.
Generate an XML sitemap
If none exists, generate one — either with a script that queries your content database on a schedule, or a lightweight endpoint that outputs the sitemap dynamically. Submit it in Search Console so Google can discover every page.
Inject structured data
Structured data is just JSON-LD in the page <head>. You can add it via your templates without any CMS feature support — output an Article, Breadcrumb, or FAQ block populated from the page's existing data. This unlocks rich results even on the oldest platform.
Add canonical tags and fix duplicates
If your CMS serves the same content at multiple URLs, add a <link rel="canonical"> to the templates pointing at the single authoritative version. This consolidates ranking signals — one of the most common quiet wins on legacy systems.
Improve speed at the edge
You may not be able to rewrite the application, but you can put a CDN and caching layer in front of it, compress and lazy-load images, and minify assets in the template layer. Much of Core Web Vitals can be improved without touching the core platform.
Control crawling
Add a robots.txt (see the Robots.txt SEO Guide) and, where possible, per-page noindex meta tags to keep thin or private pages out of the index.
When to fix vs when to migrate
Retrofit in place when the platform is stable, the gaps are addressable in templates and configuration, and the business relies on the system. Consider migrating when you cannot control URLs at all, the platform is unmaintained or insecure, or performance is capped by the core architecture. If you do move, the migration playbook is how to do it without losing rankings — and once you are choosing a destination, our SEO-friendly CMS comparison ranks the options.
Whatever you run, the content still has to be good and consistent. That is the half a platform cannot solve — and where a tool like DraftRank fits, turning keywords into publish-ready, SEO-optimized drafts on top of whatever CMS you keep.
FAQ
Can you do SEO on a custom CMS? Yes. Almost every SEO essential — clean URLs, editable metadata, sitemaps, structured data, canonical tags — can be retrofitted through templates, the web-server layer, or small database additions, without rebuilding the platform.
How do I add SEO to a legacy CMS with no built-in features? Add URL rewriting at the server layer, extend templates with title and meta fields, output JSON-LD structured data directly in the head, generate a sitemap via a script, and put a CDN in front for speed. Each is an incremental change rather than a rebuild.
Should I migrate off a custom CMS for SEO reasons? Only if the gaps cannot be fixed in place — for example, if you genuinely cannot control URLs or performance is architecturally capped. Migrations are high-risk, so exhaust in-place fixes first, then follow a careful, redirect-mapped migration process.