Blog: web design, performance & SEO

Web design, performance (Core Web Vitals), SEO and AI search — practical, from real projects.

Related services: SEO / AI-SEO audit with code-level fixes (one-time), Continuous SEO (monthly retainer) or ongoing maintenance.

How much Google Ads costs in Romania in 2026 — the 3 costs nobody explains clearly
·Google Ads

How much Google Ads costs in Romania in 2026 — the 3 costs nobody explains clearly

"How much does Google Ads cost?" has 3 answers, because you pay for 3 different things: the ad budget, the management, and the setup. We separate them with real market figures — and tell you when it is worth it and when you just burn money.

How much does a website cost in 2026? A transparent pricing guide
·Prețuri

How much does a website cost in 2026? A transparent pricing guide

What a website realistically costs in 2026 — from a business site to an online store and custom platforms. Transparent prices, no vague “it depends”, plus how to cut cost without hurting the result.

What Search Console numbers actually mean — 7 sites, one quarter
·SEO

What Search Console numbers actually mean — 7 sites, one quarter

We read a full quarter of real Search Console data from 7 sites we build and maintain (anonymized). What impressions, clicks and CTR actually mean — and which service fixes each problem.

Online store: custom (Next.js) vs Shopify vs WooCommerce — what to choose in 2026
·Magazin online

Online store: custom (Next.js) vs Shopify vs WooCommerce — what to choose in 2026

There’s no “best platform”, only the right one for you. An honest comparison of WooCommerce, Shopify and a headless Next.js store — real costs, fees, growth ceiling, and when each is worth it.

What Core Web Vitals are, in plain language (and why they cost you money)
·Core Web Vitals

What Core Web Vitals are, in plain language (and why they cost you money)

Three measurements Google uses to judge how pleasant your site feels: how fast it appears, how fast it responds, how stable it is. What each means, jargon-free, and why it matters for sales.

A correct cookie banner in 2026: what the law requires (and why yours probably isn’t OK)
·GDPR

A correct cookie banner in 2026: what the law requires (and why yours probably isn’t OK)

An “Accept” banner that loads trackers anyway isn’t consent — it’s a liability. What a GDPR-compliant cookie banner means, the common mistakes, and how to do it right.

How long does it take to build a business website? With us, seven days or less
·Site de prezentare

How long does it take to build a business website? With us, seven days or less

Why some agencies deliver in months and we deliver in seven days or less — without it being a template. What the process looks like day by day, and what’s on you to keep it fast.

Which repetitive tasks you can automate in your business (and what you save)
·Automatizări

Which repetitive tasks you can automate in your business (and what you save)

Invoices, notifications, syncs, reports, data collection — predictable, boring work can be done by a system. What’s worth automating, what it looks like in practice, and where the cost starts.

A site admin panel: when you need a custom one, not a generic CMS
·Admin

A site admin panel: when you need a custom one, not a generic CMS

A generic CMS is fine for editing content. But when your business runs on orders, bookings, stock or members, you need an admin built around your workflow. Three real examples and how to decide.

How we integrated Netopia into the NovaFit front desk: one-off and recurring payments behind a secure proxy
·Next.js

How we integrated Netopia into the NovaFit front desk: one-off and recurring payments behind a secure proxy

A technical case study on bringing online payments and auto-renewing memberships into a Next.js front-desk app — without card data ever touching our servers. The proxy architecture, tokenization for recurring charges, and the hard part: idempotent callbacks.

How much does a business website cost in Romania in 2026 (and why the range is so wide)
·Site de prezentare

How much does a business website cost in Romania in 2026 (and why the range is so wide)

From a simple business site to a fully custom one: what you pay, why the range runs from 4,500 to 8,000 RON, and what “fully wired” means — a working contact form, SEO and AEO from day one, delivered in seven days or less.

How much does an online store cost in Romania in 2026 (and why it ranges from 10,000 to 25,000 RON)
·Magazin online

How much does an online store cost in Romania in 2026 (and why it ranges from 10,000 to 25,000 RON)

A pricing guide for an online store: what you actually pay, when to choose WooCommerce vs Shopify vs headless Next.js, and what “fully integrated” means — payments, invoicing, couriers and ERP import, not just a pretty catalog.

How to choose an online booking system: custom vs SaaS (and what it costs)
·Rezervări

How to choose an online booking system: custom vs SaaS (and what it costs)

A guide for salons, clinics, gyms and events: when a custom booking system beats a SaaS, what it must include (including memberships with recurring billing), and what it costs — 8,000–25,000 RON.

A GDPR kit for your website: what you actually need to be compliant (not just a fake banner)
·GDPR

A GDPR kit for your website: what you actually need to be compliant (not just a fake banner)

What a data-collecting website legally needs in Romania: real cookie consent, correct policies, data mapping and a short DPIA. The common mistakes, and what a GDPR kit includes — 1,500–3,500 RON.

Legal public data collection: how to get B2B leads without breaking GDPR
·Lead generation

Legal public data collection: how to get B2B leads without breaking GDPR

What public data collection done right looks like — official sources, respecting GDPR and terms, deduplication and clean delivery. Where the line runs between legal and abusive scraping, and what a real project delivers.

NO_LCP: how we took a cinematic site from failing Core Web Vitals to 91/100
·Studiu de caz

NO_LCP: how we took a cinematic site from failing Core Web Vitals to 91/100

A dark, animated, beautiful site — that failed the speed test with an “error”. The real story of a performance hunt: the black-screen mystery, the wrong bet, and the score that dropped exactly when we were fixing things. Ending: 91 mobile, 100 desktop.

2 MB of invisible content: the payload a page shipped without ever showing it
·Studiu de caz

2 MB of invisible content: the payload a page shipped without ever showing it

A homepage that shipped the full text of 462 patterns on every visit — 2 MB of data it never displayed. A case study on over-fetching in Next.js: how you weigh the served payload instead of guessing, why mobile paid for 2 MB it never used, and how you cut the invisible cargo from the page.

How a Codex is born: the story of a library that writes itself
·Studiu de caz

How a Codex is born: the story of a library that writes itself

thecipher.is is a living Codex: 462 faceless, collective patterns that grow out of real readings. The behind-the-scenes story — the anonymization, the mirror-counter, and the day the launch returned 461 instead of 462.

Mystery and proof: how you build a credible product for a discipline nobody knows
·Studiu de caz

Mystery and proof: how you build a credible product for a discipline nobody knows

Informational Pattern Design isn’t therapy, isn’t horoscope, isn’t diagnosis — yet it sounds dangerously close to all three. The story of the editorial design that balances mystery and rigour, for an audience that verifies before it trusts.

From a folder of 40 PDFs to a bilingual site, live — in two days
·Studiu de caz

From a folder of 40 PDFs to a bilingual site, live — in two days

One client, one folder of PDF spec sheets and PowerPoint decks. Two days later: a bilingual site live, with full SEO, prices checked against the spec sheets and a working form. The process, step by step — including the parts nobody usually tells you about.

From 85 to 100 on mobile: how we found the real speed bottleneck (and it wasn't the images)
·Next.js

From 85 to 100 on mobile: how we found the real speed bottleneck (and it wasn't the images)

Everyone fixes a poor speed score by compressing images. Most of the time it's the wrong answer. How to read the Lighthouse breakdown to find the real bottleneck — render delay, not bytes — step by step, on the NovaFit homepage.

CakePHP → Next.js migration: how we relaunched nova-fit.ro without losing anything
·Next.js

CakePHP → Next.js migration: how we relaunched nova-fit.ro without losing anything

A gym website on a 2015-era CakePHP stack, fully moved to Next.js without losing anything: the same URLs with 301s, uninterrupted mail on the DNS move, a custom admin replacing Croogo, and a product decision that changed the signup flow. The full migration story.

Hiring a Next.js agency in Romania: what to look for
·Next.js

Hiring a Next.js agency in Romania: what to look for

A practical guide to evaluating a Next.js agency in Romania: a testable live portfolio, transparent pricing, direct developer communication, technical SEO on their own site. Five signals that separate a good agency from one that just sounds good.

Next.js for business websites in Romania: the complete guide
·Next.js

Next.js for business websites in Romania: the complete guide

A complete guide to Next.js for business websites in Romania: performance, SEO and AI search, cost, maintenance, migration and how to choose a partner. When it is the right choice and when it is not.

Yii to Next.js: migrating a premium showroom (Kulttur case study)
·Next.js

Yii to Next.js: migrating a premium showroom (Kulttur case study)

How we rebuilt the Kulttur digital showroom from Yii to Next.js: brand-structured catalog, bilingual RO/EN with native hreflang, catalog structured data and green Core Web Vitals (LCP 1.9s, CLS 0) on real users.

Next.js image optimization: the complete Core Web Vitals checklist
·Next.js

Next.js image optimization: the complete Core Web Vitals checklist

A practical Next.js image optimization checklist for Core Web Vitals: WebP/AVIF, responsive srcset, priority on LCP, width/height for CLS, lazy loading. Images are the most common performance killer.

Structured data for Next.js App Router: the complete guide
·Next.js

Structured data for Next.js App Router: the complete guide

How to add schema.org JSON-LD correctly in Next.js App Router: the centralized @graph pattern, @id conventions, one node per page type, and how to avoid the duplicates that break rich results.

llms.txt for AI search: what it is and how to write one
·llms.txt

llms.txt for AI search: what it is and how to write one

What the llms.txt file is, why it matters for citability in ChatGPT, Perplexity and AI Overviews, and how to write one properly — with the live example from manilla-services.ro.

Next.js vs WordPress for business websites in 2026
·Next.js

Next.js vs WordPress for business websites in 2026

An honest Next.js vs WordPress comparison for business websites: performance, total cost, maintenance, SEO and AI search. When each one wins and how to choose.

How to fix duplicate JSON-LD nodes: WebPage ×2, CollectionPage ×2, FAQPage ×2
·SEO

How to fix duplicate JSON-LD nodes: WebPage ×2, CollectionPage ×2, FAQPage ×2

A schema.org audit surfaced duplicate WebPage and CollectionPage nodes on dozens of pages — invisible in code, visible in Rich Results Test. How we centralized them into a single @graph.

From 75 to 99: hunting a 71-second LCP (and bumping Accessibility from 85 to 96)
·Performanță

From 75 to 99: hunting a 71-second LCP (and bumping Accessibility from 85 to 96)

Performance 75 → 99 and Accessibility 85 → 96 on a Next.js 16 marketplace. The 71-second LCP, the traps that cost me hours (a stale build running in parallel, CPU contention), and why a single unoptimized `<img>` made all the difference.

A 56-second LCP: how unoptimized images destroy your score
·Performanță

A 56-second LCP: how unoptimized images destroy your score

Mobile PageSpeed scored 73 with a 56-second LCP. The cause was not the code — it was ~20MB of raw images. How we reached 98 with a single image optimization.

From 74 to 97 on mobile, with a single change
·Performanță

From 74 to 97 on mobile, with a single change

How we took a mobile PageSpeed score from 74 to 97 with one change — analytics loaded only on first interaction. Real diagnosis, with numbers.

Why build your website in Next.js / Node.js
·Next.js

Why build your website in Next.js / Node.js

Performance, SEO and lower maintenance cost — in short, why we pick Next.js + Node.js for new projects. With a real example: migrating a Bucharest platform from CakePHP to Next.js.