From 8dbbad4277f0d4ce87e1cc673fd2edbb58b6c3f5 Mon Sep 17 00:00:00 2001 From: platform-mcp Date: Wed, 17 Jun 2026 13:03:29 +0530 Subject: [PATCH] refactor(home): remove duplicate FAQ section, merge unique Q&As into HomepageFaq MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The homepage rendered two FAQ blocks — an inline "Common Questions" section plus the component above the final CTA — which produced two FAQPage JSON-LD entries and a redundant accordion. Consolidate on HomepageFaq (self-contained, polished accordion, better a11y) and: - delete the inline FAQ
, the `faqs` array, the `faq={faqs}` prop on , the orphan .faq-question/.faq-answer/.faq-icon CSS, and the initFAQ() boot script + its call in index.astro - merge the 4 unique inline questions (support, process, team augmentation, security) into HomepageFaq's moneyFaqs; the 2 duplicates (technologies, timeline) were already covered there - refresh HomepageFaq's lead-in copy and comments to reflect it as the single canonical homepage FAQ Result: one FAQ heading + one accordion in the DOM, exactly one FAQPage JSON-LD with 10 Q&A pairs, no broken anchor links. --- src/components/HomepageFaq.astro | 48 +++++++---- src/pages/index.astro | 131 ++++--------------------------- 2 files changed, 48 insertions(+), 131 deletions(-) diff --git a/src/components/HomepageFaq.astro b/src/components/HomepageFaq.astro index 04f1e1e..3e9c767 100644 --- a/src/components/HomepageFaq.astro +++ b/src/components/HomepageFaq.astro @@ -1,17 +1,12 @@ --- -// HomepageFaq — Money & process FAQ rendered just above the final CTA band. +// HomepageFaq — single homepage FAQ section rendered just above the final +// CTA band. Covers both buyer-stage objections (cost, timeline, NDA, IP, GeM, +// stack) and the process/support/security questions that used to live in the +// older "Common Questions" block higher up the page. That earlier block was +// removed to avoid a duplicate FAQ rendering and a duplicate FAQPage JSON-LD +// emission — this component is now the canonical homepage FAQ. // -// Why a dedicated component instead of reusing the "Common Questions" block -// further up the page: -// - The questions here target buyers in late-stage evaluation (cost, -// timeline, NDA, IP, GeM, stack). They convert better when surfaced next -// to the final CTA, not next to the testimonials. -// - Emitting FAQPage JSON-LD only once per page is the recommended pattern -// for rich-result eligibility. The existing FAQ block above also emits a -// FAQPage via — so this component renders ONLY the visible UI; the -// schema for these questions is appended to the parent's `faq` array in -// src/pages/index.astro so Google still sees a single, valid FAQPage with -// all 12 Q&A pairs. +// Emits a single FAQPage JSON-LD inline (below) for rich-result eligibility. // // Accessibility: // - Each question is a real
- -
-
-
- -
- FAQ -

Common Questions

-

- Everything you need to know about working with us. Can't find the answer you're looking for? -

- - - - - Chat with our team - -
- - -
- {faqs.map((faq, index) => ( -
- -
-
- {faq.answer} -
-
-
- ))} -
-
-
-
- - + @@ -865,18 +797,8 @@ const faqs = [ font-variant-numeric: tabular-nums; } - /* FAQ accordion styles */ - .faq-answer { - transition: max-height 0.3s ease-out; - } - - .faq-question[aria-expanded="true"] + .faq-answer { - max-height: 500px; - } - - .faq-question[aria-expanded="true"] .faq-icon { - transform: rotate(180deg); - } + /* (FAQ accordion styles moved into , which now renders the + only homepage FAQ section.) */