Every CivicPlus migration proposal I have reviewed makes the same mistake: it prices the website and leaves out what the website was sitting on top of.
The proposals scope the design, the page templates, the content migration, the training. Then they put a number at the bottom that the procurement lead can take to council. The number looks reasonable because it answers the question on the agenda, which is usually some version of “what does a new website cost.” But that was never the real question. The real question is what the current contract was quietly paying for that nobody wrote down, and how much of it comes back as a separate line item once the bundle is gone.
That gap, between what the proposal scopes and what the migration actually requires, is where municipal budgets break. So before I walk through where it hides, I want to be fair to the product everyone is trying to leave.
CivicPlus is a good product. I want to say that clearly before I explain why migrating off it costs more than anyone budgets for, because the cost is not a reflection of the platform’s quality.
CivicPlus built its market by understanding something municipal governments actually need: a content management system with a vendor-maintained ecosystem around it. Forms, alerts, agendas, calendars, 311 integrations, accessibility compliance. CivicPlus packages all of that as a managed service, and for many municipalities that arrangement works well for years. The platform is large, the ecosystem is extensive, and the maintenance is the vendor’s problem. That is the deal.
The deal changes when the municipality decides to move to WordPress. What looked like a managed ecosystem becomes a replacement list. And the replacement list is almost always longer and more expensive than the procurement proposal described.
If your municipality uses CivicPlus and is evaluating a move to WordPress, this is the conversation the proposal probably hasn’t had with you yet. It is an honest list of what needs to be in scope for the move to actually work.
What’s inside the bundle, and what reappears at checkout
Think of it the way you think of an all-inclusive hotel rate. While you are inside the bundle, breakfast and parking and the gym feel free. They are not free. They are priced into the nightly rate so smoothly that you stop seeing them as separate things. The moment you check out and start booking those same things separately, they reappear one by one, each with its own number attached.
A CivicPlus contract bundles the same way. WordPress is a publishing platform with a plugin ecosystem. CivicPlus is a publishing platform with a managed municipal-government service layer on top. When you migrate, you are not just moving a website. You are checking out of the bundle, and every capability that felt included is about to reappear as a line item. Here is what is inside that bundle, roughly in order of how much trouble each one causes when nobody plans for it.
The first to reappear is forms. CivicPlus handles permit applications, service requests, and public-facing forms, and it gets each submission to the right department on the back end. In WordPress, each of those is a plugin or a custom integration, and someone has to own the work of building it and making sure it lands in the right inbox. This is the cheapest surprise on the list, but it is still a surprise, because the proposal usually quotes “a forms plugin” as if a plugin and a working intake system were the same thing.
Next come agendas and records, and the stakes step up. Agenda management, meeting minutes, and council documents are not just content. They carry disclosure obligations. CivicPlus has tooling built around those obligations. WordPress has plugins that can be configured to do the same job, but the gap between “the vendor handles this” and “we configured WordPress to handle this” is real integration time, and it varies a lot depending on how a given municipality has structured its records over the years.
Then there is accessibility, where the cost stops being a one-time build and becomes a standing commitment. CivicPlus maintains accessibility against the Accessibility for Ontarians with Disabilities Act (AODA) and the Web Content Accessibility Guidelines (WCAG) as part of the service agreement. On WordPress, that maintenance becomes the municipality’s responsibility, which means it belongs in the ongoing budget, not just the launch budget. Building an accessible WordPress site is straightforward. Keeping it accessible as staff publish new content every week is the part that needs an owner and a line item, and the proposal that promises an accessible site at launch has only described the first day of a job that runs for years.
And underneath all of it sits the ecosystem maintenance itself, the line that almost never appears because it does not feel like a task. It feels like a fixed cost the vendor was quietly absorbing. CivicPlus keeps its integrations current and manages the dependencies between its tools. On WordPress, that work belongs to whoever maintains the site. When the municipality was paying CivicPlus, it was included in the cheque. After the move, it is a separate line in the new retainer, and someone has to be paying it for the site to stay healthy.
In my experience pricing these out, the replacement ecosystem, taken together and excluding the records-management piece below, typically adds somewhere in the range of forty to eighty thousand dollars to a migration scope, depending on the size of the municipality and how much of the CivicPlus service layer was actually in use. I hedge that range deliberately, because the honest answer depends on the inventory. But it is rarely a rounding error, and it is rarely in the first proposal.
Where the records-management gap actually lives
This is the line most migration proposals skip entirely, and it is the one that moves the conversation from “more expensive than you budgeted” to “legally exposed.”
Municipal records published through any CMS carry Freedom of Information obligations under Ontario’s Municipal Freedom of Information and Protection of Privacy Act (MFIPPA), and there are equivalent statutes in other provinces. Migrating away from CivicPlus does not move those obligations to the new platform on its own. What it changes is which system produces the audit trail, and WordPress out of the box does not produce one. It retains content indefinitely. It has no disposition schedules, no retention automation, and no audit log a records officer can sign off on. It will hold your content faithfully and tell a Freedom of Information request nothing useful about how that content was managed over time.
So the question worth asking is plain. Which line item in this scope covers records-management implementation, and which retained person does the records officer call when they need to verify compliance? If neither question has an answer, the scope is missing a significant piece of work. The audit trail a records officer needs to respond to a Freedom of Information request is not there, and the work to build it is not in the contract.
A complete scope for this migration includes document migration with provenance preserved, retention automation with documented schedules, an audit-log configuration the records officer can actually read, and a disposition workflow with sign-off. None of that is exotic. All of it is specialized, and all of it needs to be in the line items before the contract is signed, because it is the difference between a website and a system of record the municipality can defend.
The inventory conversation worth having first
The challenge is not that CivicPlus is hard to leave. The challenge is that it is good at bundling things that are separately expensive on the outside, so the true cost of those capabilities stays invisible until you have to price each one on its own. The unbundling is just how managed services work, and the agencies writing migration proposals are usually looking at the website, not at the full service inventory being replaced.
If you are choosing an agency for this, a few questions tell you most of what you need to know. Have they done a CivicPlus migration specifically? Can they name the third-party tools they would use to replace each ecosystem component, and budget each one? Have they spoken with your records officer? Do they have a plan for accessibility maintenance after launch, not just at launch?
For my own part, I won’t propose a CivicPlus migration without a records-management line in scope and a conversation with the records officer before contracting. The migration is technically possible without those things. But the records exposure that follows when the audit trail isn’t there is not the kind of gap a patch fixes. It gets fixed with a project, and that project should have been in the original scope.
The municipalities that come through these migrations smoothly all share one habit. They did the inventory first. They built a complete list of every capability the CivicPlus ecosystem provided, and they priced each one in the new environment before signing anything. That conversation is uncomfortable when it surfaces capabilities nobody could see in the old budget. It is far less uncomfortable than the one six months into a project, when those same capabilities are missing and someone has to work out who pays to put them back.

Leave a Reply