VIPSmiles — Sprint 1 public-site discovery
Discovery date: 2026-09-07 (America/Denver). Source: vipsmilesdental.com.
This package documents the existing public website to support a modern replacement that staff can maintain with authenticated, authorized access. It does not implement the replacement. Findings describe what the public site exposed at the time; backend behavior and business requirements remain explicitly unverified where indicated.
Read first
Coverage: 309 unique normalized same-host page URLs discovered; 59 unique pages inspected through successful HTML or browser DOM acquisition; 250 remain inventoried only. The crawler attempted 58 page GETs (57 returned 200; one retrieval failed and was later readable in the browser). Browser DOM evidence also covers the deeper Patient Forms page. All six sitemap documents returned 200. The current generated asset inventory has 124 referenced asset URLs and the integration inventory has 41 external reference URLs; these are references, not counts of independent vendors or downloaded files.
The site combines a large service hierarchy and article archive with practice information, patient resources, promotions, a gallery, and several inquiry entry points. Appointment pages expose request forms, rather than observed live slot booking. The shared footer and chat may receive patient details, so data handling must be specified before choosing their replacements. The current public technology is WordPress with several plugins and third-party embeds; it does not establish which CMS is best for the future staff workflow.
The most important immediate decisions are account/content ownership, the authoritative appointment journey, form/chat destinations and handling, staff publishing roles, asset reuse rights, and a sustainable maintenance budget. Visual and accessibility findings include obstructive mobile overlays, menu semantics, sampled low-contrast navigation text and weak gallery image alternatives.
The deeper Patient Forms page links to an external intake service at securehealthform.net; that destination was recorded but not opened. The initial Teeth Whitening retrieval failure was resolved by a successful browser recheck. No inspected page remains confirmed inaccessible; the 250 inventory-only URLs and unexercised external flows remain explicit coverage gaps.
Artifacts
| File | Purpose |
|---|---|
| URL/page inventory | Readable coverage and every discovered normalized same-host page URL |
| Page inventory JSON | Titles, descriptions, canonicals, robots, H1, sitemap lastmod, referring sources and pending migration disposition |
| Content / functionality / integrations | Content model inputs, forms and appointment journeys, implementation clues and unknowns |
| Asset inventory | Referenced images/files and source pages; not a rights-cleared download library |
| Integration inventory | External link/script/iframe references found in fetched HTML |
| Form inventory | Form actions, methods and field metadata; no submitted data or hidden values |
| Layout and accessibility | Sampled desktop/mobile observations, evidence screenshots and follow-up checks |
| Staff editing requirements | Proposed content fields, account controls, roles, approval and acceptance scenarios; assumptions labeled |
| Migration and SEO | URL preservation, redirect decisions, metadata, assets and cutover considerations |
| CMS options | Evidence-based comparison of managed WordPress, Sanity and Payload; decision deferred |
| Office-manager questions | Prioritized meeting agenda and desired decisions |
| Sprint 1 completion plan | Owners, dependencies and discovery acceptance criteria |
Evidence and method
evidence/robots.txt preserves the observed User-agent: * / Crawl-Delay: 20 directive. A single standard-library Python crawler used read-only GETs with at least 20 seconds between initiated requests. It fetched the homepage-linked XML sitemap index and its five child sitemaps, enumerated their page URLs, and fetched homepage-linked page destinations. It excluded login/admin/API/feed paths, query-string variations and external hosts from recursive page fetching. It did not brute-force paths or probe security. Browser navigation and DOM/screenshot review supplied the visual sample.
evidence/pages.json contains parsed public HTML (text, headings, metadata, links, images, embeds, script URLs, JSON-LD and form field metadata). It is an internal discovery snapshot, not approved replacement copy. evidence/sitemaps.json records sitemap fetch results; evidence/sitemap-*.xml preserves the public sitemaps. evidence/coverage-summary.json provides machine-generated counts. evidence/home-dom-observations.json supplements static HTML with loaded-page observations. evidence/browser-pages.json supplies successful DOM-only records for Patient Forms and the Teeth Whitening recheck; HTTP status was not captured for those acquisitions. The browser coverage log gives the exact visual sample and limitations.
crawl_public.py is the network discovery utility; do not rerun casually against production. build_inventory.py rebuilds inventories from local evidence without network access. No package installation, source repository initialization, site deployment or production modification was performed. The supplied workspace did not contain existing project source or a Git repository at inspection time.
Coverage vocabulary and limits
- HTML inspected: public GET succeeded and content/metadata were extracted. This is not a claim that every line was editorially approved or every interaction was tested.
- Browser DOM inspected; HTTP not recorded: the page rendered and its public DOM was captured, but no HTTP status is asserted.
- Discovered only: found in a sitemap/link, but not fetched. This is especially relevant to the article archive and deeper legacy/resource paths.
- Fetch failed / non-200: this environment did not obtain a successful document. A connection/retrieval failure is not proof of a site-wide outage or a 404.
- Visually inspected: only the pages/viewports explicitly listed in the layout report and browser evidence log. Sitemap discovery is not visual coverage.
- Observed: public markup, rendered UI, link or fetch result. Inferred/proposed: possible content model, backend interpretation or replacement requirement needing confirmation.
No forms, chat messages, giveaway entries, reviews, appointment reservations or financing applications were submitted. No account was accessed or created. Private patient/staff systems, form delivery/storage, agency configuration, analytics performance, historical redirects and legal compliance cannot be established from this inspection. Most external destinations were recorded rather than exercised. Asset binaries and every article were not exhaustively downloaded/reviewed. Full accessibility, content rights and clinical accuracy require follow-up with the practice.
See the completion plan for work required to close Sprint 1 requirements. Completion of this public-site discovery task does not mean the office manager has approved the assumptions or a replacement architecture.