If your marketing site runs on a headless CMS or a Jamstack stack, web design has two audiences: the visitor who reads the page and the editor who builds it. A good design serves both. We design marketing sites so editors can publish new pages alone and the pages stay fast, on brand and accessible.
What is different about designing a site on a headless CMS?
On a traditional CMS the theme and the editor are tied together, and design problems get patched in page builders. On a headless site the front end is separate code, and the editor works with structured content. That is an advantage for design if you plan for it.
We design the content model alongside the pages. A hero, a feature grid, a testimonial band and a pricing table each become a defined block with named fields, so the design is not a set of one-off layouts but a kit editors assemble. When the design and the model agree, a new landing page takes an editor an afternoon and no ticket.
What do we design?
- Page templates for the page types you publish most: home, service, product, landing, blog, case study.
- A block library: the sections editors can drop on a page, each with its variants and rules for what fits inside.
- A visual system: typography, color, spacing and imagery, set as tokens so the code and the design match.
- Responsive behavior for each block, designed and not left to chance.
- Empty and edge states: long headlines, missing images, a block with one item instead of three.
The output is a Figma file built with variables, components and Auto layout, ready for implementation. See our Figma to code page for how it is built.
How do we keep the site fast and accessible?
Both are design decisions before they are engineering ones.
Performance. We choose image ratios and sizes up front, limit the number of web fonts, avoid layout shifts by reserving space for media and design animations that do not block rendering. Pages are built statically where possible, which is the reason many teams pick Astro or Next.js for marketing sites.
Accessibility. We check color contrast in the design file, not after launch. Headings follow a logical order, focus states are drawn, and tap targets are sized for touch. Where a block would need an interaction that is hard to make accessible, we propose a simpler pattern.
How do blocks, brand and SEO fit together?
Brand lives in the tokens. A rebrand changes the token file and every block follows. SEO lives in the structure: one H1 per page, heading levels set by the block, fields for titles and descriptions, and room for the internal links that connect a hub to its pages. We build these into the block rules so editors cannot break them by accident.
Which platforms do we design for?
We design for sites on Storyblok, Sanity and Contentful, and for custom front ends built in Astro, Next.js or other Jamstack stacks. The block approach is the same on all of them. Only the field types differ. If you are choosing a platform, our headless CMS page compares the options.
What if our site is on WordPress today?
Design and migration are often one project. We redesign the templates, build them on the new stack and move the content. The route is described on our WordPress to headless CMS migration page. We keep URLs and add redirects, so your search traffic is not lost in the change.
An example of an editorial site
We designed and built a content-first design blog for a design media brand: categorized articles, a clean reading layout and a responsive design that works across devices. The page templates and category structure made it simple for the team to publish steadily. Details are in the case study: design blog. It is earlier work, and the case file lists no performance figures, so we do not quote any.
How much does it cost, and how do we work?
Cost depends on the number of page types, the number of blocks, how much brand work is needed and whether we also build the site. We scope it after a short call and a review of your current site. A typical engagement goes from discovery, to templates and blocks, to a clickable prototype, to build, with your editors trying real content before launch. For a broader view of everything we design, see design services.