Copy the formatted transcript to paste into ChatGPT or Claude for analysis
Hi there, I'm Gus Pelogia, SEO product manager, and I'm here to talk to you about
vibe coding your own SEO tool.
Now let's just get straight out of the bat.
I'm not promising that you're going to build the next revolutionary AI SaaS and you're
going to make a lot of money.
This is about making little tools that will save you time on your day-to-day, maybe get
you away from a bunch of boring tasks and then just speed up the process, maybe give
you a good draft of things that you can review yourself and then make it your own.
So there are three things that you need to vibe code your own tools.
First you need an LLM.
I start with ChatTPT, you might try another one.
You may need an API to connect the dots between your LLM and the place where your code's going
to run, and your code can be on Google Colab, which is a Python environment that runs on
your browser.
You don't have to install anything.
You're literally going to copy the code from the LLM, paste it there, and magic's going
to happen.
Or a place like Google Sheets, if you want to run your tool in a place that you're more
familiar with, you can do both of them.
Now let's go through a little bit of the process here, and I'm not going to read you a whole
prompt.
I'm going to leave it open on the blog post that is going to come with this video.
But there are a couple of rules that you need to follow, and you may find different ways
to do this.
This is how I like to do it, works for me, so I'm happy to share.
I always start my prompt saying that I want a code for Google Colab or Google Sheets,
so it knows what language, what format needs to be, it knows what kind of things are already
pre-installed on Google Colab, so you don't have to worry about the code that it's broken
or doesn't work as you expect.
Then you make sure that you call the API you need.
So in my case, use OpenAI API.
Then make sure that you ask for a CSV.
So in my case, I always upload the CSV, and I want the CSV in return with the output from
the code that I asked for.
Finally, just be very direct and explicit about the elements you have on your sheet.
So on column A, I have a URL, in column B, I have embeddings, in column C, I have a tag.
Whatever it is, just make sure to declare what is in each column of your sheet.
So then it's very easy for the AI to understand where the information is and where it's going
to go to.
And there are some essential concepts that are important to learn on a case like this.
And these are related to the tools that I'm going to show you guys, some ideas that I've
tried and tested.
You might just go off and create your own, and that's absolutely fine.
That's the idea here.
But vector embeddings, they essentially transform words into numbers, and they create a corpus
of your page.
So all the words in that page, they have a specific meaning when they're all together.
So embeddings will extract all of that from your pages.
Then you have a cosine similarity that will look at the corpus of page E, page B, page C,
or even if it's tags or whatever information you have in different columns.
And cosine similarity will match them to say how close the information from A is close
to information on B.
And you might play around with some other APIs as well.
I've done a few things with the Google Knowledge Graph API.
So you can get some information from Google in there, but you just need to know that you
need to call this specific API.
So maybe you want to know the name of the API, things like that.
You're still going to need to get your own API key.
Some are paid as you use them, like OpenAI.
Some might have free limits if you're using Gemini or if you're using the Google Knowledge Graph.
You're not going to spend any money.
At least you've tried them for a little bit.
So let's go through the actual two ideas that you can do when you're vibe coding.
These are things that I tried and tested myself, and I'm happy with the results.
That you can always make it better, you can improve things, but it does give you a good
taste of what can be done in vibe coding.
And those are things that I made maybe in 15 minutes, half an hour.
It is quite simple to get those first steps and say, oh, this works.
Maybe you want to do some improvements, and you refine the code and what you're expecting.
But I'm always just asking ChattyPT.
So if the code of one page doesn't work, I'll say, I got this error.
Can you fix it for me?
And then you get a new piece of code, and then you try the new one, and you go on and
on and on.
So first one is tag matching.
I wanted to match certain CTAs with a certain page, and I just have a huge volume of pages
that I didn't know where to start.
So I uploaded the tags in a column and the URL and embeddings on two other columns, and
I asked ChattyPT to match the two of them.
Well, I uploaded the code on Google Colab, and that happened through vector embeddings
and causing similarity.
Then maybe you want to build an entity confidence tracker.
We all know Google runs on entities these days, and they have a tool where you can just
put any word or any phrase, and it will give you an answer to say if Google understands
that as an entity and how strong the confidence on that entity is.
Maybe you want to track your brand name, or in my case, at some point, I was obsessed
with tracking my own name and checking if my knowledge panel was there and if the confidence
was increasing.
So I built something on Google Sheets that would just do a ping every day and save what
was the confidence level that it was straight on my Google Sheets.
I did it once, and it's been running every day for the last year.
Maybe you don't want to do manual hreflanging, or at least not from scratch, and you can
build something through VibeCoding as well.
I'm just uploading embeddings from the original source and embeddings from the pages that
I want to be matched, and the results are pretty good.
In my case, there are pages in a lot of languages, and it does work.
It doesn't need to be just English or just the same language, and it gives me a very
good draft.
Then I can go and just spot check and say, does this page make sense to be connected
to this page?
So, you know, it gives you a few steps out of the way right there.
Maybe you want to look at content decay.
Everyone seems to be suffering from traffic decreasing these days, and maybe you want
to see which are the pages that over time have lost more traffic.
So instead of going page by page and seeing, well, two years ago it has this traffic and
now it has this traffic, you can just do all of this at once and get it in bulk, which
are the pages that are performing better, which are the ones that are performing worse,
and how worse or better they're doing over a certain period of time.
And you know, this is just the manual labor, just like crunching the data.
The real work, the exciting part, is how you're going to figure out putting those pages
or this content back in the right track.
And finally, maybe you want to find related pages, which is also a combination of vector
embeddings and cosine similarity.
So you upload your list of pages and embeddings, and we'll find lots of matches.
There is an article on the Moz blog explaining how to do this, and we can link from the post
as well.
And yeah, this is all we have for today.
I'm Gus Peloja, and I hope you're excited to vibe code some of your own SEO tools as
well.
And it's going to save you a lot of time on a Friday or any other day of the week to spend
more time doing the things that really matter.
Thank you.
Want to build custom SEO tools without being a full-stack developer? In this Whiteboard Friday, SEO Product Manager Gus Pelogia explains the concept of "vibe coding"—using AI to generate code for simple, time-saving scripts that automate daily tasks. Gus walks through essential steps, including using an LLM like ChatGPT, connecting APIs, and running code in browser-based environments like Google Colab or Google Sheets. He also shares specific prompting strategies to ensure your AI-generated code works correctly. Download the HD whiteboard: https://moz.com/blog/vibe-coding-seo-tools-whiteboard-friday TIMESTAMPS: 00:00:00 – Intro: What is "Vibe Coding" for SEO? 00:00:39 – The 3 Essentials: LLMs, APIs, and Google Colab 00:01:22 – How to Prompt: Rules for generating working code 00:02:45 – Core Concepts: Vector Embeddings & Cosine Similarity 00:03:47 – Using Google Knowledge Graph API 00:05:13 – Tool Idea #1: Tag Matching 00:05:44 – Tool Idea #2: Entity Confidence Tracker 00:06:2

Neil Patel