Service business website · PHP backend · Chatbot · 3D page · SEO
Overview
I designed and built a service business website prototype for a service company.
The project started as an earlier static version and was later rebuilt into a more complete second version with improved structure, optimized assets, contact handling, service pages, chatbot logic, SEO files, security headers, and a dedicated 3D scan page.
The goal was to create a professional business-facing website that could present services clearly, explain pricing, collect customer inquiries, support multiple service areas, and give the company a more modern digital presence.
This project demonstrates frontend structure, business-page thinking, form handling, performance awareness, and practical website requirements beyond a simple landing page.
The challenge
The company needed a clearer and more professional online presentation for its services.
The website had to explain different service areas, present pricing information, build trust, provide contact options, and make it easy for potential customers to request an offer.
The challenge was to create a website that looked modern and trustworthy while still being practical: clear navigation, service sections, contact forms, legal information, SEO setup, and performance-friendly assets.
What I did
I designed and built the website prototype.
My work covered the full build: the website structure, homepage, service sections, pricing and contact sections, and a dedicated 3D scan page.
On the backend, I implemented the PHP contact form with PHPMailer SMTP sending, the JavaScript chatbot logic, and the SEO files (robots, sitemap, manifest, favicons).
For deployment readiness, I configured Apache .htaccess rules with security headers, added service worker caching, and optimized the frontend assets.
Project structure
Core modules
Corporate homepage
The homepage presents the company as a professional service provider. It includes navigation and hero section, service overview and pricing, company trust elements (team, customer signals, FAQ), and the contact section with Impressum and Datenschutz. The goal is to make the company understandable and trustworthy for visitors who may not yet know exactly which service they need.
Service presentation
The website explains multiple service areas through structured sections. The main service categories include moving/transport, assembly and disassembly, storage, and 3D room capture and scanning. This makes the website more than a simple business card. It becomes a service explanation platform.
3D scan page
The second version includes a dedicated 3D scan page. This page explains 3D room capture, 360° tours, floor plans, Dollhouse View, measurement features, add-ons, technical details, example project presentation, and contact options. This connects the corporate website with the larger 3D scan service concept.
Contact form backend
The project includes PHP-based contact form handling. The backend includes form processing, validation, response handling, rate limiting, honeypot spam protection, logging, and PHPMailer-based email sending via SMTP.
Chatbot logic
The website includes JavaScript chatbot logic. The chatbot supports quick replies and intent-based answers for service topics such as pricing, moving, assembly, storage, contact, and 3D scan information. This gives the prototype an interactive layer instead of only static content.
SEO and discoverability
The project includes SEO-related files and metadata patterns including robots.txt, sitemap.xml, site.webmanifest, favicon files, Open Graph image assets, and page descriptions.
Performance and offline support
The website includes optimized assets, minified CSS/JS files, WebP images, caching rules, and a service worker. The service worker caches important assets and provides fallback behavior for offline or poor-network situations.
Security and server configuration
The project includes .htaccess configuration for compression, caching, and security-related HTTP headers including content type protection, frame protection, referrer policy, content security policy, HSTS, and permissions policy.
Technical decisions
Static frontend with PHP backend
The website was built with a classic deployment model: static HTML/CSS/JavaScript for the frontend and PHP for form handling. This makes the project suitable for traditional shared hosting environments.
Dedicated contact backend
Instead of using only a mailto link, the project includes backend form processing, validation, SMTP sending, and JSON responses. This makes the contact flow more professional and closer to typical business use.
Chatbot as interaction layer
The chatbot provides quick answers for common user questions and helps guide visitors toward contact or service information.
SEO-ready structure
The website includes metadata, robots, sitemap, favicons, manifest, and Open Graph assets to support search and sharing readiness.
Performance-oriented assets
The second version uses optimized images, minified assets, caching rules, and a service worker to improve load behavior and reliability.
Dedicated 3D scan page
The 3D scan page gives the website a stronger technical/service differentiation and connects it with the 3D scan business concept.
Reliability and quality
The outcome
The project shows that I can build more than automation workflows.
It demonstrates the ability to create a complete business website prototype with frontend structure, service positioning, contact handling, SEO setup, performance optimization, and basic operational backend logic.
The main value of the project is that it turns a company's services into a clear digital presentation: visitors can understand the offer, compare service areas, learn about 3D scanning, contact the company, and interact with the website through forms and chatbot logic.
Tech stack
Proof / Evidence
This case study is based on a service business website prototype built in two iterations. The original prototype is not published, since it contains company names, contact details, addresses, team names, partner references, internal comments, private assets, domain references, credentials, and logs.
Public proof shown on this page
A website architecture diagram showing the service business website prototype: static frontend with service sections, chatbot, PHP contact backend, SEO files, service worker caching, and Apache security configuration.
Public code & documentation
Reference patterns extracted from this prototype: privacy-conscious PHPMailer contact backend (anonymized logging, sliding-window rate limiting, honeypot, Origin allow-list), Apache .htaccess with security headers and three-tier caching, network-first service worker, and SEO files including robots.txt, sitemap.xml with hreflang and image schema, and PWA manifest.
Code excerpt: IP anonymization
The contact handler logs each request for operational visibility but follows data-minimization principles. Before any IP address is written to a log file, the last octet (IPv4) or last segment (IPv6) is replaced with a placeholder. The log proves the request happened without preserving who made it.
// Anonymized client IP for logging.
// Replace last octet of IPv4 (192.168.1.123 -> 192.168.1.xxx)
// or last segment of IPv6 before persisting to log files.
function getClientIP(?bool $anonymize = null): string {
if ($anonymize === null) {
$anonymize = defined('IP_ANONYMIZATION') ? IP_ANONYMIZATION : false;
}
$headers = [
'HTTP_CF_CONNECTING_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_REAL_IP',
'REMOTE_ADDR',
];
$ip = 'unknown';
foreach ($headers as $header) {
if (!empty($_SERVER[$header])) {
$ip = $_SERVER[$header];
if (strpos($ip, ',') !== false) {
$ip = trim(explode(',', $ip)[0]);
}
if (filter_var($ip, FILTER_VALIDATE_IP)) {
break;
}
}
}
if ($anonymize && $ip !== 'unknown') {
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
$ip = preg_replace('/\.\d+$/', '.xxx', $ip);
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ip = preg_replace('/:[^:]+$/', ':xxxx', $ip);
}
}
return $ip;
}Full handler in snippets/send-contact.php. The repository also covers the Apache .htaccess production config, service worker offline-first cache strategy, robots.txt + sitemap.xml + PWA manifest setup, and the architecture documentation behind all of it. The original prototype was never deployed to production; the public repository documents the patterns, not the full application.
Prototype Publication Note
This project is a service business website prototype, presented as a frontend/product build. The original prototype was never deployed to production. The public version uses demo content; company names, logos, contact details, addresses, team names, partner references, domain references, internal comments, logs, configuration files, and private business context are not part of the public material. The source repository documents the architecture patterns rather than republishing the full prototype.