Summary
Search is no longer only ten blue links. People ask ChatGPT, Claude, Perplexity and Google's AI answers which mover to book and what it costs. I built the structured content layer that lets Lugg answer those questions in a form both classical crawlers and LLM answer engines can read: a dynamic FAQ engine, schema markup across the site, and a rebuilt help center.
The problem
- Scattered Q&A. FAQs were spread across individual pages instead of managed in one place, so each page's questions had to be written and kept up to date by hand.
- Unreadable help center URLs. Help articles sat at numeric paths such as
/help/3667124/6543267, which say nothing to a searcher or a crawler. - Help articles missing from the index. A pagination bug was quietly keeping help articles out of search.
- Two audiences. The content had to work for classical search crawlers and for LLM-driven answer engines, which both lean on structured, question-shaped content.
The approach
- Write each answer once, render it everywhere it applies. FAQs are grouped into reusable categories and attached to pages by the same
category × action × serviceKeywordprimitives that drive the programmatic landing pages. - Mark up what the page already says. Schema follows the visible content, so a FAQ block emits FAQ markup and a service page emits Service markup.
- Render it on the server. Structured data only helps if crawlers see it in the HTML, so I fixed the server-side rendering bailouts that were pushing it to the client.
- Make the site easy for LLMs to parse. I updated the site's
llms.txtand sitemap so AI crawlers can find and read the important pages.
What shipped
An FAQ engine for the long tail
16 reusable FAQ categories auto-render on each landing page by category × action × serviceKeyword, producing tens of thousands of unique, indexable question-and-answer combinations, such as "Best Buy deliveries in Boston", without anyone writing each one by hand.
Service pages carry their own FAQs, and the comparison pages carry competitor-specific ones.

- Service and FAQ JSON-LD across the site, with the server-side rendering fixes so the markup ships in the initial HTML.
- A rebuilt help center: human-readable slugs (
/help/3667124/6543267became/help/pricing/how-much-does-a-lugg-cost), rich Q&A meta descriptions generated from each article, structured data for each question, and fixes for the pagination and collection bugs that were keeping articles out of the index. llms.txtand sitemap updates for LLM parseability.
Results
- Valid markup. On a test page, the Schema.org validator reported 0 errors and 0 warnings across FAQPage and BreadcrumbList items, and Google's Rich Results Test detected valid FAQ and Breadcrumb items.
- Coverage at scale. FAQ content now comes from 16 shared categories, so every landing page gets relevant questions and answers without per-page authoring.
- A help center built for search: readable URLs, per-article descriptions, question-level structured data, and no more articles dropped by the pagination bug.
This shipped alongside the landing-page and migration work, over a period in which the site's organic clicks grew 28% year over year and its average ranking position moved from 36 to 15.4.
Why FAQ schema?
Google has cut back the FAQ rich results it shows in classic search. The markup is still worth shipping because it states, in a form machines can read, exactly which questions a page answers. That helps LLM-driven answer engines match a page to a question, so the schema was written for both audiences from the start.