24 Commits

Author SHA1 Message Date
sage 44ea6cb281 progress.md: confirm domain, DNS, and SSL are live
- Domain resolves via Cloudflare (174.102.118.11 → 10.10.9.230)
- Let's Encrypt SSL valid through July 31, 2026
- Site accessible at https://WilliamsPressureWashingServices.com
2026-05-16 17:07:57 -04:00
sage 7afbe8052a progress.md: confirm honeypot spam protection already implemented 2026-05-16 17:04:53 -04:00
sage ee6f61d51c New custom favicon + mobile nav responsive fix
- New custom favicon: blue gradient water drop with spray burst
  (favicon.png 32/64/256px, favicon.webp, apple-touch-icon 180px)
- Mobile nav (768px): tighter padding (12px), smaller logo (1rem), smaller icon (1.2rem)
- Narrow phones (480px): logo text 0.85rem, logo max-width 60%
- Tiny phones (360px): logo text 0.75rem, logo max-width 55%
- CSS cache buster bumped to v3
2026-05-16 15:59:25 -04:00
John Loper II 02ffcfe15e Add address to schema.org and undercarriage detail to bus fleet service 2026-05-07 20:20:54 -04:00
John Loper II 11686622f8 Add undercarriage inspection & cleaning to bus fleet service 2026-05-07 20:19:57 -04:00
John Loper II 79cfe6b471 Add WebP image optimization with <picture> elements for browser-native format negotiation
- Convert all 14 images to WebP (quality 82)
- Wrap gallery and work section images in <picture> elements with WebP source + JPG/PNG fallback
- Update meta/schema og:image to reference .webp files
- Browsers supporting WebP will load smaller images (~40-60% smaller than JPG)
2026-05-07 13:17:36 -04:00
John Loper II 6c4b2dd434 Update progress.md — mark completed items (SSL, domain, DNS, email, honeypot, favicon) 2026-05-07 01:56:10 -04:00
John Loper II e769efd322 Replace blank favicon with 💧 water droplet icon 2026-05-07 01:54:42 -04:00
John Loper II d679cb9603 Add comma to slogan: 'If it's dirty, we'll clean it' 2026-05-05 14:46:14 -04:00
John Loper II f5010632cc Cache-bust stylesheet with ?v=2
The CSS was updated but nginx caches it for 30 days. Adding version
parameter to force browsers to reload the new CSS.
2026-05-05 13:41:28 -04:00
John Loper II 4ec7d14ef0 Constrain 'Our Work' image grid on desktop
- Add max-width: 900px to work-grid to prevent full-width stretching
- Tighten grid columns from minmax(280px, 1fr) to minmax(220px, 1fr)
- Center grid with margin: 0 auto
- Reduce gap from 24px to 20px
2026-05-05 13:27:06 -04:00
John Loper II c80ab0d609 feat: add 'Our Work' gallery with real photos, hide old Before/After 2026-05-04 18:32:38 -04:00
John Loper II 86db0d594b fix: tighten spacing between privacy text and form fields 2026-05-04 17:52:25 -04:00
John Loper II 7b06c8a872 fix: update privacy text on contact form 2026-05-04 17:35:37 -04:00
John Loper II 8738a7715b feat: add honeypot spam protection to contact form 2026-05-04 17:26:10 -04:00
John Loper II 225fbee7e5 Update progress: contact form + PHPMailer verified working 2026-05-04 17:17:54 -04:00
John Loper II a43df1a3d1 fix: replace contact form timing note with privacy reassurance 2026-05-04 16:44:39 -04:00
John Loper II 7c79772964 config: switch contact form to-walter@gmail.com
- To: waltwilliams87@gmail.com (was john.loper.2@protonmail.com)
- Deployed to 10.10.9.230
2026-05-04 16:22:05 -04:00
John Loper II d9f12e11cd fix: PHPMailer SMTPAutoTLS false — hMailserver STARTTLS without valid cert
- Added SMTPAutoTLS = false to prevent PHPMailer from trying TLS upgrade
- hMailserver advertises STARTTLS but has no valid certificate
- PHPMailer now connects plain-text to 10.10.9.31:25 and delivers successfully
- Test confirmed: email sent to john.loper.2@protonmail.com via hMailserver -> Mailjet relay
2026-05-04 16:13:45 -04:00
John Loper II 379242e4bf feat: re-enable contact form email via hMailserver, test to john.loper.2@protonmail.com
- Restore form submission to send-contact.php (was disabled)
- From: noreply@WilliamsPressureWashingServices.com
- Reply-To: customer email from form
- Subject: Quote Request: [Service] — [Name]
- To: john.loper.2@protonmail.com (testing — swap to Walter's email after)
- SMTP: 10.10.9.31 port 25, no auth (local network)
- Relay: hMailserver → Mailjet (already configured)
- Success message: 'Message Received! We'll be in touch soon. For urgent inquiries, call (740) 502-3120'
- Fallback: mailto fallback if server unreachable
- JS: disable form after submit to prevent double-sends
2026-05-04 14:56:56 -04:00
John Loper II fb1268fe5e docs: update progress with deployment status and hosting details 2026-05-01 21:17:21 -04:00
John Loper II 45b739db2e feat: SEO, before/after gallery, testimonials, and content sections
- Full SEO suite: OG tags, Twitter cards, LocalBusiness structured data, canonical URL, robots meta, sitemap.xml, robots.txt
- How It Works section (3-step visual process)
- Before & After gallery with 3 comparison cards (truck fleet, house, storefront)
- Testimonials section with 3 placeholder reviews
- Placeholder images generated via ImageMagick (all real files)
- Favicon and apple-touch-icon
- Privacy-respecting analytics script placeholder
- Service area: Coshocton, OH & surrounding areas
- Updated progress.md with full task inventory and hosting details
2026-05-01 21:04:44 -04:00
John Loper II 26c4d99161 docs: add progress tracking 2026-05-01 10:51:09 -04:00
John Loper II fe90bc521a feat: initial site build — responsive pressure washing website
- Professional multi-section responsive design
- Hero with slogan, CTAs, and animated water drops
- Services: truck fleets, bus fleets, houses, storefronts
- Why choose us section with trust signals
- About section with stats
- Contact form with phone/email/info cards
- Floating call button (mobile)
- Email handler via local SMTP (10.10.9.31)
- Colorful blue/cyan gradient theme
- Mobile-first responsive layout
2026-05-01 10:50:56 -04:00