Vibe marketing with Claude Code
Fixing my agency website SEO issues with AI
It’s been some time I needed to update my agency website search performance:

Any traffic the site was getting was from socials and conference talks—and even that didn’t amount to much (600-ish visitors the last 12 months):

So when I came across this conversation between Greg Isenberg and The Boring Marketer on Friday, it didn’t take me long to decide that improving SEO would be a great way to try out Claude Code and engage in some vibe marketing of my own…
This is what the old agency site looked like—stiff, impersonal and void of visitors:
Some of the issues:
No SEO (as in, the site lacked a robots.txt and wasn’t indexed on Google!)
Unclear value proposition (what’s an “Org AI ready”?).
None of the content on the site targeted actual customers.
The SEO strategy only existed as tickets on my Notion task board.
The old site somehow still managed an SEO score of 73 on Google Page Speed:
Revisiting SEO basics
You might ask, why even bother with SEO (Search Engine Optimisation) in 2025?
Well, for one, even though GEO (Generative Engine Optimisation) is a thing now, search still powered the lion’s share of all purchases online in Q2 of 2025:

Inspired by The Boring Marketer I decided to develop a localised SEO strategy for my marketing AI services—focusing on The Netherlands, Spain and Europe.
Here are the steps I took:
Identify keywords and build an SEO keyword map
Fix technical SEO issues
Add localised blog content
Personalise site copy
Update the navigational structure, fix a ton of other technical issues
Redesign the site UI and UX using a custom agent in Claude Code
I’ll go over each of the steps in detail below and share the prompts I used.
Building a keyword map for the site
To generate a list of relevant keywords for each of the locales in which I want the website to rank and be found, I asked Claude in the Claude.ai web app to
generate 50 SEO keywords for marketing ai automation services and workshops in Europe in each of these three languages & localities:
Netherlands (Dutch language)
Spain (Spanish language)
Europe (English language)
When I asked Claude to analyse this first batch of keywords by buying stage, this is what it came up with: 34% Awareness (early research), 46% Consideration (evaluating options), 20% Decision (ready to purchase)
Given that I wanted the site to be found higher up the funnel, I asked Claude
let's add more high-commercial intent keywords for each of the languages & localities, and create a keyword map for my website to identify which term should target which page
After speaking at two marketing conferences in The Netherlands earlier this year, I found that a lot of potential customers would benefit more from AI workshops than from AI implementations, so I vibe marketingly changed tack and asked Claude to
update the keyword map to focus more on workshops (primary) and automation services (secondary)
The keyword map it generated from this prompt was too generic and bland, so I provided a screenshot of the services page from my old site:
good start! these are the four types of services I offer (Attached in the screenshot) please update the SEO map based on these services
The complete keyword sitemap I ended up using can be found here.
Fixing technical SEO issues
As mentioned, the old site wasn’t even listed on Google—but that wasn’t the only problem. When I asked Claude Code, it found the following technical SEO issues:
🎯 Priority Fixes Needed
Implement hreflang tags for all language versions
Fix sitemap and robots.txt production URLs
Add canonical URLs for all pages
Implement JSON-LD structured data
Update Open Graph configuration
Add missing language routes and metadata
None of which I would have looked for myself—I’m an ML engineer by trade, and tend to focus more on AI automation performance than on digital marketing or SEO.
Claude Code finding these issues with a single prompt already felt like a huge step up from when I first developed the website in December of 2024. Back then, AI coding in Cursor was an iterative, step-by-step process that required a lot of human oversight.
Claude Code needed just one prompt.
Looking back in time I was also working from the mistaken belief that generating blog content at scale with AI would be my best bet to rank high on Google by building “domain authority”.
I was wrong.
SEO for commercial digital real estate should be optimised for the different stages of buying intent. It’s your digital business card and/or your digital store front—not your magic bullet.
Treat it and expense for it accordingly.
Creating localised blog content
After Claude Code fixed the technical SEO issues—which took around 20m—I set it to work to update the site using the SEO keyword sitemap generated earlier.
A first version of the localised pages contained way too much nonsense—it made up agency clients, training locations, case studies, ratings etc—so I asked Claude Code
can you remove more of the bullshit content? I offer two types of workshops, one-on-one AI & automation coaching, and build custom marketing AI automation services. I'm based in Gorinchem, the netherlands but have worked with clients across Europe (London - financial services, Switzerland - financial services, Sweden - retail, Amsterdam - media publishing, marketing automation, Netherlands - broadcasting, ecommerce, retail, financial services). dont invent addresses, locations, services or case studies I haven't delivered. here is the original website, please use it as reference for services, about and team info: https://www.lodestone-digital.com/
This greatly reduced the amount of hallucinated content on the generated pages.
Here are some example local pages for Amsterdam and Den Bosch.
PS If you want to learn more about SEO, I highly recommend Danny Postma’s SEO course.
Personalising the marketing copy
The copy still sounded generic and bland at this point, so I asked Claude Code
can you personalise the writing on all pages? this is my blog, read several of the articles there and try to mimic my writing style: https://metacircuits.substack.com.
To my surprise, Claude Code was able to read some of the articles on this blog—or at least it said it did—and ended up producing much more grounded copy as a result.
I did check each and every one of the generated pages manually and edited quite a bit of the AI generated marketing copy—fixing mistakes, removing platitudes, and using local market knowledge to make the copy more relevant for potential customers.
In all, this took me roughly 2 hours: an hour of back and forth with Claude Code, and an hour of reviewing and fixing marketing copy in three languages.
For the marketing copy I needed to use an IDE (integrated development environment, a text editor for software). Claude Code is a command-line interface (CLI) application you interact with via text. This makes it a lot harder to browse and edit files because it doesn’t have a graphical user interface (GUI).
Using Claude Code still made a huge difference in how much time it took to make the changes, but mainly because I used Claude Code subagents to parallelise the changes to the website—these subagents worked insanely fast!
I’m pretty sure that if I’d had to do these changes linearly working with Cursor, they would have taken me a lot longer—up to 10 or 12 hours. We’ll probably see subagents appear in more AI workflows, coding or otherwise, in the near future.
Updating the navigational issues and other fixes
The site contained a lot of deadwood from when I first created it 10 months ago.
Cleaning up the site codebase took another 2 hours—this not something that you’ll need to do when working with a well-structured or newly generated website.
During these stage I also ran into token limits for the Claude Pro subscription, and I ended up paying for a month of Claude Max (USD 100/mo) to get the work done.
I’ll cancel the subscription end of this month, and as a one-off marketing expense paying USD 100 to save me 10-20 hours of tedious work was well worth it—this could be different for you of course, and Claude Pro has pretty decent daily limits. If it wasn’t for the fact that I wanted to get the changes done posthaste, the Pro license would also have been enough.
These other fixes took another 2 hours, after which Claude Code had changed 165 files, written 14,047 lines of code and deleted another 31,153 lines of code (!). Going by any developer productivity metric, these numbers are insane.
That’s at least a week worth of (un-AI-assisted) human labor done in roughly six hours.
But I wasn’t done yet.
Website redesign
The old website looked stale, stiff and impersonal.
To revamp the look and feel of the site I created a custom Claude subagent:
I added some some design examples I found on Figma to the project and asked
use the website-design-agent to come up with a complete website redesign based on the screenshots provided in the /designs folder. Use the style of the screenshots, but add orange and blue contrast and hues to the design. generate a small preview of the new design style and make it visible for me before starting the complete website redesign
Claude Code generated a complete style guide for the new design in a single, easy-to-read HTML file: cards, elements and components all rendered in the new design.
After eyeballing the new design system, I prompted Claude Code
looks good! let's spin up multiple website-design-expert agents in parallel to speed up the redesign across all pages. make sure to keep the existing site structure, multilingual functionalities and content, as well as dark mode. don't change anything other than the design and look and feel
In all, searching for the design, creating the custom agent and testing the code changes made for new design took me around 90 minutes (28 files changes, 837 lines of code added and 450 deleted).
Redesigning the website in the pre-AI era—where you’d have to find a designer, argue over the design language, find a frontend engineer, get the engineer to implement the changes, coordinate and test everything—would have taken at least a week (probably two or more) and cost a great deal more. Now it’s 90 minutes and 2 euros in AI credits.
You can check out the new website here:
Let me know what you think could be improved—I’m sure there is still plenty! :)
My main takeaways
Claude Code works really well, and parallel multi agent mode is insanely fast!
In my opinion you still need an IDE working with Claude Code. I found myself going back and forth between Claude Code and Cursor to check and edit code and copy, which was a less than optimal workflow.
My workflow could definitely be improved—for small changes, manual edits would have been quicker than asking Claude Code. The AI system needed to gather context, understand project structure etc. which I already had, so in those instances it would have been faster to edit the files manually.
Claude Code’s popularity with the vibe coding community doesn’t mean you don’t need at least basic software development skills to use it. Besides asking the right questions, you will need to be able to fix issues, test changes and know how to deploy your code if you want to benefit fully from Claude Code in your day-to-day.
Making these changes took me a lot longer than expected—I planned for 3 hours, but in reality the full site revamp took almost 8 hours. There are definitely more efficient ways to set up a landing page, but I doubt these tools will allow the same level of customisation that a fully generated website has.
Even though I enjoyed working with Claude Code I don’t think it’s a game changer. We’ll probably see a lot of its innovations—like subagents or other forms of parallel agentic processing—appear in editors that do have a graphical user interface some time soon.
As for the SEO performance of the new website—I’ll report back when I have the data!
Last week in AI
OpenAI’s release of its much-heralded GPT-5 AI system has been the talk of the town—and not all in a good way. Besides modest benchmark performance improvements its main innovation seems to be the replacement of the complex model selection panel in ChatGPT with a custom router. For a more in-depth review, check out Nathan Lambert’s write-up—I’m glad he’s started calling these tools AI systems too, by the way.
Google DeepMind introduced Genie 3, a general-purpose world model capable of generating a wide range of interactive, dynamic environments from text prompts. This new model allows for real-time navigation and interaction, maintaining consistency for several minutes at a time. The development is a significant step towards creating artificial general intelligence (AGI) by providing a limitless curriculum of rich simulation environments for training AI agents.






Good job Jonas! Try also DataForSeo tool, you can use API and create custom GPT to review customer website from SEO perspective, so competitor analysis, keyword research and much more.
thanks for this detailed guide....