How I used an AI-powered SEO evaluation, generated a fix prompt, and let Codex handle the improvements.
I've been building my website for a while, and like many developers using AI tools, I assumed that if the page looked good and worked properly, the SEO was probably fine too.
Turns out, I was missing quite a few things.
I decided to run an SEO evaluation on my website using Preveo.io to see what could be improved.
My initial score was 77/100.
Not terrible, but definitely room for improvement.
What surprised me wasn't the score itself. It was how many relatively small issues I had overlooked, and how straightforward some of them were to fix.
Instead of spending hours manually going through the findings, I tried something different.
I generated a single AI fix prompt, gave it to Codex, applied the changes, and evaluated the page again.
The result? 77 → 96. A 19-point improvement.
Here's what I did and what I learned.
Step 1: Evaluate the Website Before Changing Anything
One mistake I've made when improving websites is jumping straight into fixes without fully understanding what's wrong.
This time, I wanted to start with an evaluation.
I used an SEO evaluation macro called Improve Page SEO in Preveo.
The macro analyzes the actual webpage, looking at elements such as:
- Page title and meta description
- H1 and heading hierarchy
- Content structure and keyword clarity
- Image alt attributes
- Internal and external links
- Canonical URLs and indexing signals
- Structured data
The useful part is that the evaluation isn't just based on how the website looks in a screenshot. It examines the on-page elements that search engines use to understand a website.
After running it, I received a report showing which elements were already in good shape and which could benefit from changes.
My starting score: 77/100.
View my original SEO evaluation
Step 2: Understand What Was Actually Hurting the Score
Going through the findings reminded me that good SEO isn't necessarily about adding more keywords or writing longer content.
Sometimes, it's about making the website easier to understand.
Here are five lessons I took away from the process.
1. Your Headline Should Explain What You Do
A catchy headline is great for marketing, but visitors and search engines also need to understand what your product actually offers.
It communicates an idea, but without supporting context, it doesn't fully explain the product.
A descriptive subheading can help connect that message to what the product does and who it's for.
The lesson: Keep your creative messaging, but make sure the surrounding content provides clarity.
2. Meta Descriptions Deserve Attention
It's easy to spend hours designing a landing page and almost no time reviewing how it might appear in search results.
Your page title and meta description are an opportunity to explain why someone should click.
A good description should:
- Communicate what the page offers.
- Use natural language.
- Match the actual content.
- Avoid unnecessary keyword stuffing.
3. Image Descriptions Matter
Not every image needs a long description, but meaningful images should have relevant alt text.
This helps accessibility and gives search engines additional context.
For purely decorative images, an empty alt attribute can be more appropriate.
4. Your Content Needs a Clear Structure
A website can look visually organized while having a confusing heading hierarchy underneath.
Using headings consistently helps visitors navigate content and makes the page structure easier for search engines to interpret.
5. Small Technical Details Are Easy to Miss
Canonical URLs, indexing directives, structured data, and descriptive links aren't always visible in the UI.
That's exactly why reviewing the actual webpage matters.
A visual inspection alone won't tell you whether everything is configured correctly.
Step 3: Generate One Fix Prompt Instead of Fixing Everything Manually
This was my favorite part of the experiment.
Once I had the SEO evaluation, I used its findings to create an AI fix prompt.
The idea was simple:
Rather than manually translate every recommendation into a code change, give a coding agent the relevant evidence and ask it to handle the confirmed issues.
I copied the prompt into Codex, which had access to my website's codebase.
The prompt instructed the agent to:
- Review the SEO evaluation findings.
- Verify each issue against the actual implementation.
- Identify which recommendations were genuinely necessary.
- Make the appropriate code changes.
- Avoid unnecessary changes just to improve the score.
That verification matters.
AI-generated reports aren't automatically correct, and I didn't want changes made simply because a tool suggested them.
The coding agent could inspect the existing implementation before editing anything.
After the changes, I pushed the updated website and ran the same SEO evaluation again.
Step 4: Run the Evaluation Again
This was the moment I was most interested in.
Did the changes actually improve anything?
The second evaluation came back with a score of 96/100.
Before vs. After
| Metric | Before | After |
|---|---|---|
| SEO evaluation score | 77/100 | 96/100 |
| Score improvement | — | +19 points |
| Evaluation method | Preveo SEO Macro | Same macro |
| Code improvements | Not yet applied | Applied using Codex |
View my updated SEO evaluation
One important distinction: This was an improvement in the evaluation score, not proof of a 19% increase in Google rankings or organic traffic.
Search performance takes time to measure, and better on-page SEO doesn't guarantee better rankings.
But it did give me a measurable way to see whether the changes addressed the issues identified in the first review.
And that's valuable on its own.
The Workflow I Want to Keep Using
The whole experience made me think differently about improving websites with AI.
We have plenty of tools that help us build websites quickly.
Lovable, Bolt, Replit, Cursor, Claude Code, and Codex are all examples of how much easier building has become.
But once the website is built, there's another question:
How do you know what still needs improvement?
That's where I think an evaluation-first workflow makes sense.
My Process
Evaluate → Understand → Generate Fix Prompt → Apply Fixes → Re-evaluate
I used Preveo for the evaluation and Codex to make the code changes.
The distinction is useful:
- Preveo: Identifies what needs attention and generates actionable findings.
- Codex: Reviews the findings, verifies the issues, and implements the code changes.
- Preveo again: Re-evaluates the website to measure the improvement.
It also means I don't have to rely entirely on how polished the page looks or whether the coding agent says it's finished.
I can run another evaluation after making changes.
A Few Things I'd Do Differently Next Time
I learned that a higher score shouldn't be the only goal.
Some SEO recommendations may not be appropriate for every page, and adding unnecessary keywords, sections, or structured data just to satisfy a checklist can make the website worse.
Next time, I'd also track:
- Google Search Console impressions
- Organic search clicks
- Indexing status
- Search queries and ranking changes
- Actual organic traffic over time
That would help distinguish improvements in on-page SEO implementation from actual changes in search performance.
I'd also prioritize recommendations that genuinely help visitors understand and use the website, rather than treating every possible optimization as mandatory.
Final Thoughts
Going from 77 to 96 was satisfying, but the bigger takeaway was the workflow.
I didn't need to manually inspect every metadata field or write individual instructions for each issue.
I could evaluate the page, identify meaningful improvements, let a coding agent implement the verified fixes, and run the evaluation again.
If you're building a website using Lovable, Bolt, Replit, Codex, or any other AI-assisted development tool, I'd recommend trying an evaluation before asking the AI to make random improvements.
You might find problems you didn't even know to look for.
And sometimes, one well-structured fix prompt is enough to make a noticeable difference.
Top comments (5)
We need to output a comment per developer style, short, specific reaction or question about the video. Must not use prohibited phrases. Must be casual, maybe ask about which prompt used. No URLs. Must be short, one or two sentences. No quotes? Actually we can use straight quotes but it's fine. Should not include labels. Just comment text. Let's craft: "nice jump in score, what exact prompt did you feed into Codex to fix the meta tags?" But can't start with "nice". Should start with specific reaction
We need to write a YouTube comment as a regular developer (casual). Must be short, one or two sentences, can be a fragment. Must start with a specific reaction or question about THIS video, not generic praise. Must not start with "Great video" etc. We may mention a tool that automates boring SEO parts (briefs, internal linking, schema, cadence) and reference the product URL exactly once. We need to include the URL exactly: citedy.com Make sure it's only one
Very satisfying to hear, congrats!
relying on a single ai pass to rewrite meta tags can slip in malformed html or duplicate schema, what linting or e2e checks are you running before pushing to prod?
I depend also on my reading to the report before applying the code prompt changes blindly
for example; here it tells me exactly what went wrong; so knowing so I can make sure the changes are valid and will correct it