SEO

Why Static HTML (Astro) Beats WordPress for SEO and AEO

By Steve ·

For two decades the default advice to anyone starting a website was “use WordPress.” It still powers about 40 percent of the web. But the thing search engines reward has shifted, and the thing AI answer engines reward has shifted further. On both counts, a plain HTML site generated by a tool like Astro now beats a typical WordPress install, and it isn’t especially close. This site made the switch in 2026. Here’s why, with the evidence, and an honest note on where WordPress is still the right call.

What “static HTML” and “Astro” actually mean

A WordPress site assembles every page on demand. A visitor (or Googlebot) requests a URL, PHP runs, the database is queried, the theme and a dozen plugins add their pieces, and the finished HTML is sent back. Caching plugins paper over this, but the machinery is always there.

A static site does that assembly once, at build time. Astro is a static site generator: you write content in Markdown, it turns each page into a finished HTML file, and those files sit on a CDN like Cloudflare Pages. When someone requests a page, the server does nothing but hand over a file. No PHP, no database, no plugins running in the request path. The HTML the crawler sees is exactly the HTML you wrote.

That one difference drives everything below.

1. Speed, and Core Web Vitals, are structural

Google uses Core Web Vitals as a ranking signal and AI crawlers have crawl budgets; both favor pages that respond fast. Static HTML is fast by construction. There’s no server-side work to optimize because there is no server-side work.

The numbers bear this out. The HTTP Archive and Chrome UX Report data summarized by Search Engine Journal in April 2026 showed roughly 49 percent of WordPress sites achieving a good Core Web Vitals score, against 67 percent of Astro sites. That gap exists even though WordPress has a decade of caching plugins, image optimizers, and performance hosts behind it. Astro sites hit good scores mostly by doing nothing special.

For a side hustler this matters twice over. Speed is a ranking input, and speed is also the thing you’d otherwise pay for: premium hosting, a caching plugin, a CDN add-on, and the hours to make them cooperate.

2. You control every byte of the HTML

SEO is done in HTML: the title tag, the meta description, the canonical URL, heading hierarchy, internal links, image attributes, and the JSON-LD schema block. On WordPress, each of those is owned by a different layer. The theme writes the headings, an SEO plugin writes the meta tags and schema, a page builder wraps everything in nested divs, and a caching plugin decides when Google sees the update.

In Astro, one template file owns the whole page. Want breadcrumb schema on every article, an Article node with word count and dates, a Person node tying content to an author, and an FAQ block that emits FAQPage markup automatically? That’s a few lines in a layout, applied identically to every page, forever. There’s no plugin to update, no premium tier to unlock, and no risk that two plugins emit conflicting schema, which is a common and silent problem on WordPress sites.

Clean HTML also means less of it. A typical page-builder WordPress page ships hundreds of kilobytes of markup and CSS to say what a static page says in a tenth of that. Crawlers parse the smaller page faster and extract the main content more reliably.

3. AEO: answer engines want what static sites naturally produce

Answer engine optimization is the newer game. Google AI Overviews, ChatGPT search, Perplexity, and Claude all read web pages, decide what they mean, and cite the ones that answered the question cleanly. Their crawlers are pickier than Googlebot and they don’t execute much JavaScript.

Static sites are built for this. The main content is in the HTML on first load, not injected by scripts. Headings are real headings, not styled divs. Answers can be placed directly under question-shaped H2s, with an FAQ section whose schema tells the engine “this is a question and this is its answer.” And a static site can serve an llms.txt file, a plain-text map of the site written for AI crawlers, generated from the same content that builds the pages, so it never drifts out of date. This site publishes one at /llms.txt, plus a full-text version, straight from the build.

You can bolt most of this onto WordPress. The difference is that on a static site it’s the default state, and defaults are what actually ship when you’re running a business in your spare hours.

4. Nothing to hack, nothing to update, nothing to slow down

WordPress’s plugin ecosystem is its strength and its biggest SEO liability. Every plugin is code running on your server that needs updating, can conflict with another plugin, and can be exploited. A hacked site gets a manual action or a “This site may be hacked” warning in search results, and rankings crater. Deferred updates are how most WordPress hacks happen, and side hustlers defer updates because they’re busy.

A static site has no server code to exploit. There’s nothing to update on a schedule, no admin login to brute-force, and no plugin that quietly adds 400 milliseconds to every page after its next version. The site you deploy in January is the site Google crawls in December.

5. It costs nothing to host, so the budget goes to content

Static hosting on Cloudflare Pages is free with unmetered bandwidth, and the site is served from data centers near every reader. Comparable performance on WordPress means managed hosting in the $25-to-$30-a-month range (see the hosting comparison). For a site that hasn’t earned its first dollar, $360 a year is the difference between “published ten articles” and “paid for hosting.”

Where WordPress still wins

Honesty matters more than a clean argument, so: WordPress is still the right tool when the site is an application rather than a publication. WooCommerce stores, membership sites, course platforms, booking systems, community forums, and anything where several non-technical people need to log in and edit pages daily all need a database and a dashboard, and WordPress does that better than any static tool. A static site can still handle a contact form, an email signup, and a checkout link to a service like ThriveCart, which covers most side hustles, but it isn’t a store.

The other honest caveat is the workflow. Publishing on a static site means editing a Markdown file and pushing to GitHub, or using a headless CMS that does that for you. It’s a one-afternoon learning curve, not a big one, but it’s real.

How to make the move

If you’re on WordPress today and your site is mostly articles, reviews, guides, or a directory, the migration path is short. Export your content as XML. Convert the posts to Markdown, keeping each post’s slug exactly as it is. Build the templates in Astro with title, description, canonical, Open Graph, and JSON-LD wired into one layout. Add a _redirects file for any URL you drop. Deploy to Cloudflare Pages, point DNS, resubmit the sitemap in Search Console, and cancel the hosting bill.

That is precisely what happened to this site: every article kept its URL, the thin pages were redirected to hubs, schema went from plugin-dependent to built-in, and hosting went from a monthly bill to zero. The pages got faster, the HTML got smaller, and the site became something an AI engine can read end to end.

For a side hustle, that’s the whole point. The less time the website demands, the more time goes into the thing that actually earns: the content.

Frequently asked questions

Is a static HTML site better for SEO than WordPress?

For content sites, yes. Static HTML served from a CDN is faster, passes Core Web Vitals more often, has no plugin bloat or database layer, and gives you total control over the HTML and schema that search engines and AI crawlers read. WordPress can be tuned to match it, but it takes ongoing effort and money.

What is AEO (answer engine optimization)?

AEO is optimizing content so AI-powered answer engines such as Google AI Overviews, ChatGPT, Perplexity, and Claude can find, understand, and cite it. It rewards clean HTML, clear headings, direct answers, structured data, and files like llms.txt that describe your site to AI crawlers.

Can I move a WordPress site to Astro without losing rankings?

Yes, if you keep the same URLs and add 301 redirects for any that change. Export your content, convert it to Markdown, rebuild the templates, and deploy. This site did exactly that in 2026 and kept every article URL.

When is WordPress still the better choice?

When the site needs a database and logins: WooCommerce stores, membership sites, booking systems, forums, or anything where non-technical people must edit pages from a dashboard every day. For blogs, affiliate sites, directories, and business sites, static wins.

See all

Free email list

One useful side hustle idea a week

No fluff, no daily blasts. A short note with a starter idea, a tool worth knowing, or a lesson from someone who made it work. Unsubscribe any time.

Signups open soon — set kitFormAction in src/site.ts to go live.