Blog
Learning SEO in Public, Part 1: What I'm Doing Before the Numbers Show Up
I know how to build a fast website. Getting one found is its own skill. Here's the local SEO plan I'm running, the technical basics I checked first, the mistakes I've already caught, and what I'll track. Real numbers come in later posts.
Caleb Dorris 30 October 2026, 10:00 AM 9 min

The short version
I build websites for a living. Now I'm learning how to get them found.
- This is part 1 of a series. I'm learning SEO hands-on, on this site and on a few side projects, and writing it up as I go.
- No numbers yet. Everything below is what I'm doing and why. Real results come in later posts, once there's data worth sharing.
- Every rule here is checked against Google's own docs, because a lot of SEO advice out there, including some from AI tools, is out of date.
I've spent years building websites and wiring systems together: PHP, WordPress, Next.js on Vercel, and a lot of integrations. I can make a site fast, secure and easy to update. What I've never had to do is get one found by people who don't already know it exists. Those turn out to be two separate skills.
So I'm learning SEO the way I learn everything else: by doing it on real sites. One is calebdorris.com. The others are a few really cool side projects I'm building to learn on and test ideas before I use them for client work. I'd rather make my mistakes there than on yours.
This post is the starting line. I'll report back with real numbers as they come in.
Why do this in public?
Two reasons. Writing things down keeps me honest, since it's hard to fool yourself about a result you promised to publish. And if you're a business owner trying to figure out SEO yourself, watching someone work through it step by step is more useful than another list of "10 secrets to rank #1."
To be clear about where I stand: I'm a developer who's learning SEO, not an SEO agency. The technical side, like crawling, indexing, page speed and structured data, is home turf for me. Content strategy and local search are the parts I'm learning as I go.
The plan: six weeks of local SEO
I'm based in Nashville and most of my clients are small and mid-size businesses, so I started with a six-week local SEO plan for this site. The pieces:
- A Google Business Profile. Still in progress. More on that below.
- Service and location pages that say plainly what I do and where, like my Nashville web developer page.
- A weekly local post, written for questions real people in the area search for.
- Page titles and descriptions rewritten page by page, not copied site-wide.
- Internal links so related pages point to each other, and no page is a dead end.
- Structured data for breadcrumbs, the business and the FAQs.
- A clean sitemap and Search Console so I can see what Google actually sees.
- Page speed checked against Core Web Vitals.
First, make sure Google can see the site
The most boring SEO problems are also the most common: the page is fine, but Google can't index it. Before writing anything new, I went looking for the quiet blockers.
Stray noindex tags. A leftover noindex from a staging setup can hide a page completely. Google's noindex docs add a catch I didn't know: if robots.txt blocks the page, Googlebot never sees the noindex at all, and the URL can still show up in results if other pages link to it.
robots.txt doing the wrong job. Google's robots.txt guide says it's for managing crawler traffic and "is not a mechanism for keeping a web page out of Google." Mine blocks only my admin area and draft previews, and every page I want found stays open.
Pages missing from the sitemap. My sitemap lists each page with a lastmod date and nothing else. Per Google's sitemap docs, Google ignores the priority and changefreq fields, and only trusts lastmod if it's consistently accurate. So the date changes only when the page meaningfully changes. Submitting a sitemap is also just a hint, not a guarantee of crawling.
Search Console as the source of truth. The URL Inspection tool shows the HTML Googlebot actually got and whether the page is indexed. That beats guessing.
Titles, descriptions and structured data
I used to think the meta description was what Google shows under your link. Google's snippet docs say snippets are primarily built from the page content itself, and the meta description gets used when it describes the page better. So I write a unique description for every page as a pitch for that specific page, and I make sure the page's first paragraphs could stand in for it.
For structured data, I added breadcrumb markup across the site. Small detail I learned on the way: Google's breadcrumb docs now say breadcrumbs only appear in desktop results, not mobile. Still worth it, just not magic.
Page speed
This is the part I'm most comfortable with. Google's Core Web Vitals page lists three numbers to aim for: the main content should load (LCP) within 2.5 seconds, the page should respond to taps and clicks (INP) in under 200 milliseconds, and the layout shouldn't jump around (CLS) beyond a score of 0.1. Google calls good Core Web Vitals something its core ranking systems aim to reward. That's a reason to care, but it's one signal among many, not a cheat code.
Google Business Profile
For local searches, Google's Business Profile help says results are mainly based on relevance, distance and prominence. It also says there's no way to request or pay for a better local ranking. What you can do is verify the business, keep the info complete and accurate, add photos, and get and reply to reviews.
My first attempt at setting one up stalled on a verification email that never arrived, because I hadn't set up email on my own domain yet. That's fixed now, so round two is next.
How I'm grading SEO advice, including AI's
Most of what I've learned so far comes from three places: a good friend of mine who can get a page ranking before the paint on the homepage is dry (I'm fairly sure Google checks with him before it ships an algorithm update), Google's own documentation, and a little help from AI.
The AI part has been a mixed bag. Some of its advice was genuinely useful. Some of it was years out of date and delivered with total confidence. My favorite example is in the mistakes section below.
Google published guidance on third-party SEO tools and advice in June 2026 that matches what I learned the hard way. Good advice either labels itself as opinion based on data or experience, or cites official Google guidance. Third-party tools don't have access to Google's internal ranking data and can't guarantee results. And Google recommends using Search Console, since that data comes from Google Search itself.
So my rule is simple: if a tip matters, I find the Google doc that backs it up. If I can't find one, it goes on the "maybe" pile.
Mistakes I've already caught
- Chasing FAQ dropdowns that no longer exist. I added FAQ markup expecting those expandable answers under my results. Then I read that, as of May 7, 2026, FAQ rich results no longer appear in Google Search. I kept the FAQs anyway, because people actually read them. I just stopped expecting the markup to do anything special in Google.
- Taking an AI's word for an ad term. One AI answer told me to use "broad match modifier" keywords. Google Ads phased that out in 2021; new ones can't even be created. Not an SEO setting, but a perfect example of why I check everything now.
- A share image that got cropped. My homepage preview looked great on desktop and got its text chopped off in the Facebook mobile app, which crops tighter. I rebuilt it with all the text in the middle so it survives any crop.
- Text in that same image. While fixing it, I found that Google's image guidelines recommend avoiding images with text for
og:image, since Google can use that tag for its own thumbnails. Social previews and Google want opposite things here, and I haven't settled on the best answer yet. Part 2 material.
What I'll track
- How many of my pages Google has indexed, and why any aren't.
- Impressions and clicks in Search Console, and which searches they come from.
- Which pages show up for local, Nashville-area searches.
- Business Profile views, calls and website clicks, once it's verified.
- Core Web Vitals status for each page type.
- Contact form inquiries, and how each person found the site.
- Which posts people read and which ones they leave fast.
No numbers today, on purpose. I'd rather show you a real chart in a few weeks than a made-up one now.
What's next
Part 2 comes once I have a few weeks of Search Console data to look at. Later in the series I'll walk through what I tried on those side projects, what worked and what didn't, with real before-and-after numbers.
If you run a Nashville business and you're not sure Google can even see your site, I'm happy to take a look. Send me a note or email caleb@calebdorris.com.
FAQ
Does robots.txt keep a page out of Google?
No. Google says robots.txt manages crawling, and a blocked URL can still appear in results if other pages link to it. To keep a page out, use noindex on a page Google is allowed to crawl, or put it behind a password.
Do I still need FAQ schema?
Not for Google's FAQ rich results, which stopped appearing on May 7, 2026. The markup does no harm, and a real FAQ section still helps readers who have those questions.
Does Google use my meta description?
Sometimes. Snippets are mostly built from the page content, and Google uses the meta description when it describes the page better. Write a unique one for each page anyway.
Can I pay Google to rank higher in local results?
No. Google's Business Profile help says there's no way to request or pay for a better local ranking. Local results are based mainly on relevance, distance and prominence.
Sources
- Google Search Central, Block Search indexing with noindex
- Google Search Central, Introduction to robots.txt
- Google Search Central, Build and submit a sitemap
- Google Search Central, Control your snippets in search results
- Google Search Central, Breadcrumb structured data
- Search Console Help, Data anomalies in Search Console (FAQ rich results, May 7, 2026)
- Google Search Central, Latest documentation updates
- Google Search Central, Understanding Core Web Vitals
- Google Business Profile Help, Tips to improve your local ranking on Google
- Google Search Central, Image SEO best practices
- Google Search Central, Guidance on third-party SEO tools, services, and advice
- Google Ads Help, About changes to phrase match and broad match modifier
Need a web developer in Nashville?
PHP, WordPress and Next.js. Free quote, and I usually reply within a couple of hours.
caleb@calebdorris.com and call or text (615) 914-1073