A five-page website for €1,500, fixed
Five pages, one fixed price. You pick a template and supply the words; the site is built from eleven ready-made sections, with a Lighthouse score of 90+ written into the contract rather than promised in an email.
- Price
- €1,500, fixed before work starts
- Pages
- Up to 5, then €150 each to a ceiling of 10
- Delivered
- 10 working days from the day content arrives
- Languages
- One
- You keep
- Source code, repository, design, domain
Included in the fixed price
- + UP TO 5 PAGES, REACTIVE
- + TEMPLATE OF YOUR CHOICE
- + ONE LANGUAGE
- + CONTACT FORM
- + NO COOKIES, NO BANNER
- + BRING YOUR OWN CONTENT
- + 90+ LIGHTHOUSE, GUARANTEED
- + DELIVERED IN 10 WORKING DAYS*
- + EXTRA PAGES: €150 EACH, MAX 10
Eleven sections to build from
Your pages are assembled from these blocks. Pick the ones that fit what you actually have to say — an honest four-block page beats a padded ten-block one. Open any block to see what it does and what you need to supply.
Hero headerHeadline, sub-line and one primary call-to-action, above the fold.
The first screen a visitor sees. One headline, one supporting sentence, one button. No carousel of competing messages. Renders server-side as plain HTML and text, so it paints immediately and counts toward your Largest Contentful Paint rather than against it.
- You supply
- Headline, one sentence, one background image
- Optional
- Second, lower-emphasis button
Feature gridTwo to six cards for services, benefits or product features.
A responsive grid that reflows from one column on phones to two or three on desktop. Each card takes an icon or small image, a short title and two or three lines of text. The usual home for "what we do" or "why us" without turning it into a wall of prose.
- You supply
- Two to six titles with a short paragraph each
- Icons
- Chosen from an open-licence set, or your own SVGs
Carousel / sliderSwipeable row of images or cards, with keyboard and touch support.
A horizontally scrolling strip for portfolios, products or photos. Built on native CSS scroll-snap, not a slider library. That costs no JavaScript. It works with a trackpad, a touch swipe and the arrow keys, and degrades to a plain scrollable row anywhere it is not supported. Respects reduced-motion settings and never auto-advances. Auto-rotating carousels measurably hurt both usability and conversion.
- You supply
- Four or more images, ideally the same aspect ratio
- Behaviour
- Manual advance only, snap-to-item
Image + text splitHalf image, half copy — alternating down the page.
The workhorse storytelling block. One image beside one block of text, alternating sides on each repeat so a long page keeps a rhythm. Stacks to image-above-text on phones. Use it three or four times to walk through a process, a product or a story.
- You supply
- One image and one to two paragraphs per repeat
- Repeatable
- Yes — counts as one block however many times it appears
Image galleryGrid of images with an optional full-size lightbox.
For work that has to be seen: interiors, food, events, products, before-and-afters. Images are converted to modern formats and sized per breakpoint at build time, so a twenty-image gallery does not cost you the Lighthouse score. Optional click-to-enlarge.
- You supply
- Six or more images at the highest resolution you have
- Delivered as
- AVIF/WebP with fallbacks, lazy-loaded below the fold
TestimonialsQuotes with attribution, marked up so search engines can read them.
Client quotes with a name, role and optional photo. Emitted with Review structured data, which means the quotes are machine-readable. That matters now that answer engines quote sources directly rather than only linking them.
- You supply
- Two or more quotes with a real name and role
- Structured data
- schema.org Review
FAQ accordionExpandable question list with FAQPage structured data.
Questions collapse to a scannable list and expand on click. It uses the browser's native disclosure element: no JavaScript, keyboard-accessible by default. The answers stay in the HTML source whether or not they are expanded. Emitted with FAQPage structured data, which is the single highest-leverage block for getting quoted by AI assistants and for eligibility for rich results.
- You supply
- Four or more question-and-answer pairs
- Structured data
- schema.org FAQPage
Stats bandA row of three or four numbers with captions.
A narrow band of figures — years in business, projects delivered, response time, whatever is genuinely yours. Works as a break between two heavier sections and gives a page some evidence without a paragraph of self-description.
- You supply
- Three or four numbers with a short caption each
- Note
- Numbers you can substantiate — invented ones age badly
Logo stripClient or partner logos, static row or slow marquee.
Social proof in one line. Logos are normalised to a single optical weight and height so a mixed set does not look ragged. Available as a static row or a slow continuous marquee, which pauses on hover and stops entirely under reduced-motion settings.
- You supply
- Logos as SVG or high-resolution PNG
- Reminder
- You need permission to display a client logo
Call-to-action bandFull-width closing prompt with one button.
A high-contrast strip that closes the page or breaks up a long scroll, carrying a single instruction and a single button. Points at whatever counts as conversion for you: a phone number, a booking link, an email, or the contact form.
- You supply
- One line of copy and the destination
- Repeatable
- Yes, though twice on a page is usually the limit
Contact formValidated form with spam protection and email delivery.
Name, email and message, with server-side validation and bot protection, delivered to your inbox. No database and no stored personal data, which keeps the GDPR position simple. Errors are announced to screen readers rather than only shown in red.
- You supply
- Destination inbox
- Included
- Spam protection, server-side validation, success and error states
- Both tiers
- TIER-01 and TIER-02
Calendly bookingInline scheduling widget, loaded only on interaction.
Your Calendly calendar embedded in the page so visitors book without leaving it. Loaded on click rather than on page load. Third-party embeds are heavy, and deferring this one keeps the guaranteed Lighthouse score intact. Falls back to a plain link if the embed is blocked.
- You supply
- Calendly account and event link
- Tier
- TIER-02 and above
Google MapsLocation map with address and directions link.
An embedded map for businesses people physically visit, alongside the written address and a directions link. Like the booking widget it loads on interaction, showing a static preview until then. Paired with LocalBusiness structured data so the address is machine-readable, which is what local search and AI assistants actually read.
- You supply
- Full address and opening hours
- Structured data
- schema.org LocalBusiness
- Tier
- TIER-02 and above
Language switcherTwo-language site with correct hreflang and per-language URLs.
Every page exists at its own URL per language, with hreflang tags and localised slugs, so each language can rank independently instead of competing with itself. In-house languages are French, English, Spanish, Serbian and Romanian; anything else is a discovery call. Translation of your copy is not included unless agreed separately.
- You supply
- Copy in both languages, or a translation budget
- Included
- hreflang, localised URLs, language switcher
- Tier
- TIER-02 and above
Why this, and not a page-builder site
A page-builder site is configuration, not code. The design you paid for lives inside someone else’s software, in their storage format, and it works only while that software stays licensed and installed. This is built the other way round: plain source files in a repository that becomes yours.
A builder site contains almost no code of your own
When a site is assembled in Elementor, Divi or Wix, close to nothing is written for you. What exists is a stack of settings (spacing, colours, widget choices) recorded in the builder’s own format. That is why two sites made with the same tool are structurally identical underneath, and why “custom” in that world means differently configured rather than differently built.
Where your layout actually lives
Elementor stores each page as a JSON blob in a hidden WordPress field called _elementor_data, and leaves the normal post content almost empty. Switch the plugin off and the page renders blank. Your text is still in the database, but nothing left knows how to draw it. Divi takes the other route and writes shortcodes into the content, so removing it leaves visitors reading [et_pb_section] where your homepage used to be. Neither is a bug. It is how builders work.
Wix and Squarespace: there is no code to take
Wix offers no code export, because there is no conventional source to export. Pages are assembled in the browser at runtime by Wix’s own engine. You can take your data out: products, contacts, orders. You cannot take the site. Leaving means rebuilding from zero, and the platform is designed so that stays true.
The licence never ends
Elementor Pro, Divi and most booking, form and gallery plugins are annual subscriptions. To be precise about what an expired licence costs, because it is often overstated: the site keeps rendering and nothing goes dark. What you lose is updates, security patches, support, and the ability to edit Pro widgets at all. So you pay every year to keep the right to change your own website. Stop paying, and it slowly becomes an unpatched liability you cannot edit your way out of.
The bill has a tail
Builder licence, plugin licences, and hosting able to run PHP and a database, all renewed yearly, indefinitely, for as long as the site exists. A static site has no licence to renew and no database to host. Its running cost tends toward the price of the domain.
“Template” here means a starting point in code, not a rented cage
Tier-01 is called a template site, so this distinction has to be exact. The template is a layout written in source files that transfer to you: edit it, fork it, hand it to another developer, or throw it away. A builder template is a configuration inside software you rent. Same word, opposite ownership.
The page weight is a symptom, not the disease
A builder must ship its own runtime to every visitor, because something has to interpret all that configuration in the browser. Measured on live business sites: a typical Elementor build serves over 300 KB of HTML and more than 40 scripts before a single word of content. What is built here runs about 83 KB and 7 scripts. That gap is architectural. It is also why a 90+ Lighthouse score can be written into a contract here and cannot be there.
A builder site needs a consent banner. This one does not.
The banner is not a legal formality bolted on at the end; it follows from the architecture. A page-builder site loads fonts, analytics, maps and marketing scripts from third parties the moment the page opens. That happens before the visitor has agreed to anything, so consent has to be collected. That means another plugin, often another subscription, and a modal sitting over your content on the first view. What is built here loads nothing third-party on view and sets no cookies, so there is nothing to consent to. Where an embed is genuinely needed — a booking calendar, a map — it shows a static preview and loads only on click. That click is the consent.
What actually transfers to you
On final payment: the Git repository, the full source, the design, the content and the domain. Plain Astro, HTML and CSS that any competent developer can pick up without buying a licence or learning a proprietary editor. No licence keys, no vendor account in my name, no format only one tool can read.
| Elementor / Divi | Wix / Squarespace | Here | |
|---|---|---|---|
| Source code | Configuration in a database | None to export | Yours, in Git |
| If you stop paying | No updates, cannot edit | Subscription is not optional | Nothing changes |
| Changing developer | They need the same stack and licences | Rebuild from zero | Clone the repository |
| Yearly licences | Builder plus every plugin | Platform subscription | None |
| Cookie consent banner | Usually required | Usually required | Not needed |
| Typical weight | 300+ KB, 40+ scripts | Heavy JS runtime | ~83 KB, 7 scripts |
Ask your current or prospective provider to hand over the repository. If there is no repository, there is no code. What you bought was access, not a website.
Not included at this tier
- Copywriting — you bring the words
- Photography, illustration or logo design
- A bespoke design: this tier is a template you choose, styled to your brand
- A booking widget, map or blog — those start at TIER-02
- More than one language, or more than ten pages
- E-commerce or user accounts
Before you book
How much does a five-page website cost?
€1,500, fixed and agreed before any work begins, for up to five pages. That figure does not move unless you change the scope in writing, and there is no hourly component. Additional pages are €150 each, to a maximum of ten, so a ten-page site is €2,250. VAT is not charged: Kogaionon Limited is Hong Kong registered and invoices without VAT.
How long does it take?
Ten working days from the moment your content is in hand, text and images both. The clock starts when the content arrives, not when the contract is signed, because content is the single thing that most often stalls a website build.
What does "90+ Lighthouse, guaranteed" actually mean?
It is a contractual term, not a marketing line. Your delivered site scores 90 or above on Google Lighthouse performance, accessibility, best practices and SEO, measured on the delivered build. If it does not, I fix it before invoicing.
Can I add pages later?
Yes, at €150 per page on the same template and design, up to a ceiling of ten pages. A ten-page site is €2,250. Past ten you move to TIER-02, which covers fifteen and stretches to twenty. Note that TIER-02 is not simply more pages; you go there for what this tier cannot do at all: Calendly booking, Google Maps, a second language, a blog, and a layout adapted to your brand rather than a fixed template.
Do I own the site when it is done?
Yes. Full intellectual property transfer on final payment, including the source code and the repository. There is no proprietary builder to stay locked into, and you can hand the whole thing to another developer without asking permission.
What is the difference between this and a website builder?
A builder charges monthly and hands you a page averaging two to three megabytes with a template you share with thousands of other sites. This is a hand-built static site on your own domain, no subscription to me, source code yours, and a performance floor written into the contract.