V3 PLATFORM
Onboard a New Client¶
Use this procedure to build a new client's website on the V3 platform.
The client's clerk answers everything once, on the intake form. The NetWise Onboarding plugin then turns a copy of the V3 template into the client's website from that one file: settings, councillors, a year of meetings, documents, the client's own pages, the four statutory pages and the homepage banner. An import can be undone.
For a client whose website already runs on V2, use Migrate a V2 Client to V3 instead.
This procedure was first documented on 15 September 2026. It was updated on 6 October 2026 after the first real build (Sealand Community Council), when NetWise Onboarding 0.17.4, NetWise-V3 1.0.138 and NW Event Manager 1.0.46.3 were current. The current releases are authoritative.
Before you start: take control of the domain¶
Do this before anything else
The tooling pulls documents and other content in from the client's old website, so it needs unfettered access. NetWise must control the domain's DNS, so that we can pause Cloudflare if we need to during the migration. Don't start the build until this is done.
Follow Bring a Client's Domain Under NetWise Control. In outline:
- Check whether the domain's DNS is already in NetWise's Cloudflare account. If it is, there's nothing to do.
- If not, ask the client for a complete copy of their existing DNS records.
- Add the domain to NetWise's Cloudflare account and import the DNS records from the client's copy. Don't let Cloudflare scan for them, then change the nameservers.
The domain doesn't need to be registered with NetWise. Only the DNS matters.
1. Bring the template up to date¶
Do this before every new client. On Sealand, the template was still on NetWise-V3 1.0.77 when 1.0.137 was current, and the theme was updated after most of the build was done, so finished work had to be checked again.
In the template's WordPress admin (template.nwclients.co.uk), go to Dashboard → Updates and click Check again. Install every update offered for the NetWise theme and plugins.
Then confirm the versions on Plugins and Appearance → Themes against the current releases. Each release is published on GitHub as a small file that sites check:
- NetWise-V3:
NetWise-UK/NetWise-V3-releases, filenetwise-v3.json - NW Event Manager:
NetWise-UK/nw-event-manager-releases - NetWise Onboarding:
NetWise-UK/nw-onboarding-releases - NW Forms:
NetWise-UK/nw-forms-releases - NW Planning:
NetWise-UK/nw-planning-releases
Make sure automatic updates are on. On Plugins, click Enable auto-updates for each NetWise plugin. For the theme, open it from Appearance → Themes and click Enable auto-updates in the window that opens.
NW Forms before 1.3.0 and NW Planning before 1.2.2 cannot update themselves and show no auto-update link. Upload the current version once by hand (Plugins → Add New Plugin → Upload Plugin), and from then on they update themselves.
Check these template settings too:
- Settings → General → Site Language is English (UK). Every V3 site stays English (UK) until a Welsh option is built.
- A default WordPress theme, such as Twenty Twenty-Five, is installed, so a broken theme has something to fall back to (Tools → Site Health warns if not).
- NetWise Onboarding is installed and active.
Never build or test on the template itself
Keeping its theme, plugins and these settings up to date is the only change to make to template.nwclients.co.uk. To try something out, clone the template and test on the clone.
2. Send the clerk the intake form¶
When the client asks for everything on their old website instead
Some councils ask NetWise to take everything from their old website rather than fill in the form. Then skip steps 2 and 3. Claude reads the old website and builds the intake file from it. Before uploading, confirm the clerk's name and email, whether each councillor's email may be shown, and whether the council has the right to use its photographs. At step 11, after the documents, bring the old pages and news across (see Pages and news from the client's old website). First used for Ridgewell Parish Council, November 2026.
Send the clerk the link to the intake form:
https://parishcouncilwebsites.org.uk/new-website-information/
You can fill in some answers for the clerk by adding them to the link. The form reads council_name, council_type, county, netwise_ref and clerk_email — for example, adding ?netwise_ref=NW-1234 fills in the NetWise reference.
The clerk's answers save in their own browser as they type. They can close the form and come back later, but only on the same computer and browser.
For each councillor, the form asks whether their email address may be shown on the website. The box starts unticked, and the clerk should tick it only if the councillor has agreed.
3. Download the client's submission¶
When the clerk finishes, they click Send to NetWise. If that button isn't shown, they click Save everything as one file and email the zip to NetWise instead.
A sent submission arrives as an email to info@netwiseuk.com containing a link. The link only opens while you're logged in to parishcouncilwebsites.org.uk.
Download the zip. It contains the answers (intake.json) together with the client's logo, photographs and documents. Submissions are deleted automatically after 30 days.
4. Copy the template¶
On Sealand, the copy went most smoothly when the subdomain existed first:
- Create the
[client].nwclients.co.uksubdomain. - In WP Toolkit on the development server (devserver.nwclients.co.uk), clone template.nwclients.co.uk to it, choosing Use existing domain.
WP Toolkit creates the new database and updates the website's addresses.
5. Check the copy¶
If the copy was created inside the nwclientsco account, it starts on PHP 8.1. Change it to PHP 8.3 in WHM → MultiPHP Manager → User Domain Settings.
In the copy's WordPress admin, go to Settings → Reading and check that Discourage search engines from indexing this site is still ticked.
Check that NetWise Onboarding is installed and active, and that it is the current version.
Check the upload limit, which the upload form on Tools → NetWise Setup shows. The template was set to allow 256 MB on 14 September 2026, but Sealand's copy allowed only 64 MB on 5 October 2026, and why is not yet known. If the limit is lower than the intake zip, raise it in that account's cPanel, under MultiPHP INI Editor → Basic Mode.
The Events Calendar must not be active
It takes over the meeting addresses, and every meeting then shows "page not found". Tools → NetWise Setup warns if it finds it, and lists anything else the website is missing.
6. Upload the intake file¶
Go to Tools → NetWise Setup. Only a full administrator can open it; a Council Administrator account deliberately can't.
Until a file is uploaded, the screen says No intake file has been received for this site, so there is nothing to set up.
Under Upload an intake file, choose the zip and click Upload.
If the form had no NetWise reference, the file is filed under the client's name and the date instead — for example trumpton-20260914. That name stands in for the reference everywhere, including Undo.
Uploading a corrected file later replaces the first one. The old one is kept to one side rather than deleted.
7. Read the report¶
After the upload, the screen shows exactly what the import would do. Nothing has been written to the website yet.
Under Checks, read every refusal and every warning.
Compare the meeting dates in the report with the schedule of meetings the client sent. Recurrence rules and real council calendars occasionally disagree, and this is where you'll notice.
Fix every refusal first
The import can't run while there's a refusal. Get the missing or corrected answer from the clerk, then upload the file again.
8. Back up the copy¶
Take a backup of the copy before importing.
Undo puts back everything the import did, but it can't know about anything else that changed on the website in between.
9. Run the import¶
Use one browser tab
Don't open Tools → NetWise Setup in a second tab while the import is running. Each time that screen loads, it runs the next batch, so two open tabs copy the same photographs twice.
At the bottom of the report, tick the confirmation box and click Set this site up as [client name].
The client's records go in first. The photographs then copy across five at a time, and the screen keeps itself going until it finishes. Leave it open.
When it finishes, What was set up shows two columns: Created and Expected. They must match. If a number is red and nothing under Some things did not work explains it, stop and report it rather than carrying on.
The import holds all outgoing email from the moment it starts, so nothing reaches the clerk before handover. Every admin screen shows This site is not sending email. until the hold is released in Step 13.
10. Check the imported website¶
Visit the copy and check:
/council-members/shows the councillors, with the chair first. A councillor's email address is shown only if the intake says they agreed; the others have a message form instead, which still reaches them.- The colour scheme is the one the clerk picked. Each colour on the form is one of the theme's schemes, so Municipal blue gives Modern Civic, for example. A colour code the clerk typed in instead gives Estuary in that colour.
- The meetings are listed under
/events/, and the homepage names the next one. /documents/lists the documents. A PDF opens in the browser when clicked; other files download.- The statutory pages, such as
/privacy-notice/, read as finished text with the client's details in them. - The client's own pages show proper headings, lists and links. Text the clerk pasted with markdown in it (
##,**,*) is converted on import.
Then open Tools → NetWise Setup and deal with everything it lists:
- Placeholders on published pages, which are faults to fix.
- Lines for the council to complete, such as the adoption dates and the publication scheme's Clerk to edit line above its list of services. These are deliberate, but must be done before handover.
- Settings that still hold the template site's address, such as Meetings → Settings, Minutes reminders: Send to. Put in the client's own details.
11. Finish the content¶
Pages waiting for the clerk¶
A page the client asked for without providing its words is created as a hidden draft, and listed under What to do next.
When the clerk writes the page and clicks Publish, it joins the menu under the right heading by itself.
The publication scheme¶
The template's publication scheme has a general list of services (Class 7) and a flat charge per page. Replace both with what the council actually adopted. On Sealand, the council's own scheme was found among its old documents.
Documents from the client's old website¶
If the client asked for their documents to be moved, go to Tools → Old website documents.
Enter the Old website address. If the council only wants recent documents, put a year in Only documents from. Older ones are still found, but start out left out. Then click Start reading the old website.
It reads the old website the way a visitor would, about a page a second, so expect a few minutes for a small council and up to half an hour for a large one. Leave the screen open. If you close it, it carries on from where it stopped when you come back. If the old website has years of news, Stop reading pages lets you carry on with the documents found so far.
When it has finished, it sorts everything it found into six tabs: Needs a decision, Quick check, Ready, Left out, Cannot be moved and Moved. Work through them in that order:
- Correct anything under Needs a decision, untick anything not worth moving, and save the page.
- Glance at the reasons given for each document under Quick check. These will be moved as they are, so correct any that are wrong.
- To change many documents at once, tick them and use Change every ticked document….
Then click Move [number] documents. The box Keep agendas and minutes out of the Documents list above that button starts unticked. Leave it unticked unless the client asks: ticked, the home page's Latest documents never shows an agenda or minutes.
The documents go into the Documents library and onto their meetings, with redirects from the old addresses. The move has its own Undo, which takes back the files, the library entries, the meetings made for them and the redirects.
What to check in the review
- Each meeting should have one set of minutes and one agenda. If several documents for the same meeting look like minutes, the tool keeps the one with the strongest evidence as the minutes and marks the others as supporting papers for a quick check. On Sealand, 80 of 125 meetings had two to four documents in the old website's Minutes column: the minutes, a finance extract and a Summary of Decisions. Check that the right one was kept.
- Finance papers. A document whose only sign of being a meeting paper is its own first page, and which every page linking to it describes as something else, goes into the Documents library and is marked for a quick check. Summaries of accounts, audit updates and reconciliations count as finance papers.
- Dates and titles. A month in a document's own name wins over a financial year, so "Summary of Accounts October 2025" is dated October 2025. Documents with no month in the name, such as budgets and annual returns, keep their financial year. Titles such as "PDF document: …" are cleaned up. A name a scanner or camera made up, such as "Scan_2023" or "IMG_0034", is passed over for a better clue.
- Large files. A large file has 90 seconds to download, against 15 seconds for a page. A file over 50 MB is reported as too large rather than timing out, so get it from the council another way.
Scanned documents. After the move, the screen lists every moved PDF whose first page has no text. A screen reader cannot read these. Ask the council for a version with text, or write the document out in its Read this document online box, which the Documents page offers as the accessible version. On Sealand, 21 of 760 documents were scans. Deal with these before the accessibility check in Step 12.
Finishing. Once everything worth moving has been moved, click Delete the downloaded copies. Undo still works afterwards.
Don't work around a blocked website
Some old websites turn programs away, through Cloudflare or their robots.txt file. Never try to get round that. Ask the client to let NetWise in, or to send the files.
Pages and news from the client's old website¶
Do this after the documents, and only if the client asked for their old pages and news (NetWise Onboarding 0.20.0 or later). Go to Tools → Old website pages and news.
- Upload the old website's export file. In Squarespace it is Settings → Export → WordPress; on a WordPress site, Tools → Export → All content.
- A Squarespace export holds only one blog. For each other blog, such as a notice board, enter its address under Read a collection from the old website.
- Look through the list. Each page and post has a suggested home: a page under Your Council, a page under a heading, News, Notice, Gallery, or Leave out with the reason. Change any that are wrong. To give a group of pages their own menu heading, such as "Village hall", tick them and use the box above the list.
- Open Read it on every row marked for personal details, and leave out or edit anything private, such as a home address.
- Click Import them and leave the page open until it finishes.
- Fix every link listed under The last import that still points at the old website or through a click-counting service. Describe any new pictures at step 12.
It has its own Undo, which removes only what it made.
Moving to a new domain
Old page addresses redirect to their new pages only if the old domain forwards to the new site with the rest of the address kept. Set that up at go-live.
Meeting settings¶
Check two fields before saving
On Meetings → Settings, Chrome can fill a saved login into Suggest an event and NetWise update license. Clear both before clicking Save, or a password is stored as the website's update licence.
Leave Report to NetWise blank. The service that receives these reports has not been set up yet, so blank is correct for every website for now.
12. Check accessibility¶
Before handover, in the copy's admin:
- On Accessibility → Check report, click Check again now, and work through what it lists.
- Describe every picture on Accessibility → Describe pictures.
- If the client has a gallery, give each photograph its own description on Galleries → Photo descriptions. On Sealand, this screen found 75 photographs to describe.
- Press Tab through the home page and check you can see where you are at every step and reach everything in the menu.
- Look at the home page, a document and the councillors page on a phone, or in a browser window made phone-width, and check nothing runs off the side.
13. Hand over the website¶
Before handover, check that:
- the clerk has filled in the two Adopted by the council on … dates on the statutory pages;
- the Accessibility Statement's statement that NetWise tested the website is true;
- the Plota planning feed points at the client's own area;
- Tools → NetWise Setup lists no placeholders, no lines left for the council and no template addresses.
Held email is not sent later
Releasing the hold doesn't send the messages that were held — they're discarded. Send again anything that matters.
On Tools → NetWise Setup, click Release outgoing email. The This site is not sending email. warning disappears from every admin screen.
Now test the website's contact form. Test it only after releasing email, or the test proves nothing.
Tell the clerk how the page editor works: pictures have their own buttons, a picture needs a description before a page can be published, and clerks have no Code tab. The short version is in The Page Editor.
14. Go live¶
When this procedure was documented, a finished website was moved to the live server (server.netwisetraining.com) by hand: an All-in-One WP Migration export, imported into a new cPanel account. Building new client websites directly on the live server, so that going live is only a domain change, had been proposed but not adopted.
The domain should already be under NetWise's control and in Cloudflare (see Before you start: take control of the domain), so going live is a DNS change that we make ourselves.
Once the website is on its final address:
- untick Discourage search engines from indexing this site in Settings → Reading, and remove the robots.txt block;
- if the web address changed, re-check the statutory pages, because they quote the website's address.
Troubleshooting¶
The upload is refused as too large¶
The zip is bigger than the copy's upload limit. The upload form shows the limit.
The template allows 256 MB, but Sealand's copy allowed only 64 MB (see Step 5). Raise the limit in that account's cPanel, under MultiPHP INI Editor → Basic Mode.
"A council has already been imported onto this site"¶
An import has already run on this copy. To import again, undo the first import.
Undo an import¶
On Tools → NetWise Setup, click Undo the import. Its progress screen keeps itself going like the import's, so keep to one browser tab.
- The imported records go to the Bin, and the import's files are deleted.
- Settings go back to how they were, and the email hold is lifted.
- Anything used since the import — for example, a meeting a clerk filed under an imported committee — is kept and listed under What was kept, and why.
When it finishes, click Done — start again to import again.
Every admin screen says "This site is not sending email."¶
The import's email hold is still on. That's expected until handover — release it in Step 13.
A plugin shows no "Enable auto-updates" link¶
It is too old to update itself. Upload its current version by hand once (see Step 1).
Final check¶
Before considering the client onboarded, confirm:
- The template's theme and plugins were current before the copy was made.
- Created matched Expected after the import.
- The councillors, meetings, documents and statutory pages show correctly on the website.
- Tools → NetWise Setup lists no placeholders, lines for the council or template addresses.
- The clerk's draft pages are published, or deliberately left for later.
- The accessibility checks in Step 12 are done.
- Outgoing email has been released, and the contact form works.
- Search engines are allowed on the live website, and the robots.txt block is gone.