Commit Graph
9 Commits
Author SHA1 Message Date
asownerytandClaude Opus 5.5 4d901b351e Phase 5: contact, conversion and tracking hooks
- Contact page: Call/Text/WhatsApp at the top, hours, drop-off address,
  service area, map, and the quote form
- Quote form: device, problem, preferred contact; email required, phone
  optional; labels wired to inputs; _gotcha honeypot; AJAX submit to
  form.taxi with an inline "same day during business hours" message and
  an error fallback (still posts normally without JavaScript)
- Analytics hooks for click_call, click_text, click_email,
  submit_quote_form and click_google_reviews; no-ops until Plausible
  is installed
- /review redirects (307) to the Google review link
- Maps embed moved to one MapEmbed component

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 20:48:56 +13:00
asownerytandClaude Opus 5.5 9f5cf387dc Phase 4: pricing, about, area, Windows 10 and business pages
- /pricing: full price list, no-fix-no-fee terms, travel and payments
- /about: first-person page from confirmed facts, links to area pages
- /areas/[suburb]: Te Atatū Peninsula, Te Atatū South, Henderson and
  Massey, generated from src/lib/areas.js with suburb-specific copy
- /windows-10: options page with free Windows 11 check; October 2028
  used for business Extended Security Updates
- /business: $65/month plan (2 hours, no lock-in, no rollover)
- Nav gains Pricing/About and Business/Windows 10 links; footer rebuilt
  with address, hours and links; homepage links areas, /business and
  a Windows 10 banner; sitemap includes all new routes
- Mobile menu hides by its own height (fixes overflow with more links);
  hamburger now used below 900px so the link row never overlaps

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 20:47:06 +13:00
asownerytandClaude Opus 5.5 40d3a08050 Phase 3: service pages on a shared template
- ServicePage template: H1 with service + area, intro with Call/Text
  above the fold, What I fix, Pricing, How it works, Why choose me,
  a testimonial, FAQs (with FAQPage schema), CTA band, related services
- Service copy moved to src/lib/services.js, rewritten in first person
  with owner-confirmed jobs and prices only; removes the "team of
  technicians", "preferred choice", Mac and motherboard claims
- FaqList and CtaBand extracted and shared with the homepage
- Button gains primary/outlineDark variants; responsive page-header H1
- Compact Chatwoot bubble on phones so it doesn't cover CTAs

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 20:37:42 +13:00
asownerytandClaude Opus 5.5 7043b47de1 Phase 2: homepage that converts
- Hero says what and where, with No fix no fee / $35 diagnosis, Call and
  Text CTAs, and the real Google rating
- Common fixes grid with owner-confirmed labour prices, linking to
  service pages
- How it works, About (first person), testimonials, areas served with
  map, a short business IT block, rewritten FAQ and a final CTA band
- Sticky Call/Text bar on mobile (site-wide); Chatwoot bubble moved above it
- Button renders a link when given href (no more button-inside-link)
- Business facts (prices, rating, testimonials, contact links) in site.js

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 20:32:46 +13:00
asownerytandClaude Opus 5.5 c085e2b031 Phase 1: technical SEO foundations
- Per-page titles, descriptions, canonicals, Open Graph/Twitter tags
  via a shared pageMetadata() helper; metadataBase on the root layout
- Sitemap generated from a route list on the canonical non-www host;
  robots.txt points to it; /services removed
- One H1 per page; decorative images get empty alt text
- JSON-LD: site-wide ComputerRepairService, FAQPage on the homepage,
  Service on each service page
- FAQ answers are now server-rendered (forceMount) so the schema matches
  the HTML; fixed the nested payment FAQ item
- Drop web design (page, nav link, homepage card and FAQs); 301 the old URL
- Remove GA, Facebook Pixel and Vercel Analytics/Speed Insights
- Fix tel: links (+640211... -> +64211...)
- Add og-image.png and logo.png

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 20:24:29 +13:00
asowneryt 0478ab65e5 Update compose.yml
Docker / build (push) Successful in 1m19s
2026-07-18 01:20:18 +12:00
asowneryt fd81eeb21e Create compose.yml
Docker / build (push) Canceled after 25s
2026-07-18 01:19:59 +12:00
asowneryt 7ad57bb981 Update docker-publish.yml
Docker / build (push) Failing after 19s
2026-07-18 01:15:18 +12:00
asowneryt 0c9a87e8be Update 2026-07-18 01:12:55 +12:00