Skip to main content

Web development agency in Prague: custom websites built to a measurable spec

We build company websites in Next.js and TypeScript against a technical specification you receive in writing before development starts: target values for speed, accessibility and SEO. After launch you can check them yourself in Lighthouse or PageSpeed Insights. You talk directly to the developer writing your site, and at handover the code and data are yours.

  • Lighthouse 95+ as a target in the spec
  • LCP < 2.5 s, CLS < 0.1, INP < 200 ms
  • You own the code, database and access
  • Central European Time, 1 hour ahead of the UK

Web development by Webforte in brief

Web development by Webforte is custom website development in Next.js, React and TypeScript, without an off-the-shelf theme and without third-party plugins. Webforte Technologies s.r.o. (company ID 23364343) is a web development agency based in Prague, Czech Republic, working remotely with clients abroad who want a nearshore partner in Central Europe. Every project has a written technical specification with target values: LCP under 2.5 s, CLS under 0.1, INP under 200 ms, Lighthouse 95+ and accessibility to WCAG 2.1 AA. Pages are server-side rendered (SSR) so that Googlebot and AI search engines can read the content, and they carry JSON-LD structured data. A typical company website takes 4 to 8 weeks from design approval. For redesigns, Webforte migrates content with a full 301 redirect map so the site keeps its search rankings. The client owns the source code, database and access. Pricing is set by a quote after a consultation.

The technical specification we put in writing

We write these values into the specification as targets, not as a promise in a sales deck. They are measured with public tools (Lighthouse, PageSpeed Insights, Google Search Console), so you can check them after launch without us.

LCP (Largest Contentful Paint)How quickly the largest element in the first screen appears, usually the main image or heading. Google's threshold for a good score.
< 2.5 s
CLS (Cumulative Layout Shift)How much the page jumps while loading. Images and embeds have reserved dimensions, and fonts load without a visible shift.
< 0.1
INP (Interaction to Next Paint)How quickly the page responds to a click or to typing in a form. We keep track of how much JavaScript runs in the browser.
< 200 ms
LighthouseTarget for Performance, Accessibility, Best Practices and SEO on the mobile profile. Our own site, webforte.cz, scores 100.
95+
AccessibilityText contrast, keyboard navigation, labelled form fields, image alt text and a correct heading hierarchy.
WCAG 2.1 AA
RenderingHTML arrives from the server fully formed. Googlebot and AI search crawlers (ChatGPT, Perplexity, Gemini) can read the content without running JavaScript.
SSR and static generation
Structured dataOrganization, BreadcrumbList, FAQPage, Article or LocalBusiness depending on the page type. Search engines use it to understand who you are, where you are and what you offer.
JSON-LD
Technical SEOEvery page has its own title up to 60 characters and description up to 155. On multilingual sites, hreflang links the language versions.
Canonical URLs, sitemap.xml, robots.txt, hreflang
ImagesThe browser downloads only the size it needs for the screen. Images below the first screen load as the visitor scrolls.
WebP / AVIF, responsive sizes
OwnershipThe Git repository, database, domain, hosting and analytics run on your accounts or are transferred to you at handover. You can move the site to another supplier at any time.
Code, data and access with you

Site builder, WordPress or a custom Next.js website

A custom website is not always the right answer. This is how we compare the three options with clients in the first call.

Swipe the table sideways to see all columns.

Site builder, WordPress or a custom Next.js websiteSite builder (Wix, Squarespace)WordPress with a theme and pluginsOur pickCustom website in Next.js
When it makes senseA few-page brochure site, testing an idea, minimal budgetContent site with a blog, the editors know WordPress and standard plugins are enoughThe website is your main source of enquiries and you need speed, your own structure, integrations or several languages
Speed (Core Web Vitals)Set by the platform, the code is out of your handsAchievable, but every plugin and page builder adds scriptsTarget values in the spec, checked on every deployment
DesignReady-made blocks, similar to other sites on the same platformCustomised theme, limited by the page builder (Elementor, Divi)Designed around your content and customers, no template limits
Content editingThe platform's simple editorThe familiar WordPress dashboardAn admin built for your content types: case studies, locations, articles, careers
Maintenance and securityHandled by the platformRegular core and plugin updates, a frequent target of automated attacksFew dependencies, no third-party plugins, updates managed by us
SEO and AI searchBasic settings, limited control over code and structured dataGood with plugins (Yoast, Rank Math), depends on the themeSSR, JSON-LD and technical SEO are in the code from day one
IntegrationsOnly what the platform offersThrough plugins, quality variesCRM, invoicing, booking or internal systems via API
Ownership and portabilityThe site lives only on the platform, leaving means rebuildingYou own code and data, but depend on plugins and their licencesRepository, database and hosting are yours, the site can move anywhere
Time to launchDaysWeeksUsually 4 to 8 weeks, simple sites sooner
CostLowest upfront, monthly platform feeMid-range upfront, ongoing updates and plugin licencesHigher upfront, less ongoing maintenance, amount set by quote

If you need a simple brochure site and the website is not a source of business, a site builder is enough, and we will tell you so in the call. We also work with WordPress (Elementor, Divi, Bricks, Breakdance, Oxygen) if you already have content and an editorial team there.

When a website redesign makes sense

We do not start a redesign with graphics but by measuring the current site. These are the signals we see on websites companies bring to us.

  • The site is slow on mobile

    PageSpeed Insights shows an LCP above 4 seconds and Search Console reports URLs with poor Core Web Vitals. If the cause is a heavy theme with dozens of plugins, a new look on the same foundation will not fix it.

  • Nothing changes without a developer

    Adding a case study or a new service means emailing the agency and waiting. The content goes stale and the site no longer reflects what you actually do today.

  • Traffic, but no enquiries

    People reach the site, but the form sits at the bottom of a long page, the offer is unclear and there are no case studies or named contact person.

  • Nobody updates the system

    An old PHP or WordPress version, unsupported plugins, a certificate renewed by hand. Every month without updates raises the risk of a breach.

How we build websites that meet the spec

Five areas where a custom website from Webforte differs from one assembled from a theme, each with the specific techniques we use.

Speed is designed into the architecture, not added at the end

A fast website does not come from compressing images at the end of the project. During design we already decide which pages are statically generated, which revalidate on an interval (ISR) and which must run dynamically. We ship only the JavaScript the browser actually needs; the rest renders on the server in React Server Components. We self-host fonts so nothing waits on third-party servers, and tracking scripts load only after cookie consent. Lighthouse runs before every deployment, so we catch a performance drop before Google does.

  • Static generation and ISR for pages that do not change every minute
  • next/image with WebP and AVIF and reserved dimensions
  • Self-hosted fonts with font-display: swap
  • Analytics only after consent, no render blocking
  • Lighthouse check before every deployment

Site structure based on what people search for

We do not build the sitemap from your org chart but from the queries your customers type into Google, in each target market. From search volume data (DataForSEO, Google Search Console) we build a list of topics, and each topic gets one page with a clear purpose, so no two pages compete for the same keyword. That drives the URLs, H1 to H3 headings, internal links between services and case studies, and the FAQ. We write paragraphs that make sense on their own, because those are exactly the passages Google AI Overviews and ChatGPT quote.

  • Keyword research on real data for your target market
  • One topic, one page, no cannibalisation
  • Readable URLs and a logical heading hierarchy
  • Language versions linked with hreflang

Redesign and migration without losing SEO

The most expensive mistake in a redesign is deleting old URLs that attract links and traffic. Before migrating, we build an inventory of every URL: a full crawl, the pages with traffic from Search Console and the list of backlinks. Each old address is mapped to a new one in a complete 301 redirect map. We keep content that ranks, move data from the old system into the new database and monitor 404 errors and indexing for several weeks after launch. This is how we migrated the Victoria Garden website without losing data or rankings.

  • URL inventory from crawl, Search Console and backlinks
  • A 301 redirect for every old address
  • Data migration from the old CMS into the new database
  • Monitoring of 404 errors and indexing after launch

An admin and integrations that fit how you work

Instead of a generic CMS with dozens of settings, we build an admin for your specific content types: case studies, locations, job openings or articles. Data is stored in PostgreSQL via Drizzle ORM, and input is validated in the browser and on the server. Forms save enquiries to the database and also send them by email, so none are lost if the mail server fails. We connect CRM, invoicing or booking systems via API. At handover we train your team, and day-to-day edits no longer need us.

  • An admin with the fields you actually use
  • PostgreSQL and Drizzle ORM, validation with Zod
  • Enquiries to the database and email, spam protection
  • Connections to CRM, invoicing or booking

Readable by AI search engines

Some buyers now ask ChatGPT, Perplexity or Google AI Overviews to recommend suppliers. These systems need content they can read without JavaScript and facts they can attribute to a specific company. So we render on the server, add Organization structured data with company ID and address, and write answers to common questions as self-contained paragraphs. On our own website this raised the GEO audit score from 57 to 72 out of 100 (June 2026). We apply the same approach to client sites.

  • SSR so AI crawlers can read the content
  • JSON-LD Organization with company ID, address and contact
  • Self-contained answer blocks and FAQ
  • Our own site: GEO score 57 → 72/100

How the project runs, step by step

Timings apply to a typical company website. The actual length depends on scope and on how quickly copy and assets arrive. We work remotely over video calls with a shared staging site.

  1. 1 week

    Analysis and specification

    We review your current site or brief, search competition and keyword data for your market. We agree the site's goals, content types and integrations.

    Output: Written specification with sitemap, technical targets and quote

  2. 1 to 2 weeks

    Structure and design

    Wireframes of the key pages first, so the content layout and route to an enquiry are clear. After approval, visual design for mobile and desktop.

    Output: Approved wireframes and visual design

  3. 2 to 3 weeks

    Development, content and SEO

    We code in Next.js and TypeScript, build the admin and add copy, structured data and meta tags. You follow progress on a staging URL.

    Output: Working website on a staging URL

  4. 1 week

    Testing, migration and launch

    Lighthouse, accessibility and form checks on real devices. For redesigns we deploy the 301 redirects, switch the domain and submit the sitemap to Search Console.

    Output: Live website, code and access handed over, training

  5. 30 days after launch

    Post-launch review

    We look at indexing, rankings, traffic and submitted enquiries and propose specific changes.

    Output: Review with figures from Search Console and analytics

What you receive at handover

  • Source code in a Git repository on your account (GitHub or GitLab)
  • Website deployed in Docker on a VPS or your hosting, with HTTPS
  • An admin for managing content, plus training
  • PostgreSQL database and data export
  • Google Analytics 4 and Google Search Console set up
  • GDPR-compliant cookie banner with granular consent
  • JSON-LD structured data, sitemap.xml and robots.txt
  • 301 redirect map (for redesigns and migrations)
  • Lighthouse and accessibility report at launch
  • An overview of all access credentials and services used

Who a custom website is for, and who it is not for

A good fit if

  • Your website is your main source of enquiries or bookings
  • You want a nearshore development partner in Central Europe close to your time zone
  • You need integration with CRM, invoicing, booking or internal systems
  • You want to own the code and data rather than depend on one platform
  • You plan several language versions or further development

Not a good fit if

  • A few-page brochure site that nobody searches for is enough
  • You need the site live tomorrow and have no copy or assets
  • You need an online shop with thousands of products, where a ready-made e-commerce platform makes more sense
  • You expect in-person meetings at every step; we work remotely with clients outside the Czech Republic

Frequently asked questions

The price depends on the number of page types, the scope of the admin, the number of languages and the integrations (CRM, invoicing, booking). A simple brochure site costs considerably less than one with a custom admin and a connection to internal systems. We do not publish a price list, because two sites with the same number of pages can differ several times over in effort. After a consultation you receive a written quote with a fixed price for the agreed scope.

Prague is on Central European Time, the same as Germany and one hour ahead of the UK, so calls happen during normal office hours. We work with a current stack (Next.js, TypeScript, PostgreSQL) and deliver against a written specification with measurable targets. As an EU company we operate under the GDPR, the same as clients in the EU. We quote each project individually after a consultation.

A typical company website takes 4 to 8 weeks from approval of the specification: one week of analysis, 1 to 2 weeks of design, 2 to 3 weeks of development and one week of testing and launch. Additional language versions mainly extend the content phase. The most common cause of delay is late delivery of copy and photos, so we plan for it at the very start.

Next.js renders pages on the server, sends less JavaScript to the browser and does not rely on third-party plugins that need constant updating. Core Web Vitals targets and Lighthouse 95+ are easier to hold, and the admin is built for your content. WordPress makes sense if you already have an editorial team and content there. We work with it too, and in the consultation we recommend the option that fits your situation.

The risk comes mainly from removing old URLs or content that ranks. Before a redesign we inventory every URL, set a 301 redirect from each old address to its new one and keep the content that brings traffic. After launch we monitor 404 errors and indexing in Search Console. Short-term fluctuations can happen, but this process prevents lasting losses. The Victoria Garden migration was completed without losing data or SEO.

Yes. Our own website runs in four languages (Czech, Slovak, German and English) on the same architecture we deliver to clients. Each language version has its own URLs, its own meta tags and hreflang links, so Google shows the right version in the right country. We research keywords separately for each market instead of translating copy word for word.

You do. We hand over the source code in a Git repository on your account, and the database and domain are registered to you or transferred at handover. You receive an overview of all access credentials and services used. You can therefore hand the site to another developer at any time without rebuilding it. We do not use a proprietary system that would lock you in.

Thirty days after launch we review indexing, rankings, traffic and enquiries from Search Console and Google Analytics and propose specific improvements. You can then continue with support for updates, small changes and further development, or manage the site yourself through the admin.

Send us your current website address or a short brief

Before the call we review the speed, indexing and structure of your site. We will tell you whether a redesign, a new site or a site builder makes sense, and send the quote in writing.

Free consultation