Cinematic marketing site · Case study
SSK Consultancy
SSK Consultancy is a Lebanese business and marketing consultancy led by Dr. Suzanne Stephan El Khoury. I rebuilt its website as a cinematic single-page site with an AI-answer layer (llms.txt, a JSON-LD entity graph, FAQ schema), migrated its indexed articles to permanent URLs, and cut it over to the client's own domain and host.
- When
- Jul – Sep 2026
- Stack
- HTML/CSS/JS · Cloudflare Pages · PHP · JSON-LD · Resend
The challenge
SSK's founder is a regular voice on Lebanese television and a senior lecturer, but the company itself was invisible to answer engines: an old template site with no structured data, a blog on a legacy CMS, and a name that collides with unrelated firms abroad. When someone asked ChatGPT or Perplexity for a marketing consultancy for SMEs in Lebanon, SSK did not appear.
What I built
- A cinematic 'walk into the office' single-page site: a scroll-driven entrance and four service rooms (strategy, brand, digital, funding) ending in a consultation form
- One canonical 53-word entity definition reused verbatim in the About copy, the Organization schema, llms.txt, and llms-full.txt, so every machine reader gets the same facts
- A JSON-LD graph linking ProfessionalService, Person (the founder), WebSite, WebPage, and a 12-question FAQPage mirrored one-to-one with the visible FAQ
- robots.txt that explicitly allows GPTBot, ClaudeBot, PerplexityBot and the search fetchers, plus llms.txt and llms-full.txt summaries
- The two indexed legacy articles recovered from the old CMS and republished at permanent URLs with BlogPosting and Breadcrumb schema, with a one-hop 301 map from every old PHP URL, blog post IDs included
- Consultation form as a Cloudflare Pages Function, with a PHP handler ported for the client's shared host so the front-end contract stays identical on both
- Cutover by FTP to the client's existing host (the domain sits on a DNS zone the client does not control), with an Apache .htaccess mirroring the Pages headers and redirects, a verified full backup, and removal of the old CMS admin
Highlights
- Scroll-driven office walkthrough with a sprite-animated guide
- Four service rooms: strategy, brand, digital, funding
- Consultation form as a Pages Function, with a PHP handler for the client's shared host
- AI-answer layer: llms.txt, JSON-LD graph, FAQ schema, migrated articles with BlogPosting schema
- Every image ships as WebP with JPG fallback
Context and constraints
SSK Consultancy is a Lebanon-based business and marketing consultancy founded in 2020, working with SMEs and women-led businesses across the MENA region from Beirut and Zahle. The founder, Dr. Suzanne Stephan El Khoury, holds a DBA and appears regularly on OTV, Alfa TV and Voix du Liban, so the person had visibility the company lacked. The constraint that shaped the build: the domain's DNS zone belongs to a previous vendor, so production could not simply point at Cloudflare Pages. Whatever I built had to run as static files plus PHP on Namecheap shared hosting, while the Pages deployment stayed as the preview.
My role
Design, build, content structure, the AI-answer layer, the article migration, the cutover and the post-launch registrations, end to end. The client approved copy and the visual direction; I owned everything technical, including the decision to keep the legacy URL equity rather than redirect old articles to the homepage.
Architecture and key decisions
Plain HTML, CSS and JavaScript with no build step, so the same folder deploys to Cloudflare Pages and uploads unchanged to Apache. Two parallel definitions of headers and redirects (_headers/_redirects for Pages, .htaccess for Apache) are kept in sync by rule. The contact endpoint keeps one URL, /api/contact, served by a Pages Function on the preview and rewritten to a PHP handler on the host; the handler reads its secrets from a config file the web server refuses to serve. Images ship as WebP with JPG fallbacks. The hero's scroll runway uses small-viewport units and measures the pinned pane's own height, which is what stops Android Chrome's collapsing URL bar from ending the scene early.
The AI-answer layer
Answer engines reward one thing above all: the same facts, stated the same way, in every place they look. The entity definition (who SSK is, who founded it, when, where, for whom) is written once and reused verbatim in the visible About copy, the Organization schema description, llms.txt and llms-full.txt. The founder is a Person node linked to the organization by ID, with sameAs pointing at her LinkedIn, Instagram and Berytech profiles and the company's LinkedIn page. The FAQ answers are 40 to 80 words, answer-first, and mirrored in FAQPage schema. The two articles carry BlogPosting schema with the original 2024 publish dates and the founder as author, so they corroborate the entity rather than float free of it.
Measurement
The day the domain went live I ran the same three prompts on Perplexity and ChatGPT and logged the answers: both engines named the company on the entity question, one cited the website, and neither included SSK in the category answer for Lebanese SME consultancies, where every competitor that appeared had arrived through a directory or a programme page rather than its own site. That is the baseline, and it points at the next phase: third-party corroboration. A weekly check reruns the same prompts and the re-audit is scheduled for October 2026.
Delivered result
The site went live on ssk-consultancy.com in September 2026 with zero errors in Google's Rich Results test and the schema.org validator, IndexNow and both webmaster consoles registered, and a day-0 AI-visibility baseline recorded so the October re-audit measures movement rather than impressions.
Measurement note: this case study documents delivered functionality and architecture. Client-approved before/after KPIs, adoption data, and revenue impact are not measured or published here.
Want something like SSK Consultancy?
Message me on WhatsApp or see all services.
Case study last updated: · Project delivered: Jul – Sep 2026