Skip to content

How we built a fast, search-friendly company website with Astro

The choices behind our own website: static HTML with Astro, under 2 KB of JavaScript, CSS-only animation, structured data, and no cookie banner.

· 3 min read

  • Astro
  • SEO
  • Performance

A company website has two audiences: the people deciding whether to work with you, and the search engines deciding whether to show you to them. Both reward the same things: pages that load instantly, say clearly what you do, and are easy to read.

When we rebuilt our own site, we treated it like any client project. These are the decisions we made and why.

Static HTML first

Most of a company website never changes between visitors. The home page, service pages and articles are the same for everyone, so there’s no reason to build them on every request or in the visitor’s browser.

We use Astro, which renders every page to plain HTML at build time. A visitor downloads a finished page, and a search engine sees the full content immediately, without running any JavaScript. Our home page is about 8 KB of HTML after compression.

Astro still lets you add interactive components where you need them. It calls these “islands”: small pieces of JavaScript in an otherwise static page. Everything else ships as HTML and CSS.

Under 2 KB of JavaScript

The only JavaScript on our home page drives the animated network behind the headline: about 1.4 KB compressed. It:

  • draws on a single <canvas>, so it adds no extra page elements;
  • pauses when it scrolls out of view or the tab is hidden;
  • draws a single still frame for visitors who have asked their device to reduce motion.

Everything else that looks interactive is HTML and CSS:

  • Scroll reveals use CSS scroll-driven animations (animation-timeline: view()). Browsers that don’t support them simply show the content.
  • The mobile menu and FAQs use the HTML <details> element, which opens and closes without a line of script.

Less JavaScript means faster pages on slow phones, fewer things to break, and better Core Web Vitals, which feed into how Google ranks pages.

Writing for people and search engines

Speed gets you considered; content gets you chosen. Each service page targets one clear topic, such as iOS app development or web development, and answers the questions a potential client would ask:

  • what we build, in specific terms;
  • how a project runs, step by step;
  • what makes the work good, and where it usually goes wrong;
  • frequently asked questions in plain language.

Every page has one h1, a unique title under 60 characters so search results don’t cut it off, and a description of around 150 characters. Service pages, articles and the home page all link to each other with descriptive link text, which helps both readers and search engines understand how the site fits together.

Structured data

Search engines read structured data: small blocks of JSON-LD that describe a page in a standard vocabulary. Ours describes:

  • the company, with its legal name, registered address and the topics we work on;
  • each service, with the specific offerings on that page;
  • each article, with its publication date and section;
  • breadcrumbs, so results can show where a page sits in the site.

It takes an afternoon to add and keeps paying off, because it removes guesswork about what each page is.

We don’t set tracking cookies, so there’s nothing to ask consent for and no banner covering the page on a first visit. When we measure traffic, we use cookieless analytics that count visits without identifying anyone.

The basics that are easy to forget

  • A sitemap.xml and robots.txt, so search engines find every page.
  • Canonical URLs, so each page has exactly one address.
  • Social preview images and titles, so links look right when shared.
  • Self-hosted fonts, so there’s no extra connection to a font service.
  • A helpful 404 page that points people back to the main sections.
  • The company details UK law requires: registered name, number, place of registration and registered office.

The result

The site builds in a couple of seconds, deploys to Cloudflare’s network, and costs almost nothing to host. More importantly, it’s quick to read, clear about what we do, and easy for search engines to understand.

If your website is slow, hard to update or invisible in search, we can help. See our web development service.

Have something you'd like built?

Tell us what you're building. We'll reply within two working days with questions, an approach and next steps.

Start a project
Esc

↑ ↓ to move · Enter to open