perfectdesign.

Website platforms

WordPress website development

WordPress answers one question well: who publishes what, how often, and with how much freedom. We build it when that is the question your website is really asking, and we say so when it is not.

In short

WordPress suits a content-led website that your own people will edit often, where the editing model matters more than the engineering. The decision turns on five things: your content model, who is allowed to edit and publish, which functions come from extensions, who runs updates and backups, and what handover contains. We build in React by preference and we will often recommend a custom build instead, for reasons set out below. When WordPress is genuinely the better fit, we say so and build it properly.

Written for a business owner or marketing lead deciding whether wordpress fits the content, editing, integrations and upkeep their website needs · 7 min read

Is WordPress the right route for your website?

WordPress is one implementation route, not a verdict on quality. It earns its place on a content-led website: pages that change often, written and published by people inside your business rather than by a developer. The decision is made on requirements, and this page resolves five of them. What content the site holds. Who edits and who publishes. Which functions come from extensions rather than code you own. Who runs updates and backups. And what is actually transferred when the project ends.

Selling online sits outside this page. A checkout brings in payments, stock, tax and an extension stack of its own, and it changes the platform decision enough to deserve its own conversation.

Start from the requirement, not the platform

The useful order is the business problem, the people it affects, who owns the content and how often it changes, then the constraints you work inside: budget, in-house skill, a deadline, a system you already run. Only then is a platform worth arguing about. Then separate three kinds of website work: an ordinary content journey, where someone reads, browses and enquires; an operation behind a login, with accounts, permissions and records; and a workflow only your business has. WordPress was built for the first.

What WordPress is genuinely good at: a familiar editing screen your team can learn in an afternoon, a large supply of people who can maintain it, and an ecosystem that covers ordinary requirements without custom code. Where we would steer you elsewhere: when page speed is a commercial matter rather than a preference, when the features you need would be assembled from several extensions that must agree with each other, or when the site is really an operation wearing a website costume. We build in React by preference, so a custom build is our honest default there. That is a recommendation, not a policy.

The platform decides more than the theme. WordPress can be fast, and ours are. But the average WordPress site is not, so the plugins, hosting and theme decisions are the project, not the paint. A full text version follows.

The platform decides more than the theme

Published statistic. WordPress can be fast, and ours are. But the average WordPress site is not, so the plugins, hosting and theme decisions are the project, not the paint.

Source: HTTP Archive: Web Almanac 2025, CMS. Reviewed .

Read the graphic as text
  • Duda: 85%.
  • TYPO3: 79%.
  • Wix: 74%. Up from 55%
  • Weebly: 47%.
  • WordPress: 45%. The largest group

Chart scale: Share of mobile sites on each platform passing Core Web Vitals, July 2025.

Download this infographic (SVG)

The content model, and who is allowed to change it

A content model is the list of content types the site must manage, the fields each one carries and how they relate: a service, a project story, a person, a location, and which connects to which. Agreeing it early is the cheapest work on the project. Retrofitting it after design sign-off is the most expensive, because every page already built has to be rebuilt to match.

Map editing tasks to permissions, not to seniority

Take Example Studio, a wholly fictional service business used here to make this concrete. It publishes service pages and project stories. WordPress documentation is helpful on how to think about access: a role is a set of tasks, called capabilities, and one role should not be treated as senior to another. Roles describe responsibilities. The defaults reflect that, for instance a contributor can write and manage their own posts but cannot publish them.

So separate the tasks before assigning anything: drafting content, publishing it, uploading media, editing templates and changing site settings are five permissions, not one job title. The Site Editor, which manages templates, styles and navigation, is available when a block theme is active, and what a person can do inside it depends on the capabilities their role holds. The documentation warns that the capability which opens it is not limited to it and may grant other theme-related administrative functions, and advises granting only the capabilities a role needs. Confirm the theme type and the intended editing tasks for your own project.

An editing workflow, using the fictional Example Studio as the example
Workflow stepAssumed actorProposed system responseExceptionAcceptance evidence to collect
Draft a change to a service pageContent editorSave an unpublished draft and preview the title, copy and enquiry linkApproved service facts are missing, so the draft stays unpublishedThe saved preview and a checklist of the outstanding facts
Review and publishPublication reviewerCheck the approved facts and publishing permission, then publish if agreedAn unauthorised editor must not be able to publish, and wrong scope returns to editingPermission-test observations and a record of who approved what
Check the visitor journey after the changeTechnical owner, then a visitorWalk the agreed service page and enquiry path, recording the live versionA broken link or a failed form triggers investigation and an agreed recovery decisionLink and form test records with version information, no passing result assumed
Five editing tasks, five separate permissions. Roles are sets of capabilities rather than ranks, so grant the tasks the job needs and nothing more. A full text version follows.

Five editing tasks, five separate permissions

Primary-source guidance. Roles are sets of capabilities rather than ranks, so grant the tasks the job needs and nothing more.

Source: WordPress: Roles and capabilities. Reviewed .

Read the graphic as text
  • Draft. Write and manage your own posts
  • Publish. Make it public, or schedule it
  • Upload media. Add files everyone else will reuse
  • Edit templates. Change the layout for every page at once
  • Change settings. Site-wide options, and who else gets access
Download this infographic (SVG)

Collect the content patterns and editing constraints first

Before comparing approaches, write down what the site has to carry. Which patterns repeat, such as service pages, project stories, people and news, and which are exceptional, such as a campaign page. What editors must be able to add, revise, preview and publish without help. And which parts stay controlled: layout regions, navigation, brand type and colour, and the fields holding structured facts. Then record the acceptance constraints: behaviour on the screen sizes your visitors use, an accessibility review, a performance expectation, and what must keep working after an update.

When to compare a theme against custom components

That comparison is decided on content fit, where the editing boundaries sit, how many patterns genuinely repeat, what accessibility and performance review finds, what an upgrade would disturb and who owns the result. The practical rule is that editable fields, their exceptions and the evidence you will accept are defined before development, not discovered during it. The deeper theme-versus-components guide is still to be published here.

Extensions: what to take from a plugin and what to build

Sort every requested function into one of four buckets: content behaviour the platform already has, configuration of an extension, an integration with a system you run, or custom work. Evaluate anything in the middle two on the same fields each time. What it is for, what data it touches and where that goes, what permissions it needs, what happens when it fails, whether it ties you to somebody else's update cycle, who owns the licence, and what replacing it would involve. That is a method, not a shopping list.

What a web page actually weighs. The writing is a rounding error. Everything a visitor waits for is the pictures and the code someone chose to add. A full text version follows.

What a web page actually weighs

Published statistic. The writing is a rounding error. Everything a visitor waits for is the pictures and the code someone chose to add.

Source: HTTP Archive: Web Almanac 2025, Page Weight. Reviewed .

Read the graphic as text
  • Images: 911 KB.
  • JavaScript: 632 KB.
  • Fonts: 122 KB.
  • CSS: 77 KB.
  • HTML: 22 KB. The words

Chart scale: Median kilobytes on a mobile home page by file type. Each is its own median, so they do not add up to the 2.6 MB median page..

Download this infographic (SVG)

Updates, backups and the day something breaks

WordPress documentation is direct about this. An update affects all the files and folders in the main installation, including the core files, so modifications made to those files will be lost. It advises backing up first so the site can be restored if there are problems. That is documented platform behaviour, not a maintenance policy. The policy is yours to agree: who runs updates, on what schedule, where the backup lives, how far back it reaches, and who is called when a page stops working.

Agree the operating sequence before launch

The sequence is the same every time. Inventory what is installed and which versions are in play. Take a backup. Make the change somewhere that is not the live site. Check the agreed journeys afterwards, which usually means a key page loads, images resolve, the form submits and the enquiry arrives. Then keep the change or roll it back, and record what changed, when and by whom. Example Studio's third row is that in miniature: a broken link or a failed form triggers investigation and an agreed recovery decision, not a note to look at it later.

Handover, and the exit you should plan for on day one

Agree who holds what, in writing, before it matters: the domain and DNS, the hosting account, WordPress administration, the content, the theme and component code in a repository you control, the plugin and licence inventory, analytics, backups, documentation and support contacts. Access transfer and documentation are separate acceptance items. Holding the password is not the same as knowing how the site is put together.

Classify future work up front: routine content changes, maintenance updates, new features and migration are four conversations with four different costs. The approval and version records above are what a future handover, to your team or another provider, is built on. Migration itself, meaning the page inventory, the redirects that preserve those pages and the rollback plan, is its own scoping decision.

What you should be able to walk away with. Holding the password is not the same as being able to leave. A full text version follows.

What you should be able to walk away with

Editorial framework. Holding the password is not the same as being able to leave.

Basis: WordPress: Export tool. Reviewed .

Read the graphic as text

Day one handover

  • Domain and DNS. Registered to your business, not to us
  • Hosting and admin. Accounts in your name, access you can revoke
  • Content export. A standard export file of posts and pages
  • Code and licences. Theme repository plus the plugin licence list
  • Documentation. How it is put together, not just the password
Download this infographic (SVG)

What to bring to the conversation

Bring your current website or starting point, the business problem, who it affects, the tools you already use and any real constraint. The decisions worth clarifying before a scope is agreed are the five above: content ownership, the functions genuinely required, who edits and who publishes, who runs updates, and what handover must contain. If you would like to work through them, tell us where you are now. Where WordPress is not the right answer, we will say so and explain what we would build instead.

What you get

What is actually delivered

01

A fit assessment you can argue with

A written recommendation on whether WordPress or a custom build suits your requirements, with the reasoning shown so you can disagree with it.

02

Content model and field map

The content types, their fields and the relationships between them, agreed before design so nothing has to be rebuilt to fit later.

03

Editor roles matched to tasks

Permissions designed around drafting, publishing, media and settings as separate jobs, granting only what each role needs to do its work.

04

Templates with the structure protected

Editable regions where your team needs them and fixed structure everywhere else, in the way we build client-editable content.

05

An extension register

Every plugin and integration recorded with its purpose, data flow, permissions, failure path, update dependency, licence owner and replacement option.

06

Update, backup and recovery routine

An agreed sequence for inventory, backup, controlled change, post-change checks and rollback, with the responsible owner named for each step.

07

Migration plan when one is needed

For an existing site: an inventory of current pages, the redirects that preserve them, a rollback position and the checks to run after the move.

08

Handover pack

Accounts, administration access, code in your repository, the plugin and integration inventory, documentation and the acceptance records collected along the way.

How it runs

We test the fit before we build the site

Most WordPress projects that go wrong were decided before anyone looked at the requirements. We do that part first, in writing, even when the answer costs us the build.

  1. 01

    Requirements and fit check

    We work through the problem, the audiences, the content and the constraints, then tell you whether WordPress or a custom build is the better route and why.

  2. 02

    Content model and permissions

    We agree the content types, fields and relationships, and map who drafts, who publishes, who uploads media and who may change settings.

  3. 03

    Build and editable regions

    We build the templates and components, set the editable regions and keep the structure protected so an edit cannot break the layout.

  4. 04

    Extensions and integrations

    Anything from a plugin or an outside system goes through the same evaluation, and whatever survives it is documented in the register.

  5. 05

    Operating routine and handover

    We agree the update and backup sequence, run the acceptance checks, record what they found, and transfer every account and the code to you.

Proof

Work you can click through

Orialis Group is a concept prototype of ours rather than client work, and it was not built on WordPress. It is here because it shows the content shape a corporate site has to carry, including a newsroom, careers and an investor centre, all of which someone has to be able to edit.

Concept prototypes are labelled as prototypes everywhere they appear. They demonstrate what we can build, not work delivered for that named client. More client work is going live and will be added as it does.

How we work

The parts people ask about before they commit

How we build

React first, other languages when a project needs them

We build in React by preference, on both web and mobile, and we work in other languages when a project genuinely calls for it.

Timeline

Project dependent, and often quicker than expected

Timelines are project dependent. A focused build can go live in about a week, while a larger platform takes longer once scope is agreed.

Ongoing care

Quoted with the project, not bolted on

Ongoing care for a front-end website starts from RM 1,000 a year and covers hosting, SSL, domain renewal and maintenance. Care is quoted with the project, not bolted on afterwards.

Getting hold of us

Normally under one working day

We normally respond to a support request in under one working day, and we work to solve problems as fast as we can. That is how we normally work rather than a contractual guarantee, and responding is not the same as resolving. If your operation needs a formal response or resolution commitment, we can write one into your scope.

Ownership

Everything belongs to your business

You own everything we build for you: the code, the content, the domain, the hosting account and every third-party account opened for the project. There is no lock-in. If you move to another provider, everything goes with you and we help with the handover.

  • Source code, handed over in your own repository
  • Domain and DNS, registered to your business
  • Hosting and every service account, in your name
  • Analytics, search and ad accounts, with us as a manager you can remove
  • All content, media and data in the system

Questions

Asked about wordpress websites

Straight answers to what people ask before they commit. Anything else, message us.

What does a WordPress website cost?

Our website packages are published openly on the pricing page. What moves the number on a WordPress project is the content model, how many patterns genuinely repeat, how much has to stay editable and whether anything connects to a system you already run.

You prefer React. Will you actually build us a WordPress site?

Yes. React is our preference and we work in other languages when a project calls for it. If your requirement is content that your own team publishes often, WordPress is a reasonable answer and we will build it properly rather than talk you out of it. What we will not do is agree to it without saying where we think it will cost you later.

How many plugins is too many?

There is no number. The question is what each one owns. A handful of well-maintained extensions doing distinct jobs is healthier than three that overlap, and every one of them is a supplier, an update cycle and a failure mode you have accepted. If you cannot say what breaks when one stops being maintained, that is the one to look at.

Can our team edit the site without breaking the design?

That is a build decision, not a hope. We make the parts your team genuinely changes editable, keep layout and navigation structure fixed, and set permissions so drafting, publishing and settings are separate rights rather than one login everybody shares.

Who is responsible for updates after launch?

Whoever you agree it is, and it should be written down before launch. If it is us, ongoing care for a front-end website starts from RM 1,000 a year and covers hosting, SSL, domain renewal and maintenance, quoted with the project rather than bolted on afterwards. If it is your own team, we hand over the sequence and the records so it can be run properly.

We already have a WordPress site. Rebuild or improve it?

We look at what is there first. If the content model and the theme are sound and the problem is content, speed or a stack of overlapping plugins, improving is usually faster and cheaper than starting again. If the model itself is wrong, every improvement is paid for twice.

Can we sell products through it?

A checkout changes the decision enough that it belongs in its own conversation, covering payments, stock, tax and the extensions each of those brings. It is deliberately out of scope for this page, so ask us about it directly and we will scope it on its own terms.

Where to go next

Sources

Tell us what you need built

We will show you the closest thing we have already built, then scope the real version against your requirements.