The offer, split properly
MC, DJ, sound, lighting and special effects each get their own description and can be booked together or on their own, because a couple who already has a DJ still needs a host.
A wedding MC and DJ crew in Etobicoke needed a site that sells an evening, not a service list. Eight pages, a video hero shot at his own events, a booking form that reaches him directly — designed and built from an empty folder, and live ten days after the domain was bought.
Nobody books a wedding host from a bullet list. The decision is made on feel — what the room will sound like, whether this person can hold two hundred guests and keep the timeline moving, whether the photos look like the evening the couple is imagining. A page of service descriptions cannot carry that.
The other half of the problem is practical. One person is the MC, the DJ, the coordinator and the sales team, and enquiries arrive from Instagram, from referrals and from search at the same time. Whatever the site did, it had to end in one place: a message in his inbox with the date, the venue and the guest count already in it.
An event entertainment company in Etobicoke, Ontario covering Toronto, the GTA and destination weddings. The site is an eight-page hand-coded build: a video hero from the owner’s own events, separate pages for services, event types, gallery, pricing, about and contact, a booking form protected by Cloudflare Turnstile, and structured data that gives Google the address, coordinates, service list and a starting price of CA$1,000. Designed and built by Lead Web Studio from an empty folder, launched ten days after the domain was registered. Home page scores 98–99 / 100 / 100 / 100 in Lighthouse. The live site is at kgroupentertainment.ca.
The first thing on the screen is a clip from a real reception. The trick is what the browser actually downloads first: the opening frame is a genuine preloaded image rather than the video element’s own poster attribute, and the video file is not fetched during the first paint at all. Measured on a throttled 4G connection with a four-times slower processor, the largest content on the page lands in about 1.5 seconds.
Every page ends at the same place. The rest of the build exists to make that message worth sending and easy to trust.
MC, DJ, sound, lighting and special effects each get their own description and can be booked together or on their own, because a couple who already has a DJ still needs a host.
Every image and the hero clip come from real events he worked. A gallery of stock weddings would have undone the one thing the page has to prove.
A pricing page with a real number rather than “contact for a quote”. It filters the enquiries that were never going to book and it fills the price field Google reads.
The booking form asks for the date, the venue and the guest count, and sends it to his own inbox over authenticated SMTP. Cloudflare Turnstile filters the bots before anything is sent.
Structured data carries the business type, street address, map coordinates, contact point, the full service list and the starting price — the fields a local listing is actually assembled from.
HSTS with preload, content-type protection, clickjacking protection, a referrer policy, a permissions policy and a content security policy — all present on the real HTML, not just on the PHP endpoints.
After analytics went on, Lighthouse reported a largest-paint time of 3.4 seconds and the score dropped. The obvious move is to start stripping things out. Instead the page was measured for real: a throttled 4G connection, a four-times slower processor, and a browser-side observer reading the actual paint event. The answer came back at about 1.5 seconds, with a single candidate element. The 3.4 was Lighthouse’s own simulation, not the site.
Three genuine improvements did come out of the dig, and they were kept: an equaliser animation that was moving an element’s height — costing 866 milliseconds of style and layout work — now animates a transform instead; the hero’s first frame became a real preloaded image; and the hero video and the gallery lightbox image stopped loading during the initial paint.
The lesson is worth more than the seconds saved: reproduce a tool’s number with a real measurement before you rebuild anything around it. If you want that applied to a site you already own, it is what the free website audit is for, and the ongoing version lives in the SEO plans.
A hand-coded multi-page build of this scope is $899 to $2,999 one-time, depending on how many pages and working parts it needs. This one is eight pages with a booking form, a video hero, a gallery and a pricing page — the full range is on the pricing page.
This one went from an empty folder to a launched, indexed site in ten days — domain and hosting on day one, launch on day ten. The pace depends far more on how quickly photos, prices and copy arrive than on the code.
Only if it is built carelessly. Here the first frame is a real preloaded image, not the video’s own poster attribute, and the video file itself is not fetched during the first paint. Measured on a throttled 4G connection with a four-times slower CPU, the largest content appears in about 1.5 seconds.
Yes, and it is usually the better choice. Every photograph and the hero clip on this site are the owner’s own from real events, which is why the gallery looks like his work rather than stock footage of somebody else’s wedding.
It is set up to be: analytics and Search Console were connected before launch, the sitemap was submitted and accepted with zero errors, and the business is described in structured data Google reads directly — address, coordinates, contact, service list and starting price. Ranking then comes from ongoing SEO work, not from the build alone.
Send me what you already have — photos, prices, a page you hate — and I will tell you what it needs. See my website design packages from $899.
For a planning session or on-site business photos, I'll come to you. Pick your city: