Top-traffic site (3185 hits) wearing a generic "Invest In Real Estate" homepage that ignores its own real-world identity β the actual Cambridge Tower, a downtown Austin high-rise condo at 1801 Lavaca St β while sharing a byte-identical skeleton with three unrelated clone-family domains.
Why it reads as AI
- Homepage skeleton matches earthmodel.com / far-uvclight.com / neighborhell.com: identical :root vars (--bg:#06080d;--sf:#0d1017;--bd:#1e2535), same fixed .nav + subnav, hero with <em> accent, 3 .section blocks of a 12-card .grid, .net 'Also from WholeTech' footer, and the same chat widget β only card copy and the green #34d399 brand accent differ (the CSS --ac is even left at the template default blue #60a5fa).
- Homepage copy is interchangeable investing-blog filler: 'it pays you while you sleep', the '1% rule', 'House Hacking', 'Cash flow is king. Location determines everything', NNN leases β zero mention of Austin or the building the domain names.
- Topic mismatch within the site: homepage = generic national REIT/rental advice; /research/ is specifically Cambridge Tower / Austin (Travis CAD, ABoR, Unlock MLS, Downtown Austin Alliance, and cambridgetower.com cited as primary source β all confirmed present). The homepage doesn't know what its own domain is about.
- Fake 'Ask Me Anything' chat bot (findAnswer) just substring-matches .card text and returns a 200-char slice β same canned widget on every clone, a mass-template tell.
- Stub pages: about.html (172B), faq.html (164B), news.html (168B), resources/social/videos/sitemap.html (176-188B) are meta-refresh redirect shims β machine-scaffolded structure.
- Duplicate WholeTech badge: two near-identical <a href='https://wholetech.com'> blocks rendered back-to-back inside .ni (one with id='wholetech-back').
Problems
- clone Homepage is one of a 4-site clone family (earthmodel.com / far-uvclight.com / neighborhell.com) sharing identical CSS :root, fixed nav+subnav, hero, 3-section/12-card grid, .net footer and chat widget. Topics are unrelated, so the shared skeleton is the dominant AI-network signal.
- thin ~680-word homepage is 12 generic cards of national real-estate advice (REITs, house hacking, 1% rule, NNN leases, Class A/B/C office). Zero proprietary data, zero connection to the Cambridge Tower building or the Austin market /research/ already targets.
- other Identity confusion: the domain IS a real downtown Austin condo (cambridgetower.com is the HOA, cited as primary source in /research/), and /research/ + /history/ already lean Austin/building-specific, but the homepage pretends to be a generic investing portal β wasting the site's only real differentiator.
- nav Duplicate WholeTech badge rendered twice in the top nav (.ni). Subnav links About/Resources/FAQ/News/Videos/Social/Sitemap (all meta-refresh stubs) but only /research/ points to real content; /history/ (with peak.jpg) isn't even in the subnav. Real content is buried or missing from nav.
- thin about/faq/news/resources/social/videos/sitemap.html are 164-188 byte redirect shims; the /research/ page is the only genuinely deep page (curated CAD/MLS links + ~27 sort/filter/onclick handlers = a real sortable table), /history/ holds a hero image + timeline.
Fixes
- M Fork the homepage skeleton so it no longer diffs against the clone family β Rebuild index.html on a distinct Austin-condo layout: hero using history/peak.jpg, a vertical building-fact sidebar, and a market-data panel β not the shared hero + 3-section/12-card grid + .net footer. Change the structural fingerprint (section count, DOM shape, class names), not just the accent color, so a skeleton-diff vs earthmodel/far-uvclight/neighborhell stops matching. While here, set --ac to the brand green so CSS and chrome stop disagreeing.
- L Replace the 12 generic investing cards with a Cambridge Tower market dashboard β Swap 'Why Real Estate?' / 'House Hacking' / '1% rule' cards for a real data table: recent 1801 Lavaca / Cambridge Tower condo sales and active listings, $/sqft trend, HOA dues, and Travis CAD assessed values β sourced from the Unlock MLS / ABoR / traviscad.org links already curated in /research/. This is the data cure for thin content, not more prose.
- M Add a Cambridge Tower carrying-cost / cap-rate calculator β Client-side JS calculator scoped to Cambridge Tower units (inputs: price, HOA dues, Travis CAD tax rate, est. rent β cap rate, monthly cash flow, 1% test), reusing the sort/filter JS pattern already proven in /research/index.html. Turns the abstract card 'rules' into an interactive tool.
- S Promote Research + History into the primary nav; de-stub or drop the rest β Add /research/ and /history/ to the top-level nav (/history/ isn't currently linked anywhere in the subnav). Either fill the meta-refresh stubs (about/faq/news/resources) with building-specific content or remove them from the subnav so nav maps to real pages. Delete the duplicated WholeTech <a> block (the id='wholetech-back' one) from .ni.
- S Rewrite any retained prose to be Cambridge-Tower-and-Austin-specific β Retained copy must reference the actual building and submarket (1801 Lavaca St, downtown Austin / Judges Hill / West Campus, proximity to UT and the Capitol) and verify the building specs (year built, stories, unit count, architect) against the cambridgetower.com HOA site cited in /research/ rather than inventing them β so the page can only be about this building, not transplantable to another domain.
Content plan (real data, not prose)
- Recent-sales + active-listings table for Cambridge Tower / 1801 Lavaca St, summarized from Unlock MLS + ABoR (already linked in /research/), with $/sqft and days-on-market columns, using the sortable/filterable JS table pattern from research/index.html.
- Travis CAD assessed-value row(s) for the building's parcels, linking to the traviscad.org records already curated in /research/.
- Interactive condo cap-rate / carrying-cost calculator: price, HOA dues, Travis CAD tax rate, est. rent β cap rate, monthly cash flow, 1% test.
- Building fact sheet built from verified data (address 1801 Lavaca St, Austin TX 78701; year built, stories, unit count, HOA, architect) cross-checked against the cambridgetower.com HOA site cited as primary source in /research/ β do not assert specs not confirmed there.
- Pull history/peak.jpg and the existing timeline into an 'About this building / site history' module on the homepage instead of leaving /history/ unlinked.
- Dated downtown-Austin condo market brief (Downtown Austin Alliance, Austin Business Journal CRE coverage) as a short timestamped note, not evergreen filler.
Nav plan
- Top-level nav: Home, Listings & Sales (new data dashboard), Calculator, Research, History β surfacing the real pages instead of stubs.
- Delete the duplicate WholeTech badge in .ni (the id='wholetech-back' anchor β currently emitted twice back-to-back).
- Drop meta-refresh stub links (about/faq/news/resources/social/videos/sitemap.html) from the subnav unless filled with building-specific content; add /history/ which is currently not linked anywhere.
- Keep the single WholeTech badge + sitemap.wholetech.com link for network coherence, but move the 'Also from WholeTech' sibling links (Bastrop Realty, Have Listings, Commercial Austin) into the footer only. Note the footer currently claims 'network of 108 websites' β reconcile with the real count.
βΆ Start here: Fork the homepage off the shared clone skeleton and rebuild it around the actual Cambridge Tower (1801 Lavaca, downtown Austin) with a real listings/sales data table sourced from the MLS/CAD links already curated in /research/ β killing the clone signal and the thin-content signal in one pass.
A hand-built Colin Firth fan hub with genuine original assets (Wayback history page, live news RSS, and a link into a 14,000-reply 1996-2004 Firth megathread) β the clean front door to the deep firth.com archive; keep and invest, don't merge.
Why it reads as AI
- Several homepage film blurbs lean on generated-sounding superlatives instead of a fan's specific take: P&P 'redefined the romantic lead' (line 74), A Single Man 'The performance that proved he was Oscar-caliber' (line 82), Love Actually 'The Christmas film that defined a generation' (line 78) β and the same Christmas-film line is copy-pasted into the timeline (line 121).
- Timeline node 'Continued Excellence (2022-26)' (line 126) is a vague catch-all label of the kind LLMs default to, sitting next to specific dated entries.
- Generic 'Ask Me Anything' chat widget (lines 162-221) with placeholder copy 'I know everything about this site'; its client-side fallback (line 210) greps for '.card p, .card-desc, article p' selectors that do not exist on this page (cards use class '.film'), so the fallback always returns the dead-end 'I couldn't find a specific answer' message β a network-wide template tell.
- Stat block claims '70+ Films' (line 66) while the page shows only 12 film cards β a claim with no substance behind it on this page.
Problems
- clone Heavy subject overlap with sister site firth.com (the deep archive, advertised as '247 pages' on line 132/134). Both are owner-run Colin Firth sites that cross-link; risk of looking like duplicate-intent network filler. Needs an explicit hub/spoke division of labor β colinfirth.com is the cleaner, higher-ranking entry point β plus reciprocal canonicals so search engines don't treat them as competing dupes.
- thin Homepage 'Essential Films' grid is 12 hand-picked cards (lines 74-96) against a '70+ Films' stat (line 66). There is no complete or filterable filmography on the .com itself; the gap between claim and content is the thinness, and users are punted to firth.com for depth.
- ai-prose Film-card descriptions and timeline entries use generic superlatives, not concrete sourced facts. No film card carries box office, runtime, director-as-data, or RT/Metacritic scores; e.g. The King's Speech card (line 84) names co-stars in prose but omits its 4 Oscars / $427M gross as structured facts.
- other About-page template-placeholder concern was NOT verifiable from index.html (it lives in about.html, which I did not read). Flag as unconfirmed; verify the maintainer/owner statement, @springnet handle, and contact before acting. The footer already exposes @springnet (line 154) and the chat fallback references info@colinfirth.com (line 207), so the data to fill it exists.
- nav Two competing nav layers ship on the page: the fixed '.nav' (Filmography/Awards/Career anchors + Firth.com, line 51) and a separate rainbow '#subnav-bar' (About/Resources/FAQ/News/Videos/Social/Sitemap/Research/Network Map, line 52). The fragmentation is real and on-page.
Fixes
- S Define and signal the hub/spoke split with firth.com β Position colinfirth.com = curated, fast front door; firth.com = deep archive. Promote the firth.com link out of the buried 'About This Site' section (lines 130-137) into a first-class nav item labeled 'Full Archive'. Add a one-line 'why two sites' note so the relationship reads intentional. Set reciprocal canonicals between the two so they aren't scored as duplicate-intent.
- L Build a real, complete, filterable ~70-credit filmography table β Replace the unbacked '70+ Films' stat with an actual sortable table of all ~70 credits (year, title, role, film/TV, director, award result), reusing the sortable-table pattern from the existing /research/ page. This makes the stat honest and becomes the site's flagship data asset.
- M De-cliche the homepage film cards and fix the timeline placeholder β Rewrite the 12 blurbs to lead with one concrete fact each (e.g. The King's Speech: 'Best Picture + 4 Oscars; $427M worldwide on a ~$15M budget'). Replace the 'Continued Excellence (2022-26)' node (line 126) with the actual credits: Operation Mincemeat (2022), The Staircase / HBO Max (2022). Remove the duplicated 'Christmas film that defined a generation' line so it appears once.
- S Fix or remove the dead-fallback chat bot β The 'Ask Me Anything' fallback (line 210) searches '.card p, .card-desc, article p' selectors absent from this page (cards are '.film'), so when /chat-api fails it always dead-ends. Either point the fallback selector at '.film-desc' so it can actually answer, or remove the widget. A bot that claims to 'know everything' and answers nothing reads worse than no bot.
- S Verify and finish the About page β Read about.html and confirm whether the maintainer/owner, X handle, and contact fields are actually empty before editing. If empty, fill from known data: @springnet (footer, line 154) and info@colinfirth.com (chat fallback, line 207).
Content plan (real data, not prose)
- Complete filmography dataset: compile all ~70 Colin Firth credits (IMDb nm0000147 β already in the page's JSON-LD on line 3 β plus Wikipedia) into a JSON-backed sortable table; columns: year, title, role, type, director, box office, award outcome. Reuse the /research/ sortable-table component.
- Add per-film hard metrics to the marquee cards (King's Speech, Kingsman, Mamma Mia!, Bridget Jones): worldwide gross and Rotten Tomatoes/Metacritic scores, pulled once and hard-coded as data rather than prose adjectives.
- Awards page: expand the 6 award cards (lines 103-108) into a complete dated awards-AND-nominations ledger (Oscar, 3 BAFTAs, Golden Globe, SAG, Venice Volpi Cup, CBE, plus the losing nominations) β a real dataset, not 6 highlights.
- Surface the /history/ Wayback page (the real snapshot history) in the primary nav, not just the subnav β it is the site's most credible original asset.
- Surface the existing austinspring.com Drool megathread cross-link (banner, line 49): a 14,000-reply 1996-2004 Colin Firth fan thread is genuine original archive content β give it a permanent home in nav or the About section, not just a dismissable top banner.
- News page pulls live Google News RSS: verify the /rss-api endpoint is live and add a visible 'last updated' timestamp so freshness is provable.
Nav plan
- Consolidate the two nav layers (the fixed '.nav' on line 51 and the rainbow '#subnav-bar' on line 52) into one coherent bar β the fragmentation is the reason the nav-audit metric reads low.
- Promote real-content pages (History/Wayback, the new complete Filmography table, News) into the primary nav; demote the thin link-list pages (Resources, Social, Sitemap) out of the top-level rainbow bar.
- Make the firth.com archive a first-class nav item ('Full Archive') instead of burying it in the 'About This Site' section (lines 130-137) β cross-linking the sister sites is the whole point of the hub/spoke split.
- Drop the noindex internal pages (/research/, and any /expanse/ roadmap) from user-facing nav; keep them reachable by direct URL only.
βΆ Start here: Build the complete, filterable ~70-credit filmography table on colinfirth.com itself (honoring the '70+ Films' stat that currently sits over just 12 cards) and explicitly position the site as the curated front door to the firth.com archive β turning the firth.com overlap from a duplicate-content liability into an intentional hub/spoke.
A substantial, well-restored Colin Firth fan archive (~250 pages, 784 incl. subdirs; real synopses, cast lists, reviews, critic quotes, 1,900+ Public Eye images, 98KB restored press) held back by hand-varied per-page nav, an orphaned 318-link sitemap, and confabulated 'upcoming films' content bleeding across three homepage sections β the only AI-looking material on an otherwise genuine site.
Why it reads as AI
- Confabulated future-film slate presented as confirmed fact with precise 2026 dates/platforms across three homepage sections: 'Disclosure Day' (Spielberg, Universal, Jun 2026), 'Kingsman: The Blue Blood' (Sep 2026), 'Berlin Noir' (Apple TV+), 'Cry to Heaven' (Tom Ford/Anne Rice with Adele). Confident specificity with zero sourcing is a classic confabulation tell β and it contradicts the site's own embedded IMDb sameAs as the authority.
- Polished freshly-generated marketing framing bolted onto a genuinely old archive: 'A love letter twenty-seven years in the making' (line 633) and the round stat-block '500+ pages / 1,900+ images / 27 years' (lines 649-661).
Problems
- nav Top-nav is hand-varied per page, not a shared component: index.html (lines 505-520) exposes Upcoming/Award Watch/News/Lockerbie/Archive/Bio/The Spring/Other Sites/Boutique/Search, while film pages like king.html expose a different set. A ~250-page (784 incl. subdirs) site has no consistent global nav.
- nav Homepage nav has a duplicate/colliding News link: the hand-authored '/news.html' (line 509) plus an automated '<!-- news-nav-injected --> news/' entry (line 519) produce two 'News' items pointing to different paths.
- nav The 318-link sitemap.html and /research/ are reachable ONLY via the colored WholeTech subnav strip (line 502), not the main site nav; deep pages (king_gal01-04, born_rev, gwape_int, father_notes) are reachable only from within their parent film page.
- other Confabulated future-film content is spread across THREE homepage sections, presented as fact with hard dates and platforms: the 'Latest' news cards (lines 582-615: Disclosure Day/Spielberg Jun 2026, Kingsman: The Blue Blood Sep 2026, Berlin Noir Apple TV+, Cry to Heaven Tom Ford/Anne Rice w/ Adele), the 'What Colin's working on now' projects-grid (lines 697-750), and the 'Future Awards' card (lines 849-853). This is the only AI-confabulated content on an otherwise real archive and it undermines the whole site's authority.
- thin On-site search is fake: search.html posts q to https://www.google.com/search with sitesearch=firth.com (confirmed in source). For a finite ~250-page static archive a real client-side index is trivial and expected.
Fixes
- M Unify global navigation β Author one canonical top-nav and re-inject it into all root + subdir pages using the existing apply_theme.pl / apply_theme_subdirs.pl in the docroot. Remove the duplicate injected 'news/' link (line 519) and reconcile /news.html vs /news/.
- M Make the sitemap a first-class hub β Rework the existing 318-link sitemap.html into a sectioned A-Z index (Films/TV/Theatre/Public Eye/Articles) and link it from the main top-nav so the deep archive is crawlable and human-navigable.
- L Add per-film sub-nav + breadcrumbs β On each film hub page add a tab rail to its satellites (gallery/reviews/multimedia/notes) and a Home>Section>Title breadcrumb so the deep pages stop being orphaned.
- M De-confabulate all three homepage sections β Strip the invented future-film slate from the 'Latest' cards (lines 582-615), the projects-grid (lines 697-750), and the 'Future Awards' card (lines 849-853). Keep only credits verifiable against IMDb nm0000147; label anything unconfirmed 'Rumored/Unconfirmed' with a source link. This removes the only AI-looking content on the site.
- M Ship a real search index β Generate a build-time JSON of {title, description, url} from the ~250 static pages and wire search.html to Fuse.js/lunr for instant client-side search instead of redirecting to Google.
Content plan (real data, not prose)
- Build ONE shared nav partial and inject it identically into all root + subdir pages via the existing apply_theme.pl / apply_theme_subdirs.pl already in the docroot, replacing the per-page hand-varied top-nav (index.html exposes Upcoming/Award Watch/Lockerbie/Archive/Bio/The Spring/Other Sites; king.html exposes none of these).
- Rework the existing 318-link sitemap.html into a sectioned A-Z index (Films / TV / Theatre / Public Eye galleries / Articles) and link it from the MAIN top-nav, not only from the colored WholeTech subnav strip where it currently lives.
- On each film hub page (king.html, born.html, gwape.html, father.html) add a sub-page rail linking that film's own satellites (king -> king_gal01-04, king_mm, king_rev, king_notes) so the deep satellite pages are reachable from their parent instead of orphaned.
- Purge the confabulated future-film content from ALL THREE homepage sections it currently infects, not just one: the 'Latest' news cards (Disclosure Day/Spielberg, Kingsman: The Blue Blood, Berlin Noir, Cry to Heaven w/ Adele), the 'What Colin's working on now' projects-grid, and the 'Future Awards' card in 'What's Inside'. Keep only credits verifiable against the embedded IMDb sameAs (nm0000147); label anything unconfirmed 'Rumored / Unconfirmed' with a source link.
- Replace the Google-redirect search (search.html currently posts q to google.com/search?sitesearch=firth.com) with a real client-side index: generate a build-time JSON of {title, description, url} from the ~250 static pages and wire search.html to Fuse.js or lunr for instant on-site search.
- Give the genuinely strong buried assets hero placement: the Public Eye 1,900-image gallery (p_eye_index.html) and the 98KB restored articleindex.html press archive are the site's real differentiators vs a generic actor wiki, but currently sit mid-page in the 'What's Inside' grid.
Nav plan
- Define ONE canonical top-nav (Home | Films | TV | Theatre | Awards | News | Bio | Public Eye | Articles | Boutique | Search | Sitemap) and apply it identically site-wide via apply_theme.pl/apply_theme_subdirs.pl.
- Fix the duplicate News entry on the homepage: line 509 links /news.html and the injected '<!-- news-nav-injected --> news/' (line 519) collides with it β remove one and reconcile /news.html vs /news/ to a single path.
- Add sectioned sitemap.html to the main top-nav so the deep archive is discoverable; keep the WholeTech network subnav but stop using it as the only path to Sitemap and /research/.
- Add per-film sub-navigation (Synopsis | Cast | Reviews | Gallery | Multimedia | Notes) on film hub pages so satellite pages aren't orphaned.
- Add breadcrumbs (Home > Films > The King's Speech) on deep film-cluster pages.
βΆ Start here: Unify navigation site-wide (one shared top-nav via apply_theme.pl, fix the duplicate News link at lines 509/519) AND strip the confabulated future-film slate from all three homepage sections (lines 582-615, 697-750, 849-853) β the nav fix makes 784 pages discoverable and the de-confabulation removes the only content damaging the archive's credibility.
A genuinely deep, real-data awards database (1072 pages, structured winner/nominee entries, schema.org Event markup, large search index) fatally undermined by being a byte-for-byte clone of tvawardshows.com β verified as the SAME git commit d7c87da, so the only fix is to resolve the duplication, not touch the content.
Why it reads as AI
- Brand-normalized homepage diff against tvawardshows.com is only 18 lines, and every one is a literal 'tvreviewer'/'tvawardshows' swap in canonical, og:url, og:image, twitter:image, and the ld+json url/target β zero content differences. Confirmed today via diff <(sed brand-swap).
- Both domains have exactly 1072 HTML pages AND share the identical git SHA d7c87da29377 (2026-03-30 09:17:07 'Update awards pages, BAFTA history, CSS, AACTA, ACE, ADG, ASC, Annies 2026') β they are two checkouts of one repo, not two independent sites.
- Brand/content mismatch screams template-spray: domain 'tvreviewer' implies TV reviews, but the site is film-led (hero is the 98th Academy Awards, 'Hollywood's biggest night') and the back half is Cannes/Venice/Berlin/Sundance film festivals. Even its own schema name reads 'Award Show Recaps & Coverage' β a name assigned to a generic template, not built for it.
Problems
- clone 100% structural AND content clone of tvawardshows.com β confirmed by identical git SHA d7c87da and an 18-line brand-only homepage diff. The award data, copy, year-tag lists (Oscars 1929-2026, Globes 1944-2026), promo banners, and search index are byte-identical. Two domains serving one dataset is the highest-priority duplicate-content/AI-network signal in the portfolio.
- seo Each page self-canonicals (tvreviewer.com/oscars/2026.html points to itself) with no cross-domain canonical, so Google sees two full copies of a 1072-page awards site competing for the same queries β textbook duplicate-content dilution for both domains.
- other Domain-content fit: 'tvreviewer' is the wrong label for award-show recaps spanning film+TV+music+theater+festivals. tvawardshows.com is the honest name for this corpus; if forced to keep one, keep that.
Fixes
- S Pick canonical = tvawardshows.com, retire tvreviewer.com β Add a server block to /etc/nginx/sites-enabled/tvreviewer.com with 'return 301 https://tvawardshows.com$request_uri;'. Because both are checkouts of the same repo, paths map 1:1 (tvreviewer.com/oscars/2026.html -> tvawardshows.com/oscars/2026.html). Reload nginx with 'nginx -t && systemctl reload nginx'.
- S Consolidate link equity, then verify the redirect β Submit tvreviewer.com/sitemap.xml one last time in Search Console before swapping in the redirect so Google has the URL list to process the 301s. Then curl -I https://tvreviewer.com/, /oscars/2026.html, and /egot.html and confirm each returns '301' with Location pointing at the tvawardshows equivalent. Keep the redirect vhost live indefinitely β do not delete it.
- S Drop tvreviewer.com from the deploy so the clone can't regenerate β The pair exists because one repo is checked out to two docroots. Remove tvreviewer.com's docroot from the deploy/build target (and from sync-droplets if it round-trips), so the next 'Update awards pages' commit lands only on tvawardshows.com. Otherwise the byte-identical pair reappears on the next push and silently outranks the redirect.
Content plan (real data, not prose)
- No new content on tvreviewer.com β it is being retired into tvawardshows.com. The data exists once; the goal is to stop publishing it twice.
- Invest the survivor (tvawardshows.com) effort in the existing real-data tools, not prose: the live odds.html, the egot.html EGOT tracker, the stats.html 'awards by the numbers', and the search index. These are genuine datasets β keep and deepen them (e.g. add a 'this year's predicted winners vs. actual' diff to odds.html after each ceremony).
- Before deleting anything, run a backlink check on tvreviewer.com specifically (Search Console / ahrefs export). If external links point at it, the 301 preserves them β do not reproduce content to chase them.
Nav plan
- No nav changes on tvreviewer.com β the host redirects away.
- Survivor tvawardshows.com's 21-element nav (Explore / Awards / Calendar dropdowns) is already strong and is not the problem; leave it.
- Grep the rest of the WholeTech network for hardcoded links to tvreviewer.com and repoint them to tvawardshows.com, so internal traffic doesn't lean on the 301.
βΆ Start here: 301-redirect the entire tvreviewer.com host to tvawardshows.com (1:1 path map via nginx) and remove tvreviewer.com from the deploy, eliminating the byte-identical, same-git-SHA duplicate of a 1072-page awards database.
A genuine deep-authority Austen site (est. 1997) β full public-domain texts of all six novels, real biography, adaptations pages, a working 17-source curated research table, and 7 hand-written per-novel reading guides β undermined mainly by a duplicate-heavy AI-paraphrased news feed and a bolted-on dark network subnav that clashes with the bespoke cream Regency theme.
Why it reads as AI
- The dated /news/ articles are AI-rewritten from Google News RSS: 2026-04-14-250-years-jane-austen-why-we-still-read-her.html opens 'Two hundred and fifty years after her birth, Jane Austen remains one of the most widely read, passionately debated, and tenderly beloved novelists' and closes with the self-referential sign-off 'At Austen.com, we think...'. That exact sign-off appears in only 2 of 35 dated files, so it is a tell but not pervasive.
- Topic duplication across the 35 dated articles: the same story is rewritten under multiple slugs/dates β emma-corrin Netflix P&P appears ~5x (4-13, 4-13, 4-13-teaser, 4-14, 4-14-variant), jane-austen-adaptations-coming-2026 / more-...-2026 repeat across 4-13/4-14/4-15, the-other-bennet-sister spawned 5 near-identical articles (5-07 x3, 5-08 x2), and the new-sense-and-sensibility-first-footage cluster repeats 3x. Classic auto-churn signature.
- Mojibake in the <title> of 10 of the 35 dated news files: '| Austen.com Γ’β¬β Jane Austen' β the em-dash is double-encoded (UTF-8 read as Latin-1) by the news generator template.
- CORRECTION to prior ticket: research/index.html is NOT empty. It is a fully-built sortable/filterable/searchable table of 17 hand-curated, annotated resources (JASNA, Chawton House, Persuasions, Morgan Library, British Library, Project Gutenberg, Republic of Pemberley, etc.) with type/category/region facets β real reference data. The 7 evergreen per-novel reading guides are also legitimate original content, not churn.
- Homepage is hand-built bespoke (Cormorant/EB Garamond cream theme, real est.-1997 history, stat row 6 novels / 29 years / 100+ links) β clearly NOT an AI clone. Genuine content far outweighs the AI news layer.
Problems
- thin The 35 dated /news/ files are heavily duplicated AI rewrites of the same handful of real stories (emma-corrin Netflix P&P ~5x, adaptations-coming-2026 ~3x, the-other-bennet-sister 5x, S&S-first-footage 3x). Inflates the feed to near-identical thin pages around ~6 actual news items.
- ai-prose The dated news articles use AI 'original essay' framing rather than honest aggregation; 2 files carry the 'At Austen.com, we think...' sign-off and the 250-years piece opens with telltale tricolon cadence.
- other 10 of 35 dated news files have a double-encoded em-dash in the <title> tag ('Austen.com Γ’β¬β Jane Austen') β a charset bug in the news-page generator template.
- nav Two parallel navs: a fixed-position dark WholeTech subnav (About/Resources/FAQ/News/Videos/Social/Sitemap/Research/Network Map, neon multicolor links) sits above the site's cream top-nav. 'News' and 'Resources' appear in both bars, and the dark gradient bar with backdrop-blur visually fights the bespoke cream Regency theme.
- thin resources.html is a 42-line stub that does not even reference the real on-disk link pages (onaust.htm/offaust.htm/onreg.htm) the homepage links to β a redundant placeholder competing with both those pages and the working /research/ table.
Fixes
- M Deduplicate the dated news feed to one page per real story β Collapse the 35 dated /news/ files to ~6 canonical articles (one each for the emma-corrin Netflix P&P announcement, the S&S first-footage, the-other-bennet-sister, the adaptations-coming-2026 roundup, the 250th-anniversary piece, and the stage productions). 301 dropped slugs to the survivor. Keep the 7 evergreen per-novel reading guides untouched β they are real content.
- M Re-skin surviving news as sourced link-roundups, not faux-original essays β Strip the AI essay framing and the 2 'At Austen.com, we think...' sign-offs; replace with a 2-3 sentence factual summary plus a prominent link to the real source stored in each file's .meta/archive.json block. Honest aggregation reads far less AI than rewritten prose.
- S Fix the news-template title-tag charset bug β 10 of 35 dated files emit '| Austen.com Γ’β¬β Jane Austen'. Set the generator template to emit UTF-8 and re-render existing titles so the em-dash renders correctly.
- S Reconcile resources.html against the real link pages and the research table β resources.html (42-line stub) overlaps onaust.htm/offaust.htm/onreg.htm and the working /research/ table. Either redirect resources.html to /research/ (or to offaust.htm) or rebuild it as a thin index pointing to those four, and remove the duplicate Resources entry from one of the two navs.
- S Restyle or shrink the dark WholeTech subnav to match the cream theme β Either reduce the fixed dark subnav to a single 'back to WholeTech network' link, or recolor its links/background to the cream/Cormorant Regency palette so it stops reading as bolted-on template chrome. Remove the News/Resources duplication between the dark bar and the cream top-nav.
Content plan (real data, not prose)
- Build a searchable concordance / character index across the six on-disk novel texts (vol*ch*.htm): per-novel chapter list with first line, character roster, and key-quote anchors. Northanger 31 ch, S&S 50, P&P 61, Mansfield 48, Emma 55, Persuasion 24 β a genuine reading tool no rival Austen fan site offers.
- Add a structured Adaptations dataset: a sortable table (year, director, lead cast, runtime, streaming availability) for the versions already named on the homepage β 1995 BBC P&P, 2005 Knightley P&P, 2020 Taylor-Joy Emma, 2022 Netflix Persuasion, Clueless, Bridget Jones β real data, not prose. This also gives the recurring news 'adaptations' churn a single authoritative home.
- Extend the EXISTING /research/ table (already 17 annotated sources) rather than rebuilding it: add an annotated critical-bibliography section (Tomalin, Worsley, Honan, Cambridge Companion β already named in the shop) with links to JASNA Persuasions full-text articles, as a new 'type' facet in the same table.
- Add a 'where to read each chapter' deep-link map / reading-progress anchors over the existing complete texts, surfacing the depth the homepage advertises (6 novels, 100+ links) directly in nav.
- Replace the per-item news essays with a single dated digest page that de-dupes the live Google News 'Jane Austen' RSS into source-linked one-line entries, instead of spawning one AI article per item.
Nav plan
- Collapse to one coherent navigation: restyle the dark WholeTech subnav to the cream Regency palette or shrink it to a single network back-link, so it stops clashing with the bespoke theme.
- Eliminate the News and Resources duplication that currently appears in both the dark subnav and the cream top-nav.
- Add a top-level 'Texts' or 'Read' dropdown grouping the six novels β they are currently only reachable via homepage cards, footer, and What's-Inside, not a single nav menu.
- Point the Resources nav entry at the real link pages (onaust/offaust/onreg) or the /research/ table, and retire or redirect the thin resources.html stub so nav never lands on a placeholder.
βΆ Start here: Deduplicate the 35 dated /news/ files down to ~6 canonical stories and convert survivors from AI-rewritten essays into short sourced link-roundups β this removes the site's single biggest AI tell (duplicate auto-churn) without touching the genuinely valuable novel texts, reading guides, or the working research table.
A byte-identical clone of tvreviewer.com (1072 HTML files, zero differing files outside .git, verified by diff -rq) that self-canonicalizes to tvreviewer.com on all 1063 canonicalized pages β the content is genuinely excellent and human-curated, but it must not exist as a separate domain.
Why it reads as AI
- Not AI-prose β body content is real and specific (98th Oscars winners, BAFTA/SAG/Grammy/DGA results with named venues and dates, EGOT tracker, working search index)
- The only footprint tell is structural cloning: diff -rq against tvreviewer.com returns zero differing files outside .git; both domains serve the identical tree byte-for-byte (1072 HTML files each, confirmed)
- Self-identifies as a duplicate: 1063 of 1072 HTML files declare rel=canonical to https://tvreviewer.com, and robots.txt Sitemap points to https://www.tvreviewer.com/sitemap.xml
Problems
- clone tvawardshows.com is a 100% byte-identical mirror of tvreviewer.com. diff -rq across both full trees returns no differences excluding .git. Textbook duplicate-content / network-footprint risk.
- seo Every canonical, og:url, JSON-LD url, and the robots.txt Sitemap point at tvreviewer.com (verified: oscars/2026.html canonical = https://tvreviewer.com/oscars/2026.html; robots Sitemap = https://www.tvreviewer.com/sitemap.xml). The domain serves content but cedes all SEO equity to tvreviewer.com.
- seo Verified on index.html: title and og:site_name both read 'TVReviewer.com', meta description opens 'TVReviewer.com β', canonical = https://tvreviewer.com/. A visitor on tvawardshows.com sees the wrong brand everywhere; zero differentiation.
Fixes
- S 301 the whole domain to tvreviewer.com in nginx β Add a path-preserving wildcard 301 in the tvawardshows.com vhost: return 301 https://tvreviewer.com$request_uri. The canonical target is already declared on 1063 pages, so this just makes the redirect match what every page already says. Stop serving the duplicate HTML.
- S Stop deploying the docroot under tvawardshows.com β After the 301 is live, remove the 1072-page duplicate tree from the tvawardshows.com docroot and keep the domain as a redirect-only host. Drop it from the sync-droplets mirror so the clone isn't re-pushed.
- L Fallback only if business reason forbids the 301: rebrand and re-niche, don't mirror β If the domain must stay live, it cannot serve identical bytes. Narrow it to a distinct angle tvreviewer.com doesn't own β e.g. a ceremony-night live-blog / telecast-ratings angle (host, network, viewership numbers, run-time, telecast controversies) keyed off the award-show broadcast itself, with its own h1/title/canonical set to tvawardshows.com. This is real net-new work, not a meta swap.
Content plan (real data, not prose)
- No new content for this domain as-is β it is a duplicate, not a thin site. The cure is consolidation, not more pages.
- All real data assets (search-data.js index, the per-year winner-list pages, EGOT tracker, awards calendar, red-carpet gallery) already live on tvreviewer.com and should be deepened THERE as the single authority hub.
- Only if the L-effort fallback is chosen: differentiate with telecast-specific data tvreviewer.com lacks β Nielsen/overnight viewership per ceremony, host history, network/airtime, run-time, and notable broadcast moments β sourced data, not regenerated prose.
- Redirect the ~1384 recent hits into tvreviewer.com so traffic consolidates instead of splitting the index.
Nav plan
- No nav on this domain β it should resolve to 301s, not render its own 21-element nav.
- Maintain the Explore / Awards / Calendar megamenu on the surviving tvreviewer.com only.
βΆ Start here: Add a path-preserving wildcard 301 from tvawardshows.com to tvreviewer.com in the nginx vhost (return 301 https://tvreviewer.com$request_uri) and drop the domain from the mirror, eliminating the byte-identical duplicate tree the site already canonicalizes away.
A genuinely strong, hand-crafted homepage and topic hubs are dragged down by 209 near-identical AI-spun "news" articles that take a Google News headline and emit ~300 words of source-free commentary with no named companies, numbers, or quotes.
Why it reads as AI
- 205 of the 209 news files carry the identical footer disclaimer 'This article was independently written and is not affiliated with the original source' β the unmistakable signature of an RSS-feed auto-rewriter (verified: grep matched 205 files).
- Articles editorialize without reporting: the piece '2026-04-14-ai-stock-predicted-to-double-by-end-of-2026.html' never names a single stock, ticker, or dollar figure (verified: grep for nvidia/palantir/amd/broadcom/nasdaq/$N = zero hits in that file).
- Only 15 of 209 articles mention any named public company or ticker at all β the other 194 discuss 'AI stocks', 'the model', 'the study' in the abstract with no proper nouns.
- A hedging-essay tic recurs structurally: the phrase 'the real ...' (e.g. 'the real industry question isn't whether') appears in 42 separate articles, and timeless openers like 'Another week, another headline' recur β content generic enough to apply to any week.
- All 209 sit in a plainer dark cyan-on-near-black single-column template that shares none of the homepage's 4-theme brutalist CSS, topbar, or theme switcher β they read as a bolted-on content farm.
Problems
- thin 209 articles in /news/ average ~280-330 words of opinion body with zero primary data. Only 15/209 name any company or ticker. The 'AI stock could double' piece names no stock; the clinical-reasoning pieces name no model, benchmark, or institution.
- ai-prose Uniform RSS-rewrite voice: 205/209 carry the 'independently written and is not affiliated' disclaimer; 42 reuse the 'the real ... question' hedging frame. This is the machine-generated bulk the audit flagged (note: 'check if it reads as machine-generated').
- nav Root topic pages (claude.html, chatgpt.html, image-ai.html, etc.) are <meta http-equiv=refresh content='0;url=/claude/'> stubs. The real hub content lives in /claude/, /chatgpt/, /image-ai/ (each has its own index.html). Meta-refresh is a deprecated soft redirect; should be nginx 301.
- design News articles use a separate plainer dark template (cyan-on-near-black, ~740px) with no shared topbar, theme switcher, or network nav β only a single 'Back to AI Whole Tech' link β so they look like a different site.
Fixes
- M Gate the news pipeline on extractable facts; reject source-free filler β Require every auto-generated article to contain >=1 named entity (company/model/institution) AND >=1 number or date pulled from the source. The stock article failing to name a ticker is disqualifying. If the RSS item yields no specifics, skip it. This is why only 15/209 currently name a company.
- L Collapse the 209-article dump into ~30 dated weekly 'AI This Week' digests, noindex the rest β Replace 209 thin standalone pages with one roundup per week: 3-5 entries each citing the actual company/study/number and linking the real source. 301 or noindex the ~179 retired URLs. Trades 209 thin pages for ~30 substantive ones.
- M Re-template /news/* into the homepage chrome β Wrap article pages in the existing 4-theme brutalist CSS, topbar, theme switcher, and WholeTech subnav so they stop reading as a separate content farm. They currently share none of index.html's stylesheet.
- S Replace the meta-refresh root stubs with nginx 301s β claude.html/chatgpt.html/image-ai.html (and the other ~9 *.html stubs) use <meta http-equiv=refresh> to point at their /claude/ /chatgpt/ /image-ai/ dirs. Move to server 301s in /etc/nginx/sites-enabled/aiwholetech.com so equity and crawlers resolve cleanly.
Content plan (real data, not prose)
- Build a maintained 'AI Model Comparison' table at /models/: model name, context window, input/output price per million tokens, and release date for Claude (Opus 4.7/Sonnet 4.6/Haiku 4.5), GPT-5/o3, and Gemini 2.5 Pro/Flash β pulled from provider pricing pages. The homepage already lists these models statically; turn that into a real dated dataset with a 'last verified' stamp.
- Ship a 'Which AI tool for my job?' picker: user selects a task (write email / make an image / transcribe audio / generate video / code) and gets a concrete shortlist with current pricing and free-tier notes β converts the static 8-topic grid into an interactive utility tied to the existing topic hubs.
- Replace the news firehose with a human-edited weekly digest that names sources: for the clinical-reasoning story, name the actual model, the benchmark (MedQA/USMLE), and the institution; for AI-stock items, name and link the actual ticker/filing or drop the item.
- Add a 'Free tier vs paid' reference table per topic hub (chatbots, image, audio, video, coding): what each tool gives free, the paid price, and the hard usage cap β concrete numbers the existing prose hubs currently lack.
Nav plan
- Keep the homepage nav as-is (Models/Topics/Start/News/About + theme switcher + WholeTech network bar) β it is the site's strongest asset.
- Push the same topbar/subnav into /news/* article pages, which currently have only a single 'Back to AI Whole Tech' link and no site nav.
- Add prev/next and category links between the surviving digest pages so news forms a browsable cluster instead of orphan pages reachable only via the index.
- Remove the duplicate injected 'News' link in the homepage topnav (there are two: /news.html and news/, the second under a 'news-nav-injected' comment) β point both at the canonical news index.
βΆ Start here: Collapse the 209-article source-free news dump into ~30 weekly digests that name real companies/numbers/studies (currently only 15/209 name any company), and ship one piece of live data β a maintained model-comparison table β so the site's substance matches its excellent hand-built homepage.
A genuinely substantive family-history/biography hub with real genealogical content (Walhus, Frauenthal, King, Cinader, Aubuchon lines, 1830-present), sabotaged by unfilled template placeholders ("his cousin" x11 in the timeline, literal "[private site]" cards and hrefs), three byte-identical "biography versions," and a dead featured Family Tree link.
Why it reads as AI
- Timeline subtitle has an empty branch in the list: 'Walhus, Frauenthal, , King, Cinader, Aubuchon. 1830 to present.' β a merge field left blank (verified in /timeline/index.html)
- 'his cousin' appears 11 times in /timeline/index.html and once in bio/index.html β an unfilled relationship merge field leaking to public pages (e.g. 'Twins his cousin and Muriel born', 'his cousin buys first O'Keeffe')
- bio/index.html 'Related Sites' cards are literally titled '[private site]' and link to the broken URL https://[private site] (4 occurrences of the string, 2 used as hrefs) β even though a real target, barneyfrauenthal.com, exists in the network
- bio/paul.html, paul2.html, paul3.html are byte-identical (227702 bytes, MD5 5fa3245027be9e9d6f1b4cd0618040e6) yet presented as three distinct drafts (V1 12-chapter / V2 expanded / V3 100-chapter flagship) β a fabricated version distinction
- Other empty merge fields render in the timeline: ' Park' (2001) and 'Christie's sells collection' (2018) β leading/double spaces where a name should be
- Generic appended 'Ask Me Anything' bot widget and stock WholeTech footer block, boilerplate shared across the network
Problems
- other Unfilled template placeholders are publicly visible and verified by grep: 'his cousin' x11 in /timeline/index.html plus 1 in bio/index.html; '[private site]' appears 4x in bio/index.html, twice as a literal href https://[private site] (broken link); empty merge fields ' Park' (2001) and 'sells collection' (2018) in the timeline.
- clone bio/paul.html, paul2.html, paul3.html are identical 227702-byte files (same MD5) but the bio hub describes them as First Pass / Expanded / 100-chapter Flagship. The version distinction is fake β all three serve one file.
- thin The homepage features a green 'Family Tree' link and footer 'Visual Tree' links, but /familytree/index.html is a 'Temporarily Unavailable' stub carrying meta robots noindex,nofollow (verified). The single most clickable family-history element is dead; familytree-visual/ is the same.
- nav Top nav has only 3 in-page anchors (#walhus, #frauenthal, #paul, verified) for an 88-page site. The deepest real content β timeline/, sources/, bio/, photos/, history/ β is reachable only via the appended subnav/footer, not the primary nav.
- seo Canonical mismatch verified: index.html canonical is https://www.walhus.com/ (www) while timeline/index.html canonical is https://walhus.com/timeline.html (non-www, and a .html path for a page that now lives at /timeline/). www-vs-non-www and .html-vs-directory are inconsistent.
Fixes
- S Purge the named-relative and private-site merge placeholders β Grep the docroot for 'his cousin', '[private site]', and double-space/empty list patterns. In /timeline/index.html: fill the blank subtitle branch ('Walhus, Frauenthal, , King...'), replace all 11 'his cousin' tokens with the real named relatives, and fix the ' Park' (2001) and 'sells collection' (2018) entries. In bio/index.html: change the two '[private site]' cards/hrefs to barneyfrauenthal.com (a real sibling site in the network) or remove them.
- S Collapse the three identical paul*.html files to one canonical biography β paul.html, paul2.html, paul3.html share one MD5. Delete paul2.html and paul3.html, point the bio hub at the single biography, and drop the fake V1/V2/V3 framing β or, if three real drafts are wanted, generate genuinely different content. Do not serve one file as three.
- M Build the real Family Tree or stop linking it β /familytree/ and /familytree-visual/ are noindex 'Temporarily Unavailable' stubs. Either build the SVG/JSON tree from the timeline data (content plan) or remove the green homepage 'Family Tree' link and footer 'Visual Tree' links until it ships. Don't feature a dead stub as the primary CTA.
- S Promote the real sections into the primary nav β Replace the 3-anchor top nav with Home, Family Tree, Timeline, Biography (bio/), Sources, Photos so the 88 pages are reachable from the primary menu, not just the appended subnav. Keep #walhus/#frauenthal/#paul as in-page anchors on the Walhus page.
- S Pick one host and one URL form, then fix canonicals β Choose www or non-www and directory or .html, then update index.html (currently www root) and timeline/index.html (currently non-www /timeline.html) to match, plus any familytree-visual references that point at moved .html paths.
Content plan (real data, not prose)
- Build an interactive Family Tree at /familytree/ from a structured JSON dataset of the people already named on the timeline β Mikkel Larson Dahl Walhus (1830-1907) + Ingeborg (b.1834, d. age 94) and their 9 children incl. John M. (b.1858) and Martin J., D.D.S. (b.1889); Max Frauenthal (1836-1914) + Sallie Jacobs and their 13 children incl. Dr. Henry Frauenthal (1862-1927) β rendered as a D3/SVG tree, not prose.
- Add a Sources/citations page backing the specific claims already asserted: Houston County MN genealogical records, the NRHP listing for Frauenthal & Schwarz at 904 Front St, Conway AR, Cleburne County's 1883 creation, and the Titanic Lifeboat No. 5 / Annie May Stengel episode β with outbound links to FindAGrave, the NRHP database, and the Encyclopedia of Arkansas.
- Convert bio/contacts.html, bio/database.html, and bio/todo.html (all present in the bio/ dir) into a real searchable interviewee/source table, or move them behind auth if they are private working docs β don't leave them as placeholder cards.
- Add a 'Heber Springs / Spring Grove' place page linking the two founding towns to map embeds and the JFK October 1963 Greers Ferry Dam dedication already cited in the timeline.
Nav plan
- Replace the 3-anchor top nav (#walhus / #frauenthal / #paul) with a real menu: Home, Family Tree, Timeline, Biography, Sources, Photos.
- Keep the family-side anchors as in-page jumps within the Walhus page, but promote Timeline, the bio/ hub, and Sources to top-level since they hold the deepest real content.
- Make the bio/ hub link back into the main nav and switch its 'Related Sites' cards from '[private site]' to the working barneyfrauenthal.com.
- De-emphasize the appended WholeTech subnav/footer so it doesn't duplicate the primary navigation.
βΆ Start here: Strip every unfilled template placeholder from the public timeline and bio hub β the 11 'his cousin' tokens, the blank subtitle branch, the ' Park'/'sells collection' empty fields, and the four '[private site]' strings (two of them broken https://[private site] hrefs). These are the clearest machine-generated tell on the site and include live broken links.
A genuinely strong, custom retro-TV-guide homepage sitting on top of a 190-page dump of off-brand, AI-spun Emmy/BAFTA awards articles lifted from sibling site tvreviewer.com β the front door is great, the building behind it is filler, and the front door doesn't link to a single internal page.
Why it reads as AI
- 190 articles in /news/, 122 of them (64%) still carry '| TV Reviewer' in the <title> β spun/copied from a sibling site, not native to TV Night
- Near-identical spun variants of the same story: 5 'Shawn Hatosy / The Pitt Emmy history' files (hatosy-emmy-history-guest-role / -guest-star / pitt-emmy-history-guest-actor / the-pitt-emmy-history-guest-actor / a second -guest-star), 4 '2026-tv-premiere-dates' twins, and ~11 'weekend streaming picks' near-dupes β classic AI doorway pages
- Awards corpus is regional/inside-baseball Emmy/BAFTA filler wildly off-brand for a 'what to stream tonight' site: 45th College Television Awards, BYU student Emmys, 75th Engineering Emmy honorees, RTS craft nominations, Mary Berry / Martin Lewis BAFTA specials β 147 of 190 articles are awards-themed, only 33 are actual streaming guides
- Homepage's own product is hand-built and real (cites Hollywood Reporter / FlixPatrol / Nielsen, lists current titles: The Boys S5, Dutton Ranch, Running Point, Severance) β the contrast with the machine-spun /news/ dump is the tell
Problems
- ai-prose 190 articles in /news/ are AI-spun filler; 122 (64%) still titled '| TV Reviewer' (copied from tvreviewer.com). 147 are awards-season inside-baseball (College TV Awards, BYU student Emmys, Engineering Emmys, RTS/BAFTA craft) that has nothing to do with the homepage's 'what's hot to stream tonight' promise.
- clone Confirmed near-duplicate spun sets: 5x Shawn-Hatosy/The-Pitt, 4x '2026-tv-premiere-dates', ~11x 'best weekend streaming picks' (worse than the ticket's earlier 3x estimate), plus repeated BAFTA-2026-nominations and college-television-awards twins. Reworded copies of one source article each β the exact doorway pattern Google flags.
- nav Homepage links to ZERO internal pages. All 8 'Browse by Channel' buttons (Trending/Drama/Comedy/Thriller/Western/Sci-Fi/Action/Reality) are href="#" β dead. Every working link goes to a sibling site (tvreviewer.com, tvshowdb.com, tvawardshows.com) or external source (Nielsen, THR, FlixPatrol). The 190-article /news/ index is not linked from the homepage at all. There is no site nav.
- thin 7 top-level files (about.html, news.html, faq.html, tonight.html, resources.html, social.html, sitemap.html) are bare meta-refresh redirect stubs β no content, inflating page count and link audits.
Fixes
- M Purge the 147 off-brand AI awards articles, 301 to tvreviewer/tvawardshows β Delete the 147 awards-season articles in /news/ (Emmy/BAFTA/RTS/College-TV/regional-station awards, mostly '| TV Reviewer'-titled). That beat belongs on tvreviewer.com / tvawardshows.com β 301 each to its matching sibling URL where one exists, 410 the rest. Keep ONLY the 33 genuinely on-brand streaming-guide pages.
- S De-duplicate the surviving streaming guides β Collapse the 5 Shawn-Hatosy variants, 4 '2026-tv-premiere-dates' twins, and ~11 'weekend streaming picks' near-dupes down to one canonical page each (newest/most complete wins); 301 the rest into the survivor. Keep one monthly streaming-guide per month, not three reworded versions of May.
- M Wire the 8 dead genre buttons to filtered listings from the homepage dataset β The 8 'Browse by Channel' buttons (Trending/Drama/Comedy/Thriller/Western/Sci-Fi/Action/Reality) are href="#". Point them at genre-filtered 'streaming now' pages built from the same trending dataset that already powers the homepage guide grid β e.g. WESTERN surfaces Dutton Ranch/Landman/1923, SCI-FI surfaces Andor/Severance.
- S Add a persistent retro nav and link /news/ from the homepage β Add a nav styled to the existing VT323/Rubik-Mono retro guide aesthetic: Tonight | By Channel | New This Month | Streaming Guides. Surface the 33 surviving streaming guides from the homepage so reachable on-topic content exists β right now 100% of homepage links are external/sibling.
- S Resolve the 7 meta-refresh redirect stubs β For each top-level stub (about/news/faq/tonight/resources/social/sitemap.html): either delete it and keep the real /about/, /news/ directory page, or convert to a server-side 301. Stop the meta-refresh stubs from counting as crawlable pages.
Content plan (real data, not prose)
- Make the homepage's 'TONIGHT'S LINEUP' grid the site's actual maintained product: a weekly-refreshed 'what's hot by streaming service' dataset. It already cites Hollywood Reporter / FlixPatrol / Nielsen and lists real current titles (The Boys S5, Dutton Ranch, Running Point, Severance, Love Island USA) with premiere dates β turn the hardcoded HTML rows into a dated JSON the page renders, so the 'EARLY JUNE '26' week stamp is a real refresh and not a static block.
- Build the 8 per-service landing pages already named in the guide grid (Netflix, Apple TV+, HBO Max, Hulu/FX, Paramount+, Disney+, Prime Video, Peacock), each showing that service's current top titles + what premieres this month, fed from the same dataset β not new prose.
- Build the 8 genre pages behind the 'Browse by Channel' buttons as filtered views of the current-titles dataset (Western = Dutton Ranch/Landman/1923, Reality = Love Island USA/The Traitors, etc.) β derived data, zero new written articles.
- Keep and consolidate the legitimately on-brand monthly streaming guides into one recurring 'New This Month' premiere calendar with real dates (Avatar TLA S2 Jun 25, HotD S3 Jun 21, The Bear S5 Jun 25, Sugar S2 Jun 19) instead of three reworded copies per month.
- Run the existing Taylor Sheridan / Paramount+ angle ('IT'S SHERIDAN'S TV NOW') as a genuine recurring tracker of his slate (Dutton Ranch, Landman, Tulsa King, 1923, Lioness, Mayor of Kingstown, The Madison) with current Nielsen rank, linking out to tvreviewer.com's deep showrunner pages rather than re-hosting spun copies.
Nav plan
- Add a top nav matching the retro guide aesthetic (VT323 / Rubik Mono): Tonight | By Channel | By Genre | New This Month | Streaming Guides.
- Make the 8 'Browse by Channel' homepage buttons live links to the genre/service pages instead of href="#".
- Link the de-duplicated /news/ streaming-guide index from the homepage footer and nav so on-topic content is reachable from the front door.
- Keep the TV Network sibling bar (tvreviewer.com / tvawardshows.com / tvshowdb.com) but ensure internal links exist too β currently 100% of homepage links are external or sibling.
- Delete or 301 the 7 meta-refresh top-level stubs so crawl paths are clean.
βΆ Start here: Purge/301 the 147 off-brand AI-spun awards articles (the '| TV Reviewer'-titled Emmy/BAFTA/RTS/College-TV dump plus the 5 Shawn-Hatosy, 4 premiere-date, and ~11 weekend-streaming near-duplicate twins) to tvreviewer.com/tvawardshows.com β that dump IS the entire AI-generated footprint on this site; the hand-built homepage is good and worth keeping.
A genuinely strong single-page artist portfolio (real .doc-sourced bio, 28 real categorized pastel works, authentic narrative-painting technique walkthrough, real Hot Springs AR contact) sabotaged only by bolted-on WholeTech network chrome: a clashing cyan subnav, a Paul-Walhus boilerplate /about/ page, and a litter of stub files and a 24.7MB zip in the docroot.
Why it reads as AI
- /about/index.html is verbatim WholeTech template: 'Every page on this site is built to be useful, honest, and free from clutter. No pop-ups. No paywalls. No auto-playing videos... We believe the web should be helpful, not annoying' β identical across 110+ network sites, zero words about Carole.
- /about/ 'Who Runs This' section is about Paul Walhus / Austin / spring.com BBS / @springnet β a personal-artist domain describing the network operator instead of the artist.
- JSON-LD WebSite.description is templated filler: 'carolekatchen.com β part of the WholeTech network.' instead of describing a 60-year pastel/oil artist.
- Two stacked navs in different design languages render together: the WholeTech cyan/purple/red pill subnav (#06080d, Space Grotesk) and the artist's own gold-on-charcoal Playfair nav β the subnav links (Resources/FAQ/News/Videos/Social/Sitemap) all point to 9-line stub files.
- about.html/faq.html/news.html/resources.html/social.html/videos.html are all 9-line meta-refresh stubs; the matching /about/ /faq/ etc. dirs plus a /research/ noindex competitor-link table inflate the page count with zero artist content.
Problems
- ai-prose /about/index.html is the network's generic 'No pop-ups. No paywalls. We believe the web should be helpful, not annoying' boilerplate and a Paul-Walhus / WholeTech / spring.com bio β nothing about Carole Katchen. It even uses a different email (info@carolekatchen.com) than the homepage contact block (carolekatchen@gmail.com).
- thin Real content is exactly one page: index.html. about/faq/news/resources/social/videos exist as both 9-line meta-refresh .html stubs AND empty dirs; /research/ is a noindex table of competitor links (Artnet/Artsy/Saatchi/Behance). Only the homepage carries substance.
- nav The fixed WholeTech subnav-bar div (lines ~420) renders on top of the artist's own gold nav. Its 8 links (About/Resources/FAQ/News/Videos/Social/Sitemap/Research) lead to stubs and dead-ends, pulling visitors out of the real gallery into nothing.
- design index.html is a warm gallery theme (cream/gold/brown, Playfair Display). /about/ and /research/ are a cold dark-tech theme (#06080d, Space Grotesk, cyan/AdSense) β visual identity collapses the instant you leave the homepage.
- other 24.7MB newmedia.zip.zip sits in the web root; a 99-entry /stuff/ dir and a source .doc ('Carole Katchen has been a professional artist...doc') live inside NewMedia/. The 11 'Recent Oils' use device filenames (IMG_0045.jpgβ¦IMG_3388.jpg) with author-invented titles (Autumn Blaze, Best Friend, Big Sky Country) that may not match the actual paintings.
Fixes
- S Rewrite /about/index.html as Carole's real bio in the homepage theme β Replace the WholeTech boilerplate with Carole's actual story, which is already on hand in NewMedia/'Carole Katchen has been a professional artist...doc': 60+ years professional; shows in US, Asia, South America; numerous society/museum awards; four oils for the Kuroshio Museum, Taiwan; how-to-art books + three children's books over 1M copies sold; based Hot Springs AR + Denver CO. Use the cream/gold/Playfair CSS from index.html, not Space Grotesk/#06080d. Strip every Paul-Walhus/'No pop-ups' line.
- S Delete the WholeTech subnav-bar from index.html and all subpages β Remove the #subnav-bar div (the cyan/purple/red pill row) from index.html line ~420 and from about/index.html. Keep only the small fixed 'β‘ WholeTech' back-link if a network link is required. The gold Biography/New Work/Gallery/Technique/Contact nav becomes the sole navigation.
- S Retire the stub pages and noindex scaffolding β Delete or 301 faq.html, news.html, resources.html, social.html, videos.html, sitemap.html and their empty sibling dirs, plus /research/ (the noindex Artnet/Artsy/Saatchi/Behance table). Rewrite llms.txt and sitemap.xml to list only the real URLs: / and the rewritten /about/.
- S Delete docroot cruft β rm the 24.7MB newmedia.zip.zip from the web root; remove the /stuff/ dir (99 entries) and the .doc source file from NewMedia/ if not referenced by index.html. Confirm only the 11 IMG_*.jpg oils + IMG_0606.JPG hero are still needed there.
- M Reconcile the invented oil titles and the two contact emails β Confirm with Carole that the 11 'Recent Oils' titles (Autumn Blaze, Peonies, Moonrise, Best Friend, Looking Up, Loyal Companion, Christmas Morning, The Gathering, Evening Pastoral, Creek Visitors, Big Sky Country) match the actual IMG_0045β¦IMG_3388 paintings, and pick one canonical contact email (homepage uses carolekatchen@gmail.com; /about/ uses info@carolekatchen.com).
Content plan (real data, not prose)
- Add per-work metadata to both grids: medium (pastel vs oil), decade/year, and dimensions from Carole's records, so the existing 'Decade of the 60'sβ¦90's / after 2000 / Recent Oils' list in the bio becomes real filterable categories rather than dead bullet text.
- Publish Carole's actual bibliography as a verifiable list β her how-to-paint titles (she authored North Light / Watson-Guptill instructional books) and the three children's books she wrote and illustrated, with publisher and year β which substantiates the '1M+ copies sold' claim instead of leaving it as an assertion.
- Turn the existing Technique section into a true 5-step case study: the story-1.jpgβ¦story-5.jpg sequence is already a real narrative-painting demo in Carole's own words ('Starting with a maitre d'β¦') β caption each step with the specific decisions (triangular composition, negative-space blocking, abstract crowd) and name the finished painting.
- Build a real exhibition/award + commission timeline: the Kuroshio Museum (Taiwan) four-oil commission, the US/Asia/South America gallery shows, and the named art-society awards as dated entries β concrete and verifiable, unlike the current single 'numerous awards' sentence.
- Add an 'available works / commissions' layer: mark which pastels and oils are for sale or have prints, and wire the existing mailto/tel into a short inquiry form, since the contact section already invites 'commissions, or exhibitions'.
Nav plan
- Keep the gold-on-charcoal Playfair nav (Biography / New Work / Gallery / Technique / Contact) as the only navigation; delete the WholeTech cyan subnav entirely.
- Stay single-page with smooth-scroll anchors (already implemented and working) unless the bio/catalogue is split out β only then promote /about/ and a /works/ catalogue to real nav items.
- Replace the dead Resources/FAQ/News/Videos/Social subnav links with nothing; the homepage sections already cover everything a visitor needs.
- If a network link is mandated, retain only the single small 'β‘ WholeTech' fixed badge, styled green/unobtrusive so it does not compete with the gold artist nav.
βΆ Start here: Erase the WholeTech footprint on the artist-facing site: rewrite /about/ as Carole's real bio (her .doc copy is already in NewMedia/), delete the clashing cyan subnav from index.html and subpages, and retire the stub pages β so visitors and crawlers see only the genuine, well-built portfolio.
A well-designed, non-cloned builder bootcamp landing page whose entire commerce layer is fictional β every Enroll/Reserve/Start Learning button resolves to #signup, a "Coming soon" mailto waitlist to wholetechtexas@gmail.com β undermining a site that already has three real working tools (18-row research table, live Google News feed, 6-video shop-build wall) and a genuine instructor bio.
Why it reads as AI
- Six priced workshops ($395-$895), three pricing tiers ($19/mo, $495, $895), and four online-course products (videos 'Starting at $49', PDFs '$29-79', live Q&A, community forum) are all advertised but NONE are purchasable β every CTA is #signup, an in-page anchor to a mailto waitlist with 'Next workshop: Coming soon.' Detailed priced catalog with zero fulfillment behind it reads as generated commerce scaffolding.
- Stat bar is rounded, unsourced marketing filler: '6 Workshop Types', '8-12 People Per Class', '100% Hands-On' β numbers that describe a business that hasn't run a single class.
- Instructor cred row mixes real credentials (BHI/BDX veteran, solar installer, 12-unit landlord, 30x30 shop) with 'King of Twitter (2007)', an AI-padded flourish that cheapens an otherwise verifiable bio.
Problems
- other Fictional commerce: all six workshop 'Enroll' buttons, all three pricing-card buttons (Start Learning / Reserve Your Spot), and the hero 'Browse Workshops' funnel terminate at #signup -> mailto:wholetechtexas@gmail.com. No checkout, no calendar, no dates ('Next workshop: Coming soon'). The site's stated value proposition β 2-day hands-on bootcamps in Cedar Creek, Texas β is non-functional.
- other Online-course section advertises 'Video Courses Starting at $49', 'Build Plan PDFs $29-79', monthly Live Q&A, and a 'Builder Community' private forum, plus a $19/mo membership in the pricing grid β none exist or are linked anywhere. Largest credibility gap on the page.
- nav Three competing nav systems: (1) the cyan WholeTech subnav bar (About/Resources/FAQ/News/Videos/Social/Sitemap/Research/Network Map), (2) the styled in-page anchor nav (Workshops/Online Courses/Instructor/Pricing/Sign Up), and (3) an injected unstyled '<a href="news/">News</a>' marked '<!-- news-nav-injected -->' jammed inside .nav-links after the styled links, breaking the flex row.
- nav WholeTech subnav links to .html stub paths (/about.html, /faq.html, /news.html, /resources.html, /sitemap.html, /social.html) which are meta-refresh redirects to their /dir/ counterparts, adding a redirect hop on every visit.
- thin The three real assets are buried in the tiny subnav, never surfaced in the hero/body: /research/ (18-row sortable curated table of real competitors and primary sources β Yestermorrow, Shelter Institute, ISBU Association, US DOE, apprenticeship.gov), /news/ (live Google News RSS feed), and /videos.html (6 real embedded shop-build YouTube videos).
Fixes
- M Make the CTAs honest about what exists β No workshop has ever run and nothing is buyable. Replace every 'Enroll' / 'Reserve Your Spot' / 'Start Learning' button with one honest 'Get notified when this runs' email capture (a real form, not a buried mailto). Drop the 'MOST POPULAR' badge on a tier nobody has bought. Either commit to running real Cedar Creek workshops with dates, or reframe the page as a free build-knowledge hub.
- L Ship one real, downloadable Build Plan PDF before advertising 'Build Plan PDFs $29-79' β Pick one build Paul has actually done (the 30x30 shop framing, or his solar container) and produce a single real PDF: materials list, tool list, wiring/framing diagram, step sequence. Link it free or via real Gumroad/Stripe checkout. One shipped plan kills the 'four paid products that don't exist' problem better than four fictional cards.
- M Build a working off-grid solar sizing calculator β Live JS tool (no backend): inputs daily kWh load + sun-hours + autonomy days -> outputs panel array watts, LiFePO4 bank Ah, charge-controller amps, inverter size. Directly serves the 'Solar Power 101' / 'Complete Off-Grid Build' audience the page already targets and gives a concrete reason to visit. Pairs with the existing CargoSolar/OffGridder cross-promo.
- S Unify navigation into one styled system β Delete the injected unstyled '<a href="news/">News</a>' (the news-nav-injected comment block) from .nav-links. Add Research, News, Videos to the styled main nav so the real tools are reachable from the top. Repoint the WholeTech subnav from /about.html-style stubs to canonical /about/ dirs to kill the redirect hop.
- S Replace the unsourced stat bar and fix the instructor cred row β Swap '6 Workshop Types / 8-12 People / 100% Hands-On' for figures tied to assets that actually exist (e.g. '# free build plans', '# videos curated', 'free solar calculator'). Remove 'King of Twitter (2007)' from the credential chips beside BHI/BDX and Solar Installer.
Content plan (real data, not prose)
- Off-grid solar sizing calculator (daily kWh load + sun-hours + autonomy days -> panel watts / LiFePO4 Ah / charge-controller amps / inverter size) β live JS, no backend
- Container-home conversion cost estimator: container size + finish level -> rough materials cost and weight with line-item breakdown (Paul's actual container builds as the data source)
- One real downloadable build-plan PDF from Paul's 30x30 shop or solar container build, then expand to the six workshop topics one at a time as real plans are produced
- Surface the existing /research/ 18-row resource index (Yestermorrow, Shelter Institute, ISBU Association, US DOE, apprenticeship.gov) as a featured 'Builder Resource Index' section on the homepage instead of hiding it in the subnav
- Promote the live /news/ Google News construction-DIY feed and the /videos.html 6-video shop-build wall into the main body as recurring fresh content
Nav plan
- Consolidate to one nav: styled main nav gains Research, News, Videos alongside Workshops/Online/Instructor/Pricing
- Remove the injected unstyled News link (news-nav-injected) breaking the .nav-links flex row
- Repoint WholeTech subnav links from /about.html-style stubs to canonical /about/ dirs (or delete the meta-refresh stubs)
- Add the off-grid solar calculator and research index as anchor targets in the in-page nav once built
βΆ Start here: Make the CTAs honest: stop advertising six priced workshops and four paid online products that cannot be bought and that have never run β convert every #signup mailto into a single real 'notify me' email capture, then either commit to real dated Cedar Creek workshops or reframe as a free build-knowledge hub anchored by a working off-grid solar calculator and one real downloadable build plan.
A genuinely deep, well-written microphone reference (85 real pages, knowledgeable copy, real spec tables) crippled by one structural flaw: the .topbar carries only the brand link and an 'A Complete Guide' tagline (nav_elements=0 is real), so every interior page is a near dead-end reachable only via the homepage.
Problems
- nav Confirmed at index.html lines 152-157: the dark .topbar contains only the 'B.Microphone' brand link and a static 'A Complete Guide' tagline span β no menu, nav_elements=0. Across 85 pages a reader can only move via the homepage card grid, breadcrumbs, and per-page prev/next; there is no way to jump from /microphone-types/dynamic/ to /brands/ or /accessories/ without returning to the homepage.
- nav The rich 6-column homepage TOC (Shure, Types, Brands, Accessories, Use Cases, Reference) exists ONLY on the homepage. Interior pages end with a bare two-item prev/next bar and a 7-link footer, so the site's depth is undiscoverable mid-journey.
- other Brands mismatch verified: /brands/ has 25 live subfolders (akg, aston, audio-technica, beyerdynamic, blue, bose, coles, dpa, earthworks, electro-voice, heil, lewitt, neumann, rode, royer, samson, schoeps, se-electronics, sennheiser, shure, sony, telefunken, tula, warm-audio, yamaha) but the homepage TOC links only 17. Live-but-unlinked: bose, coles, royer, schoeps, se-electronics, sony, yamaha. Real pages with no path from the front door. (The original ticket said 26 dirs / it is 25.)
- other /versus/ has 8 real comparison pages with spec tables (podmic-vs-mv7, sm57-vs-md421, sm58-vs-beta-58a, sm58-vs-e935, sm7b-vs-mv7, sm7b-vs-re20, u87-vs-c414, yeti-vs-mv7) but the whole cluster is absent from the homepage β not one of the six cards, not in the TOC, not in the footer. The highest commercial-intent content on the site is fully orphaned. (Note: the matchup is sm7b-vs-mv7, not 'MV7+'.)
Fixes
- M Add a persistent nav bar to the .topbar on every template β The .topbar-inner already uses flex with justify-content:space-between and flex-wrap (line 68) β insert a horizontal nav between the brand and tagline: Shure | Types | Brands | Accessories | Use Cases | Versus | Glossary, each linking its section index. This single change clears NAV=0 and makes all 85 pages reachable from any page. Collapse to a hamburger under 720px (the featured grid already breaks there). Load-bearing fix.
- S Surface the orphaned Versus cluster on the homepage β Add a 7th card 'Head-to-Head Comparisons' linking /versus/ and list the 8 existing matchups (SM7B vs MV7, SM7B vs RE20, Yeti vs MV7, U87 vs C414, SM57 vs MD421, SM58 vs Beta 58A, SM58 vs e935, PodMic vs MV7). These are the highest-intent pages on the site and currently have zero homepage path.
- S Reconcile the brands TOC with the 25 live folders β Add the 7 live-but-unlinked brands to the Brands TOC column (lines 274-296) and the /brands/ index: Bose, Coles, Royer, Schoeps, sE Electronics, Sony, Yamaha. No real brand page should be unlinked from the front door.
- M Replace the bare prev/next on interior pages with a contextual related rail β Type/brand/versus pages already name-drop specific mics in prose β turn those into spokes. Example: /microphone-types/dynamic/ should link /use-cases/podcasting/, /shure/sm7b/, and /versus/sm7b-vs-re20/; a brand page should link its own models + the relevant versus pages. Drives the deep internal linking the flat topbar nav can't.
Content plan (real data, not prose)
- Build an interactive 'Mic Picker' on /buying-guide/ (or homepage): dropdowns for use-case (podcast/stream/vocals/instrument/Zoom), room (treated/untreated), connection (USB/XLR), and budget band, outputting 2-3 specific recommendations that deep-link to existing brand/model pages. Real utility built on the taxonomy already present, not prose.
- Normalize the per-page versus spec tables (Type/Price/Connection/DSP/Headphone jack/Released already exist) into one sortable comparison dataset at /versus/, filterable by connection (USB vs XLR), price band, and built-in DSP β turning 8 isolated tables into a single tool.
- Replace the hardcoded prices in spec tables ('~$430', '~$700+ incl. interface') with a manually-maintained price + 'last checked' date + retailer link column, converting static prose into a dated, maintained dataset.
- Add real SVG frequency-response and polar-pattern diagrams to the type pages (dynamic/condenser/ribbon) β concrete visual data the prose currently only describes in words ('slightly rolled-off on top').
Nav plan
- Persistent dark-topbar nav across all templates: Shure Β· Types Β· Brands Β· Accessories Β· Use Cases Β· Versus Β· Glossary
- Mobile: collapse the same 7 links into a hamburger under 720px (matches the existing 720px breakpoint)
- Promote Versus to a first-class section: homepage card + footer link + nav item, not an orphan
- Keep the existing breadcrumbs; upgrade the bare prev/next into a contextual related-links rail
- Expand the footer (currently 7 links, lines 344-351) to mirror the full section set including Versus
βΆ Start here: Add a real navigation menu to the dark .topbar on every page (Shure/Types/Brands/Accessories/Use Cases/Versus/Glossary) β this clears the NAV=0 flag and connects all 85 already-strong pages, the site's only true defect.
A genuinely deep, well-built STR authority site for Hot Springs (113 pages, multi-section homepage, working revenue calculator, real owner case studies) whose credibility is undercut by 8 byte-identical 'Top 10' pages listing entirely fabricated properties and a contact form that silently drops every lead.
Why it reads as AI
- The eight top-*.html pages share a byte-for-byte identical skeleton (~21.7KB each) β same hero, same single dense one-line <section> blob of 10 spot-cards, and a verbatim-identical 4-question FAQ ('How are these properties selected?' / 'Can I book directly?' / 'Are prices accurate?' / 'How often is this list updated?') confirmed present once in each of all 8 pages.
- Every listed property is invented: 'Sunset Cove Estate β Lake Hamilton', 'The Admiral β Luxury Lake Estate', 'Bear Den Family Cabin', 'Trapper's Cabin', 'Hostel-Style Downtown Bed' with round made-up nightly rates and ratings (4.98, 5.0), no links, no addresses, no real Airbnb/VRBO IDs β despite the FAQ claiming 'We monitor listings across Airbnb, VRBO, and Booking.com.'
- Homepage spotlight cards are the same fiction ('Lakeside Retreat with Private Dock $285', 'Mountain Estate 5 Acres Infinity Pool $450') β decorative, not real inventory.
- The revenue calculator runs on hardcoded fictional multipliers (baseRates, bedMult, amenMult β all confirmed in index.html) rather than real Hot Springs market data, while the section claims results are 'based on Hot Springs market data.'
- Contact form still ships the placeholder access_key value 'YOUR_WEB3FORMS_ACCESS_KEY' (2 occurrences in index.html, plus the 8 top pages) β leads silently fail to send.
Problems
- clone top-lakefront/cabins/budget/downtown/family/luxury/pet-friendly/romantic.html are one shared ~21.7KB template differing only in the 10 invented listings; the 4-question FAQ section is verbatim-identical across all 8 (confirmed).
- other Fabricated inventory presented as curated real listings is a trust/credibility and AdSense-policy problem β ca-pub-7759195213529699 is live on both index.html and the top pages (confirmed). Invented prices/ratings with no booking links.
- other Contact forms ship placeholder web3forms access_key 'YOUR_WEB3FORMS_ACCESS_KEY' (2x in index.html plus all top pages) β every lead fails silently.
- thin Calculator markets itself as 'based on Hot Springs market data' but is a static formula (baseRates/bedMult/amenMult); no sourcing, no comps, no seasonality wired to the on-page $90-$350 seasonal table.
- nav Interior top pages strip the homepage anchors (#platforms/#calculator/#spotlights absent β confirmed), so deep pages feel orphaned. Footer 'Market Data' links to '#' (dead), and market-pulse.html is linked from index.html 0 times.
Fixes
- L Replace fabricated Top-10 listings with real data β Pull actual current Hot Springs / Lake Hamilton listings (Airbnb/VRBO scrape or AirDNA-style export) and populate each top-*.html with real property titles, real nightly rates, real ratings, and outbound booking links. If real-listing sourcing isn't feasible, reframe the pages as 'What to look for in a lakefront/cabin/budget stay' editorial guides and drop the fake '#01 Sunset Cove Estate $350/night 4.98 rating' card format entirely. Same fix applies to the index.html homepage spotlight cards (Lakeside Retreat $285, Mountain Estate $450).
- M De-clone the 8 top pages β Each top-*.html currently shares one ~21.7KB template and the identical 4-question FAQ ('How are these properties selected? / Can I book directly? / Are prices accurate? / How often is this list updated?'). Give each a category-specific intro, a category-specific FAQ (lakefront dock/boat-slip questions vs. budget/HSV-fee questions vs. pet-friendly pet-fee questions), and a category-specific renter checklist so they stop being interchangeable.
- S Fix the lead-capture forms β index.html still ships placeholder access_key 'YOUR_WEB3FORMS_ACCESS_KEY' (appears 2x) so every homepage lead fails silently; the 8 top-*.html pages carry the same contact form. Drop in the real web3forms key sitewide and submit one test lead to confirm delivery.
- M Ground the revenue calculator in real numbers β Wire index.html calculator base rates (currently hardcoded baseRates/bedMult/amenMult fiction while the section claims 'based on Hot Springs market data') to a small published dataset of real Hot Springs comps β median nightly by type + occupancy from AirDNA/Airbnb β cite source and date under the result, and reconcile with the on-page seasonal $90-$350 table so the two don't contradict.
- S Restore hub nav + fix dead links β Interior top-*.html pages strip the homepage anchors (no href='#platforms/#calculator/#spotlights'), leaving deep pages orphaned; give them the same Platforms/Revenue/Top Stays/Guides nav linking back to index.html anchors. Point the index.html footer 'Market Data' href='#' at the existing /market-pulse.html (currently linked from nowhere β 0 references in index.html).
Content plan (real data, not prose)
- Scrape/import a real current snapshot of Hot Springs STR listings (Lake Hamilton, Lake Catherine, downtown Central Ave, Ouachita cabins, HSV) with title, beds/baths, nightly rate, rating, and platform URL; render these into the 8 top-*.html cards with working outbound booking links, replacing 'Sunset Cove Estate / The Admiral / Bear Den / Trapper's Cabin' fiction.
- Build a real Hot Springs market dataset to back the index.html calculator: median nightly rate and occupancy by property type (replacing hardcoded baseRates lakefront:200 / bedMult / amenMult) pulled from AirDNA or aggregated live listings, with a visible 'data as of <month>' stamp, reconciled with the on-page $90-$350 seasonal table.
- Expand the genuinely real case-studies.html (Dorothy Epp & Paul Walhus on Lake Hamilton; Russell & Rachel Hoffman / Spa City Vacation Rentals 'Midnight Races'; Dillar Schwartz remote-operating from Austin) with real revenue/occupancy numbers and photos β this is the site's most authentic, defensible content and should be the flagship.
- Turn str-regulations.html into a maintained reference: actual current Hot Springs city STR permit fee, application URL, accommodation/tourism tax rate, and HSV POA short-term-rental rules, each with a last-verified date β real regulatory data competitors won't keep current.
- Add a real seasonal calendar tying rates to demand drivers already named on-page (Oaklawn racing-season dates, Hot Springs Documentary Film Festival dates, lake season) with year-specific 2026 dates.
Nav plan
- Unify the interior-page nav with the homepage hub nav (Platforms / Revenue / Top Stays / Guides / Case Studies / Gear / News) linking to index.html anchors so deep pages stay connected to the hub.
- Fix the index.html footer 'Market Data' href='#' to point at /market-pulse.html (the page exists but index.html references it 0 times).
- Add cross-links between the 8 top-* category pages (a 'Browse by category' strip) so they interlink instead of each being a dead-end back to index.
- Surface the strong but buried interior tools (str-quiz, checklist-builder, name-generator, market-pulse, case-studies) in the homepage nav/footer.
βΆ Start here: Replace the fabricated 'Top 10' listings (and homepage spotlights) with real, linked Hot Springs inventory and de-clone the 8 identical category pages β fake curated listings with a verbatim-shared FAQ are both the main AI tell and a credibility/AdSense liability on an otherwise strong site.
A handful of genuinely useful hand-written Austin city-guide pages (moving guide + 3 vs-city comparisons with real $ figures) drowning under 186 auto-rewritten Google News articles and a homepage whose own meta tags can't decide if the site is a "lifestyle magazine" or a "hub for content creators" β the 220-page count is ~90% AI filler concentrating all real value in ~5 pages.
Why it reads as AI
- 186 /news/ files are Google News headline rewrites inflated to ~500 words of stock AI prose β no address, no opening date, no prices, just lines like 'your wish is about to come true' and 'this one's going to be worth the wait'
- Homepage source contradicts itself: <title> says 'Food, Culture, Neighborhoods' and the hero calls it a 'lifestyle magazine,' but the meta description and JSON-LD both say 'hub for Austin content creators, bloggers, podcasters' β two different sites stapled together
- Every homepage card is data-free boosterism unattached to any listing: 'adventure and outdoor content writes itself' (line 81), 'a content engine that never stops' (line 82), 'the tech beat never sleeps' (line 89), 'a content goldmine' (line 94)
- Stat block is decorative filler: '2003 Established / 23 Years Online / 8 Neighborhoods / 1 City We Love' (lines 69-72) β three of four are restatements of the same fact
- Homepage skeleton ('Why Austin for Content Creators?' + niche card grid + blogging timeline) is shared with sibling austinblogger.com, aiaustintexas.com, texascoworking.com β a clone family the audit's clone_family_size=0 missed
- austinblogger.com runs the identical 'Austin blogger hub since 2003' pitch β two siblings claiming to be the same thing
Problems
- thin 186 /news/ files (the bulk of the 220-page count) are single-source Google News headline rewrites, ~500 words of AI prose each, no address/date/price. Classic 'cure thin content with more prose' anti-pattern.
- clone Homepage shares its full section skeleton (Why-Austin grid + niche cards + blogging timeline) with austinblogger.com, aiaustintexas.com, texascoworking.com. austinblogger.com duplicates the 'Austin blogger hub since 2003' positioning verbatim.
- ai-prose The three homepage card grids (lines 76-104) are generic boosterism with zero data β 'content writes itself,' 'content goldmine,' 'content engine that never stops' β not one card cites a price, address, or stat.
- nav Primary nav (line 53) is 5 anchor links to fluff sections (#scene, #niches, #history, #start) plus News. The actually-valuable pages (moving guide, vs-city comparisons) are only reachable from two bottom-of-page strips (lines 163-164), below a 37-link footer wall.
- other Identity conflict baked into the source: meta/JSON-LD brand it a creator/blogger hub while title/hero/best assets are consumer city-guide material (moving, cost of living, neighborhoods). The site literally describes itself two incompatible ways in <head>.
Fixes
- M Delete or fact-gate the 186 /news/ headline rewrites β Stop the auto-news pipeline. Either delete the 186 fact-free /news/ files or replace each with an extract-only stub (3 bullet facts + dateline + source link, no narrative). The 500-word AI essays are the #1 AI signal and ~85% of the page count.
- M Resolve the creator-hub vs city-guide identity against austinblogger.com β Rewrite <title>, meta description, og tags, and JSON-LD (lines 12-17, 49) to one identity. Recommended: make austinlifestyles.com the consumer Austin city-guide (moving/cost-of-living/neighborhoods) and 301 the 'content creators/bloggers/podcasters' framing to austinblogger.com. They cannot both be 'the Austin blogger hub since 2003.'
- M Rebuild the homepage off the shared template β Replace the 'Why Austin for Content Creators?' + niche-card + timeline skeleton (lines 76-124, shared with 3 siblings) with a homepage anchored on the real assets: the moving guide, the vs-Nashville/Denver/Raleigh data, and a cost-of-living block. These currently sit in bottom-of-page strips (lines 163-164) β move them into the hero.
- S Promote the real guides into the primary nav β Replace the anchor-only nav (#scene/#niches/#history/#start, line 53) with Moving to Austin | Cost of Living | Compare Cities | Neighborhoods. The substantive pages are currently footer-only.
- S Replace the filler stat block with sourced numbers β Swap '2003 / 23 Years / 8 Neighborhoods / 1 City We Love' (lines 69-72) for the real figures already hand-written in /moving-to-austin.html (e.g. ~$550K median home, ~$1,800 1BR rent, 1.8-2.2% property tax, no state income tax), with a source/as-of date.
Content plan (real data, not prose)
- Build a cost-of-living comparison tool as the homepage centerpiece: a small sortable table/calculator pulling the figures already hand-written in /moving-to-austin.html and the three vs-city pages (Austin vs Nashville/Denver/Raleigh) β median home, 1BR rent, property tax %, state income tax, salary needed β replacing the AI card grids
- Consolidate austin-vs-nashville/-denver/-raleigh into one structured dataset (rent, home price, salary, tax, commute, weather per city) rendered as a single sortable comparison table instead of three prose pages
- Publish a real neighborhood dataset for the 8 areas the homepage name-drops (SoCo, Zilker/Barton Springs, Mueller, East Austin, Cedar Park/Round Rock, Bouldin Creek, etc.): median rent + median home price + one-line vibe in a comparable grid, not card fluff
- If a feed survives the /news/ cull, convert it to one rolling dated 'Austin This Week' digest: 5 real events/openings per week with date + address + price + outbound source link, replacing 186 narrative rewrites with one fact-dense page
- Turn the Wayback 2005/2006 snapshots (already linked, lines 129-130) into a real 'how Austin changed' data point β rent/home price then vs now β converting the nostalgia angle into a sourced before/after
Nav plan
- Top nav: Moving to Austin | Cost of Living | Compare Cities | Neighborhoods | News
- Cut one of the two footer link walls β the 13-link 'Explore Austin' strip (line 134) and the 24-link 'Also from WholeTech' strip (lines 135-160) stacked together read as a link farm; keep at most one
- Surface the moving guide and comparison pages in the hero, not the two bottom-of-page 'Featured Guide' / 'Compare Austin' strips (lines 163-164)
- Trim the secondary subnav (line 57): drop dead utility links (Social, Videos, Sitemap) that add noise; keep About/Resources/FAQ
βΆ Start here: Stop the auto /news/ pipeline and delete or fact-gate the 186 headline-rewrite articles β they are ~85% of the page count and the single strongest AI-generated signal on the site.
A genuine Bayless Class of '63 alumni archive (real roster, dated 2010-2023 reunion posts, a real superintendent news item) buried under an AI-written generic-nostalgia homepage with a different theme and nav than the archive below it.
Why it reads as AI
- Sports section is six interchangeable nostalgia cards ('the squeak of sneakers on the hardwood', 'the crack of aluminum bats... slow afternoons became fast memories') with no specific Bayless facts beyond the one true Football card (no team in '63, ~50 boys)
- The four 'Memories & Stories' quotes are unattributed and invented, sourced to a sport rather than a person ('β Bayless Basketball, 1960s', 'β Bayless Track & Field', 'β Affton, Missouri') β fabricated-testimonial pattern
- Homepage uses a light gold/green DM-Serif template; the real subpages (/classmates, /news, /reunions, /photos) use a different dark-navy JetBrains-Mono 'archive' theme β two skeletons stitched together
- Notable Alumni is one real person (Paul Walhus '63) plus two placeholder cards titled 'Your Name Here' and 'Know Someone?' β unfinished AI scaffold
- Self-referential AI tells baked into the timeline copy: 'rebuilt and reborn as part of the WholeTech Network', 'from the spring.com BBS to 20 websites built in 48 hours with AI'
Problems
- other FACTUAL ERROR + internal inconsistency on the mascot. Hero H1, footer, and meta description all say 'Bronchos'; the JSON-LD name/description also say 'Bronchos'; but the meta keywords tag (line 11) says 'bayless braves'. So the page contradicts itself (Bronchos vs Braves). NOTE: the original ticket overstated this as a three-way conflict β the JSON-LD is actually 'Bronchos', consistent with the body. Real-world fact still needs confirming: verify whether Bayless = 'Broncos' or 'Bronchos' before mass-correcting.
- thin Homepage (~1,600 words) is ~80% generic filler β the six Sports cards and four invented Memory quotes carry almost no real Bayless info, yet they are the bulk of the page. The actual unique content (verified classmate roster, 17 dated reunion posts 2010-2023) lives two clicks down on /classmates and /news and is never surfaced on the homepage.
- design Two disconnected design systems: light cream/gold/green homepage (DM Serif Display) vs. dark navy #0d1420 JetBrains-Mono 'archive' theme on /classmates, /news, /reunions, /photos. A visitor crossing from homepage to a real page feels like they left the site.
- nav The homepage primary nav (line 108) is in-page anchors ONLY (#about, #sports, #memories, #reunion, #alumni) β it never links to /classmates, /news, /reunions, or /photos where the archive lives. The separate fixed 'subnav-bar' (line 106) points at About/Resources/FAQ/News/Videos/Social/Sitemap stub pages that are 160-190-byte placeholders.
- other Stale top-of-fold feature (lines 123-133): a large 'zoom-feature' block promotes 'Register for the May 4 Zoom' (Mon May 4, 2026, 4pm Central β superintendent Amy Ruzicka on John O'Leary's show). That date is now ~5 weeks past, yet it dominates the homepage above all evergreen archive content. The genuinely evergreen item β the Class of '63 standing Zoom, ID 501 365 1001 β is buried as a side-note inside the expired block.
- thin Stub pages padding the page count: about.html, faq.html, news.html, resources.html, social.html, videos.html, sitemap.html are all ~160-190-byte placeholder/redirect files linked only from the subnav-bar. They inflate html_pages but add no content.
Fixes
- S Confirm the real mascot, then make every instance consistent β Determine whether Bayless is 'Broncos' or 'Bronchos' (the page currently commits to 'Bronchos' everywhere except the keywords tag, which says 'braves'). At minimum, fix line 11's meta keywords to drop 'bayless braves' and match the chosen spelling used in the H1 (line 112), footer (line 217), title (line 9), and JSON-LD (line 5).
- M Replace the four invented Memory quotes and the filler Sports cards with attributed archive content β Swap the sport-attributed fake quotes (lines 170-173) for real, named alumni quotes already sitting in /news and /classmates (e.g. Carol Endermuhle Winter's 2010 post; roster notes like 'Jim Carr, basketball guard, later a Hallmark Cards designer'). Replace or trim the six generic Sports cards (lines 150-155) β the Football card is already factually grounded (~50 boys, no team in '63); make the other five reflect documented Class-of-'63 facts or delete them.
- M Surface the real archive on the homepage and collapse to one theme/nav β Add a homepage module listing the 17 dated 2010-2023 news/reunion posts and linking the classmate roster and photos. Change the homepage primary nav (line 108) from in-page anchors to real links into /classmates, /news, /reunions, /photos, /yearbooks. Pick ONE skin (recommend porting the homepage's gold/green onto the archive pages so the data-heavy pages stay readable) so the site reads as one property.
- S Demote the expired Zoom block; promote the standing Class-of-'63 Zoom β The May 4 2026 superintendent Zoom (lines 123-133) is past β either delete it or move it into /news as a dated archived item. Promote the evergreen 'Class of '63 standing Zoom, ID 501 365 1001' (currently a side-note at line 134-138) to a small persistent homepage element alongside next-reunion info.
- S 301 or delete the seven stub pages β about.html, faq.html, news.html, resources.html, social.html, videos.html, sitemap.html are ~160-190B placeholders linked only from the rainbow subnav-bar (line 106). Redirect each to the real directory (/news/, /about/, etc.) where one exists, delete the rest, and prune the subnav-bar links that point at nothing.
Content plan (real data, not prose)
- Build a sortable Class of '63 roster datatable from the existing bayfolks data on /classmates β columns: name, married name, last-known city/state, status (found / lost / deceased / on-Facebook). Reuse the datatable component already running on /research; the raw rows already exist, they just need structuring.
- Add a 'Class of '63 by the numbers' counter pulled from that roster: ~100 grads, ~28 found, 9+ deceased, ~63 lost, 14 on Facebook (figures stated verbatim in Carol Endermuhle Winter's post) β a real dataset rendered as live counts, not prose.
- Convert the 17 Wayback-reconstructed news posts (2010-2023) into a dated timeline/blog index, carrying the real reunion specifics: 55th at Bartolino's South, 5914 S. Lindbergh, 10/6/18; 50th at Helen Fitzgerald's Irish Pub, 3650 S. Lindbergh, 10/5/13.
- Promote the existing 'Help us find these classmates' news post into a standing call-to-action wired to the roster's 'lost' status rows, so the directory does double duty as a search list.
- Scan and post the referenced reunion/yearbook photos (Sandy Dostal's 60th-reunion pictures) into /photos and /yearbooks, which are currently sparse β pair each with the year and reunion it documents.
Nav plan
- Adopt one canonical nav across homepage and subpages: Home / News / Classmates / Reunions / Photos / Yearbooks / History / About.
- Replace the homepage's in-page anchor nav (line 108) with real links into /classmates, /news, /reunions, /photos.
- Remove the subnav-bar links (line 106) that point at empty stub pages (Resources/FAQ/Videos/Social/Sitemap); keep only items backed by real content.
- Mirror the subpages' existing 'Home > News' breadcrumb style site-wide for consistent orientation.
βΆ Start here: Surface the real Class-of-'63 archive (roster, 17 dated posts, photos) on the homepage and collapse the two design systems and two navs into one β so the unique content fronts the site instead of hiding behind AI-filler nostalgia cards. The mascot keyword fix and expired-Zoom demotion are quick S-effort cleanups to bundle in.
A genuinely on-topic, well-built homepage about Austin podcasting is buried under 141 off-topic auto-generated "Austin civic news" articles (shootings, water pipelines, park ribbon-cuttings) that have nothing to do with podcasting and read as AI-spun RSS.
Why it reads as AI
- News articles are AI-rewritten RSS with tell-tale phrasing: 'absolutely stacked', 'content goldmine', 'keep your ears to the ground', 'Austin does not do anything halfway, and this lineup is proof of that.'
- Every news article carries the identical disclaimer footer 'This article was independently written and is not affiliated with the original source.'
- 141 of 156 pages are generic Austin civic/event news unrelated to the site's podcasting/broadcasting topic β classic auto-generated volume padding.
- Duplicated structural chrome: the #subnav-bar div is injected twice (lines 36 and 42) and there are two WholeTech badges (fixed badge line 35 + nav badge line 38); the second subnav is a stale 7-link subset of the first 9-link bar.
- Exact-duplicate articles exist: parker-lane pipeline (04-15 + 04-16), govalle fatal shooting (04-14 + 05-04), ACL Fest 2026 lineup repeated ~5x, multiple weekend-events entries β generation without dedup.
Problems
- thin Homepage is a single ~935-word scroll of card summaries. It asserts hard numbers ('500+ active podcasts produced in Austin', line 51) but ships zero directory, list, or dataset to back them β all substance is promised, none delivered. The site is essentially one good page plus a news dump.
- other Topical mismatch: 141 of 156 total pages are auto-generated Austin civic/event news (Govalle fatal shooting, Parker Lane wastewater pipeline, food-assistance counts, park ribbon-cuttings, runoff elections). Only ~4 news items (KUT/UT radio festival dispute, ACL/KUTX-adjacent) touch audio/radio. This is generic news padding diluting a podcast hub's topical authority.
- ai-prose News articles are textbook AI-rewritten RSS. The ACL Fest piece: 'absolutely stacked', 'it is a content goldmine', 'keep your ears to the ground', 'Austin does not do anything halfway, and this lineup is proof of that.' Each ends with the boilerplate 'This article was independently written and is not affiliated with the original source.'
- nav The #subnav-bar div is injected twice into the homepage markup (line 36 with 9 links incl. Research + Network Map; line 42 a stale 7-link subset), and there are two WholeTech badges (fixed top-center badge line 35 + nav-embedded badge line 38). Duplicated, drifted chrome is a visible structural-generation signal.
- other Duplicate news files inflate the count without distinct content: parker-lane-water-wastewater-pipeline-renewal (2026-04-15 and 2026-04-16), govalle fatal shooting (2026-04-14 and 2026-05-04), ACL Fest 2026 lineup across ~5 files, plus multiple near-identical weekend-events entries.
Fixes
- M Re-scope news ingestion to podcasting/audio topics β Change the Google News RSS query feeding news/ from broad 'Austin events/civic' to podcast/broadcast/audio/radio/creator-media terms (KUT, KUTX, KOOP, Joe Rogan, Comedy Mothership, Podcast Movement, iHeart Austin). Route generic civic/event items to atxnews.club or austinhangout.com. Fixes the dominant AI-padding signal across 130+ pages.
- L Build a real Austin Podcasts Directory at /directory/ β Structured, sortable table of 30-50 verifiably Austin-produced shows (JRE, Kill Tony, Office Hours Global, Darknet Diaries, Good Ol' Boys, KUT Texas Standard, Lex Fridman) with host, category, Apple/Spotify links, one-line why-it-matters. Link the homepage 'The Numbers' card (line 51) to it so the '500+ podcasts' claim has actual backing.
- M Build an Austin Studio Finder table β Replace the vague 'search podcast studio rental Austin' card (line 74) with a real table of named local studios β Comedy Mothership rooms, local rental/coworking studios β with neighborhood/address, hourly rate range, gear, video-capable yes/no. Concrete directory, not prose.
- S De-duplicate and consolidate nav chrome into one include β Collapse the two #subnav-bar divs (lines 36 + 42) and two WholeTech badges (lines 35 + 38) into a single nav block applied via one include across all 156 pages. Resolves the 9-link vs 7-link drift between the two bars.
- S Purge duplicate and off-topic news files β Delete exact duplicates (parker-lane pipeline 04-15/04-16, govalle shooting 04-14/05-04, redundant ACL-lineup and weekend-events files) and prune the off-topic civic backlog once ingestion is re-scoped, so the page count reflects distinct, on-topic content.
- M Build gear comparison table + budget calculator β Turn the static Equipment Guide cards (lines 64-69, which already list real mics/prices) into a sortable gear table (mic, price, USB/XLR, best-for) plus a starter/standard/pro kit-cost calculator that sums a recommended setup. Tool, not paragraph.
Content plan (real data, not prose)
- Scrape and publish an 'Austin Podcasts Directory' at /directory/: 30-50 verifiably Austin-produced shows (JRE, Kill Tony, Office Hours Global, Darknet Diaries, Good Ol' Boys, KUT Texas Standard, Lex Fridman) with host, category, Apple/Spotify links, and a one-line why-it-matters β the dataset the homepage 'The Numbers' card (line 51) currently only gestures at.
- Build a working 'Austin Studio Finder' table from the vague line-74 card: named studios (Comedy Mothership podcast rooms, local rental/coworking sound rooms) with neighborhood/address, hourly rate range, gear available, video-capable yes/no.
- Re-scope the news/ feed to the site's actual topic: filter RSS ingestion to podcast/broadcast/audio/radio/creator-media keywords so civic items (Parker Lane pipeline, Govalle shooting) stop publishing here and route to atxnews.club / austinhangout.com.
- Convert the Equipment Guide cards (lines 64-69) into a sortable gear comparison table (mic, price, USB/XLR, best-for) plus a starter/standard/pro budget calculator that sums a recommended kit β using the real products already listed (SM7B, ATR2100x, RODECaster Pro II, etc.).
- Expand the existing /history/ directory and the strong KLBJ-AM (1939, LBJ family) / KUT / KUTX / KOOP cards (lines 79-84) into a sourced, dated Austin broadcasting timeline β genuine local-history substance with citations that differentiates the site from generic podcast blogs.
Nav plan
- Collapse the two #subnav-bar divs (lines 36 and 42) into a single nav include; the second is a stale 7-link subset of the first 9-link bar, so consolidating also fixes the link drift.
- Remove the duplicate WholeTech badge β keep one (the fixed top-center badge line 35 OR the nav-embedded badge line 38, not both).
- Add in-content links from the homepage cards to the new /directory/, studio-finder, and /history/ timeline pages so substance is interlinked rather than orphaned beside the date-stamped news feed.
- Consolidate the News surface: the top nav 'News' pill points at news/ while the body links to a thin news.html stub β pick one news landing and route both to it.
βΆ Start here: Re-scope the news/ ingestion to podcasting/broadcasting/audio topics (or kill the generic-news feed entirely) β the 141 off-topic civic-news pages are the single biggest AI signal and the main drain on topical authority for what is otherwise a credible Austin podcast hub.
A funny, genuinely human story collection (5 first-person horror tales + 6 curated YouTube embeds + a working sortable research table) trapped inside a generic AI-advice-card homepage cloned from the cambridgetower template; the real asset is unlinked from the homepage and the fabricated stats sit where real data should.
Why it reads as AI
- Homepage is three identical 4-card grids (Common Disputes / Know Your Rights / Survival Strategies) of sourceless listicle advice: 'Bring cookies', 'Document everything', '80% of neighbor problems are solved with a direct conversation'
- Duplicate WholeTech badge rendered twice in the nav (two identical <a href=wholetech.com> blocks, line 38) plus a fake 'I know everything about this site' chat bot whose findAnswer() just keyword-matches card text, and a 'network of 108 websites' footer β all shared clone chrome
- Round-number invented stats with no citation: survey '$300-800', 'settles 90% of property line arguments', 'usually 55-65 dB', small claims 'under $5,000-10,000'
- Meta description and JSON-LD description are an identical keyword list: 'Neighbor disputes, noise complaints, property line battles, HOA conflicts' β verbatim in title, meta, og, twitter, and schema
- Hero is the templated 'Welcome to <em>X</em>' pattern; CSS skeleton (hero/section/grid/net/footer vars) is the cambridgetower 4-member clone family
Problems
- clone Homepage skeleton (hero + 3 card-grid sections + WholeTech net strip + chat widget) is the cambridgetower-family template with the topic swapped; structurally indistinguishable from siblings.
- thin about.html/faq.html/news.html/resources.html/social.html/sitemap.html are 164-188 byte meta-refresh redirect stubs (confirmed: about.html is a 0-second refresh to /about/). The homepage is the only substantive root page and it is entirely advice-card prose.
- ai-prose All 12 homepage cards are interchangeable AI advice with invented round-number stats and zero local specificity β directly contradicting the site's one real strength, the concrete first-person stories.
- nav The genuinely good /stories/ collection (5 real tales) is NOT linked from the homepage hero, the 3 grids, OR the 9-link subnav β only reachable by guessing the URL. Subnav points 6 of 9 links at redirect stubs.
- seo /research/ is marked noindex,follow and holds only 8 links, 2 of which are off-topic filler (Wayback Machine, Internet Archive) that have nothing to do with neighbor disputes. No actual dataset β the real numbers the homepage fabricates live nowhere.
Fixes
- S Make the 5 stories the homepage spine β Delete the three generic advice-card grids and replace with an index of the 5 real stories in /stories/ (the-fence-war, the-dog-that-never-stops, the-hoa-president, the-leaf-blower-at-6am, the-party-house), each card using its existing hook line as copy (e.g. Fence War: 'It started with 2 inches. It escalated to lawyers.'). These are the only human, specific, entertaining content on the site.
- L Build a state-by-state noise & dispute-law lookup in /research/ β Replace the fake '$300-800 / 90% / 55-65 dB / $5,000-10,000' card stats with a real, queryable dataset: per-state residential quiet-hours window, residential dB limit (where codified), and small-claims-court dollar cap, rendered in the existing sortable /research/ table (it already has search + sort + chip filters wired up). This is the differentiating asset no clone sibling has.
- S Remove the duplicate WholeTech badge and the fake chat bot β Line 38 renders two identical WholeTech <a> blocks β delete one. Remove the wt-chat-btn/wt-chat-panel widget and its findAnswer() keyword-matcher (lines 57-106); it advertises 'I know everything about this site' but only echoes card text. Reword the 'Welcome to <em>Neighbor Hell</em>' hero off the clone-family template.
- M Repoint the redirect-stub nav and surface Stories + Videos β about/faq/news/resources/social/sitemap.html are meta-refresh stubs β point the subnav directly at /about/ etc. (and confirm those targets hold real content) or drop the dead ones. Add 'Stories' (currently orphaned) and 'Videos' (videos.html has 6 real embeds but isn't in primary nav) as subnav items.
- M Drop noindex on /research/ and replace the 2 filler rows β Once the state law dataset is in, remove the noindex,follow tag so the differentiating asset can rank. Drop the Wayback Machine and Internet Archive rows β they are boilerplate research-tool filler irrelevant to neighbor disputes and signal a templated link list.
Content plan (real data, not prose)
- State-by-state dataset for /research/: residential quiet-hours window, residential dB limit, and small-claims-court dollar cap per state, sourced from municipal/state code β turns the existing sortable table into a real tool and retires the fabricated homepage stats
- Cite the homepage's two replaceable numbers from real sources: actual land-survey cost ranges and a real cautionary litigation figure (the Fence War story's own $8,000 legal vs $47-of-land arc is a true, quotable example already on-site)
- Solicit more first-person submissions via the existing 'Submit yours' mailto (walhus@gmail.com) already on every story page β the 5 existing tales prove the format works and is the site's only non-clonable content
- Keep videos.html's 6 real YouTube HOA-horror embeds (6s6iYJxQwNo, 4Ly87pWInzg, nUdM6GDv3UQ, JAMlA7cIBgE, JGhaMH_XiLw, oKnND_3Q9b8) and surface a thumbnail strip of them on the homepage instead of the 'Survival Strategies' grid
- A 'before you escalate' decision flow (talk -> survey -> document -> mediate -> lawyer) keyed to the real small-claims caps and survey costs from the dataset, not generic advice cards
Nav plan
- Add 'Stories' to the subnav linking to a /stories/ index (the 5 tales are currently unlinked from anywhere)
- Add 'Videos' to the subnav (videos.html has 6 real embeds but is orphaned from primary nav)
- Delete the duplicate WholeTech badge in the top nav (line 38 renders it twice); keep one
- Repoint or remove the 6 redirect-stub links (about/faq/news/resources/social/sitemap) so every nav item lands on a real page
- Rename /research/ to a 'State Noise & Dispute Laws' subnav entry and un-noindex it once it holds the real dataset
βΆ Start here: Delete the three generic advice-card grids and the duplicate-WholeTech-badge + fake-chat-bot chrome, and rebuild the homepage around the 5 real first-person stories plus a teaser of the 6 video embeds β surfacing the genuinely human content that the clone template currently buries.
A genuinely good hand-curated "best of the internet" link directory that's too thin (12 cards) and still leaks WholeTech generation machinery on its secondary pages β a fake chatbot, a placeholder Wikipedia "resource," and a truncated title that was fixed on the homepage but never propagated to resources/.
Why it reads as AI
- resources/index.html is the network's generic template: top entry is a placeholder Wikipedia link to 'en.wikipedia.org/wiki/Stumblicious_β_Curated_web_discove' with a fabricated 'Contact: info@wikimedia.org', unrelated to a curated-link site
- The truncated title 'Stumblicious β Curated web discove' (cut mid-word) was fixed on the homepage but still survives in resources/index.html across <title>, og:title, twitter:title, the nav .nl, and the footer link
- The fixed 'Ask Me Anything' chat widget is a fake AI: findAnswer() (index.html lines 92-108) keyword-matches .card text and returns canned strings like 'Email us at info@'+location.hostname
- : the homepage renders the WholeTech ribbon badge TWICE β two identical anchors to wholetech.com in nav line 41 (the second has id='wholetech-back')
- resources/ uses a different visual template (-apple-system, .res-url/.res-contact classes) from the homepage's dark #06080d Space-Grotesk design, showing two stitched generators
- Boilerplate footer 'Part of a network of 108 websites' identical to other WholeTech sites
Problems
- thin Homepage is only 12 link cards across 3 categories (Science & Nature, Art & Design, Rabbit Holes). The picks and annotations are good but far too few for a 'best of the internet' directory.
- ai-prose resources/index.html ranks a fake Wikipedia entry (placeholder URL + info@wikimedia.org contact) plus generic filler as the 'best resources for Stumblicious' β pure template boilerplate unrelated to the curation concept.
- other Title bug PARTIALLY fixed: homepage now correctly reads 'Stumblicious β The Best of the Internet, Curated', but resources/index.html still shows the truncated 'Curated web discove' in title, og:title, twitter:title, nav, and footer.
- other Fake 'Ask Me Anything' chatbot (index.html lines 60-109) implies AI Q&A but only does substring matching over card text; erodes trust and screams auto-generated.
- nav The colored subnav links About/Resources/FAQ/News/Videos/Social/Sitemap, but most are 164-188 byte stub redirect .html files pointing to thin /dir/ pages; nav promises depth the site doesn't have. Plus duplicate WholeTech ribbon button in the top nav.
- design research/ and resources/ pages use a different visual template (light/-apple-system) from the homepage's dark Space-Grotesk design, breaking brand consistency.
Fixes
- S Delete the fake chatbot widget β Remove the #wt-chat-btn / #wt-chat-panel block and toggleChat/sendChat/findAnswer scripts from index.html (lines 60-109). It pretends to be AI and adds nothing.
- S Finish the title-bug fix on resources/ and remove the fake Wikipedia entry β The homepage title is already correct. Replace the remaining 'Stumblicious β Curated web discove' strings in resources/index.html (title, og:title, twitter:title, nav .nl, footer link) with 'Resources β Stumblicious β The Best of the Internet, Curated', and delete the placeholder Wikipedia card with URL '..._Curated_web_discove' and 'Contact: info@wikimedia.org'.
- M Rebuild resources/index.html from the real research/ data β research/index.html already holds a JSON dataset of 12 accurate curation peers/tools (Kottke, Waxy.org, Metafilter, Boing Boing, The Kid Should See This, Pinboard, Flipboard, Feedly, Pocket, Hacker Newsletter, Wayback, Internet Archive). Surface that annotated list on resources/ instead of the Wikipedia/filler boilerplate, and re-skin it onto the homepage's dark Space-Grotesk template.
- L Expand the homepage from 12 to 80+ real curated links as structured data with a working Stumble button β Convert the hardcoded cards into a JSON dataset (name, url, category, one-line annotation) rendered client-side with category-filter chips and a random 'Stumble' button that opens a random destination in a new tab β the actual StumbleUpon-style tool the brand name and 'Fall down the rabbit hole' tagline promise. This is the real cure for thinness.
- M Collapse the fake nav and dedupe the WholeTech badge β Remove the second duplicate WholeTech anchor (id='wholetech-back') in nav line 41. Drop the News/Videos/Social/Sitemap stub links from the colored subnav; reduce it to Directory (home), Stumble, Resources, About β the sections that will have real content.
Content plan (real data, not prose)
- Build a curated-links JSON dataset of 80-150 hand-vetted destinations, seeded by the 12 strong existing cards (NASA APOD, Radiolab, Wait But Why, Atlas Obscura, The Pudding, Colossal, Dezeen, OpenProcessing, Internet Archive, Wikipedia Random, Every Noise at Once, FlightRadar24) with name/url/category/annotation fields
- Add a working 'Stumble' button that picks a random link from the dataset and opens it in a new tab β the StumbleUpon-style tool the brand name implies
- Add client-side category filter chips reusing existing patterns: keep Science & Nature, Art & Design, Rabbit Holes; add Maps & Live Data (FlightRadar24, MarineTraffic, Windy), Sound & Music (Every Noise, Radiooooo, musicForProgramming), Archives (Wayback, Internet Archive, Public Domain Review), Generative Art (OpenProcessing, Shadertoy)
- Populate resources/ from the research/ JSON already on disk (Kottke, Waxy, Metafilter, Boing Boing, TKSST, Pinboard, Feedly, Pocket, Hacker Newsletter, Wayback, Internet Archive) as an annotated 'curation peers & tools' page β no AI prose, just the real links
- Keep every annotation a specific factual hook in the homepage's existing voice (APOD 'running daily since 1995', Every Noise 'click any genre to hear a sample', FlightRadar24 'watch every plane in the sky in real time') β extend that to all new entries
Nav plan
- Reduce the colored subnav to real sections: Directory (home), Stumble (random), Resources (curation peers), About
- Remove News, Videos, Social, Sitemap stub links from the subnav β they point to 164-188 byte redirect stubs with no content
- Delete the duplicate WholeTech ribbon button (the second anchor id='wholetech-back') in nav line 41 β it renders the badge twice
- Re-skin research/ and resources/ onto the homepage's dark Space-Grotesk template for brand consistency
βΆ Start here: Turn the 12-card homepage into a real curated-link directory with 80+ vetted entries as structured data and a working random 'Stumble' button, then delete the fake chatbot and the placeholder-Wikipedia resources/ page β make the site actually be the StumbleUpon-style discovery tool the brand promises.
Not a thin AI spoke: a deliberately noindex, auth-gated personal lifelog archive with real working tools (calendar density heatmap, FTS5 faceted search, Flask viewer on :8903, JSON API, owner admin console) that the crawler under-counted by only seeing the robots-disallowed public homepage.
Problems
- other Audit metrics are a false positive. The crawler saw 1 public homepage (452 words, robots-disallowed, noindex+X-Robots-Tag) but the real app (/app/, /raw/, /audio/, /summaries/, /calendar/, /search/, /admin/, /api/*) sits behind basic auth, so hits=190 and 'thin' do not apply. The site is correctly invisible to the public network by design.
- other Homepage advertises endpoints that were never crawled: /api/weeks, /api/day/2026-05-06, /api/search?q=, /api/health, /app/ (Flask :8903), /raw/, /audio/, /summaries/, /admin/, /docs/. Verify each actually responds (200/valid JSON) rather than being a dead promise on a landing page β especially /admin/ (owner control panel for fetch/sync/re-ingest) and /api/health (7-leg freshness), which are the two most likely to be aspirational.
- seo robots.txt has global Disallow: / but then per-agent Allow: / for ClaudeBot/GPTBot/OAI-SearchBot/PerplexityBot/Google-Extended/Applebot-Extended. This contradicts the page's own 'private Β· owner-only Β· noindex Β· auth required' declaration. Almost certainly a templated 'mythos-build managed' block applied wholesale; on a genuinely private auth-gated host those AI crawlers should be Disallow, not Allow.
- nav Homepage header (eyebrow + h1 + theme switcher + privacy pill) links no doc pages; /docs/ appears once in a card. The /admin/ link sits inside a note paragraph, not a card or nav. /calendar/ and /search/ have their own masthead nav but the landing page does not link privacy/terms/help/successor docs that exist on disk.
Fixes
- S Reclassify in the audit β Tag this domain 'private-app, exclude from thin-content remediation' with an allowlist entry so future crawls do not re-rank it at #19. It is intentionally noindex + basic-auth-gated, not a public marketing spoke; hits=190 reflects the single public homepage only.
- M Verify the advertised endpoints are live β curl -u with the family credential against /api/health, /api/weeks, /api/day/2026-05-06, /api/search?q=test, /app/, /raw/, /audio/, /summaries/, /admin/, and a /raw/<week>/by-day/<date>.md path. Confirm /app/ (Flask :8903) and /api/* return 200/valid JSON and /admin/ actually triggers fetch+sync. Any dead card gets wired up or removed.
- S Fix the robots.txt contradiction β Drop the per-AI-bot Allow block (ClaudeBot/GPTBot/OAI-SearchBot/PerplexityBot/Google-Extended/Applebot-Extended) and keep only global Disallow: /. The host declares itself private owner-only; AI training/search crawlers should not be allowed in.
- S Confirm nginx basic-auth covers /api/, /audio/, /raw/, /admin/ β The page states audio has 'no separate password' and every /api/ call 'carries the family credential'. Verify the vhost enforces auth_basic on all of /, /api/, /audio/, /raw/, /admin/ β not just the HTML root β so pendant .ogg audio and the admin fetch trigger are not world-readable behind the noindex.
Content plan (real data, not prose)
- Wire the /api/health card and the static 'Storage legs Β· 7-copy rule' grid to show live last-seen timestamps per leg (limitless cloud, hs nas z:\lifelog, cc nas n:\lifelog, droplet /opt/lifelog, b2 walhus-lifelog, google drive, github private) instead of static 'ok'/'source'/'mirror' pills β turn the decorative .leg.ok/.leg.warn classes into real freshness state.
- Surface real corpus stats on the homepage from the SQLite FTS5 index: total days archived, date range, transcript/summary/audio-chunk counts. The /calendar/ page already computes a density grid (transcript, insights, audio chunks per day) β reuse that aggregation on the landing page.
- Make /search/ FTS5 results and /calendar/ density heatmap the primary entry points over the prose cards, and confirm /api/search?q= is the backing query so the keyboard-first ( / focus, j/k nav) UI returns real matches + day refs.
Nav plan
- Add a footer or header nav linking the doc pages on disk: /docs/ (Limitless API reference mirror), /docs/privacy/, /docs/terms/, /docs/help/, /docs/successor/ β currently only /docs/ is linked, once, inside a card.
- Promote /admin/ out of the inline note paragraph into the 'Operate' section as a proper card/nav item, and ensure all six browse cards (/calendar/ /search/ /app/ /raw/ /audio/ /summaries/) plus the five API cards resolve so no card is a dead link.
βΆ Start here: Reclassify as an intentional private auth-gated app (exclude from thin-content remediation, allowlist so it stops ranking at #19), then verify the advertised /api/*, /app/ (Flask :8903), and /admin/ endpoints are actually live and that nginx basic-auth covers /api/ /audio/ /raw/ /admin/ β and drop the robots.txt per-AI-bot Allow block that contradicts the host's private declaration.
A genuinely substantive Austin site β 149 dated news articles, a working 24-row sortable research table (14 real Austin/Texas outlets + City of Austin Open Data + BLS + Census + creator tools), and a real @springnet owner story β buried under a generic AI-prose homepage, a triple-stacked nav, and a 2003-vs-2024 founding-date contradiction.
Why it reads as AI
- Homepage cards assert vibes not facts: 'Austin's food scene is a content engine that never stops', 'outdoor content writes itself in Austin', 'music gives you a career'.
- ACL Fest 2026 article body uses 'content goldmine' filler; though it does mention Zilker and October, the framing leads with hype instead of the reported lineup/dates.
- Internal contradiction a human editor would catch: hero badge and title say 'Since 2003 / 23 Years Online' (verified: 5x 'Since 2003' in index) while the embedded NewsMediaOrganization JSON-LD foundingDate is '2024' (verified).
- about.html/faq.html/news.html/resources.html top-level files are 164-188-byte meta-refresh stubs (verified sizes) sitting beside real /about/, /faq/, /research/ directories β generated-scaffold lineage.
Problems
- other Self-contradicting provenance: index.html says 'Since 2003' five times and stat '23 Years Online'; history/index.html dates the launch to 2003 and the @springnet SXSW story to 2007 β but the JSON-LD NewsMediaOrganization foundingDate is hardcoded '2024'. Schema and visible copy disagree.
- ai-prose Homepage 'Why Austin'/'Creator Niches' cards are pure generic creator-marketing prose ('content engine that never stops', 'outdoor content writes itself'). 1159 words of decoration, zero live data, on a site that has 149 real dated articles to surface.
- seo The single best asset β /research/index.html, a JS-rendered sortable/filterable table of 24 real resources (Statesman, Austin Chronicle, Austin Monitor, KUT, KXAN, Texas Tribune, City of Austin Open Data, BLS Austin Metro, Census ACS, plus creator tools) β is marked noindex,follow and only reachable via the cramped #subnav-bar, so it earns no search value.
- nav Three competing nav layers: fixed .nav with anchor links (#scene/#niches/#history/#start), an injected 'News' link appended after the theme button, and a full-width fixed #subnav-bar (About/Resources/FAQ/News/Videos/Social/Sitemap/Research/Network Map). News appears 3x (injected link, subnav, footer); primary .nav anchors point to decorative card sections, not to /news/ or /research/.
- thin about.html, faq.html, news.html, resources.html are 164-188-byte meta-refresh redirect stubs (verified). A real news/index.html (78KB 'Latest News' landing page) and /research/ exist but the homepage's own primary nav doesn't point to either.
Fixes
- M Replace homepage marketing cards with a live feed of the real /news/ archive β Swap the 6 'Why Austin' + 8 'Creator Niches' decorative cards for a module listing the 8-10 newest of the 149 files in /news/ (parse date from filename, title from <h1>), grouped under the niche labels already used (Food, Tech, Music, Outdoor, Events). Source data already exists in news/archive.json (120KB). Auto-buildable from the directory.
- S De-noindex /research/ and promote it to a top-nav 'Austin Resources' item β Remove 'noindex,follow' from research/index.html (verified present), give it a public-facing title (currently 'Research Resources'), and link it as a real top-nav destination. The 24-row JSON-driven table (id="data") of Austin outlets + Open Data + BLS + Census is the site's strongest, most verifiable asset and currently earns zero search value.
- S Collapse the three nav layers into one header and wire it to real pages β Merge the .nav anchor links, the injected News link, and the #subnav-bar into one header pointing at real destinations: News (news/index.html β it already exists), Resources (/research/), Videos, About (/about/), Network Map. Kill the duplicate News (x3) and Sitemap (x2) links. Drop the decorative #scene/#niches/#history/#start anchors from primary nav.
- S Resolve the 2003-vs-2024 founding contradiction β pick one date and make schema match copy β Either set JSON-LD foundingDate to '2003' and add an inline Wayback link proving the domain's 2003 history (the @springnet / SXSW-2007 provenance supports a real early-Austin-web story), OR drop the 'Since 2003' (x5) and '23 Years Online' claims and keep 2024. Do not ship copy that contradicts schema.
- M Rewrite the news generation template to lead with reported facts, not hype β Change the article template so bodies open with who/what/when/where from the linked Google News source. The ACL Fest 2026 piece already has Zilker + October but buries them under 'content goldmine'; cut the filler, lead with confirmed lineup, festival dates, ticket on-sale, and Zilker Park. Keep the existing source-attribution block.
- S Replace the about.html meta-refresh stub with a real first-person @springnet page β about.html is a 172-byte redirect stub. Build a real bylined 'Who runs this' page for Paul Walhus / @springnet covering the SXSW-2007 early-Twitter Austin history (already referenced in history/index.html and the twitter:site meta) β the one verifiable, ownable, non-generic story the site has.
Content plan (real data, not prose)
- Replace the 14 decorative homepage cards with a live recent-articles module built from the 149 files in /news/ (date from filename, title from <h1>; news/archive.json already holds the structured data), grouped by the niche labels the site uses β Food, Tech, Music, Outdoor, Events β making the homepage an index of real content instead of marketing prose.
- Promote the existing 24-row /research/ data table (verified: Austin American-Statesman, Austin Chronicle, Austin Monitor, KUT/KUTX, KXAN, CommunityImpact, Austonia, Texas Tribune, Texas Monthly, City of Austin Open Data, Austin Chamber, Census ACS, BLS Austin Metro, r/Austin, plus publishing/SEO tools) out of noindex into a public indexable 'Austin Resources' page β it is the single most useful, least-AI asset on the site.
- Add a dated upcoming-events block sourced from the site's own real coverage: SXSW dates and ACL Fest 2026 lineup/dates are already in /news/ (acl-fest-2026-lineup-announced-austin.html), and the network's austinfestivalcalendar.com is referenced β surface 5-8 dated upcoming items so the homepage shows current facts, not evergreen platitudes.
- Rewrite the ACL Fest 2026 article (and the template that generated it) to lead with the reported confirmed headliners, weekend dates, ticket on-sale date, and Zilker Park venue (the piece already has Zilker + October but buries them under 'content goldmine'), keeping the Google News source attribution.
- Build a real first-person About page on Paul Walhus / @springnet and the SXSW-2007 early-Twitter Austin history (referenced in history/index.html and twitter:site=@springnet) β replacing the 172-byte meta-refresh about.html stub with the site's one genuinely ownable story.
Nav plan
- Collapse the three stacked nav layers β fixed .nav (anchor links), the injected 'News' link, and the full-width #subnav-bar β into one header with real destinations: News, Resources, Videos, About, Network Map.
- Fix the duplicate links: News appears 3x (injected nav link, #subnav-bar, footer) and Sitemap appears 2x in the footer; keep one of each.
- Point top nav at the news landing page that ALREADY exists (news/index.html, a 78KB 'Latest News' page) β currently no nav layer links to it directly; primary .nav anchors point only at decorative card sections.
- Drop the decorative on-page anchors (#scene/#niches/#history/#start) from primary nav since they scroll to marketing cards rather than to /news/ or /research/.
βΆ Start here: Replace the homepage's decorative marketing cards with a live feed of the 149 real dated /news/ articles (data already in news/archive.json) and de-noindex + top-nav the working 24-row /research/ table β make the homepage an index of the real content that already exists instead of generic creator prose.