04_JOB_PHOTOS_RAW/2026-09-21_set-1/ β caption e.g. "Walk-in shower rebuilt in Cromwell CT β Schluter waterproofing, niche + bench." β Post. 2 min.page 2 of 3 Β· task board Β· data pulled fresh today Sun Oct 4, 2026 from your real Google Search Console (not screenshots of dashboards) Β· no-sugar version
| Batch | Pages | When | Status |
|---|---|---|---|
| 1 deepened | 8 pages made deeper (floors, avon/middletown/farmington, custom) | Sep 30βOct 1 | live |
| 2a/2b/2c β new service hubs + spokes | 9 pages: mudroom, countertops, grout-cleaning (hub+2), bathroom avon+farmington, walk-in, large-format | Oct 1β2 | live |
| 2d β 5 demand spokes | countertop-cromwell Β· mudroom-newington Β· large-format-avon Β· bathroom-newington Β· bathroom-plainville | Oct 3 | live |
| 3a β 2 old-banned towns | Simsbury + Canton full unique pages (census + real permit offices) | Oct 3 | live |
| 3b β Windsor ring | East Windsor Β· Bloomfield Β· South Windsor Β· Ellington Β· Tolland | Oct 3 | live |
| E2 β fixes | 12 town FAQs from real queries Β· 5 thin pages rewritten honest Β· model template upgrade (trust strip, process, price drivers, reviews, mobile bar) β live on 57 pages: all 45 money pages + 12 service hubs (14 of the 21 new pages included; town-hub pages unchanged by design) | Deployed Oct 3 Β· a50c5f61 | live β |
| E3 β Graph fix (internal link architecture) | footer town-matrix removed sitewide: 12 town-links-per-page β 0 Β· one canonical All Service Areas link Β· full town matrix now lives only on /service-areas/ Β· link equity concentrates into services + hubs Β· money pages keep curated nearby-town chips (intent-matched) Β· schema check found Breadcrumbs + Wikidata areaServed already live (no change needed) | Deployed Oct 4 Β· bb80b3b Β· livecheck 85/85 | live β |
9 of 21 indexed β up from 7 yesterday: the large-format hub and the countertop-Cromwell spoke got indexed overnight, all crawled Oct 3. The Cromwell one matters most: it's the dedicated page that should stop countertop searches landing on the backsplash page (the split the other AI flagged). Remaining 12 are the Oct 3 town/demand pages β 24β48h young. Anything still missing after ~10 days gets a manual nudge.
| Page (click = live) | Built | Index status |
|---|---|---|
| /mudroom-tile-installation-ct/ mudroom "β¦near me" family β best pos 1.0, 37 imp/28d | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /kitchen-countertop-installation-ct/ countertop/quartz cluster @ ~9.5 | Oct 1β2 | β not yet Discovered - currently not indexed |
| /tile-grout-cleaning-sealing-ct/ grout cleaning demand 49 imp @ ~20 | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /tile-grout-cleaning-sealing-glastonbury-ct/ grout-cleaning demand spoke | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /tile-grout-cleaning-sealing-middletown-ct/ grout-cleaning demand spoke | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /bathroom-tile-remodeling-avon-ct/ 20 imp was leaking to other pages @ ~20 | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /bathroom-tile-remodeling-farmington-ct/ 14 imp was leaking β same fix | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /walk-in-shower-installation-ct/ shower cluster @12β17 (walk-in intent separate) | Oct 1β2 | β
indexed Submitted and indexed Β· crawled 2026-10-03 |
| /large-format-tile-installation-ct/ β weakest anchor β built on competitor gap, no GSC row yet | Oct 1β2 | β
indexed got in Oct 4 Β· crawled 2026-10-03 |
| /kitchen-countertop-installation-cromwell-ct/ "quartz kitchen countertop installers cromwell ct" @10β12 β split-fix page | Oct 3 | β
indexed got in Oct 4 Β· crawled 2026-10-03 |
| /mudroom-tile-installation-newington-ct/ mudroom family localized to Newington | Oct 3 | β not yet URL is unknown to Google |
| /large-format-tile-installation-avon-ct/ spoke of the hub above (same caution) | Oct 3 | β not yet URL is unknown to Google |
| /bathroom-tile-remodeling-newington-ct/ "bathroom remodel near me" @19.1 cluster | Oct 3 | β not yet URL is unknown to Google |
| /bathroom-tile-remodeling-plainville-ct/ plainville bathroom remodel demand | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-simsbury-ct/ 15 live queries: shower @~20s, bathroom @21.3, backsplash, repair @49 (39 imp total) | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-canton-ct/ shower installers @21.4 Β· backsplash @18.2 (17 imp) | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-east-windsor-ct/ "tile installation east windsor ct" @32.2 | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-bloomfield-ct/ @35.4 | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-south-windsor-ct/ @43 | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-ellington-ct/ @21.4 β best of the wave | Oct 3 | β not yet URL is unknown to Google |
| /tile-installation-tolland-ct/ @36.8 | Oct 3 | β not yet URL is unknown to Google |
Clicks across these 11 days: 15. Honest reading: up and noisy. 4-week view (Sep 2β29): 1,176 β 582 β 965 β 1,254 impressions β the floor of the trend is rising before any new page could contribute. (Fresh pull Oct 4: GSC still lags at Sep 29 β window unchanged; clicks Sep 25β29: 6.)
Not bad news at day 1β3 β pages can't earn clicks before Google indexes and tests them. Indexing pace is normal-to-good (2 more got in overnight). First honest traffic check Oct 6β9; fair judgment 3β6 weeks. I'll log the numbers here.
Zero pages were built on a guess. Each row below is a query people in your area typed before the page existed, and the position we were stuck at without the page. Full list: tab 2's "why" line under each page.
Direction: right and behaving right so far (crawl trust strong, baseline climbing, every page demand-anchored). Results: real proof arrives Oct 6β9 at the earliest β I will put the numbers on this page good or bad.
Built by the agent from live GSC API pulls + the site build ledger. Page 1 (tasks): afnan-tasks.pages.dev Β· Page 3 (deep-deck risk report): /modules/
Everything done on the website lands here, plain words. Tick = verified by you. Add your own notes below; Γ removes a line.
Page 3 of your board Β· plain words Β· written Oct 3, 2026 Β· nothing here is built yet β this is the approval pack task board Β· status & proof
Nothing built yet β I only marked them as adopted. What already shipped on the site (trust strip, "what moves the price", reviews on money pages, mobile call bar) came from my own earlier plan, not from this doc. These 6 go in the deep-deck pilot (1 New Britain page, preview first, you approve, then it spreads or it dies). This page exists so you can approve with eyes open.
| Rule | What gets punished | How we stay safe |
|---|---|---|
| Doorway abuse | Many near-identical pages that only swap a town/service name to catch the same searches | Every page must carry real per-town data: census numbers, its permit office, the housing logic of that town, its own FAQs from its own searches. A shared skeleton is fine; shared meat is not. Modules that can't fill with real data for a combo simply don't render there (no empty filler sections β that's the lock). |
| Scaled content abuse | Producing lots of pages at speed mainly to rank, AI or not | Small batches (5β9 pages/wave), every page anchored to a real typed search first, content written for that town's real houses, volume stays well under Google's tripwires. We are at 85 pages total for a real service business β not a page farm. |
| Thin/useless content | Words that add nothing a searcher couldn't guess | Every module must answer a buyer's actual question with something checkable (numbers from census, actual office addresses, trade standards by name). The test I apply: "would a tile pro in another state predict this text without knowing the town?" β if yes, it doesn't ship. |
Buys: the single most shared, screenshotted, time-on-page format in contractor content. Kills the biggest buyer anxiety ("how long will my bathroom be torn up?").
Search value: catches "how long does X take" questions β real query family.
β Alert: the timeline is per-service, not per-town β so all 9 bathroom pages would share ~90% of it. That's acceptable (it's short, structured, and clearly the same company's process). I will NOT invent a fake town timeline per page just to look unique β that's thin-content thinking in reverse.
Buys: reply-proof against "you're 20% more than the handyman" β the table shows what the money actually is. Also fills 6 of the 11 missing trade-words from my entity sheet in one module.
Search value: exact trade terms = entity signals Google can attach us to.
β Alerts: (a) only list systems we actually use on that service β 12 service-specific versions, not one big table everywhere; (b) Schluter by name is allowed as system naming, but no "Schluter-certified installer" style credential claims (banned, because untrue); (c) keep it a table, not a pdf-dump of standards.
Buys: captures homeowners in "do I need a pro?" mode and converts panic into a call. Very high formatting value (checkbox list).
Search value: informational queries graders research before hiring ("cracked grout corners shower", "loose tiles floor hollow").
β Alerts: (a) intent mismatch risk β a repair-question visitor on a sales page bounces if the page doesn't welcome them; the module ends with the honest soft ask ("text/send 3 photos, we'll tell you straight") rather than a hard sell; (b) symptom sets must differ per service (shower β floor β grout) β 12 versions, not one; (c) only claim the failure types that actually match the town's house age (e.g., mortar-bed pans in pre-1960 stock) β no diagnosing houses we've never seen.
Buys: long pages become scannable; mobile users stop hunting. Pure UX β like a table of contents in a book.
Search value: minor bonus (can earn sitelinks/anchor understanding). Not a ranking lever by itself, and I won't pretend it is.
β Alert: none, realistically. Identical nav on every page is fine β it's interface furniture, not content.
Buys: this is what makes every town page provably different from every other: different era β different substrate β different failure β different job. It's also where your quote expectations get set correctly by town.
Search value: the strongest uniqueness signal we can give each page at data level.
β Alerts (this module has the sharpest rules): (a) "what locals choose" requires our real job history β for towns where we have few or no jobs yet (e.g., Tolland today), that row must be omitted or stated as town-housing logic, never as "our customers here pick X"; (b) all numbers must come from the census pull we already validate β no rounded-from-memory stats; (c) drive times are routing estimates, not magic β labeled as such.
Buys: legitimately valuable homeowner safety info + huge differentiator in towns with old stock (New Britain 69% pre-1960, Hartford legacy areas). Homeowners ask this in trade forums weekly.
Search value: near-zero local competition answers it β clean informational win feeding the sale.
β Alerts (and these are why I weigh it medium): (a) never imply we do asbestos removal β we test-and-refer or the homeowner's licensed abatement crew handles it; wording stays "suspect material gets tested before demo" full stop; (b) no scary "your house will kill you" framing β that's spam-psychology, banned by taste rule; (c) no dollar figures for abatement (the doc floating $8β12/sq ft β that's generic internet data, not ours, not published); (d) it goes only on pages where the housing math justifies it (pre-1980 stock), not carpet-bombed onto Avon colonials where it adds nothing.
No, and here's the honest proof: the page totals ~2,400 words, of which roughly 70% is combination-unique content (town data, service data, town+service facts, reviews) and 30% is deliberate company-standard boilerplate (process, warranty, license) β the same ratio as any credible national contractor site. Thin sites fail the reverse: 90% same words, 10% swapped town name. We fail that test only if we get lazy with the per-combo data β which is exactly what the data-gate rule (no data for a module on that page = module doesn't render) prevents.
Build modules 1, 2, 4 in the pilot now (near-zero risk, highest payoff). Build 5 as the town-facts engine across all money pages (it's already half-built β census + permits live). Build 3 and 6 only where their alerts check out (symptom checker on repair/waterproofing/shower pages first; asbestos note on genuinely-old-stock towns: New Britain, Bristol, Hartford-legacy, Wethersfield β and only with the careful wording above).
Say "RUN deep-deck" and it gets built on bathroom-tile-remodeling-new-britain-ct in the preview with before/after shots again. Say "drop 3 and 6" if you'd rather keep the conservative set only.