Files
LoperBoys/progress.md
T

5.7 KiB
Raw Blame History

Williams Pressure Washing Services — Progress

Completed

  • Initial website build
  • Responsive multi-section design (hero, services, about, why-us, contact)
  • Professional blue/cyan gradient theme with water drop animations
  • Contact form with validation (PHP → SMTP relay)
  • Mobile nav toggle + floating CTA button
  • Phone number formatting + clickable tel: links
  • Git repo created and pushed to Gitea
  • SEO fundamentals — OG tags, Twitter cards, structured data (LocalBusiness), canonical URL, robots meta, favicon, description/keywords meta
  • How It Works section — 3-step visual process (Contact → Quote → Clean)
  • Before & After Gallery — 3 comparison cards (truck fleet, house, storefront) with hover reveal effect
  • Testimonials — 3 placeholder testimonial cards with star ratings
  • Placeholder images — Generated via ImageMagick (all real files, replace with real photos before going live)
  • Service area — Coshocton, OH & surrounding areas referenced throughout
  • Privacy-respecting analytics — Script placeholder commented in <head>, ready for Plausible/Umami
  • Hosting deployment — Site deployed to 10.10.9.230 (hostname: dotnet), nginx serving, PHP 8.2 FPM installed
  • Nginx config/etc/nginx/sites-available/WilliamsPressureWashingServices.com active, security headers, static asset caching
  • Site live on IPhttp://10.10.9.230 serving full site with all assets (200 OK)

Pending

🚨 SEO (HIGH PRIORITY — must be done before going live)

  • Real OG banner image — replace placeholder img/og-banner.jpg with a proper 1200×630 branded image
  • Real favicon — generate a proper .ico / .png favicon from a pressure washing logo (currently using inline SVG emoji)
  • Google Search Console verification — add meta tag or HTML file after John purchases the domain
  • Google Business Profile — set up once domain is live (Walter's business listing)
  • Alt text review — ensure all real images have descriptive, keyword-rich alt text
  • Page load optimization — compress real images, minify CSS/JS
  • Content review — Walter to review all copy for accuracy before going live

Contact Form / Email

  • SMTP relay configuration — PHPMailer connected to hMailserver on 10.10.9.31:25 (no auth, no TLS) — relay handled by hMailserver/Mailjet
  • Test form end-to-end — verified working (POST returns {"success":true})
  • Test email delivery — confirm message actually arrives at waltwilliams87@gmail.com (need real email to verify)
  • Form spam protection — add honeypot field or privacy-respecting alternative to reCAPTCHA

Hosting & Domain

  • Purchase domain — WilliamsPressureWashingServices.com (John to purchase)
  • DNS setup — point domain to 10.10.9.230 (John to configure)
  • SSL certificate — configure via Nginx Proxy Manager or Let's Encrypt on 10.10.9.230
  • PHP mail() config — verify Postfix on 10.10.9.31 can relay for this server (10.10.9.230)

Content & Branding

  • Walter's before/after photos — replace placeholder images with real job photos
  • Real testimonials — replace placeholder testimonials with Walter's actual customer quotes
  • Walter's logo — if he has one, add to nav and footer
  • Service area specifics — confirm which towns/counties to list
  • Hours of operation — verify MonSat 7AM7PM accuracy
  • Gallery photos — get 3+ more before/after pairs if Walter has them

Analytics

  • Choose analytics provider — see options below
  • Add tracking script — uncomment and configure Plausible or Umami
  • Privacy policy page — add if required by analytics terms of service

Open Questions

  • Does Walter have hosting, or are we providing it? WE ARE PROVIDING (10.10.9.230)
  • Domain purchased? John to purchase (next)
  • Specific images/branding from Walter? John to collect
  • Service area confirmed? Coshocton & surrounding areas
  • Hours of operation? MonSat 7AM7PM (placeholder, confirm with Walter)

Hosting Details

  • Target server: 10.10.9.230 (hostname: dotnet)
  • SSH: sage@10.10.9.230 using ~/.ssh/id_ed25519 AUTHORIZED
  • OS: Debian 12, bare metal, nginx 1.22.1, PHP 8.2 FPM, Postfix
  • Site files: /var/www/williamspw/
  • Nginx config: /etc/nginx/sites-available/WilliamsPressureWashingServices.com
  • Currently serving: AssetTrackr.co (proxy to :5000), loperboys.com, WilliamsPressureWashingServices.com
  • Access: http://10.10.9.230 (serving correctly, all assets 200 OK)
  • Disk: 50GB total, ~655MB used — plenty of space
  • Existing services: AssetTrackr.co, loperboys.com (both nginx static/proxy)

Analytics Options (Privacy-Respecting)

  • https://plausible.io (self-hostable free)
  • Lightweight JS (~1KB), no cookie consent required
  • Self-host: docker run -d --name plausible -p 8000:8000 ghcr.io/plausible/community-edition
  • Data stays on John's server — fully private

Umami

  • https://umami.is (self-hostable free, open source)
  • Clean dashboard, privacy-focused, no cookies
  • Self-host: docker run -d -p 3000:3000 ghcr.io/umami-software/umami:postgresql-latest
  • Slightly more features than Plausible (user accounts, team sharing)

Fathom (paid, but simple)

  • https://usefathom.com — $14/mo, no self-host option
  • Very clean, minimal JS, GDPR compliant
  • Good if John wants to avoid managing another server

Recommendation: Plausible self-hosted — same philosophy as everything else (self-hosted, private, no tracking cookies). Can run on 10.10.9.230 alongside the site.