Website Development: Custom-Built Websites That Perform, Rank, and Convert
Design determines how a website looks. Development determines how it works. The fastest, most beautiful design in the world means nothing if the website loads slowly, breaks on mobile, confuses search engines, or fails to function when a user tries to complete an action. Website development is the engineering layer that turns visual concepts into living, breathing digital products.
At bf agency in Tallinn, Estonia, we build websites using three approaches: hand-coded HTML, CSS, and JavaScript for maximum performance and control; WordPress for content-rich sites that need a management interface; and Framer for design-forward websites that clients want to update independently. This page explains each approach, when to use it, and what professional development includes beyond just writing code.
Custom-Coded Websites: HTML, CSS, JavaScript
Hand-coded websites are built from scratch — every line of code written specifically for the project. There are no templates, no page builders, no unnecessary dependencies. The result is a website that loads faster, ranks better, and gives complete control over every detail of the user experience.
We write semantic HTML5 that search engines understand, modern CSS with custom properties, fluid typography using clamp(), and CSS Grid and Flexbox for responsive layouts. JavaScript is used sparingly and purposefully — for interactions, animations, and dynamic content — not as a framework dependency that adds hundreds of kilobytes to page load.
When to Choose Custom Code
- Brand-focused websites where every pixel matters and visual precision is non-negotiable
- Portfolio and agency sites where performance and first impression are critical
- Landing pages where conversion rate depends on load speed
- Websites where content changes are infrequent and managed by the team that built it
- Projects where long-term independence from CMS updates and plugin vulnerabilities is important
Our own website, bf-agency.eu, is hand-coded. It achieves near-perfect Lighthouse scores, loads in under one second, and requires zero server-side processing. This is the standard we apply to client projects.
WordPress Development
WordPress powers over 40% of the web for good reason: it offers unmatched content management flexibility, a massive ecosystem of plugins, and familiarity that makes it easy for non-technical teams to manage content. But the difference between a good WordPress site and a bad one is enormous — and it comes down to how the theme is built.
Custom Themes, Not Templates
We build WordPress themes from scratch based on the Figma design. No purchased templates, no page builders like Elementor or Divi. Custom themes are faster, more secure, easier to maintain, and produce cleaner HTML that search engines prefer. Every template, every component, every interaction is built specifically for the project.
When to Choose WordPress
- Blogs and content-heavy websites with regular publishing
- E-commerce stores using WooCommerce
- Multi-author websites where multiple people create content
- Websites that need frequent content updates without developer involvement
- Projects that require specific plugin functionality (booking systems, membership areas, multilingual with WPML)
WordPress Security and Performance
WordPress's popularity makes it a target for attacks. We mitigate this with hardened configurations: limited plugin use, regular updates, strong authentication, database prefix changes, file permission management, and security headers. Performance is optimised through caching, image compression, lazy loading, and minimal plugin dependencies.
Framer Development
Framer occupies a unique position: it is a design tool that publishes real websites. The design and the code are the same thing — there is no handoff, no interpretation gap, no "this looks different from the mockup" conversation. What you design is what goes live.
When to Choose Framer
- Portfolio and agency websites where visual polish is the priority
- Marketing and landing pages that need frequent updates
- Projects where the client wants to make design-level changes without a developer
- Websites with complex animations and transitions
- Quick-turnaround projects where design and development happen simultaneously
Framer generates clean, performant code, handles responsive design natively, and includes CMS features for dynamic content. It is not suitable for complex e-commerce, heavy server-side logic, or websites with extensive custom functionality. For those cases, WordPress or custom code is more appropriate.
Performance Optimisation
Website speed is not a feature — it is a requirement. Google uses Core Web Vitals as a ranking signal. Users abandon websites that take more than 3 seconds to load. Every 100 milliseconds of additional load time reduces conversion rates by measurable percentages.
What We Optimise
- Largest Contentful Paint (LCP) — the time until the main content is visible. We target under 2.5 seconds by optimising images, preloading critical resources, and minimising render-blocking code.
- Cumulative Layout Shift (CLS) — visual stability during loading. We prevent layout shifts by specifying image dimensions, reserving space for dynamic content, and loading fonts with font-display: swap.
- Interaction to Next Paint (INP) — responsiveness to user input. We minimise JavaScript execution time and avoid long tasks that block the main thread.
- Image optimisation — WebP format, responsive srcset attributes, lazy loading for below-fold images, and proper compression.
- Code efficiency — minimal CSS and JavaScript, no unused dependencies, efficient selectors, and tree-shaking where applicable.
SEO From Day One
Technical SEO is not an afterthought — it is built into the development process. Every website we build includes:
- Semantic HTML — proper heading hierarchy (h1 through h6), landmark elements (nav, main, article, aside, footer), and meaningful markup that helps search engines understand content structure.
- Meta tags — title, description, Open Graph, and Twitter Card tags for every page, configured for proper display in search results and social media shares.
- Structured data — Schema.org markup in JSON-LD format: Organization, Service, FAQPage, BreadcrumbList, and other relevant types that generate rich search results.
- XML sitemap — automatically generated and submitted to Google Search Console.
- Robots.txt — properly configured to guide crawler behaviour.
- Canonical URLs — preventing duplicate content issues across language versions and URL variations.
- Hreflang tags — essential for multilingual websites serving Estonian, Russian, and English-speaking audiences.
Responsive Development and Mobile-First Coding
We code mobile-first: the base CSS targets the smallest screen, with media queries adding complexity for larger viewports. This approach produces leaner code and ensures the mobile experience — where most users arrive — is never an afterthought.
We use modern CSS features that reduce code volume and improve responsiveness: clamp() for fluid typography that scales smoothly between screen sizes, CSS Grid for two-dimensional layouts, Flexbox for component-level alignment, container queries for truly responsive components, and dynamic viewport units (dvh) that account for mobile browser chrome.
Hosting and Deployment
Where and how a website is hosted affects performance, security, and cost. We recommend hosting based on the technology:
- Static sites (HTML/CSS/JS) — Cloudflare Pages or Netlify. Free, globally distributed CDN, automatic SSL, zero server maintenance.
- WordPress — managed WordPress hosting (Kinsta, WP Engine, or similar). Server-level caching, automatic backups, security monitoring, and staging environments.
- Framer — Framer's built-in hosting. Included in the platform, globally distributed, with custom domain support.
We handle the initial deployment and DNS configuration, ensuring the website goes live smoothly with proper SSL, redirects, and performance settings.
Maintenance and Updates
A website is not a project that ends at launch — it is a product that requires ongoing care. WordPress sites need regular updates (core, themes, plugins), security monitoring, and database maintenance. Static sites and Framer sites require less maintenance but still benefit from periodic content reviews, performance audits, and security header updates.
We offer maintenance packages for WordPress clients and ad-hoc support for all platforms. This includes monthly updates, uptime monitoring, backup verification, and priority response for issues.
Development in the Estonian and European Market
Building websites for the Estonian market involves specific technical considerations:
- Multilingual architecture — Estonian, Russian, and English versions with proper hreflang implementation, language-specific URL structures, and right-to-left text support if needed for future markets.
- GDPR compliance — cookie consent management, privacy policy integration, data processing documentation, and proper form handling that complies with European data protection regulations.
- Estonian ID and e-services integration — for businesses that need authentication or digital signature capabilities, we can integrate with Estonian digital identity services.
- Payment systems — integration with local payment methods (Montonio, EveryPay) alongside international options (Stripe, PayPal) for e-commerce projects.
Investment and Pricing
- Landing Page (1,500 – 3,000€) — single page, custom-coded or Framer. Includes responsive development, basic SEO setup, and deployment.
- Multi-Page Website (3,000 – 8,000€) — 5 to 15 pages, WordPress or custom code. Full responsive development, SEO setup, contact forms, analytics integration.
- Complex Website (8,000€+) — e-commerce, multilingual, custom functionality. WordPress with WooCommerce, or fully custom build with API integrations, booking systems, or member areas.
Prices are for development only. Design is quoted separately or bundled at a discount. See our web design service for design pricing. Combined design-and-development packages typically save 15 to 20% compared to separate engagements.
Frequently Asked Questions
Can you build a website from an existing Figma design?
Yes. We regularly develop from designs created by other teams. We review the Figma file for technical feasibility, flag any responsive or interaction gaps, and build precisely to spec. Well-structured Figma files with component systems accelerate development significantly.
Do you build e-commerce websites?
Yes. We build e-commerce on WooCommerce (WordPress) or Shopify. This includes product catalogues, cart and checkout flows, payment integration, shipping configuration, and inventory management. E-commerce projects fall into our Complex tier due to the additional functionality required.
How do you handle website updates after launch?
WordPress and Framer sites can be updated by the client through their content management interfaces. We provide training and documentation. For code-level changes, design additions, or feature development, we offer ongoing support agreements and ad-hoc development hours.
What about website security?
Security is built into every project. Static sites have minimal attack surface by design. WordPress sites receive hardened configurations, limited plugin use, and security headers. All sites are deployed with SSL, HSTS, and content security policies. We recommend regular security audits for WordPress installations.
Can you migrate my existing website to a new platform?
Yes. We handle migrations from any platform to WordPress, Framer, or custom code. This includes content migration, URL redirect mapping (critical for maintaining SEO), design recreation, and thorough testing before cutover. We ensure zero downtime and preserved search rankings.