WordPress Multisite Developer

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$637

HOURS PER WEEK

TBD

DATE UPDATED

Oct 2, 2026

JOB OVERVIEW

COMPANY OVERVIEW

BKG is a home-renovation group in the Netherlands. Our brands include Sanitairstudio (bathrooms) and Tegelstudio (tiles), alongside 25+ other home-improvement brands in the wider BKG group. Our websites bring in the leads the whole group runs on.

JOB DESCRIPTION

You build and maintain the websites of the BKG group. We are bringing our brand sites together on one WordPress Multisite built with Elementor Pro: 13 brand sites to start, growing to 25+. Your first job is the design system that every brand site is built from. After that you build and launch brand after brand, while the current live sites keep running until each new one is ready. About a fifth of your time goes to the website of our bathroom brand, Sanitairstudio. You think about all sites at once, not one at a time.

MAJOR FUNCTIONS

Build our Elementor design system on the Multisite: design tokens (colors, typography, spacing), about 12 reusable components and 5 page templates, with a mobile Lighthouse score of 85 or higher.
Build brand sites from that system (8 to 10 pages each), so a change is made once and each brand keeps its own logo, colors and name.
Launch each brand on its real domain together with our SEO specialist: redirect mapping, domain mapping, SSL, Cloudflare, sitemap and Search Console checks after launch.
Connect lead forms (Gravity Forms) to our CRM (Bitrix24) and automations through webhooks, and build the tracking basis (data layer, tags) into the templates.
Keep the network healthy: tested updates, backups, security and Core Web Vitals across all sites.
Maintain and improve the Sanitairstudio website: templates, speed, mobile and lead forms (about 8 hours a week).
Document what you build so colleagues can maintain it. Later on: WooCommerce shops.

REQUIRED SKILLS

3+ years of professional WordPress development, including hands-on work on a Multisite network (subdomains, domain mapping) or a comparable multi-brand setup you can show.
Strong in Elementor Pro: Theme Builder, global colors and fonts, reusable templates and components, dynamic tags, custom CSS.
Able to design a system where a change is made once and reaches every site, while each brand keeps its own identity.
Solid PHP, HTML, CSS and [removed] custom functions, hooks, shortcodes or a small plugin when Elementor alone isn’t the right tool.
Performance optimization with measurable Core Web Vitals results (LCP, INP, CLS): caching, images, fonts, scripts and lean Elementor builds.
Site launches and migrations without losing rankings: 301 redirect mapping, domain mapping, SSL, DNS basics and checks after launch.
Forms and integrations: lead forms that reliably deliver to a CRM through webhooks or an API, plus tracking events for analytics (Google Tag Manager, data layer).
A safe way of working on live sites: staging, backups, tested plugin updates, rollback, and careful handling of credentials.
Clear documentation, and fluent spoken and written English.

TOOLS WE USE

This is our stack. Elementor Pro is required; experience with the rest is a plus. Tell us which ones you have worked with.

Hello Elementor theme with Elementor Pro and ElementsKit.
Gravity Forms for lead forms.
Rank Math for SEO, and a redirect manager for migrations.
BerqWP, Redis object cache and Cloudflare for performance.
WordPress REST API and application passwords: our content automation creates drafts through the API.
Bitrix24 (CRM) and ---------- on the receiving end of form webhooks.

NICE TO HAVE

WooCommerce: we will add shops later.
Experience with 10 or more sites on one network.
Experience moving a Multisite from shared hosting to managed WordPress hosting.
WP-CLI and Git.
Technical SEO basics: schema markup, canonical and indexing settings.
A good eye for design details and accessibility basics (WCAG).
Knowledge of Dutch or German.

AVAILABILITY

Full-time, 40 hours per week. You meet regularly with our Dutch colleagues during Amsterdam business hours (CET/CEST), which is afternoon and evening in the Philippines. Flexible otherwise. A reliable, high-speed internet connection is required.

EXPECTATIONS

One source, many brands: you build reusable systems instead of one-off pages. You keep performance and consistency front of mind, you test before you touch a live site, and you document what you build. If you spot a way to improve a process, a tool or a result, you raise it with your manager.

WORKING CONDITIONS / SALARY

$637/month, with room to grow for the right person. Long-term, stable role.

BONUSES

Paid Time Off after 1.5 months · salary reviews every 2–3 months · professional-development budget · second monitor after 6 months · new laptop after 2 years.

HOW TO APPLY

Start your message with the word “NETWORK” so we know you have read the full post. Then answer these four questions, 3 to 6 sentences each:

Describe one Multisite or multi-brand WordPress project you built: how many sites, which page builder, what was shared across the sites and what was set per site.
We build with Elementor Pro on a Multisite. A shared header component changes. How do you get that change onto every brand site while each brand keeps its own logo, colors and name? Tell us what you would build once and what stays per site.
Give one concrete example of improving Core Web Vitals on an Elementor site: the numbers before and after, and the two or three changes that made the difference.
You launch a rebuilt site on its real domain, replacing a live site that ranks in Google and brings in leads. What are your steps before, during and after the switch so rankings and leads survive?

Also include:

Links to two sites you built, at least one of them on a Multisite or part of a multi-brand setup, with a short note on your part in each. Only share what already exists; please don’t build anything for this.
Which of the tools under “Tools we use” you have worked with, and which hours (Philippine time) you are available for meetings with our Dutch team.

We read every application that starts with the codeword and answers the questions specifically. Generic or copy-paste replies aren’t considered.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0042
Controller Execution Time ( Jobseekers / Job )  0.0704
Total Execution Time  0.0753
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,528,104 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/WordPress-Multisite-Developer-1742423
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0552 seconds)  (Hide)
0.0014   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0037   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1742423
 LIMIT 1 
0.0023   SELECT *
FROM `employers`
WHERE `employer_id` = 684044
 LIMIT 1 
0.0016   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1742423
AND `misc`.`id` IS NULL 
0.0018   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-10-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1742423' 
0.0026   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742423 
0.0016   UPDATE employer_jobs SET hit_counts = '***Oct-02-2026=1353***Oct-03-2026=105***Oct-04-2026=2' WHERE job_id= '1742423'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=1459' WHERE job_id= '1742423'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1742423' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742423 
0.0334   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '684044'
AND `date_added` >= '2022-06-08' 
0.0019   select * from teasers 
0.0032   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)