SEO / Portfolio / Public Site
LongTermSoftware.com Live Audit Report
Report summary
Generated UTC: 2026-06-17T00:37:56Z Audited site: https://longtermsoftware.com/ Audit source specification: uploaded prompt treated as controlling requirements.
Key topics
- SEO / Portfolio / Public Site
- SEO
- Portfolio
- Public Site
- AI
- UAI
- Agentic Web
- WordPress
- .NET
Research provenance
For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.
Source availability: 1 citation markers in the source export have no recoverable source links. Those markers are omitted from this reader; any supplied bibliography and ordinary links remain. Check the original sources before relying on the cited claims.
This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.
Full report
On this page
Generated UTC: 2026-06-17T00:37:56Z Audited site: https://longtermsoftware.com/ Audit source specification: uploaded prompt treated as controlling requirements.
Evidence limits for this pass
This report is a live-site audit based on the available web renderer and direct parsed route evidence. The renderer confirmed multiple HTML, JSON, and text routes, but the execution environment could not run a full desktop browser session because container DNS resolution for longtermsoftware.com failed. As a result:
- Confirmed: parsed live page content from the web renderer, route redirects exposed by that renderer, visible text, visible links, and several JSON/text assets.
- Not confirmed: screenshots, Lighthouse scores, Core Web Vitals lab metrics, DevTools Network behavior, exact DOM selectors, color contrast, keyboard behavior, mobile reflow, real curl status codes, and form submission/error behavior.
- Do not treat unknowns as passes. Add the tests listed in section 24 before packaging the next theme ZIP.
1. Executive Summary
The current production site has moved in the right strategic direction on the homepage: the primary nav is conventional, the hero communicates .NET/SQL modernization without behavioral drift, and the homepage now includes the approved hourly/retainer/C2C pricing ladder language. However, the site is not internally consistent enough for the next WordPress theme package.
The largest risks are:
- Pricing truth is split. The homepage shows the new ladder, but
/services/and multiple service detail routes still use old fixed-scope pricing./pricing/could not be confirmed in this audit renderer. - Contact truth is wrong or incomplete. The contact page shows
consulting@longtermsoftware.comas fallback and does not expose the expected direct contact profile. - Several service-detail pages use stale templates. Four service pages still show old navigation:
AI Systems,Downloads, andAssessment. - Machine-readable assets are not synchronized. The manifest uses stale contact information and omits pricing routes/assets. Proof exports show older versions than the manifest.
- Evidence-route reliability is incomplete.
proof-ledger.csv,/machine-readable-evidence/, and/route-qa-contract.jsoncould not be confirmed in this pass.
Overall scorecard
| Area | Score / 10 | Evidence | Main recommendation |
|---|---|---|---|
| Positioning / first impression | 8 | Homepage hero states fragile .NET/SQL modernization and behavior preservation; trust boundaries visible. | Keep the hero direction; tighten section order and reduce proof density. |
| Pricing truth | 4 | Homepage shows approved ladder; services/details show fixed-scope pricing; /pricing/ not confirmed. | Centralize pricing truth in one source and test HTML/JSON/REST parity. |
| Contact truth | 3 | Contact page shows consulting@longtermsoftware.com; expected direct profile absent. | Publish Mike Kappel / mike@ns12.com / phone / Cicero consistently. |
| Services UX | 5 | Service list clear, but old fixed-scope posture dominates. | Rebuild cards around buyer problem, best fit, timeline, pricing path, proof, next step. |
| Proof / claims boundaries | 8 | Proof statuses and template boundaries are explicit. | Improve link labels and add approved outcome placeholders only after approval. |
| Resources/downloads | 6 | Resource inventory is useful; pricing guide/ladders absent from observed list. | Add pricing/service JSON and reduce route duplication. |
| Diagnostic | 6 | Privacy text is strong; result/copy/export/network behavior not verified. | Add sample input, copy/export, and a local-only network test. |
| Machine-readable readiness | 4 | llms/manifest exist; manifest contact stale; versions/routes mismatch. | Regenerate all AI-reader files from site truth snapshot. |
| Accessibility | 5 | Skip link and warnings visible; link purpose and form behavior need work. | Add automated axe/Playwright keyboard/viewport tests. |
| SEO/index hygiene | 5 | No starter content found by search, but site: queries returned no visible results. | Verify Search Console, sitemap, robots, canonical, and stale redirects. |
| Performance | Unknown | Lighthouse not available in this environment. | Run Lighthouse/Chrome traces in CI before packaging. |
| Security/privacy | 6 | Good no-secret and diagnostic privacy copy; headers/security.txt not verified. | Verify non-invasive headers and security.txt. |
2. Current Live State vs Expected Site Truth
| Expected truth | Confirmed live state | Status | Fix |
|---|---|---|---|
| Primary nav: Services, Proof, Industries, Resources, About, Contact | Confirmed on homepage and most pages. | Mostly pass | Normalize remaining stale service templates. |
| Primary CTA emphasizes fit call | Homepage, contact, fit-call, proof, resources show fit-call CTA. | Mostly pass | Replace stale “Start assessment” primary CTAs on service detail pages. |
Contact shows Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, IL | Contact page shows consulting@longtermsoftware.com; direct profile not observed. | Fail | Update central contact profile and all surfaces. |
| Pricing ladder has $150/hour, $100/hour monthly, $80/hour annual, $75/hour C2C | Homepage contains the ladder; service pages contain fixed-scope pricing. | Mixed/fail | Centralize pricing truth and rewrite services/pricing/AI files. |
| Retainer hours non-accumulative | Not observed in parsed homepage/services/contact/FAQ. | Fail | Add rollover boundary anywhere retainers appear. |
| Templates vs approved outcomes distinct | Proof, case studies, sample artifacts clearly mark templates and generated-needs-human-review. | Pass | Keep boundary language; improve proof link labels. |
| Machine-readable files present and synchronized | llms and manifest present; proof ledger JSON present; versions/routes/contact mismatch. | Mixed/fail | Regenerate and route-test all assets. |
| No unsupported claims | No AGI/consciousness/certification/autonomous authority claims observed; boundaries strong. | Pass | Keep claim-boundary tests. |
3. Screenshot Catalog
No screenshots were captured in this pass. See screenshots/SCREENSHOTS-NOT-CAPTURED.md.
Required screenshot set for the next pass:
| Required screenshot | Status | Next action |
|---|---|---|
| Homepage desktop above fold/full page | Not captured | Capture 1440x900 and 1366x768. |
| Homepage mobile above fold/full page | Not captured | Capture 390x844 and 320x568. |
| Header at 1366, 1024, 768, 390, 320 | Not captured | Verify no wrap/overflow; mobile menu. |
| Pricing desktop/mobile | Not captured | First verify /pricing/ resolves. |
| Contact desktop/mobile | Not captured | Capture after contact truth fix. |
| Fit-call desktop/mobile | Not captured | Capture form and CTA. |
| Services/proof/resources desktop/mobile | Not captured | Capture after nav/pricing fix. |
| Diagnostic before/after sample input | Not captured | Requires browser + network tab. |
| Machine-readable evidence page | Not captured | First verify route resolves. |
| Visual defects | Not captured | Run responsive screenshot matrix. |
4. Route and Link QA
See route-audit.csv and broken-links.csv.
Route audit table
| Route | Status | Redirect? | Title | H1 | Key markers found | Issues |
|---|---|---|---|---|---|---|
/ | 200 observed | No | LongtermSoftware.com | Modernize fragile .NET and SQL systems without behavioral drift. | Current nav; pricing ladder; trust boundaries | No non-accumulative retainer text observed. |
/pricing/ | Fetch failed: cache miss | Unknown | Unknown | Unknown | Linked from homepage/footer/contact | Critical route not confirmed. |
/contact/ | 200 observed | No | LongtermSoftware.com | Contact LongTermSoftware | Form; no-secret warning; fallback email | Direct contact truth missing. |
/fit-call/ | 200 observed | No | LongtermSoftware.com | Request a Fit Call | Short form; no-secret warning | Direct contact profile missing. |
/services/ | 200 observed | No | LongtermSoftware.com | AI Consulting Services | Seven services; fixed-scope prices | Pricing posture stale. |
/proof/ | 200 observed | No | LongtermSoftware.com | Claim-to-Evidence Ledger | Proof statuses | Generic link labels. |
/case-studies/ | 200 observed | No | LongtermSoftware.com | Case Studies | Template boundary | Needs stronger buyer outcomes. |
/resources/ | 200 observed | No | LongtermSoftware.com | Resources and Buyer Checklists | Resource inventory | Pricing guide/ladders absent from observed inventory. |
/downloads/ | 200 observed | No | LongtermSoftware.com | Downloads and Buyer Checklists | Resource inventory | Duplicates resources; no pricing guide observed. |
/docs/ | 200 observed | No | LongtermSoftware.com | Docs and Long-Term Memory | Launch checklist | Repeats resource inventory. |
/process/ | 200 observed | No | LongtermSoftware.com | Process: Assess, Map, Pilot, Integrate, Govern | Six-phase process | Pass. |
/about/ | 200 observed | No | LongtermSoftware.com | About LongTermSoftware.com | Brand architecture | May be internally oriented. |
/faq/ | 200 observed | No | LongtermSoftware.com | AI Consulting FAQ | Claim boundaries | Pricing/retainer FAQ missing. |
/industries/ | 200 observed | No | LongtermSoftware.com | Industries and Use Cases | Industry list | Needs stronger service/pricing routing. |
/standards-alignment/ | 200 observed | No | LongtermSoftware.com | Standards Alignment | Governance framework boundaries | Pass. |
/sample-artifacts/ | 200 observed | No | LongtermSoftware.com | Sample Artifacts | Public-safe template boundary | Pass with richer previews recommended. |
/diagnose-system/ | 200 observed | No | LongtermSoftware.com | Browser-Local System Diagnostic | Local-only privacy copy | Network/result behavior not verified. |
/services/governed-knowledge-rag-foundation/ | 200 observed | No | LongtermSoftware.com | Governed Knowledge / RAG Foundation | Old nav; $75k price | Stale template. |
/services/ai-reviewer-app-mvp/ | 200 observed | No | LongtermSoftware.com | AI Reviewer App MVP | Old nav; $95k price | Stale template. |
/services/ai-evaluation-and-reliability-program/ | 200 observed | No | LongtermSoftware.com | AI Evaluation and Reliability Program | Old nav; $60k price | Stale template. |
/services/fractional-ai-modernization-architect/ | 200 observed | No | LongtermSoftware.com | Fractional AI / Modernization Architect | Old nav; $45k/quarter | Does not match expected C2C pricing. |
/hello-world/ | Redirected to / observed | Yes | LongtermSoftware.com | Modernize .NET and SQL systems without behavioral drift. | Stale fixed-scope pricing copy | Cache/redirect defect likely. |
/projects/ | Redirected to /proof/ observed | Yes | LongtermSoftware.com | Claim-to-Evidence Ledger | Proof ledger | Pass. |
/llms.txt | 200 observed | No | text/plain | N/A | v1.9.0 generated UTC | Missing pricing/contact truth. |
/ai-agent-manifest.json | 200 observed | No | JSON | N/A | v1.9.0; contact consulting@... | Contact and pricing route mismatch. |
/route-qa-contract.json | Fetch failed: cache miss | Unknown | Unknown | N/A | Listed in footer/llms | Required contract not confirmed. |
/downloads/proof-ledger.json | 200 observed | No | JSON | N/A | v1.7.0 six proof rows | Version stale vs manifest. |
/downloads/proof-ledger.csv | Fetch failed: (400) OK | Unknown | CSV | N/A | Link visible | Verify/fix export. |
/downloads/conversion-event-taxonomy.json | 200 observed | No | JSON | N/A | taxonomy-only-no-analytics-runtime | Event names incomplete vs prompt. |
5. Homepage and First Impression Review
Confirmed strengths
- The hero clearly says the company modernizes fragile .NET and SQL systems without behavioral drift.
- Above-the-fold trust signals include hourly entry pricing, monthly advisory retainer pricing, .NET/SQL focus, principal-led architecture, review-first AI, and public proof routes.
- Unsupported AI claims are explicitly denied later on the page.
Issues
| Issue | Evidence | Risk | Recommendation |
|---|---|---|---|
| Homepage remains long and proof-heavy. | Parsed homepage contains hero, problem, pricing, service cards, proof status key, proof cards, process, resources, trust boundaries, footer. | Buyers may experience it as a proof library rather than a conversion path. | Keep proof but move deeper ledgers below primary buyer path. |
| Secondary CTA may compete. | Hero includes “Book a 20-minute fit call” and “See proof examples.” | Moderate distraction. | Keep secondary link lower-contrast; primary CTA should dominate. |
| Non-accumulation note missing. | Pricing ladder visible, rollover boundary not observed. | Retainer ambiguity. | Add concise note under pricing path. |
| Direct contact proof absent. | Footer has pricing/resources/machine-readable, no observed direct contact profile. | Trust gap for procurement. | Add compact “Principal: Mike Kappel” proof/contact card. |
Proposed rewritten hero copy
Eyebrow: .NET / SQL modernization · reviewed AI workflows · governed knowledge Headline: Modernize legacy .NET and SQL systems without changing business behavior by accident. Subhead: Map hidden rules, preserve production behavior, and introduce AI only behind source-bound evidence, human review, and clear release gates. Primary CTA: Book a 20-minute fit call Secondary CTA: Compare pricing options Trust strip: $150/hour ad-hoc · $2,000/month advisory · SQL/Web Forms/Classic ASP/VB.NET · no autonomous production authority
Proposed homepage section order
- Hero with primary CTA and compact trust strip.
- Problem: hidden rules, AI output risk, proof pressure.
- Pricing path: four options and non-accumulative retainer note.
- “Choose your starting point” service cards.
- Fit-call / diagnostic bridge.
- Proof status key.
- Three buyer-readable case templates.
- Process summary.
- Resource links.
- Trust boundaries and footer.
6. Header, Navigation, and Search Review
Pass/fail matrix by observed route group
| Route group | Expected nav present | Search visible in parsed text | Fit-call CTA visible | Issue |
|---|---|---|---|---|
| Homepage/core pages | Yes | Yes | Yes | Mostly pass. |
| Contact/fit-call | Yes | Yes | Yes | Pass. |
| First three service detail pages | Yes | Yes | Yes | Pricing copy stale. |
| RAG/App/Evaluation/Fractional service details | No | No parsed search | No top fit-call CTA in header | Stale template. |
Recommended CSS/header fixes
- Use a single
header.phpsource for every virtual/service page; remove old nav arrays from service-detail renderers. - Add route QA assertion: exact header link text sequence equals
Services | Proof | Industries | Resources | About | Contacton every public HTML route. - Add Playwright viewport checks at
1366x768,1280x800,1024x768,768x1024,390x844,375x667,320x568. - Search input should have exactly one accessible name. Current parsed output suggests label duplication:
Search LongTermSoftware.com Search.
7. Pricing Page Review
Pricing consistency table
| Source | Ad-hoc | Monthly | Annual | C2C | Non-accumulative language | Mismatch |
|---|---|---|---|---|---|---|
| HTML homepage | $150/hour, no minimum | $100/hour, 20-hour monthly minimum, $2,000/month | $80/hour, 40-hour monthly minimum, $3,200/month | $75/hour, 40h/week, six-month minimum | Not observed | Partial pass; rollover note missing. |
| HTML pricing page | Unknown | Unknown | Unknown | Unknown | Unknown | Critical: /pricing/ not confirmed. |
| HTML services page | Not shown | Not shown | Not shown | Not shown | Not shown | Fixed-scope pricing dominates. |
| Service details | Not shown | Not shown | Not shown | Fractional does not show expected C2C | Not shown | Old pricing posture. |
| pricing-ladder.json | Unknown | Unknown | Unknown | Unknown | Unknown | Not discoverable/verified. |
| service-packages.json | Unknown | Unknown | Unknown | Unknown | Unknown | Not discoverable/verified. |
| REST pricing | Unknown | Unknown | Unknown | Unknown | Unknown | Not verified. |
| REST pricing-consistency | Unknown | Unknown | Unknown | Unknown | Unknown | Not verified. |
| llms.txt | Not listed | Not listed | Not listed | Not listed | Not listed | Missing pricing truth. |
| AI manifest | Not listed | Not listed | Not listed | Not listed | Not listed | Omits /pricing/ and pricing files. |
| FAQ | Not listed | Not listed | Not listed | Not listed | Not listed | Add pricing answer. |
Specific pricing recommendations
- Rebuild
/pricing/with four cards:
- Ad-hoc architecture help:
$150/hour, no minimum. - Monthly advisory retainer:
$100/hour, 20-hour monthly minimum,$2,000/month. - Annual modernization retainer:
$80/hour, 40-hour monthly minimum,$3,200/month, annual contract. - Embedded architect C2C:
$75/hour, 40 hours/week, six-month minimum, limited availability.
- Put Monthly Advisory or Annual Modernization in the “recommended/practical default” visual frame. Do not overpromote C2C.
- Add exact note:
Retainer hours are reserved monthly capacity. Unused hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise. - Add route QA parity tests comparing
/pricing/,/downloads/pricing-ladder.json,/wp-json/lts/v1/pricing,/wp-json/lts/v1/pricing-consistency,llms.txt, manifest, and FAQ.
8. Contact and Fit-Call Review
Contact consistency table
| Source | Phone | Location | Founder/profile | Mismatch | |
|---|---|---|---|---|---|
| Contact page | consulting@longtermsoftware.com fallback | Not observed | Not observed | MikeKappel.com link only | High mismatch. |
| Fit-call page | Not observed | Not observed | Not observed | Not observed | Direct profile absent. |
| Footer | Not observed | Not observed | Not observed | Not observed | Direct profile absent. |
| Schema | Unknown | Unknown | Unknown | Unknown | Requires source/DOM. |
| AI manifest | consulting@longtermsoftware.com | Not listed | Not listed | Brand model only | High mismatch. |
| llms.txt | Not listed | Not listed | Not listed | Not listed | Missing. |
| REST contact-profile | Unknown | Unknown | Unknown | Unknown | Not verified. |
Form UX issues
| Route | Issue | Fix |
|---|---|---|
/contact/ | Form is detailed for first touch. It is framed as progressive intake, but the visible fields are many. | Keep fit-call as primary. Put direct contact card above or beside the detailed form. |
/fit-call/ | Good shorter path, but no direct contact fallback observed. | Add compact card: Mike Kappel, email, phone, Cicero. |
| Both | Error handling not verified. | Add tests for empty submit, invalid email, focus movement, and accessible error text. |
| Both | Do-not-submit-sensitive-data language is strong. | Keep warning adjacent to textarea/short note. |
9. Services UX Review
| Service | Observed issue | Fix |
|---|---|---|
| AI and Modernization Assessment | Detail page shows fixed-scope Starting from $15k. | Show flexible entry: $150/hour diagnostic help, monthly advisory, or fixed-scope when deliverables are defined. |
| .NET / SQL Modernization Blueprint | Detail page shows Starting from $30k. | Add hourly diagnostic and retainer path; fixed-scope blueprint only after risk is clear. |
| Human-Reviewed AI Workflow Accelerator | Detail page shows Starting from $55k. | Add review-first pilot path through hourly/retainer first. |
| Governed Knowledge / RAG Foundation | Old nav and Starting from $75k. | Update template/header and pricing path. |
| AI Reviewer App MVP | Old nav and Starting from $95k. | Update template/header and position MVP after assessment/retainer discovery. |
| AI Evaluation and Reliability Program | Old nav and Starting from $60k. | Update template/header and add evaluation retainer option. |
| Fractional AI / Modernization Architect | Shows $45k per quarter, not expected embedded C2C ladder. | Rename/position against approved C2C and retainer options; clarify limited availability. |
Recommended service-card structure
- Buyer problem — one sentence.
- Best fit — role/team/system profile.
- Typical timeline — range or monthly capacity.
- Pricing path — ad-hoc/retainer/fixed-scope/C2C applicability.
- Deliverables — 3–5 concrete outputs.
- Proof route — specific link label.
- Next step — primary fit-call CTA; secondary resource/proof link.
10. Proof, Case Studies, and Sample Artifacts Review
Proof maturity assessment
The proof system is a relative strength. /proof/ acts like a claim-to-evidence ledger, /case-studies/ clearly states narratives are public-safe templates until approved outcomes exist, and /sample-artifacts/ explicitly says templates contain no client data and do not imply production outcomes.
Template-vs-outcome boundary assessment
| Area | Status | Evidence | Recommendation |
|---|---|---|---|
| Proof statuses | Pass | Public-ready template, Generated-needs-human-review. | Keep statuses visible. |
| Case studies | Pass | Case narratives are public-safe templates until approved. | Add buyer-readable “why this matters” summaries. |
| Sample artifacts | Pass | “No client data” and “do not imply production outcomes.” | Add visual previews or HTML artifact snippets. |
| Approved outcomes | Not present | No approved client outcome metrics observed. | Do not invent. Add only after written approval. |
Top 5 proof improvements
- Replace repeated
Open routelink labels with descriptive proof link text. - Add a one-line “why this matters to CTO/CIO/procurement” summary to each proof card.
- Add approval-state badges with definitions linked to the proof status key.
- Add “what this does not prove” boundary per claim.
- Keep machine-readable proof but make it clearly secondary for humans.
Recommended proof-card format
Claim: Preserve business behavior during .NET / SQL modernization
Evidence route: Legacy modernization parity proof route
Status: Public-ready template
Controls: comparison screens, parity tests, SQL rule inventory, rollback note
What this proves: method and artifact shape
What this does not prove: client-specific metric or approved outcome
CTA: Open legacy-modernization proof route
11. Resources and Downloads Review
Resource inventory table
| Resource | Observed route/source | Type | Issue |
|---|---|---|---|
| AI Readiness Checklist | /resources/, /downloads/, /docs/ | PDF + JSON | Present as label; file not fetched. |
| Modernization Risk Review | /resources/, /downloads/, /docs/ | PDF + JSON | Present as label; file not fetched. |
| Human-Reviewed AI Workflow Checklist | /resources/, /downloads/, /docs/ | PDF + JSON | Present as label; file not fetched. |
| Service One-Pagers | /resources/, /downloads/, /docs/ | Present. | |
| Proof Packet | /resources/, /downloads/ | PDF + printable page | Present. |
| Proposal Template Packet | /resources/, /downloads/, /sample-artifacts/ | PDF/HTML | Present. |
| Proof Ledger JSON | /downloads/proof-ledger.json | JSON | Present, v1.7.0. |
| Proof Ledger CSV | /downloads/proof-ledger.csv | CSV | Fetch failure in web renderer. |
| Conversion Event Taxonomy | /downloads/conversion-event-taxonomy.json | JSON | Present, but event list incomplete vs requested taxonomy. |
| Browser-Local Diagnostic | /diagnose-system/ | HTML/local tool | Present. |
| Sample Artifact Library | /sample-artifacts/ | HTML | Present. |
| Pricing Guide | Footer link label only; /pricing/ fetch failed | HTML/PDF expected | Not confirmed. |
| Pricing ladder JSON | Expected by prompt | JSON | Not visible in resources/manifest. |
| Service packages JSON | Expected by prompt | JSON | Not visible in resources/manifest. |
Recommended resource taxonomy
- Decide fit: Fit call, diagnostic, pricing, FAQ.
- Understand risk: AI readiness checklist, modernization risk review, human-reviewed AI checklist.
- Evaluate proof: proof ledger, case templates, sample artifacts.
- Share internally: proposal packet, proof packet, service one-pagers.
- Machine-readable: llms, manifest, route QA, pricing/service/proof JSON.
12. Browser-Local Diagnostic Review
Confirmed text-level findings
- The diagnostic page explicitly says pasted text is not submitted to the server.
- It says no model call is made from the page.
- It warns against secrets, credentials, PHI, source code, and confidential production data.
- It frames output as triage, not final architecture advice.
Not verified
- Network tab behavior after sample input.
- Whether only static assets load.
- Whether result is copyable/exportable.
- Whether CTA appears after result.
- Whether mobile input is usable.
Recommendations
- Add a
Use sample inputbutton that inserts the safe sample text from the audit prompt. - Add local result sections:
Likely service path,Risk signals,What not to paste,Recommended next step. - Add
Copy resultandDownload sanitized summarybuttons. - Track only metadata:
diagnostic_start,diagnostic_complete_local,diagnostic_result_cta_click. Never send pasted text.
13. Machine-Readable UX and AI-Agent Readiness
Machine-readable consistency table
| Asset | Reachable in this pass | Version / date | Contact truth | Pricing truth | Issues |
|---|---|---|---|---|---|
/llms.txt | Yes | 1.9.0 / 2026-06-16 | Missing | Missing | Needs contact/pricing summary. |
/ai-agent-manifest.json | Yes | 1.9.0 / 2026-06-16 | consulting@longtermsoftware.com | Missing | Contact mismatch; pricing routes absent. |
/downloads/proof-ledger.json | Yes | 1.7.0 / 2026-06-15 | N/A | N/A | Version behind manifest. |
/downloads/conversion-event-taxonomy.json | Yes | 1.7.0 | N/A | N/A | Event names too generic/incomplete. |
/downloads/proof-ledger.csv | Failed | Unknown | N/A | N/A | CSV export issue. |
/route-qa-contract.json | Failed cache miss | Unknown | Unknown | Unknown | Required contract not confirmed. |
/llms-full.txt | Not verified | Unknown | Unknown | Unknown | Verify. |
/.well-known/ai-plugin.json | Not verified | Unknown | Unknown | Unknown | Verify. |
/downloads/pricing-ladder.json | Not verified | Unknown | Unknown | Unknown | Expected but not discoverable. |
/downloads/service-packages.json | Not verified | Unknown | Unknown | Unknown | Expected but not discoverable. |
| REST endpoints | Not verified | Unknown | Unknown | Unknown | Verify all /wp-json/lts/v1/*. |
Recommended JSON/schema fixes
- Generate all files from a single
site_truthobject. - Include
generated_utc,version,status,contact,pricing,proof_status_key,unsupported_claims, andpublic_routesin every relevant file. - Add machine-readable
pricing_non_accumulative_note. - Make manifest include
/pricing/,/downloads/pricing-ladder.json,/downloads/service-packages.json, and the pricing REST endpoints. - Add route QA checks that compare text markers across HTML, JSON, REST, and AI-reader files.
14. Accessibility Review
Accessibility table
| Accessibility Area | Status | Evidence | Risk | Recommendation |
|---|---|---|---|---|
| Skip link | Pass, text-level | Observed at top of pages. | Low | Verify visible-on-focus. |
| Header nav consistency | Mixed | Four service details have stale nav. | Medium | Normalize templates. |
| Search accessible name | Needs DOM check | Parsed as Search LongTermSoftware.com Search. | Low | Use one visible label or aria-label. |
| Link purpose | Fail on proof cards | Repeated Open route. | Medium | Use claim-specific link labels. |
| Forms labels | Unknown | Labels visible in parsed text. | Medium | Verify explicit label associations. |
| Error states | Not tested | No form submission. | Medium | Add accessible validation tests. |
| Focus states | Not tested | No browser. | Unknown | Run keyboard tests. |
| Mobile menu | Not tested | No browser. | Unknown | Test toggle/focus trap/escape. |
| Accordions | Unknown | Proof pattern described but DOM not verified. | Medium | Verify button semantics and aria-expanded. |
| Contrast | Not tested | No screenshots/DOM CSS. | Unknown | Run axe/WAVE/manual contrast. |
| Text resize/reflow | Not tested | No viewport browser. | Unknown | Test 200% zoom and 320px reflow. |
| Alt text | Partial pass | Renderer exposes descriptive image alt text on major pages. | Low | Verify decorative vs informative images. |
| PDF accessibility | Unknown | PDFs linked but not analyzed. | Medium | Provide tagged PDFs and HTML equivalents. |
15. Mobile and Responsive UX Review
Viewport table
Because browser rendering was unavailable, this is a test plan/status table, not a visual pass/fail table.
| Route | Viewport | Header OK | No horizontal scroll | CTA visible | Main issue |
|---|---|---|---|---|---|
/ | 1440x900 | Not verified | Not verified | Text-level CTA observed | Capture screenshot and header metrics. |
/ | 1366x768 | Not verified | Not verified | Text-level CTA observed | Required header screenshot missing. |
/ | 1280x800 | Not verified | Not verified | Text-level CTA observed | Required browser test missing. |
/ | 1024x768 | Not verified | Not verified | Text-level CTA observed | Tablet landscape untested. |
/ | 768x1024 | Not verified | Not verified | Text-level CTA observed | Tablet portrait untested. |
/ | 390x844 | Not verified | Not verified | Text-level CTA observed | Mobile untested. |
/ | 375x667 | Not verified | Not verified | Text-level CTA observed | Small mobile untested. |
/ | 320x568 | Not verified | Not verified | Text-level CTA observed | Narrow mobile untested. |
/pricing/ | all requested | Not verified | Not verified | Not verified | Route not confirmed. |
/contact/ | all requested | Not verified | Not verified | Text-level CTA/form observed | Need form layout tests. |
/fit-call/ | all requested | Not verified | Not verified | Text-level CTA/form observed | Need form layout tests. |
/services/ | all requested | Not verified | Not verified | Text-level CTA observed | Pricing copy stale. |
/proof/ | all requested | Not verified | Not verified | Text-level CTA observed | Generic link labels; mobile accordion semantics unknown. |
/resources/ | all requested | Not verified | Not verified | Text-level CTA observed | Duplicate catalog; download labels need touch-target check. |
/diagnose-system/ | all requested | Not verified | Not verified | Text-level CTA observed | Input/result layout and local run not tested. |
16. SEO and Index Hygiene
Search observations
The required site: searches returned no visible results in the available web search for:
site:longtermsoftware.com hello worldsite:longtermsoftware.com pricingsite:longtermsoftware.com contactsite:longtermsoftware.com downloadssite:longtermsoftware.com "consulting@longtermsoftware.com"site:longtermsoftware.com "AI for systems that cannot break"site:longtermsoftware.com "LongTermSoftware.com"
This does not prove the site is unindexed, but it is enough to require Search Console verification.
SEO defect table
| Defect | Evidence | Recommendation |
|---|---|---|
/pricing/ not confirmed | Fetch cache miss. | Verify status/canonical and include in sitemap. |
Stale /hello-world/ redirect body | Redirect to / observed with old fixed-scope homepage copy. | Purge cache and assert current body markers. |
| Duplicate resources/downloads/docs content | Same catalog appears on three routes. | Distinguish intent and canonicalize. |
| Machine-readable evidence page not confirmed | Fetch cache miss. | Verify route and include canonical. |
| Sitemap/robots not verified | Direct open blocked. | Verify via curl/Search Console. |
| Meta titles appear generic | Renderer title often LongtermSoftware.com. | Add unique titles per route. |
Recommended title/meta rewrites
| Route | Recommended title | Recommended meta description |
|---|---|---|
/ | `.NET / SQL Modernization Without Behavioral Drift | LongTermSoftware` |
/pricing/ | `Pricing for .NET Modernization and Reviewed AI Consulting | LongTermSoftware` |
/services/ | `AI Consulting and .NET / SQL Modernization Services | LongTermSoftware` |
/contact/ | `Contact Mike Kappel | LongTermSoftware` |
/fit-call/ | `Book a 20-Minute Fit Call | LongTermSoftware` |
/proof/ | `Claim-to-Evidence Ledger | LongTermSoftware` |
17. Performance and Technical UX
Lighthouse/performance status
Lighthouse was not run. See lighthouse/LIGHTHOUSE-NOT-RUN.md.
| Required metric | Status |
|---|---|
| Homepage mobile performance score | Not measured |
| Homepage desktop performance score | Not measured |
| Pricing mobile performance score | Not measured |
| Contact mobile performance score | Not measured |
| Diagnostic mobile performance score | Not measured |
| LCP / INP / TBT / CLS | Not measured |
| Total page weight | Not measured |
| Largest image | Not measured |
| Render-blocking resources | Not measured |
| Unused JS/CSS | Not measured |
Manual/text-level performance risks
- Multiple pages include large raster image assets according to manifest paths; verify responsive
srcset, dimensions, lazy loading, and WebP/AVIF variants. - Docs page states constraints: no external font files, no jQuery/Bootstrap/Tailwind/Popper/Angular Material frontend payload. These must be validated with network/resource scans.
- Diagnostic must work without remote calls after initial static asset load.
Headers/caching recommendations
- Add cache-busting/versioning for theme CSS/JS/assets.
- Add route QA stale-content assertions after redirects.
- Verify CDN/server cache purges on aliases such as
/hello-world/. - Use immutable caching for versioned static assets; no-cache or short cache for machine-readable truth files during launch.
18. Security and Privacy
| Area | Status | Evidence | Risk | Recommendation |
|---|---|---|---|---|
| HTTPS | Implied by successful https:// web renderer routes | Low | Still verify HSTS. | |
| Mixed content | Not tested | No browser/network scan | Unknown | Run browser console/network scan. |
| Security headers | Not tested | Container curl unavailable | Unknown | Verify HSTS, CSP, X-Content-Type-Options, Referrer-Policy, frame policy. |
| security.txt | Not verified | Direct open blocked | Medium | Serve /.well-known/security.txt as text/plain. |
| Public forms | Strong warning text observed | Low | Keep no-secrets/PHI/source-code warnings. | |
| Diagnostic privacy | Strong warning text observed | Low | Verify no network request carries input. | |
| Robots exposure | Not verified | robots/sitemap not opened | Unknown | Verify no sensitive paths exposed. |
| WordPress version leakage | Not tested | No source headers/HTML scan | Unknown | Disable unnecessary generator leakage if present. |
19. Content and Messaging
Strong copy examples
| Text | Why it works |
|---|---|
Modernize fragile .NET and SQL systems without behavioral drift. | Clear buyer problem and technical focus. |
Preserve production behavior, map hidden rules, and govern AI workflows with human review... | Specific, non-hype, risk-aware. |
No AGI, consciousness, safety-certification, or formal vendor-partnership claims. | Strong trust boundary. |
Case narratives are public-safe templates until client-specific outcomes are approved for publication. | Good proof hygiene. |
Weak copy examples and rewrites
| Current text | Recommended text | Reason |
|---|---|---|
Starting from $15k; detailed ranges belong in the buyer packet. | Start with $150/hour diagnostic help or a $2,000/month advisory retainer; fixed-scope assessment pricing is scoped when deliverables are defined. | Aligns with approved pricing path. |
Start assessment | Book a 20-minute fit call | Matches expected primary CTA. |
Open route | Open legacy-modernization proof route | Improves link purpose/accessibility. |
LongTermSoftware.com is the buyer-facing consulting surface; MikeKappel.com is the proof library... | LongTermSoftware helps teams modernize fragile systems and introduce reviewed AI without losing business behavior. MikeKappel.com and Teleodynamic.com provide supporting proof and methods. | More buyer-facing. |
Fallback email: consulting@longtermsoftware.com | Email Mike Kappel at mike@ns12.com | Aligns expected contact truth. |
20. Severity-Ranked Findings
| # | Issue | Severity | Evidence | Affected users | Business impact | Recommended fix | Estimated effort | Expected UX impact |
|---|---|---|---|---|---|---|---|---|
| 1 | /pricing/ could not be confirmed despite being a primary CTA target. | Critical | Web renderer returned cache miss for /pricing/ while homepage/footer link to pricing. | Buyers comparing cost/options; AI evaluators. | Pricing friction and trust loss. | Ensure /pricing/ returns 200 and route QA asserts content. | M | High |
| 2 | Contact truth is wrong/incomplete on public surfaces. | Critical | Contact page shows fallback consulting@longtermsoftware.com and omits expected email/phone/location/person. | Ready-to-buy leads; procurement. | Lost direct contact and inconsistent vendor records. | Centralize contact profile and sync HTML/schema/REST/AI files. | S | High |
| 3 | Services pages use outdated fixed-scope pricing. | Critical | /services/ and detail pages show $15k–$95k and $45k/qtr prices. | Budget holders evaluating fit. | Contradicts approved hourly/retainer ladder. | Rewrite service card pricing paths and details. | M | High |
| 4 | Four service detail pages use stale nav/template. | High | RAG/App/Eval/Fractional pages show AI Systems, Downloads, Assessment nav. | All visitors on those details. | Weakens professional polish and route consistency. | Use single header/footer partial for all virtual pages. | M | High |
| 5 | Non-accumulative retainer language missing from observed pricing text. | High | Homepage includes retainer prices but no rollover/bank/carry-forward boundary. | Retainer prospects; procurement. | Contract expectation ambiguity. | Add visible note to pricing, FAQ, AI-reader files. | S | Medium |
| 6 | AI manifest has stale contact and route inventory. | High | Manifest contact is consulting@longtermsoftware.com and omits /pricing/. | AI agents/procurement tools. | Automated vendor evaluations ingest wrong truth. | Regenerate manifest from site truth snapshot. | S | High |
| 7 | Machine-readable versions are inconsistent. | High | Manifest/llms 1.9.0; proof ledger/taxonomy 1.7.0. | Technical reviewers. | Staleness undermines trust. | Version all exports from one build constant and include generated UTC. | S | Medium |
| 8 | proof-ledger.csv failed fetch. | High | Resources CSV link returned web-renderer failure “(400) OK”. | Spreadsheet/procurement reviewers. | Broken evidence export. | Serve CSV with text/csv and route QA parse check. | S | Medium |
| 9 | /machine-readable-evidence/ failed fetch. | High | Web renderer cache miss for required evidence page. | AI agents and technical reviewers. | Proof discoverability gap. | Verify route registration/caching and add route QA. | S | Medium |
| 10 | route-qa-contract.json failed fetch. | High | Web renderer cache miss. | Developers/QA agents. | Automated checks cannot rely on contract. | Serve static JSON and test content type. | S | Medium |
| 11 | Expected pricing JSON and service-packages JSON are not discoverable. | High | Resources/manifest list no pricing-ladder.json or service-packages.json. | AI agents/procurement. | Pricing truth cannot be machine-validated. | Add files, link them, expose REST parity. | M | Medium |
| 12 | Old alias /hello-world/ produced stale homepage copy after redirect. | Medium | Observed stale fixed-scope pricing markers after redirect. | Crawlers/cache users. | Index/canonical inconsistency. | Purge cache, enforce canonical body, add stale marker tests. | S | Medium |
| 13 | Proof page link labels are too generic. | Medium | Repeated “Open route”. | Screen-reader users; skimming buyers. | Lower proof usability. | Use descriptive evidence link labels. | S | Medium |
| 14 | Diagnostic lacks observed copy/export/sample result controls. | Medium | Parsed text only shows result placeholder. | Users doing local triage. | Lower conversion from diagnostic to fit call. | Add sample input, copy result, fit-call CTA after result. | M | Medium |
| 15 | Resources/downloads/docs duplicate content. | Medium | /resources/, /downloads/, and /docs/ repeat same catalog. | Buyers and crawlers. | Diluted information scent and possible SEO duplication. | Differentiate route purposes and canonical metadata. | M | Medium |
| 16 | Service detail CTAs often say Start assessment rather than fit call. | Medium | Detail pages line 30 and old pages line 92. | Buyers not ready for assessment. | CTA mismatch with expected primary action. | Make primary CTA Book a 20-minute fit call; assessment secondary. | S | Medium |
| 17 | FAQ lacks pricing/retainer answer. | Medium | FAQ covers services/boundaries, not price ladder. | Budget/procurement users. | More friction before contact. | Add pricing and non-accumulation answer. | S | Medium |
| 18 | Desktop/mobile/header/contrast were not verifiable in this pass. | Medium | Container DNS prevented browser/Lighthouse; web renderer lacks non-PDF screenshots. | Mobile/accessibility users. | Unknown visual risk. | Run Playwright/Lighthouse in CI or accessible environment. | M | Unknown until measured |
| 19 | SEO search queries returned no results in available web search. | Medium | site:longtermsoftware.com queries returned empty. | Organic visitors. | Potential indexing/discoverability issue. | Verify Search Console, sitemap, robots, index coverage. | M | Medium |
| 20 | PDF accessibility not verified. | Low | PDF links visible; files not fetched/analyzed. | Screen-reader users; procurement. | Potential accessibility/compliance friction. | Add HTML equivalents and tagged PDFs. | M | Low-Medium |
| 21 | About page brand architecture may be too internally oriented. | Low | About begins with buyer surface/proof library/methods layer taxonomy. | First-time buyers. | Mild comprehension friction. | Lead with buyer problem and credibility, then explain supporting brands. | S | Low-Medium |
21. Implementation Backlog
| Backlog item | Priority | Theme files likely affected | Evidence | Acceptance criteria |
|---|---|---|---|---|
| Make /pricing/ return confirmed 200 and expose the approved four-tier hourly/retainer/C2C ladder. | Critical | templates/virtual-page.php, inc/content.php, inc/rest.php, route-qa-contract.json, tools/route-qa.py | Pricing route fetch failed; homepage links to pricing; prompt requires pricing page. | GET /pricing/ returns 200; title/H1 correct; four cards present; no overflow at 320px; route QA asserts exact rates and non-accumulation note. |
| Replace stale fixed-scope pricing on /services/ and service detail pages with current pricing path language. | Critical | inc/content.php, templates/virtual-page.php | Services and details show $15k/$30k/$55k/$75k/$95k/$60k/$45k-quarter. | Service cards show buyer problem, best fit, timeline, pricing path, deliverables, proof link, next step; fixed-scope is secondary only. |
| Publish direct contact truth consistently. | Critical | inc/content.php, footer.php, inc/schema.php, inc/rest.php, ai-agent-manifest.json, llms.txt | Contact page and manifest use consulting@longtermsoftware.com or omit phone/location. | Contact page, footer, fit-call sidebar, schema, llms, manifest, and REST contact-profile show Mike Kappel, mike@ns12.com, tel:(708)230-2304, Cicero IL. |
| Normalize stale header/footer on four service detail pages. | High | header.php, footer.php, templates/virtual-page.php | RAG/App/Evaluation/Fractional pages show old nav with AI Systems/Assessment/Downloads. | Every route uses Services, Proof, Industries, Resources, About, Contact plus search and fit-call CTA. |
| Add visible non-accumulative retainer language wherever retainers are shown. | High | inc/content.php, pricing page, FAQ, llms-full.txt | Homepage pricing lacks rollover language. | Plain-English note: unused retainer hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise. |
| Synchronize machine-readable pricing/contact/proof files. | High | llms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json, downloads/*.json, inc/rest.php | Manifest contact stale; proof ledger/taxonomy version 1.7.0 vs manifest 1.9.0; pricing files absent from manifest. | All AI-reader files agree on version/date/contact/pricing/public routes; JSON validates; route QA compares HTML vs JSON vs REST. |
| Fix or verify proof-ledger.csv content type and response. | High | downloads/proof-ledger.csv, inc/rest.php, tools/route-qa.py | CSV link failed with web-renderer “(400) OK”. | HEAD/GET return 200 text/csv; CSV parses; same row count as JSON. |
| Create or expose pricing-ladder.json and service-packages.json. | High | downloads/*.json, inc/rest.php, resources template | Expected assets not visible in resource inventory or manifest. | JSON files return 200 application/json; linked from resources/machine-readable evidence; schema checked by tests. |
| Fix /machine-readable-evidence/ and route-qa-contract.json fetchability. | High | templates/virtual-page.php, route-qa-contract.json | Both produced cache-miss fetch failures in audit renderer. | Routes return 200 in curl and browser; listed links resolve without trailing slash ambiguity. |
| Replace generic proof links. | Medium | inc/content.php | Proof cards use repeated “Open route”. | Each link label names its destination and claim. |
| Improve diagnostic conversion output. | Medium | assets/js/app.js, templates/virtual-page.php | Privacy copy visible, but copy/export/sample result not observed. | Sample input button, local result, Copy result, Download sanitized summary, and fit-call CTA after result; no network send of input. |
| Add analytics vocabulary from requested event list while preserving no-runtime tracking boundary. | Medium | downloads/conversion-event-taxonomy.json, docs/* | Existing taxonomy has generic names, not full requested list. | JSON includes hero_cta_click, pricing_cta_click, fit_call_start, diagnostic_complete_local, etc.; data_sent_now remains false until approval. |
| Add FAQ pricing and retainer rollover answer. | Medium | inc/content.php | FAQ lacks pricing truth and rollover boundary. | FAQ answer reflects four pricing options and non-accumulative hours. |
| Reduce duplicate resources/downloads/docs repetition. | Medium | templates/virtual-page.php, inc/content.php | /resources/, /downloads/, and /docs/ repeat same resource catalog. | Each route has distinct purpose: Resources for buyers, Downloads for assets, Docs for technical/agent QA. |
| Add route QA stale-cache test for /hello-world/ redirect. | Medium | tools/route-qa.py, route-qa-contract.json | /hello-world/ redirected to / but returned stale old homepage content in audit renderer. | Redirect target body contains current hero/pricing markers, not old fixed-scope markers. |
| Add responsive header matrix tests. | Medium | assets/css/app.css, header.php, tools/route-qa.py | Prompt requires 1366/1024/768/390/320 tests; browser unavailable during this pass. | Automated screenshots/DOM metrics assert no horizontal scroll and no header wrapping at specified widths. |
| Add explicit schema contact and service Offer data. | Medium | inc/schema.php | Schema not verified; contact truth missing from observed content. | Organization/ProfessionalService schema includes current contact and service offers without unsupported claims. |
| Optimize proof page heading hierarchy. | Low | inc/content.php, assets/css/app.css | Repeated H2 claim headings can clutter outline. | One H1, section H2s, card H3s; screen-reader outline clean. |
| Add downloadable HTML alternatives for PDFs. | Low | resources/downloads templates, docs/* | PDF accessibility not verified. | Each PDF has an HTML landing page with equivalent text and clear labels. |
| Verify security headers and security.txt with server access. | Low | server config, .well-known/security.txt | Container curl unavailable and direct web open blocked. | HSTS, X-Content-Type-Options, Referrer-Policy, frame policy/CSP appropriate; security.txt returns 200 text/plain. |
22. Exact Copy Recommendations
Pricing non-accumulation note
Retainer hours reserve monthly senior architecture capacity. Unused hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
Contact card
Principal contact
Mike Kappel
mike@ns12.com
(708) 230-2304
Cicero, IL
Pricing card copy
Ad-hoc architecture help
$150/hour · no minimum
Best for targeted legacy-system, SQL, architecture, or AI workflow questions before a larger engagement.
CTA: Book a fit call
Monthly advisory retainer
$100/hour · 20-hour monthly minimum · $2,000/month
Best for teams that need recurring senior review, backlog shaping, and modernization/AI governance support.
CTA: Discuss monthly advisory
Annual modernization retainer
$80/hour · 40-hour monthly minimum · $3,200/month · annual contract
Best for sustained modernization, parity mapping, release planning, and reviewed AI workflow delivery.
CTA: Discuss annual capacity
Embedded architect C2C
$75/hour · 40 hours/week · six-month minimum · limited availability
Best only when LongTermSoftware is a strong mutual fit for embedded architecture capacity.
CTA: Check availability
Diagnostic result CTA
This local triage suggests the best first step is a .NET / SQL Modernization Blueprint discussion. Copy this sanitized summary and book a 20-minute fit call. Do not include secrets, credentials, PHI, source code, or confidential production data.
23. Theme/File Change Recommendations
| File | Recommended change |
|---|---|
header.php | Centralize expected nav and fit-call CTA; remove stale service-detail nav variants. |
footer.php | Add direct contact card and machine-readable/pricing links; sync footer nav. |
front-page.php | Tighten hero, reorder homepage, add retainer non-accumulation note. |
templates/virtual-page.php | Ensure all virtual routes use same header/footer and current pricing/contact truth. |
inc/forms.php | Add accessible validation, field labels, no-secret warnings, and fit-call/contact event hooks. |
inc/schema.php | Add current contact/profile schema and service Offer data without unsupported claims. |
inc/rest.php | Expose /pricing, /pricing-consistency, /contact-profile, /site-truth-snapshot, proof endpoints. |
inc/content.php | Replace stale fixed-scope pricing and old CTA copy. |
inc/enhancements-v*.php | Remove stale route/nav overrides; generate site truth from one source. |
assets/css/app.css | Add responsive header/card tests; ensure focus/contrast/touch targets. |
assets/js/app.js | Diagnostic local-only result, copy/export, no data transmission. |
route-qa-contract.json | Add pricing/contact/viewport/redirect/cache assertions. |
tools/route-qa.py | Add HTTP/content-type, JSON parity, stale marker, accessibility smoke, and screenshot tests. |
llms.txt / llms-full.txt | Add current contact and pricing truth; generated UTC/version parity. |
ai-agent-manifest.json | Replace stale contact, add pricing route/assets/REST endpoints. |
.well-known/ai-plugin.json | Sync contact/pricing/prohibited claims. |
.uai/* | Update handoff memory with pricing/contact truth and route defects. |
docs/* | Distinguish buyer docs from implementation QA docs; include this audit summary. |
24. Tests to Add to Route QA
GET /pricing/returns 200, canonical/pricing/, H1 contains pricing, and four card labels/rates match expected.GET /contact/,/fit-call/, footer, manifest, llms, schema, and REST contact-profile containMike Kappel,mike@ns12.com,(708) 230-2304,Cicero, IL.- All public HTML routes have header nav sequence
Services, Proof, Industries, Resources, About, Contact. - No public route contains stale nav labels
AI SystemsorAssessmentin primary nav. - No public service page contains stale fixed-scope-only markers unless explicitly labeled as fixed-scope example.
- Retainer pages include non-accumulative language.
/downloads/pricing-ladder.json,/downloads/service-packages.json, REST pricing, llms, manifest, and pricing HTML match exact values./downloads/proof-ledger.csvreturns200and parses with same row count as JSON./route-qa-contract.jsonreturns200 application/jsonand validates schema./machine-readable-evidence/returns200, links AI-reader files, and is human-readable.- Old aliases redirect to current routes and response bodies contain current markers.
site_truth_snapshot.versionequals manifest/llms/proof exports unless intentionally versioned with compatibility notes.- Forbidden claims test: no AGI/consciousness/certification/formal partnership/guaranteed compliance/autonomous production authority claims.
- Playwright viewport test asserts no horizontal scroll at 320px and header does not wrap incorrectly.
- Keyboard test tabs through skip link, logo, nav, search, CTA, form fields, diagnostic controls.
- Diagnostic network test asserts pasted input is not sent in request payload/query/body/beacon.
- Lighthouse CI budgets for homepage/pricing/contact/diagnostic mobile.
- Link-purpose test flags repeated generic labels:
Open route,Read more,Click here,Open resource. - PDF landing-page test confirms every PDF has an HTML equivalent.
- Security smoke test checks HTTPS, HSTS, content-type options, referrer policy, and security.txt.
25. Final Recommendation
Do not package the next WordPress theme ZIP until the pricing, contact, stale service templates, and machine-readable synchronization defects are fixed. The homepage direction is strong enough to preserve, but the site currently sends conflicting signals to buyers and AI evaluators.
Minimum release gate:
/pricing/confirmed and synchronized.- Direct contact truth visible and machine-readable.
- All service detail pages use current header/nav/CTA and pricing posture.
- Machine-readable files regenerated from one truth source.
- Route QA covers pricing/contact/proof/diagnostic/viewport/stale redirects.
- Screenshots and Lighthouse artifacts captured from a browser-capable environment.
26. Prompt for the next AI theme-build pass
You are building the next LongTermSoftware.com WordPress theme ZIP. Use the live audit findings below as implementation requirements.
Current live findings:
- Homepage direction is good: conventional nav, behavior-preserving .NET/SQL modernization hero, fit-call CTA, proof boundaries, and updated pricing ladder language.
- /pricing/ was not confirmed in audit tooling and must be treated as a critical route to implement/test.
- /contact/ shows consulting@longtermsoftware.com and omits the approved direct contact profile.
- /services/ and service detail pages still show old fixed-scope pricing such as $15k, $30k, $55k, $75k, $95k, $60k, and $45k/quarter.
- Four service detail pages use stale nav: Services, AI Systems, Case Studies, Proof, Downloads, Assessment, Contact.
- llms.txt and ai-agent-manifest.json exist, but manifest contact is stale and pricing routes/assets are missing.
- proof-ledger.json exists but version is behind manifest; proof-ledger.csv and route-qa-contract.json must be verified/fixed.
- /diagnose-system/ has good local-only privacy text, but local network behavior, copy/export result, and post-result CTA must be implemented/tested.
- Search/SEO, screenshots, Lighthouse, accessibility, and security headers need browser/CI verification.
Top 10 implementation priorities:
1. Implement /pricing/ with the exact four-tier pricing ladder.
2. Add non-accumulative retainer hours language anywhere retainers appear.
3. Replace all stale fixed-scope-only service pricing with the approved pricing path.
4. Normalize header/nav/search/fit-call CTA across every public route.
5. Update contact truth everywhere: Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, IL.
6. Regenerate llms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json, pricing-ladder.json, service-packages.json, proof-ledger exports, and REST endpoints from one site_truth object.
7. Fix /machine-readable-evidence/, /route-qa-contract.json, /downloads/proof-ledger.csv, and all REST endpoints.
8. Improve proof/accessibility link labels and card heading hierarchy.
9. Improve diagnostic with sample input, local result, copy/export, and post-result fit-call CTA without sending pasted text.
10. Add Playwright/Lighthouse/route QA tests for routes, redirects, pricing/contact parity, viewports, accessibility, and forbidden claims.
Exact routes/files to change:
- header.php, footer.php, front-page.php, templates/virtual-page.php
- inc/content.php, inc/forms.php, inc/schema.php, inc/rest.php, inc/enhancements-v*.php
- assets/css/app.css, assets/js/app.js
- route-qa-contract.json, tools/route-qa.py
- llms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json
- downloads/pricing-ladder.json, downloads/service-packages.json, downloads/proof-ledger.json, downloads/proof-ledger.csv, downloads/conversion-event-taxonomy.json
- docs/*, .uai/*
Pricing acceptance criteria:
- Ad-hoc: $150/hour, no minimum.
- Monthly advisory: $100/hour, 20-hour monthly minimum, $2,000/month.
- Annual modernization: $80/hour, 40-hour monthly minimum, $3,200/month, annual contract.
- Embedded architect C2C: $75/hour, 40 hours/week, six-month minimum, limited availability.
- Retainer hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
- Monthly Advisory or Annual Modernization is visually framed as the practical/default path. C2C is limited availability, not default.
Contact acceptance criteria:
- HTML, footer, fit-call, schema, llms, manifest, REST contact-profile all show Mike Kappel, mike@ns12.com, tel link for (708) 230-2304, Cicero, IL.
- consulting@longtermsoftware.com is not the primary public contact unless explicitly retained as secondary.
Claims not to make:
- No AGI, consciousness, safety certification, formal vendor partnership, guaranteed compliance, autonomous production authority, unreviewed production outcomes, unsupported client metrics, or private-network probing authority.
Automated tests to run:
- route QA for all listed routes and old aliases.
- pricing/contact HTML vs JSON vs REST vs AI-reader parity.
- Playwright screenshots at 1440x900, 1366x768, 1280x800, 1024x768, 768x1024, 390x844, 375x667, 320x568.
- Lighthouse mobile/desktop for home, pricing, contact, diagnostic.
- axe accessibility checks plus keyboard-only header/menu/search/forms/diagnostic.
- diagnostic network test proving pasted input is never transmitted.
- broken internal link scan and content-type checks.
- sitemap/robots/security.txt checks.
Final response requirements:
- Provide a WordPress theme ZIP.
- Provide updated route-audit results, screenshots, Lighthouse outputs, and changed-file summary.
- Clearly separate confirmed fixes from items needing WordPress admin, analytics/Search Console, server/CDN access, or human approval.