You own your domain outright, and you're blogging several times a week with content that reads like a real local practitioner wrote it. But your homepage tells every visitor it's still under construction, every AI answer engine (ChatGPT, Claude, Perplexity) is blocked from ever seeing your 71 blog posts, and mobile pages take almost 10 seconds to load. None of this needs new content. It needs the switches flipped back.
The short version. You're not starting from zero: you're self-hosted, you genuinely blog, and your reviews are real. Your homepage still shows a "Website Update in Progress" banner to every visitor and to Google. And a Cloudflare default silently blocks GPTBot, ClaudeBot, and every other AI-answer crawler from your site, so ChatGPT and Perplexity can never cite the 71 posts you've already written. Every one of these is yours to fix directly: you own the domain, you own the hosting, there's no franchise platform standing in the way.
Teresa introduced us, and we ran the same audit we run for every agent she sends our way: technical crawl, on-page and schema review, blog content quality, and a Google Business Profile check. Every figure below traces to a page we actually fetched or a live API call; nothing here is guessed, and anything we couldn't verify is labeled as such rather than assumed.
Nathan has his own individual Google Business Profile, separate from the Keller Williams Lynchburg brokerage listing, which is the right structure for local-pack visibility. A prior draft of this report flagged the profile as pointing to a different address and a different website, sourced from a third-party review aggregator rather than the profile itself. On direct inspection that was wrong. We've removed it rather than leave a corrected number standing next to an error, and going forward this section is limited to what was checked directly.
Common for agents in this market and a quick trust-signal win to add.
| Citation / profile | Status |
|---|---|
| Google Business Profile (agent-level) | exists, separate from the brokerage listing; not independently audited this pass, no live-browser access this session |
| Booking (Setmore) | NAP matches the website exactly |
| BBB | not found |
| Yelp | bot-blocked, unverified |
| bot-walled, unverified | |
| lynchburgvarealtors.com directory | JS widget, unverified |
Regular Google and Bing search indexing is unaffected; standard organic search works fine. Two other things don't.
A Cloudflare default ("AI Crawl Control", almost certainly never touched on purpose) blocks GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, Bytespider, CCBot, Amazonbot, and Meta's crawler with a flat Disallow: /. ChatGPT, Claude, and Perplexity can never crawl or cite any of your 71 blog posts. Reversing it is a dashboard toggle, not a code change.
Live PageSpeed Insights data (median of 3 runs): lab score 63/100, Largest Contentful Paint 9.8s against Google's 4s "Poor" cutoff. No CrUX field data yet (traffic is too low to qualify), so this is lab-measured, but the gap is large enough to matter regardless.
Checked the homepage plus a spread of blog posts: 0 of 4 direct checks had an H1 tag at all; the visible title renders as an H2 instead (an Elementor page-title widget issue). A broader sample of 12 posts found the same gap on 7 of 12. H1 is the single clearest "what is this page about" signal for both search and AI summarization; right now nothing carries it.
HSTS, X-Frame-Options, X-Content-Type-Options, Content-Security-Policy, Referrer-Policy, and Permissions-Policy are all absent. Add via Cloudflare Transform Rules: five minutes, no plugin needed.
/shop/ is a live, indexable, completely empty WooCommerce page ("No products were found"). Three URLs in your own submitted sitemap (/user/, /logout/, /members-2/) redirect straight to the homepage: broken entries Google is being told to crawl. And /vote-now/ shows an unrelated blog post's title instead of anything about voting.
| Check | Result |
|---|---|
| HTTP → HTTPS / www → apex redirects | clean, single-hop |
| Canonical tags | present, correct |
| Mobile viewport meta | present |
| Sitemap: directive in robots.txt | missing (both sitemaps still work if submitted via GSC) |
| WooCommerce product sitemap | 1 dead "preferred vendor" listing, unused plugin cruft |
Two plugins both inject business schema. We checked four page types directly (homepage, a listing page, a blog post, and the FAQ page) and found the same block, byte-identical, on all four, which points to a shared site-wide template rather than a one-page issue. One of these blocks is broken in a way that makes the whole entity invisible to Google.
The type is written as "RealEstate Agent" , with a space, which isn't a real schema.org type. Google silently drops it. The @id field is also just the literal string "LocalBusiness" instead of a URL. Net effect: despite the plugin having your real data, you currently have no functioning business schema at all.
servesCuisine, hasMenu, hasMap, priceRange all present as empty strings, clear evidence a generic "LocalBusiness" plugin template was never adapted for a real-estate business. The opening-hours field is one unformatted blob of raw tab and line-break characters copy-pasted from a spreadsheet, so it won't parse as structured hours either.
| Schema issue | Priority |
|---|---|
| Business address exists only in schema, never shown on the visible page | High |
| addressCountry: "USA" should be ISO "US" | Medium |
| 5.0/13-review rating claim not backed by visible on-page review count | Medium |
| No BreadcrumbList anywhere on the site | Medium (opportunity) |
| Two competing Organization/WebSite nodes from the two plugins | Low |
Blog post schema is the exception: Article/BlogPosting markup on your posts is well-formed, with real datePublished/dateModified matching the sitemap. No legacy FAQPage schema was found either, which is correct: Google restricts that rich result to gov/healthcare sites now, so there's nothing to add there.
This is the strongest part of the site, and it's worth saying plainly: the blog is not AI-slop. Sampled 12 of 71 posts directly: specific local dollar figures, named counties, real first-person practitioner voice, and consistent freshness signals (every post carries both a publish and an update date).
Posts from December 2024 through roughly May 2026 show auto-generated excerpts as their meta description ; one post even leaks a raw YouTube URL into the description. Only your two most recent posts (August and September 2026) have tight, hand-written descriptions, which is a real, dateable improvement; it just hasn't been applied backward across the archive yet.
| Content check | Result |
|---|---|
| Local specificity & quotable stats | strong, real prices, named counties, dated events |
| Freshness signals (published + modified dates) | present and consistent on every sampled post |
| Author bio / credentials | present but boilerplate, no license number |
| AI-slop phrasing | minimal, 2 of 12 posts, single instances each |
| H1 on post template | missing on 7 of 12 sampled, see Finding 06 |
You told us up front that most of the site "probably shows nothing" and that only the weekly Tuesday poll, new articles, and Open House sign-in are truly active. We tested that claim page by page.
The hero banner reads "Website Update in Progress: Better Experience Coming Soon!" This isn't a rendering bug, it's a deliberate message that's currently live to every visitor and to Google. A construction notice with no completion date reads as abandoned, not "coming soon," and it undercuts every other fix in this report, since the front door is telling people not to trust what they see.
The flip-calculator and rental-calculator pages are both hard-gated behind a "Pro Members" wall with no calculator underneath, despite being the headline cards on /investors/. And /vote-now/, the confirmed-active weekly poll, resolves to an unrelated blog post that only mentions voting on social media; there's no on-site voting mechanism at all.
| Persona journey | Verdict |
|---|---|
| Seller (Home → Selling → Sell My Home) | genuinely complete, real copy, working CTAs |
| Buyer (Home → Home Buying) | functional but thin, link-list only |
| Investor (flip / rental calculators) | member-gated dead end |
| Renter / Home Owner | scaffold only, broken image placeholders |
| Open House sign-in (owner-confirmed active) | sign-in form looks complete |
| Open House list, Free Consultation form, Neighborhood Report | no form/listing visible in raw HTML; needs a live browser check to confirm whether these are JS embeds or genuinely broken |
| Weekly poll (owner-confirmed active) | no on-site voting mechanism found |
| Shop / cart / checkout | confirmed dead, empty WooCommerce install |
You own your domain outright (registered through Namecheap, November 2024) and your own WordPress hosting, confirmed live, not a Keller Williams-controlled platform. That's good news: every fix in this report is yours to make directly. There's no franchise gatekeeper standing between you and any item on the list below.
| Fix | Who does it |
|---|---|
| Correct the address & website on your Google Business Profile | You, today |
| Remove or replace the "under construction" homepage banner | You, today |
| Flip Cloudflare AI Crawl Control from Block to Allow | You, today |
| Decide: finish or pull the Investor calculators & on-site poll | You, this week |
| Fix the RealEstateAgent schema block (one plugin settings pass) | Us, or your WP developer |
| Security headers, sitemap cleanup, H1 template fix | Us, or your WP developer |
| Image compression / lazy-load for the LCP fix | Us, or your WP developer |
Every item on the plan above is yours to hand to any developer, including your own. If you'd rather we just fix it, here's what that looks like at our real rates, not a placeholder number.
The technical punch list: schema fix, security headers, robots.txt AI-crawler fix, sitemap cleanup, H1 normalization, the homepage banner.
A proper GBP audit plus ongoing management: posts, review handling, a drip campaign, review-growth outreach, and UTM tracking. Per location.
Finish what's actually unfinished: real Investor tools, an on-site poll, working forms across the persona pages, plus the full technical SEO and tracking foundation.
These are starting points, not a fixed catalog. Every quote is scoped and sent in writing before anything is billed. Full rate card: myseodesk.com/pricing.
You're further along than most agents we audit at this stage: your own domain, your own hosting, a genuinely active blog, and real five-star reviews. The gap isn't content or strategy; it's a handful of switches (a Google Business Profile field, a Cloudflare toggle, one schema plugin setting, one homepage banner) that are currently pointed the wrong way. Flip those and everything else on this site starts pulling its weight.
Happy to walk through any of this, and just as happy if you or your developer take the list and run with it directly. Either way, thank Teresa for the introduction.