← Guides

Vibe Coding Is Only Half the Job

With AI, it is now possible to go from an idea to a working digital product incredibly quickly. But getting a website to work is only the beginning.

The more interesting question is:

Can people find it, can machines understand it, and can AI actually use it?

That is the part I focus on.

I use AI and vibe coding as development tools, but I also look at what happens after the code works: technical SEO, structured data, performance, accessibility, AI discoverability and, increasingly, how websites can be understood and navigated by AI agents.

A good example is one of my own projects: "KodeKid" (https://www.kodekid.app/).

*KodeKid: A Website Built to Be Understood

KodeKid started as a practical web project, but I also used it as a testing ground for a broader question:

What happens when you treat a modern website as something that needs to communicate with both humans and machines?

I documented the technical approach here:

"Behind the Scenes: How KodeKid Is Built" (https://www.kodekid.app/behind-the-scenes)

The site combines a number of techniques that are often treated as separate disciplines:

The point isn't that every website needs exactly the same technology stack.

The point is that these different layers need to work together.

A website can look excellent and still be difficult for search engines to understand.

It can have perfectly valid code and still provide poor answers to users.

It can rank well in traditional search and still provide very little useful context to an AI system.

That is where the distinction between simply building a website and optimizing a website becomes important.

SEO Is Still the Foundation

There is a lot of discussion around GEO, AEO and AI search, but the fundamentals have not disappeared.

Google's own documentation makes this fairly clear.

"Google: AI features and your website" (https://developers.google.com/search/docs/appearance/ai-features)

Google's AI search experiences build on many of the same systems and principles used by traditional Search.

That means the basics still matter:

"Google's SEO Starter Guide" (https://developers.google.com/search/docs/fundamentals/seo-starter-guide) is still a useful reference for these fundamentals.

For me, this is where vibe coding needs another layer of thinking.

AI can generate the code. Someone still needs to understand what the code should achieve.

GEO and AEO: The Next Layer

Generative Engine Optimization, or GEO, is about making content useful and understandable in generative search experiences.

Answer Engine Optimization, or AEO, focuses more specifically on providing information in a structure that makes it easier to identify and answer specific questions.

These terms are increasingly used in the industry, but I don't see them as replacements for SEO.

I see them as additional ways of thinking about the same fundamental problem:

«How does a machine understand what this website is about?»

Google's own documentation discusses optimization for generative AI features here:

"Google: Optimizing your website for generative AI features" (https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)

This changes how I think about website content.

Instead of only asking:

"What keyword should this page rank for?"

I also ask:

That is a much more interesting design problem.

Structured Data Is Part of the Conversation

One of the things I pay attention to is structured data.

Machines don't experience a website in quite the same way humans do.

A person can look at a page and immediately understand that a logo represents a company, that a particular person is the founder, or that a section contains frequently asked questions.

Structured data can make some of those relationships explicit.

"Google: Introduction to Structured Data" (https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)

On KodeKid, I use JSON-LD and structured information to provide additional context about the content and entities represented on the site.

Again, this isn't a magic ranking button.

It is about reducing ambiguity.

Performance Is Not Just a Lighthouse Score

Performance is another area where AI-built websites can benefit from human attention.

Modern frameworks make it easy to create impressive interfaces. But impressive interfaces can also become heavy interfaces.

Google's current Core Web Vitals focus on:

"Web.dev: Core Web Vitals" (https://web.dev/articles/vitals)

I measure these rather than assuming that a website is fast because it feels fast on my own machine.

And I don't think a performance report should be treated as a certificate saying "job done."

A real website has compromises.

A visual effect may be worth the additional loading cost.

A complex application may have different performance requirements from a simple marketing page.

The important thing is knowing where the compromises are.

That's also why I document both the strengths and weaknesses of KodeKid.

If something can be improved, I'd rather show it than pretend the number is perfect.

From Search Engines to AI Agents

This is where the subject gets particularly interesting.

The next step isn't only about AI understanding a website.

It is about AI using it.

Chrome is already experimenting with Agentic Browsing in Lighthouse:

"Chrome: Agentic Browsing" (https://developer.chrome.com/docs/lighthouse/agentic-browsing/)

The idea is to consider whether websites are understandable and usable by AI agents.

This puts accessibility and semantic structure into a new context.

A human can often work out what a button does from its visual appearance.

An AI agent needs meaningful information about that button.

It needs to know what is interactive.

It needs to understand links, forms, labels and navigation.

It needs to know what action is possible and what happens next.

That leads to an interesting progression:

SEO: Can a search engine find and index the page?

GEO: Can an AI system understand and use the content?

AEO: Can the system identify a useful answer?

Agent-ready: Can an AI agent actually navigate and interact with the website?

These are different problems, but they increasingly overlap.

And What About "llms.txt"?

"llms.txt" is another example of where the discussion around AI and websites is moving quickly.

The idea is to provide LLM systems with a structured entry point to important information about a website.

I use it on KodeKid:

"https://www.kodekid.app/llms.txt" (https://www.kodekid.app/llms.txt)

But I don't consider it a magic solution.

Chrome describes "llms.txt" as an emerging convention:

"Chrome: llms.txt" (https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt)

It is important to distinguish emerging practices from established search requirements.

The bigger principle is more useful:

«Make the important information on your website easy for machines to discover and understand.»

"llms.txt" can be one part of that strategy.

It isn't the strategy itself.

What I Actually Mean by "Vibe Coding"

For me, vibe coding isn't the end product.

It is a development method.

AI allows me to prototype faster, test ideas quickly and build websites and applications that would previously have required considerably more development time.

But speed introduces a new problem.

When almost anyone can generate a working website, the quality of what happens after generation becomes more important.

Can the architecture be maintained?

Is the HTML meaningful?

Is the content structured?

Can Google understand the site?

Can AI systems extract the important information?

Does the application work for people using assistive technology?

Can an AI agent understand the interface?

Is the site fast enough?

These are not questions that disappear because AI wrote the code.

They become more important.

The Website After "It Works"

That's ultimately what I am interested in.

I build websites and web apps using AI as part of the toolbox, but I don't stop when the application works.

I look at what happens next.

Can it be found?

Can it be understood?

Can it answer questions?

Can it be used?

Can it communicate clearly with both humans and machines?

"KodeKid" (https://www.kodekid.app/) is one example of how I approach that problem.

"Behind the Scenes: How KodeKid Is Built" (https://www.kodekid.app/behind-the-scenes)

Vibe coding makes it possible to build faster.

The next challenge is making those websites searchable, understandable and ready for the increasingly machine-driven web.

Author Lars Sohl HTTPS://www.larssohl.dk and HTTPS://www.kodekid.app

Frequently asked questions

What is vibe coding?
Vibe coding is an AI-assisted approach to software development where natural language and AI coding tools are used to create, modify and iterate on websites, web apps and software.
Is vibe coding enough to build a good website?
Not necessarily. AI can generate a working website quickly, but a production-ready site still needs attention to technical SEO, content structure, performance, accessibility, security, maintainability and user experience.
How can a vibe-coded website be optimized for SEO?
A vibe-coded website can be optimized with crawlable and semantic HTML, clear page structure, unique titles and descriptions, canonical URLs, XML sitemaps, internal linking, structured data, useful content, good performance and accessible interfaces.
What is GEO in relation to websites?
GEO, or Generative Engine Optimization, refers to practices intended to make website content easier for generative AI and AI-powered search experiences to understand and use. It builds on many of the same fundamentals as traditional SEO.
What is AEO?
AEO, or Answer Engine Optimization, focuses on structuring and presenting information so that systems answering user questions can identify clear, useful and relevant answers.
What is the difference between SEO, GEO and AEO?
SEO focuses broadly on helping search engines crawl, understand and index websites. GEO focuses on making content useful in generative AI search experiences, while AEO focuses more specifically on making information easy to identify as answers to questions. The three areas overlap significantly.
What is structured data and why is it useful?
Structured data is machine-readable information embedded in a webpage, often using formats such as JSON-LD. It can help search engines understand entities and relationships such as organizations, people, products, events and frequently asked questions.
What are Core Web Vitals?
Core Web Vitals are Google's user-experience metrics for loading performance, responsiveness and visual stability. The current metrics are Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS).
What is an AI-agent-ready website?
An AI-agent-ready website is designed so that software agents can understand its content, navigation and interactive elements and potentially perform tasks through the interface. Semantic HTML, accessibility, clear labels and predictable interactions can all contribute to this.
What is llms.txt?
llms.txt is an emerging convention intended to provide large language models with a structured entry point to important information about a website. It can be useful as part of an AI-readiness strategy, but it should not be treated as a replacement for traditional SEO or other technical optimization.
Can AI-generated websites rank in Google?
Yes. Google does not require websites to be written by humans in order to appear in Search. What matters is whether the content and website meet Google's applicable quality, technical and spam policies and provide useful content for users.
How do you optimize a vibe-coded website?
I look beyond whether the application works. I examine its technical structure, SEO, semantic HTML, metadata, structured data, performance, accessibility, content architecture, AI discoverability and how easily both humans and machines can understand and interact with it.

ENDA