There are hundreds of firms in this market that will build you a site on WordPress, and the quoted prices differ by a factor of ten for what looks, in a proposal, like the same deliverable. Choosing a WordPress website development agency on the strength of a portfolio and a number is how businesses end up with a site that looks fine on launch day and becomes unmaintainable by month nine. The visible layer is the cheap part. Everything that determines whether the site is still healthy in three years sits underneath it, and almost none of it appears in a pitch deck.
The good news is that you do not need to be technical to evaluate this. You need a short list of specific questions and the discipline to notice when the answers are vague. This post gives you both, along with an explanation of why the four most common failure modes happen, so that you can recognise them early rather than after the invoice is paid.
Failure mode one: plugin bloat
WordPress runs the site. Plugins extend it. That extensibility is the platform's greatest strength and the source of most of its bad reputation.
A plugin is third party code running with full access to your database and your front end. Every one you install adds surface area: scripts loading on every page, database queries, a dependency on a developer you have never met continuing to maintain their work, and another thing to update. Some are excellent and better maintained than most bespoke code. Others are abandoned, bloated, or written by someone learning as they went.
The failure mode is not "too many plugins" as a raw number. It is unexamined plugins. When we audit inherited WordPress installations we regularly find:
- Two plugins doing the same job, installed by different people at different times, both active.
- A full page builder, a separate slider plugin, and a separate popup plugin, when the builder already does sliders and popups.
- A heavyweight plugin installed to solve one small problem that a few lines of code in the theme would have solved permanently.
- Plugins that are deactivated but still installed, which still need patching because the files are still on the server.
- A plugin that was necessary once, for a campaign that ended two years ago, still loading its assets on every page of the site.
Each of these is a small decision that nobody revisited. Collectively, they are why a site loads in six seconds and nobody can say why.
A competent agency has a position on this. They should be able to tell you their criteria for adding a plugin: is it actively maintained, when was it last updated, how many installations, does it load assets globally or only where needed, what happens to the site if it is removed. A cheap shop installs whatever gets the feature working fastest, because they are pricing the build and not the ownership.
The question to ask: "What is your process for deciding whether to add a plugin or write the functionality?" An agency that has thought about this answers immediately and with specifics. One that has not will say something about only using trusted plugins, which means nothing.
Failure mode two: no update discipline
WordPress core, themes and plugins release updates constantly. Most are minor. Some close active security vulnerabilities. Almost all WordPress sites that get compromised are compromised through a known vulnerability in an out-of-date component, not through anything exotic.
The problem is that updating is boring, it is occasionally risky, and on a fixed-price build project nobody is paid to do it after handover. So it does not happen. Then the business is told the site "got hacked", as though it were weather.
What good practice actually looks like:
A staging environment. A copy of the live site where updates are applied and checked before they touch production. If an agency does not have staging as standard, they are updating live and hoping, or not updating at all.
A defined cadence. Weekly or fortnightly for routine updates, immediate for anything flagged as a security release. Written down, with somebody accountable.
Backups that have been restored. Everybody says they take backups. Far fewer have tested a restore. A backup that has never been restored is a belief, not a safeguard.
Version pinning and a rollback path. The ability to go back cleanly when an update breaks a layout, which happens.
PHP and database version management. Hosting environments move on. A site left on an unsupported PHP version stops receiving security fixes at the server level too.
In our experience, the single strongest predictor of whether a site will still be healthy in three years is not how it was built but whether anybody is contractually responsible for it afterwards. This is ongoing work with an ongoing cost, which is exactly why it gets stripped from proposals to hit a price. If maintenance is not a line item in the quotation, it is not being done, and you should read the silence accordingly. A proper website maintenance arrangement is not an upsell, it is the difference between a site and a liability.
The question to ask: "Walk me through what happens on your side when a critical plugin vulnerability is announced on a Friday evening." The answer tells you whether there is a process or a person who might notice.
Failure mode three: page builder sprawl
Page builders let non-developers assemble layouts visually. Used well, they are a genuine productivity gain and the reason a marketing team can launch a campaign page without a developer. Used badly, they produce sites that are slow, inconsistent and impossible to change at scale.
The distinction is whether the build is systematic or improvised.
A systematic builder implementation defines global styles, typography scales, colour tokens, spacing and a small library of reusable sections. Change the heading style once and it changes everywhere. New pages are assembled from existing components. The output is consistent because consistency is enforced by the system rather than by whoever is building the page.
An improvised implementation styles every element locally. Heading colour set on the individual widget, forty two times. Padding set by eye per section. Twelve slightly different button styles. A rebrand on a site like this is a rebuild.
There is a second cost. Heavy builders ship a lot of markup and CSS. On a systematic build with sensible settings this is manageable. Layered over an unoptimised theme, a slider plugin and four fonts, it produces the sluggish sites the platform is often blamed for. The platform is not the problem. Nobody making decisions about the page weight is the problem, which is why speed optimisation so often turns into a cleanup of build decisions rather than a technical tuning exercise.
The question to ask: "If we change our primary brand colour and heading font next year, how many places does that need to be edited?" If the honest answer is more than one or two, the build is not systematic.
Comparing what you are actually buying
Two quotations for a fifteen page WordPress site can differ by SGD 30,000 and both can be honest. They are describing different products. Here is what typically separates them.
| Element | Budget build, roughly SGD 3,000 to SGD 8,000 | Considered build, roughly SGD 15,000 to SGD 45,000 |
|---|---|---|
| Theme approach | Purchased multipurpose theme, lightly customised | Custom theme or a stripped, systematic builder setup |
| Design | Template chosen from a demo library | Original design against your positioning and content |
| Plugin policy | Whatever delivers the feature fastest | Audited, justified, documented, minimised |
| Global style system | Rarely implemented | Defined tokens for type, colour and spacing |
| Content | You supply it, pasted in as given | Structured, written or edited, mapped to search intent |
| Performance | Measured on the demo, not on your content | Budgeted and tested with real images and real scripts |
| Accessibility | Not considered | Contrast, focus states, alt text, keyboard navigation |
| Analytics and tracking | Basic tag pasted in | Events, goals and forms configured and verified |
| Redirects on relaunch | Often omitted | Full mapped redirect file, tested |
| Staging environment | None | Standard |
| Handover | Login details emailed | Training session, written documentation, credentials vault |
| Post launch | Ends at launch | Defined maintenance scope and response times |
Neither column is wrong for every business. A five page site for a new sole trader does not need the right-hand column. But you should know which one you are buying, and a great many businesses believe they are buying the right column at left column prices. We recommend asking any prospective partner to mark up this list themselves, line by line, before you compare quotations. It converts a price comparison into a scope comparison in about ten minutes, and most of our clients find that the gap between two quotations narrows considerably once the omissions are visible.
The contrarian section: the best agencies talk you out of things
A common mistake we see is treating agency agreeableness as good service. The pitch where every request is met with "yes, we can do that" feels excellent in the room and produces the worst outcomes.
In reality, a significant part of the value a competent WordPress website development agency provides is refusal. No, you do not need a custom-built booking system when a mature plugin does it better and is maintained by a team of twelve. No, that animated hero will cost you more in load time than it returns in impressions. No, we will not add a fifth typeface. No, we should not migrate this legacy blog section, because it has had no traffic in two years and moving it costs real money.
Every yes is a permanent maintenance obligation that somebody pays for later. Agencies that are competing purely on price cannot afford to say no, because the deal is marginal and an objection risks it. Agencies with a queue of work can afford to be honest, and that difference in incentive is the most reliable predictor of build quality that we know of.
Cheap WordPress builds are usually not badly made in a technical sense. They are made without any position. Nobody pushed back on anything, every request was implemented in the fastest available way, and the result is a site that is the sum of a hundred unconsidered decisions. That is worse than a site with an opinion you disagree with, because at least the latter can be adjusted.
When you are evaluating, listen for disagreement. If a prospective partner has read your brief and has no objections at all, they have not read it properly. When we quote website design projects we almost always propose a smaller scope than the enquiry asked for, and we explain why.
Client example: speeding up a corporate WordPress site
An engineering services group came to us with a corporate WordPress site that tender evaluators, procurement teams and potential hires used to check its credentials. It had been built and then largely left alone. It ran 27 plugins, nine of them out of date, on a theme that had not been updated in three years. On a phone it scored 31 on PageSpeed and took 5.6 seconds to load, 71% of mobile visitors left straight away, and the site had gone down twice in a year, once after a malware injection. It produced about 18 enquiries a month.
We took full backups and worked on a staging copy, so the live site never broke and the group's IT team could review every change. We audited each plugin and script, removed 14 that were unused or duplicated, updated the rest, cleaned up the malware remains and added a firewall, login protection and daily off-site backups. Every unused plugin is another possible way in for attackers.
Speed work came next: compressed images in modern formats, page caching, a content delivery network, deferred scripts and a lighter homepage in place of a slider that had been loading more than four megabytes of images. We then tested every page, form and download on mobile and desktop, with extra testing on the tender form, before a zero-downtime launch and a monthly maintenance plan.
Three months after launch, the mobile score was 89, load time was 1.9 seconds, uptime was 99.98%, mobile bounce rate had fallen to 52% and monthly enquiries had risen from 18 to 27. The group's business development team also reported that tender evaluators no longer mentioned the site being slow or hard to use.
When you brief a WordPress website development agency, ask what happens after launch as well as how the site will be built. The before and after figures are in our WordPress speed and maintenance case study.
Twelve questions to ask before you sign
Use these in a single meeting. You are not testing technical knowledge, you are testing whether a process exists.
- Who owns the code and the hosting account at the end of the project, and is that in the contract?
- Do you use a staging environment as standard, and will we have access to it?
- What is your policy on adding a plugin versus writing custom functionality?
- Which plugins do you install on almost every project, and why those?
- How are global styles handled, and what does a brand colour change involve afterwards?
- What performance target are you building to, and will it be measured with our real content and images?
- Who writes the content, and is it included in this fee?
- Will you produce a mapped redirect file, and who tests it?
- What does maintenance cost monthly, what is included, and what is the response time for a security issue?
- What happens if we want to move to another agency in two years?
- Can we speak to a client whose site you built three or more years ago and still maintain?
- What in our brief do you think is a bad idea?
Question eleven is the strongest of the twelve. Anyone can show you a site launched last month. A site they built three years ago and still look after tells you about their update discipline, their build quality and their client relationships all at once. Question twelve is the second strongest, for the reasons set out above.
Depending on what your site needs to do, extend the list. If you are selling online, ask specifically about checkout performance, structured data and how product pages are templated, and read our note on selecting an ecommerce build partner before you brief. If your site's main job is capturing enquiries from paid traffic, ask how landing page design is handled and whether campaign pages can be produced without a developer. If you depend on being found in local searches, ask how the build supports local SEO, because location pages, schema and internal linking are build decisions, not afterthoughts. And if your interface has any real complexity, ask who is doing the UI and UX design and whether it is the same person drawing the visuals.
Field Notes
Across the inherited WordPress installations we audited for Singapore businesses this year, the median number of active plugins was 27, and in the worst single case we counted 54 active plugins on a site of eleven pages. Roughly one in five of the plugins we reviewed had not received an update from its developer in over twelve months, which is the practical definition of abandoned.
Two further observations from the same audits. Fewer than half of the sites had a working staging environment, which means the majority were updating live or not updating at all. And of the businesses that told us they had backups, only a small minority could tell us when a restore had last been tested. One discovered during our audit that their backup plugin had been silently failing for four months.
None of these problems required deep technical skill to find. They required somebody to look, which is the whole point.
Where this leaves you
You cannot audit code, and you do not need to. You can ask twelve questions, listen for specifics rather than reassurance, and notice whether anybody is willing to disagree with you. Price the first three years rather than the launch. Insist that maintenance, staging and redirects are named line items. Ask to speak to an old client rather than a new one.
If you would like an independent read on your current WordPress installation before you commit to a rebuild you may not need, we can run through it with you. Start at our contact page, or read more about how we approach on page optimisation alongside a build, since the two decisions are far less separable than most proposals suggest.
Natasha Tan is the founder of Digital Marketing Singapore, a full-service SEO and digital marketing agency based in Singapore. With hands-on experience across SEO, paid media, and content strategy, she works directly with Singapore businesses to build organic visibility and generate consistent leads. Natasha specialises in the Singapore market — including local search behaviour, PDPA compliance, and government grant navigation for SMEs.


