Developer index
Every page in the LiNK prototype, grouped by surface. Generated by scanning the folder — each row reads the page’s own <title> and robots meta, so this index cannot drift from what actually exists.
[ INTERNAL — not client-facing, noindex, and excluded from sitemap.xml. Most signed-in and staff screens are deliberately unreachable from the homepage; this page is how you get to them. ]
47 pages 30 indexable 17 noindex
Public marketplace
11 pages
| Page | Robots | Size |
|---|---|---|
| About LiNK — Real Estate Without the Middleman about.html | indexed | 990 words |
| How to Buy a House Without a Realtor buy.html | indexed | 1,501 words |
| Concierge Services — Full Support Selling concierge.htmlPublic tier selection. Pricing from the client comp — unconfirmed. | indexed | 962 words |
| Contact LiNK — Support, Live Chat & Call Back contact.htmlRebuilt to Christine's 2026-07-20 spec. Try the submit — it swaps to the confirmation state. | indexed | 1,881 words |
| FAQ — Selling & Buying Without an Agent faq.htmlCarries the anchored account questions contact.html deep-links to. | indexed | 1,774 words |
| How to Sell Your House Without a Realtor how-it-works.html | indexed | 3,367 words |
| For Sale By Owner — Buy & Sell Without Realtor Fees index.htmlHomepage. Hero matches garza.link; image-gate cross-fade below. | indexed | 1,055 words |
| Sample Closing Attorneys, PLC — Real Estate Services, Richmond VA provider.html | indexed | 886 words |
| Houses for Sale in Richmond, VA — No Commissions search.htmlLive facets + Leaflet map, always in sync (one matching engine). | indexed | 1,431 words |
| Sell My House Without a Realtor sell.html | indexed | 1,286 words |
| Find Real Estate Professionals in Richmond, VA services.html | indexed | 945 words |
Property detail pages
18 pages
| Page | Robots | Size |
|---|---|---|
| 11 S Belmont Ave, Richmond VA — $342,000 listing-11-s-belmont-ave.html | indexed | 1,259 words |
| 1204 Westover Hills Blvd, Richmond VA — $455,000 listing-1204-westover-hills-blvd.html | indexed | 1,225 words |
| 1214 Rothsay Cir, Richmond VA — $425,000 listing-1214-rothsay-cir.html | indexed | 1,223 words |
| 1310 Bellevue Ave, Richmond VA — $379,900 listing-1310-bellevue-ave.html | indexed | 1,224 words |
| 13905 Midlothian Tpke, Richmond VA — $549,000 listing-13905-midlothian-tpke.html | indexed | 1,221 words |
| 1400 Summit Ave, Richmond VA — $274,500 listing-1400-summit-ave.html | indexed | 1,218 words |
| 1801 Grove Ave, Richmond VA — $615,000 listing-1801-grove-ave.html | indexed | 1,221 words |
| 2201 E Broad St, Richmond VA — $298,000 listing-2201-e-broad-st.html | indexed | 1,222 words |
| 2416 Winterfield Rd, Richmond VA — $692,000 listing-2416-winterfield-rd.html | indexed | 1,223 words |
| 2809 Hanes Ave, Richmond VA — $289,000 listing-2809-hanes-ave.html | indexed | 1,222 words |
| 3010 W Clay St, Richmond VA — $318,000 listing-3010-w-clay-st.html | indexed | 1,215 words |
| 3300 Monument Ave, Richmond VA — $749,000 listing-3300-monument-ave.html | indexed | 1,247 words |
| 4120 Grove Ave, Richmond VA — $468,000 listing-4120-grove-ave.html | indexed | 1,255 words |
| 4417 Kensington Ave, Richmond VA — $512,000 listing-4417-kensington-ave.html | indexed | 1,240 words |
| 506 N 32nd St, Richmond VA — $232,500 listing-506-n-32nd-st.html | indexed | 1,230 words |
| 5501 Riverside Dr, Richmond VA — $825,000 listing-5501-riverside-dr.html | indexed | 1,233 words |
| 715 N 25th St, Richmond VA — $264,900 listing-715-n-25th-st.html | indexed | 1,231 words |
| 908 Hanover Ave, Richmond VA — $389,500 listing-908-hanover-ave.html | indexed | 1,225 words |
Account
3 pages
| Page | Robots | Size |
|---|---|---|
| Log In to LiNK login.htmlChristine 2026-07-20. Log in only. SSO, MFA, 5 error states, recovery, devices. | noindex | 2,318 words |
| My Profile — Account Settings profile.htmlChristine 2026-07-20. Role-conditional — use the chips to switch role. | noindex | 2,649 words |
| Create Your LiNK Account register.htmlSplit out of login.html 2026-08-12 — the header's Sign Up CTA had no page of its own. | indexed | 1,553 words |
Seller dashboard
11 pages
| Page | Robots | Size |
|---|---|---|
| My Concierge Service dashboard-seller-concierge.htmlNo client spec — proposal. Customer-visible fields only (Rule 9). | noindex | 1,092 words |
| Insights — Seller Dashboard dashboard-seller-insights.html | noindex | 1,049 words |
| Edit Listing: 1214 Rothsay Cir dashboard-seller-listing-edit.htmlEvery figure derives from listing_data.py — cannot disagree with the public listing. | noindex | 943 words |
| List your home dashboard-seller-listing-wizard.htmllink_listing_wizard — all 108 property_listing fields across 9 resumable steps, rendered from link_fields.py. | noindex | 2,957 words |
| My Listings — Seller Dashboard dashboard-seller-listings.html | noindex | 1,068 words |
| Notifications & Alerts — Seller Dashboard dashboard-seller-notifications.html | noindex | 850 words |
| Offer from Sample Buyer B — 1214 Rothsay Cir dashboard-seller-offer.html | noindex | 1,162 words |
| Offers & Negotiations — Seller Dashboard dashboard-seller-offers.html | noindex | 1,125 words |
| My Profile — Seller Dashboard dashboard-seller-profile.html | noindex | 839 words |
| Scheduled Showings — Seller Dashboard dashboard-seller-showings.html | noindex | 1,378 words |
| My Seller Dashboard dashboard-seller.htmlOverview. Built from the client's own comps. | noindex | 1,016 words |
Internal reference
2 pages
| Page | Robots | Size |
|---|---|---|
| Developer index developer.htmlThis page. | noindex | — |
| Component Styleguide (internal) styleguide.htmlAll 16 tab-13-SDC components. Four render from components.py, so demo == implementation. | noindex | 4,964 words |
Other
2 pages
| Page | Robots | Size |
|---|---|---|
| Messages — Seller Dashboard dashboard-messages.html | noindex | 1,352 words |
| Transaction — 4417 Kensington Ave dashboard-transaction.html | noindex | 1,100 words |
Artifacts & contracts
The files the Drupal build reads. Nothing here is hand-maintained twice — each is generated from, or is itself, a single source.
| File | What it is |
|---|---|
| components.json | SDC handoff contract — props with JSON Schema types, slots, component-vs-page-section triage |
| sitemap.xml | Generated from each page's own noindex + canonical |
| robots.txt | Generated alongside the sitemap |
| BRIEF.md | The build contract and its decision record |
| SEO-PLAN.md | Per-page query map |
| css/tokens.css | @theme static block — lifts verbatim into the Drupal theme's src/input.css |
| css/extras.css | Only what utilities cannot express. Layered, so it cannot outrank a component. |
| components.py | Canonical markup for step-tabs, rating-stars, message-thread, alert-toast |
| listing_data.py | Single source for every property fact in the prototype |
| link_fields.py | GENERATED field catalogue — every field, value list and vocabulary in the build manual |
| make-field-map.py | Reads link_build_manual_*.xlsx and regenerates link_fields.py |
| verify-fields.py | Fails the build if a manual field reaches no page, or if a v6 invariant is broken |
Rebuilding
Pages are generated. Edit a make-*.py, never the HTML it writes — the exceptions are index.html, compare.html, how-it-works.html and the two dashboard overviews, which are hand-authored. Run the generators, then sync-shared.py once.
for g in make-pages make-listings make-dashboards make-buyer-dashboards \
make-provider-pages make-account-pages make-bid-page \
make-styleguide make-admin-pages make-developer; do
python3 $g.py
done
python3 sync-shared.py # tokens + header/appheader/footer into every page
python3 make-sitemap.py # sitemap.xml + robots.txt from each page's own robots meta
python3 make-manifest.py # components.json
python3 ~/.claude/skills/website-prototype-builder/scripts/verify.py .