SEO audit · alanrobinsonpainting.com · Nashville, TN · 6 Nov 2026

Alan Robinson Painting: why the site doesn't rank

The pages are optimized. That isn't why the site doesn't rank. On almost every on-page measure the site is ahead of the pages in Nashville's top 10, and more on-page work won't fix this.

It doesn't rank because there's too little real authority behind good pages. The domain is 17 months old, it has 13 clean linking sites against 96 and 390 for the leaders, and the May 2026 core update pushed its city pages down. The site's structure also makes it worse: Google often ranks the wrong page, and the same intent is split across several pages.

The hack is over and no malicious code showed up in this scan. Do this first: stop paid links, earn real local links, and give each search one clear page.

63average position for non-brand organic searches, last 28 days
4 clicksfrom non-brand organic search since the site launched in March 2026
13 vs 96clean linking sites, client vs the #1 organic competitor
44%of impressions on service or city searches land on the wrong page
2.2homepage position for its own name, which is healthy
1 of 33AI answers name the business; The House Painters gets 24
Part 1

Are the pages optimized? Yes.

Homepage against the 8 pages that reached the top 10 for "house painters Nashville" in at least one of 5 reads:

On-page factorClient homepageTop 8 medianRead
Keyword and city in titleYesYes (mostly)Done
Keyword and city in H1YesKeyword 50%, city noDone
Related terms covered85%56%Ahead
Entities covered100%75%Ahead
Topics covered100%88%Ahead
Schema types208Ahead
Images6234Ahead
Reviews on page31Ahead
Map embed, phone, addressYesPhone and address, usually no mapAhead
Word count2,374589Four times longer; more length won't help
Headings4519Heavy
City mentions171.5Well above ranking pages; don't add more
Google's read of "service" as the topic0.130.29Page's main topic is less sharp; not shown to affect rank

Across our 55 searches, word count, headings, term coverage and keyword placement didn't separate who ranks. That's why this isn't the lever, even where the client is behind on a measure.

Technical check: all 107 sitemap pages return 200. None are noindexed, canonicals match, and titles and descriptions are unique. All 10 URLs I inspected in Search Console are indexed, with Google using the declared canonical. The 36 city pages are unique (6–12% overlap).

The one possible content gap: 3 of the top 8 say "commercial painting", and the site never does. If Alan does commercial work, it deserves a page. If not, leave it.

Part 2

Where the pages do fall short: structure

Google is often ranking the wrong page

High confidence

On searches that clearly map to one page, 44% of impressions (537 of 1,224, last 28 days) land on a different page. City hubs beat the page built for the job, and city pages beat the main service pages.

SearchPage Google showsPositionPage that should show
interior painters/belle-meade-tn/27.5/interior-painting/
interior house painting near me/franklin-tn/26.9/interior-painting/
cabinet painting near me/nashville-tn/cabinet-painting/28.0/cabinet-painting/
interior painter brentwood/brentwood-tn/77.9/brentwood-tn/interior-painting/
interior painting franklin/franklin-tn/77.5/franklin-tn/interior-painting/
exterior painter brentwood/brentwood-tn/86.2/brentwood-tn/exterior-painting/

The most specific pages get the fewest links

High confidence

City hubs and main service pages are linked from all 107 pages. The 30 city-plus-service pages get 10–20 internal links each, and /nashville-tn/interior-painting/ gets 12. Google last crawled that page on 22 Aug. The pages meant to win "interior painter Brentwood" are the weakest pages on the site.

The same intent is split across pages

Medium confidence

The homepage ("Nashville House Painters") and /nashville-tn/ ("House Painters in Nashville, TN") target one search. So do /interior-painting/ and /nashville-tn/interior-painting/, and the same goes for each service. Three layers (main service, city hub, city plus service) share limited authority. Nashville searches sit at positions 50–90 on both sets of pages.

Part 3

Why it isn't ranking, biggest cause first

1. Not enough real authority

High confidence

This is the main gap. Competitors with thinner pages outrank the site because more stands behind them. Not in the top 50 for "house painters Nashville":

BusinessAvg positionPage wordsLinking sitesClean linksSeen before 2026New since OctSpam-score 40+
thehousepainters.com9.4692212961302677
nashpainting.com15.0328659390433103170
thevillepaintingco.com17.2191809102453
hiswaypainting.com19.21,16111222212760
allbrightpropainting.com24.21,27726030432771
newdirectionpainting.com25.296111925172758
cumberlandpainting.com28.471912035173265
ipaintnashville.com33.467313620432773
thoseguyspaintingco.com50.2944733172552
alanrobinsonpainting.comnot in top 502,37419813216561

Clean links: followed, spam score under 40, not press-release copies. Link dates are when the crawler first saw them.

Only 2 linking sites were seen before 2026, against 10–433 for competitors. Name searches are 40 a month against about 70 for businesses Google shows. Moz (7) and Semrush (2) are low because the profile is new and thin. A few sites with fewer clean links still rank, so links aren't the whole story; age and the core update are also in play.

2. The May 2026 core update hit the city pages

Medium: timing is strong, cause isn't proven

Google's update ran 21 May to 2 Jun. The site was improving until then and slid from 3 June.

Non-brand organicAprMayJun 3–30JulAugSepOct 3–Nov 3
Average position49425167645663
Clicks0100010
PageMay 1–Jun 2Oct 7–Nov 3Change
/brentwood-tn/42.167.4−25
/franklin-tn/46.067.4−21
/nashville-tn/37.060.4−23
/brentwood-tn/deck-staining-sealing/18.444.9−27
/fairview-tn/21.231.8−11
/deck-staining-sealing/58.942.5+16
/interior-painting/66.033.9+32 (few impressions)
/fence-staining-sealing/62.757.4+5
/cabinet-painting/53.160.0−7

May is non-brand and October is all queries, so treat this as a guide. City pages lost ground and most main service pages held or gained. My read: a young domain with 36 long, same-shaped location pages isn't being trusted for towns it isn't based in. That's an interpretation. Our 55-search data doesn't show that city-page uniqueness matters either way, so test this before changing everything.

3. The domain is young

High confidence

Registered 6 Jun 2025. The median site in the top 10 across our 55 searches is 13 years old, and older sites beat younger ones 57 times in 100 at equal authority. The business dates to 2007, but Google has only 17 months of this domain to judge.

The September 2025 drop was partly a reporting change

Medium confidence

Around 10–14 Sep 2025 Google stopped supporting the &num=100 parameter, and many sites lost desktop impressions while average position "improved". This site shows that pattern: average position on non-hack pages went from about 43 to 16 between 10 and 12 Sep.

That doesn't explain everything. Comparing 15 Aug–8 Sep with 20 Sep–14 Oct, real pages went from 2,324 impressions to 13. Desktop fell from 1,146 to 1, which fits the change, but mobile also fell from 1,172 to 12, and that change mostly affected desktop. So some of the loss looks real, happening while spam pages were still ranking around position 8. The data can't show whether the hack caused it. By February–March 2026, the homepage was the only page with impressions, until the new site launched.

4. Most recent links are low value

High on what exists; not proven to hurt

117 of the 198 linking sites are copies of one press release, all nofollow, on sites like lifestyle.loopbiz.com. Paid-looking listicles and profiles add more (aimention.bcz.com, theomnibuzz.com, mystrikingly, mataroa.blog). Position went from 56 in September to 63 afterward, so the burst didn't help. The 36 "PBN backlinks" sites are automated noise every site gets, and spam levels match competitors, so disavowing won't change much.

Maps and brand are working

High confidence

The Google profile is claimed, with 82 reviews at 5.0 and 1,747 photos. It's #1 from Bellevue, #9 from West Nashville and missing from the 72 results downtown, which is normal distance fall-off. In the last 28 days about 32 clicks came in, 15 through the profile link and 12 to the homepage. Impression counts look inflated: 77–93% of non-brand impressions are desktop, and many #1 profile searches have no clicks, which suggests rank-tracking tools.

Part 4

Hack and code status: no malicious code found

What I checked

High confidence for what's visible
  • 109 URLs fetched 4 ways: as a browser, as Googlebot, as a visitor arriving from Google, and in Japanese from Google Japan. All matched, apart from 2 network timeouts on the Japanese fetch. No cloaking.
  • Every sitewide script read: Google Analytics, Google Ads, Meta Pixel, Microsoft Clarity, Cloudflare analytics, and the site's own menu, gallery, tracking and lead-form code. Forms post to the site's own /intake.
  • No obfuscated code: no eval, encoded payloads or injected redirects. The only JavaScript redirect sends the careers form to its thank-you page.
  • No hidden links or spam text: hidden elements are just the menus, iframes are Google Maps, and no Japanese text appears.
  • Hack URLs are dead: sampled spam URLs return 410, 178 of 182 archived URLs are gone, and no hack pages appear in Search Console's last 28 days.

The hack was large: at least 137 spam sitemaps of 2,500 URLs each in August 2025, and at least 905 spam pages got impressions. Spam pages kept appearing until about 15 Oct 2025, then dropped to 2 impressions over the next 6 weeks.

Leftovers to clean up

  • Two Google verification records in DNS. Hackers sometimes add their own. Check Settings → Users and permissions, and remove any owner nobody recognizes. This is the one item worth checking today.
  • Old DNS records: mail, ftp and autodiscover point through Cloudflare and return a 520 error. Remove them if they're unused.
  • Old hosting traces: certificates show the domain once sat on shared cPanel hosting (apm-online.com, patrickasmith.com), and SPF still allows an old mail host. Confirm the old account and its files are deleted, and tighten SPF.
  • Internal notes in the HTML: build comments are public in the page source. They're harmless but worth stripping.

From outside I can't see Cloudflare Workers or firewall rules, or anything keyed to Google's real IP addresses. To close that gap, use URL Inspection → View crawled page on the homepage and compare it to the live page.

The plan

In order of impact for the effort

This week

  1. Check Search Console: Manual Actions, Security Issues, and Users and permissions. A sitewide manual action looks unlikely given the brand ranking, but only a person can confirm it.
  2. Stop paid links, press releases, listicles and profile blasts. Find out what's still scheduled.
  3. Fix the sitemap: Google lists sitemap-index.xml and sitemap-0.xml, which now 404. Submit /sitemap.xml.
  4. Add redirects: 301 /fence-stain-seal/ and /deck-stain-seal/ to their current pages.

Next 3 months: authority

  1. Earn real local links. Overbrook, the Franklin Nutcracker, Heart of Mary House and the Catholic Business League should each link from their sponsor pages. Aim for 20–30 clean local links at a natural pace.
  2. Build name searches and mentions: trucks, yard signs, local press. 40 searches a month against about 70.
  3. Keep reviews steady: 82 against about 150 for winners. This mainly helps Maps.

Next 3 months: page structure

  1. Give each search one page. Decide which page owns "house painters Nashville" and each service, and have the others link to it.
  2. Point links at the city-plus-service pages from project pages, guides and reviews in that town. Projects already exist for this.
  3. Test the city layer. Pick 1–2 outer towns, merge their 5 service pages into the hub, keep the rest as a control, and compare after the next core update.

Stop doing

  • Adding words, keywords, city mentions, schema or more location pages.
  • Chasing spam score or expanding the disavow file.

Judge progress at the next one or two core updates, using non-brand position (excluding the profile link) and real leads.

Questions for the client
Ruled out

Limits: Search Console is read-only through the API, so Manual Actions, Security Issues, the Sitemaps report and Page Indexing totals weren't visible. I inspected 10 of 107 URLs. The on-page comparison is the homepage on one search, and Bellevue and Franklin got one top-10 check each (the site is in neither). The name-search comparison rests on 2 businesses.