ROOTCR HU

lunavera.hu — a full custom site replacing a template WordPress

In short: lunavera.hu was built in two weeks to replace a WordPress site running on a purchased template, without losing the search rankings built up over years. Since the new site went live, booking requests have grown steadily: the calendar for group sessions is booked one month ahead (reported by the client, August 2026). 25 custom pages, server-side rendered, with no plugins. On moving day, 11 addresses from the old site got permanent redirects — from the old database, not from guesswork — and email was left untouched. The site has no tracking cookies, no analytics service and no embedded third-party player: video and audio are served from our own server too. The client, Wilhelm Orsolya (lunavera.hu), gave a testimonial published by name at the bottom of this page, with her written consent — apart from the measured figures, it is the only statement here that I did not write.

What was on the old site?

The client had lived for years with a WordPress site running on a purchased template. When we saved its full content and went through it line by line, this is what came out:

  • two subpages — the crystal bed and the treatments — were byte-for-byte copies of the home page,
  • all three course levels contained the same text, belonging to a fourth service,
  • exactly one subpage carried real, original copy,
  • the privacy notice still had COMPANY NAME, ADDRESS and TAX NUMBER placeholders in it.

This is not an opinion and not a sales argument: it came out of a full backup of the old site, at file level. The visitor only sensed that "somehow it does not add up" — but this was exactly the picture the search engine had of the site: pages copying each other, with nothing of their own to say.

What was built instead?

25 custom pages, no plugins

Every page was built with its own design and its own code, server-side rendered: what the visitor sees, search engines and language models get the same way, without executing anything. No page builder, no plugin chain updating itself underneath the owner.

Booking with its own endpoint

Behind the booking and download forms runs custom server code, not a form plugin. In front of it, human verification: without a token, and with a forged token, the submission is rejected with a 403 before any data is created. Incoming requests are logged without passwords and without cookies.

A moon calendar that calculates — and would rather be empty than false

The group sessions section works from real astronomical calculation: the moon phase is a computed value, not a hand-entered icon. The most important decision of the project, however, was not that but this: the section went live empty. During the build it held sample dates with a live countdown. They looked good — but someone could have set out for a session that did not exist. Invented data does not go out on a live site: the section got an empty state with one true sentence and a notify-me button, until the real dates arrived.

A crystal bed you can walk through with a keyboard

For the hardest-to-explain part of the service, a custom interactive element was built: seven crystals, each with its own cone of light, navigable by click and by keyboard alike. Accessibility was not a fix applied afterwards but a condition of writing the component.

The site runs a single cookie: the one remembering the visitor's own consent decision, for 12 months. There is no analytics service, no advertising pixel, and no embedded third-party video player either — the videos and the audio come from our own server. This is not a matter of settings: there is no code in the system that would send data to a third party.

The security headers — Content-Security-Policy, frame denial, HSTS — live in the application code, not only in the server configuration. That way a domain change cannot lose them.

Structured data: one person, one entity

In the initial state the same person appeared in the structured data under two different identifiers, with two half biographies — to a machine, two different people. For a one-person service that is the worst possible outcome, because that is where expertise attaches to the person. After the fix, the person, the business, the address and the breadcrumbs are built from a single source on every page; articles got Article, service lists got ItemList, the voucher got Product and Offer markup.

A machine-readable version — from the same source

The site is built on visuals: animations starting on scroll, claims embedded in images. Good for humans, hard for machines. So every page has a factual, machine-readable version (.md mirror), plus an llms.txt and an llms-full.txt — generated from the same data the interface is built from. There is no separately maintained copy, so they cannot diverge: if a price changes, it changes in both places.

How did the move go?

When replacing a live site, the risk is not the design but the addresses and the email. So the order was fixed:

  1. A fresh, complete backup of the old WordPress — database and files, integrity checked — before anything happens.
  2. Lifting the search engine block and switching DNS in the same hour. If the domain comes across before the site becomes indexable, the search engine drops the old addresses from the index — and the ranking that was built up is lost.
  3. Permanent redirects for 11 old addresses to their new equivalents. The list came from the old site's database, not from guesswork: every published page got a target.
  4. Email was left untouched. Only the web address records changed; the mailboxes and the sending authentication (SPF, DKIM, DMARC) did not change by a single character, and after the switch it was verified that mail goes through.
  5. Closing the preview address with a redirect, so two competing sites with identical content do not remain.
  6. Notifying the search engines the same day: sitemap submitted, immediate notification to the others.

The result

WhatHow muchSource
Custom pages in the sitemap25lunavera.hu/sitemap.xml
Tracking and advertising cookies0the cookie notice + your browser's own interface
Analytics or advertising scripts0the page source
Old addresses redirected11the old WordPress database
Response time (TTFB)0.05–0.09 smeasured daily from my own server over the public address — today's exact value is in the measurement box on the home page
Templates and plugins in the system0the source code

The speed figure is a lab measurement: from one machine, on one network. What you measure on your device may differ — which is why you can measure it yourself through the links below.

What does the client say about it?

The figures above are my own measurements. The text below is not: the client sent it, and it appears here by name, with her consent.

Client testimonial

The most professional company I have ever come across.

I had made a few attempts at getting my website built, but as a complete layperson I had to go round in circles many times before I found the team that in the end exceeded everything I had imagined.

RootCR's professionalism and creativity are hard to put into a few sentences.

I wanted to stand out as a helper, but by the time I found them I was completely lost among all the different opinions, pieces of advice and ideas. Even I no longer had a clear picture of how to show everything I stand for.

All I had to do was tell them what I do, and within days they surprised me with an almost finished website.

Beyond the technical knowledge and the speed, what I liked most was the way they committed to the work together. I felt they genuinely took the time to understand what I do, what I stand for and what matters to me.

We worked together wonderfully, and every request I had was heard.

My website was finished in two weeks, and I have to say: it gave a frame to something I could never have framed on my own.

If it genuinely matters to you that your website is not only beautiful and professional but also a reflection of you, do not look any further, not even for a minute.

Wilhelm Orsolya ↗ Reiki master and teacher, family constellation facilitator · lunavera.hu on the development of lunavera.hu · August 25, 2026
Translated from Hungarian. The original text is below.

A legprofibb cég, akivel valaha találkoztam!

Volt már pár kísérletem a weboldalam elkészítésére, de teljesen laikusként sajnos rengeteg extra kört kellett futnom, mire megtaláltam azt a csapatot, aki végül minden elképzelésemet felülmúlta.

A ROOTCR professzionalitását és kreativitását nehéz néhány mondatban megfogalmazni.

Segítőként szerettem volna kitűnni, de mire rájuk találtam, már teljesen elvesztem a különböző vélemények, tanácsok és elképzelések között. Nekem sem volt már igazán tiszta képem arról, hogyan lehetne mindazt megmutatni, amit képviselek.

Elég volt elmesélnem, mivel foglalkozom, és napokon belül egy szinte kész weboldallal leptek meg.

A technikai tudás és a gyorsaság mellett számomra talán az volt a legszimpatikusabb, ahogyan beleálltak a közös munkába. Azt éreztem, hogy valóban időt szántak arra, hogy megértsék, mivel foglalkozom, mit képviselek, és mi az, ami számomra fontos.

Fantasztikusan tudtunk együtt dolgozni, és minden kérésem hallgató fülekre talált.

A weboldalam két hét alatt elkészült, és azt kell mondanom: keretet adott annak, amit én magamtól nem tudtam volna keretbe foglalni.

Ha valóban fontos számodra, hogy a weboldalad ne csak szép és professzionális legyen, hanem téged is tükrözzön, egy percig se keress tovább.

Published by name, with the written consent of the author.

Check it yourself

What can be learned from it?

That in a site replacement, what can be lost is not the design but the addresses, the email and the position built up in search. Three people usually get this wrong: whoever does not redirect the old addresses, whoever moves the email along with the web address, and whoever pulls the domain across before the new site is indexable. All three mistakes are reversible, but they cost weeks and traffic.

The other lesson belongs to the moon calendar: an empty section with one true sentence is worth more than a full one with invented data. A visitor forgives the first. The second they experience once — when they turn up for a session that does not exist.

If the situation sounds familiar — an existing template site that is now more of an obstacle: custom website development, or first look at whether it is worth fixing or rewriting.

Updated: September 11, 2026

Contact

Tell me what you want to build.

Describe the task in a few sentences. I reply within one business day, and tell you whether I can help and roughly what it would cost.

Response time

1 business day

First conversation

Free, no obligation

Before you write

The first conversation is free and it is not a sales call. If a template would be enough for the task, I say so. If it is not for me, I say that too — within one business day, in writing.

You get a personal reply within one business day — not a newsletter, not a salesperson.

Please give your name.
Please check the email address.
Only used if the email bounces — I answer in writing. Any format is fine: +1 555 123 4567 or 5551234567. Please give your phone number — the bare digits are fine, e.g. 5551234567.
Please write a few sentences about the task.
You have to agree to this.

Fields marked with an asterisk are required. Submitting is not an order.

Message me

Message me now

Write any time — evenings and weekends too. As soon as I see it, I reply right here, in this window.

Hi! Tell me how I can help. No form to fill in, just write.

Your message is processed to answer your enquiry. Privacy

Prefer Telegram? Telegram