A bilingual website for an insurance broker
A small bilingual website for an insurance brokerage: a page for each insurance line, a language switch without reload and analytics that wait for consent.
- Client
- A&D Brokers
- Industry
- Insurance
- Services
- Websites

Challenge
The broker had no real web presence and none of the search basics: empty meta descriptions, no sitemap, no robots file, no canonical or social tags.
Approach
Build the site from the broker's own documents, keep it light and static, and lay the search groundwork properly from the start.
Solution
- 17 pages, including one page for each of ten insurance lines
- Bulgarian and English with a language switch that needs no page reload
- Cookie consent that blocks analytics until the visitor accepts
- A sitemap, robots file, meta tags and social images
- A page generator that gives each detail page its own title, description and canonical address
The site serves A&D Brokers, an insurance brokerage, and the individuals and companies in Bulgaria who are looking for an insurance broker, across corporate, travel, property, motor, cargo, liability, financial, agricultural, health and life cover.
This is a small brochure site, and it is described as one. It has seventeen pages, no framework and no database, and what was worth getting right was the groundwork: clear pages, honest consent handling and the search basics.
Built from the broker's own material
The content came from the broker's own documents: a partner list, a reconstruction of the insurance lines, a set of recommended coverages and a hero photograph the client supplied. The navigation was flattened so that every insurance line is a click or two away.
The site has a home page, an about page, an advantages page, an insurance index with ten detail pages (agricultural, cargo, construction, financial, labour, liability, life, motor, property and travel), a partners page, a contacts page and a privacy page.
The insurance index is ordered to match the broker's own spreadsheet, and a section of recommended coverages lists thirteen types. A roster of local and foreign insurers is shown in both languages.
Why it stayed static
There is no npm project, no framework and no database behind the site. The pages are static HTML, CSS and vanilla JavaScript, and the whole thing deploys with the Netlify command line. For a brochure that changes a few times a year, that is the right amount of machinery: nothing to patch, nothing to renew and very little that can fail.
Two languages, one address
A client-side dictionary holds the Bulgarian and English text in one file, with every translatable element tied to a key in it, and a switch changes the page without reloading it. The trade-off is that each page has a single address, so the English text cannot be indexed separately. That limit is written down in the project's SEO notes rather than hidden.
Consent before analytics
A small cookie-consent script, written for the site, offers accept all or essential only in both languages. Google Analytics does not load until the visitor accepts, and the site has a privacy page of its own.
A generator for the detail pages
The ten detail pages are produced by a Python script, so each gets its own title, description, canonical address and social tags without anyone copying a template by hand. The home page is maintained by hand, and the generator is marked in its own header as an older tool.
Search groundwork and hosting
The site has a robots file, a sitemap of thirteen addresses and a social image of 1200 by 630 pixels, the size sharing previews expect, and structured data for the brokerage on the home page. Analytics and Search Console were set up in April 2026. It is hosted on Netlify, which serves the main address and redirects the www address to it.
How the work was paced
The repository holds seven commits over two weeks, from 25 June to 9 July 2026. The search work, covering robots, sitemap, meta tags, analytics and Search Console, was done earlier, in April 2026, and predates the repository. It is documented in the handover notes rather than in the history, which is why the notes are worth reading. The build itself landed as small, separate changes: the partner list, the insurance lines, the recommended coverages, the hero photograph and the flattened navigation each arrived on their own.
What it is not
The structured data is only on the home page, not the detail pages. The handover notes still list a health-insurance page as open work. No performance or accessibility measurements were recorded, so none are claimed, and the project has no automated tests.
- Insurance-line pages
- 10
Outcomes
- Pages on the site
- 17
- Insurance-line pages
- 10
- Languages
- Bulgarian and English, switched without reload
Stack

CanvasX Lead Intake
Healthcare