Website Types: Business Card, Corporate, Landing, Promo
The choice of website type is not a marketing decision. It's a technical decision that determines the stack, architecture, and maintenance cost. A landing on Next.js with static generation and a corporate site with CMS are fundamentally different infrastructures, even if they look similar externally.
Business Card Site
The most compact format: 1–5 pages, minimal dynamics, main goal — provide contact information and make a first impression.
Technically there's no complexity here. But there are typical implementation mistakes:
Too heavy stack. WordPress with 15 plugins for a business card site — that's 800ms TTFB on shared hosting. For 5 pages, static is enough: HTML/CSS/JS or Next.js with output: 'export', deployed on Vercel or Cloudflare Pages. No PHP, no database — only CDN. TTFB < 50ms guaranteed.
No contact form with backend validation. Form with only JS validation on frontend — that's not a form, it's decoration. Backend must validate, rate-limit, and send notification. For static site — Formspree, Netlify Forms, or simple serverless endpoint.
Missing Schema.org markup. LocalBusiness or Organization with address, phone, hours — this ends up in Google Knowledge Panel. For business card, this is critical.
Development time: 2–3 weeks with design.
Corporate Site
Corporate site is already CMS, several sections, multilingual in some cases, integration with CRM and/or marketing tools.
Key question — who will edit content and how often. Answer determines CMS choice.
If editors work regularly and are non-technical — need convenient visual editor. WordPress with Gutenberg or ACF Pro covers this well. For more complex data structures (multiple publication types, entity relationships) — Strapi or Directus as headless CMS with Next.js frontend.
If site is updated rarely and team is technical — can get by with Markdown files in Git with Astro or Next.js frontend. Deploy by push to main, no CMS at all.
Performance on corporate site is often ignored — wrongly. "About us" page with 40 employee photos in original resolution: LCP 12 seconds on mobile — real situation. Next.js <Image> component with auto WebP generation and srcset solves this without manual work.
Multilinguality: Astrotomic Translatable on Laravel or next-intl / react-i18next on frontend. URL structure — /ru/about, /en/about with correct hreflang in <head>.
Timeline: 6–12 weeks depending on section volume and integrations.
Landing
Landing is a page with one goal: conversion. Everything that doesn't lead to target action is redundant.
Technically, landing is the most interesting case from performance perspective. Core Web Vitals are critical here, because landings often get paid traffic, and Google uses CWV as factor in Quality Score for Google Ads.
Concrete story: landing with 8MB hero video autoplay in MP4 format without preload="none" + three third-party analytics scripts loaded synchronously in <head>. LCP 9.4s, INP 780ms. After optimization: video replaced with poster image with deferred video loading by scroll, scripts moved to async/defer and partially to Web Workers via Partytown. LCP 1.8s, INP 140ms. Conversion grew 23% — not from redesign, only from speed.
A/B testing on landings is standard practice. Google Optimize closed, but there's Growthbook (open source), PostHog, VWO. For Next.js — edge middleware with traffic distribution at CDN level without extra JS.
Timeline: 2–4 weeks.
Promo Site
Promo is temporary or permanent site for specific campaign, product, event. Usually has non-standard design, animations, interactivity.
Promo site tech stack often includes:
- GSAP or Framer Motion for complex animations
- Three.js or React Three Fiber for 3D elements
- Lottie for vector animations from After Effects
- Canvas API for custom interactive effects
Main trap of promo sites — animations that lag on mobile. GPU animations via transform and opacity — normal. box-shadow in animation, filter: blur() every frame, width/height animation — that's 20fps on iPhone 12 and below. will-change: transform helps, but only pointwise, not on 50 elements at once.
prefers-reduced-motion — media query that's mandatory if site has serious animations. Users with vestibular disorders set this flag in system, browser passes it to CSS/JS. Ignoring it — both accessibility and UX fail.
Timeline: 3–6 weeks, heavily depends on animation complexity and design uniqueness.
Comparison Table
| Parameter | Business Card | Corporate | Landing | Promo |
|---|---|---|---|---|
| Pages | 1–5 | 10–50+ | 1–3 | 1–10 |
| CMS | Not needed | Needed | Not needed | Rarely |
| SEO priority | Medium | High | High | Low |
| Animations | Minimal | Moderate | Moderate | Intensive |
| Timeline (with design) | 2–3 weeks | 6–12 weeks | 2–4 weeks | 3–6 weeks |
Cost in each case is calculated individually after studying the technical specification.







