The checkout page hides from search engines because a product URL is a funnel, not a destination
Every checkout page on the site sets robots to noindex nofollow. The route at checkout slash productId generates metadata dynamically — the title says Checkout colon product name for purchasable products and Get a Quote colon product name for quote-based products. Both tell search engines to stay away. The rationale is simple. A checkout page is the middle of a funnel. Nobody searches for checkout remote per track or get a quote web app. They search for sound engineering services or software development. That is what the service pages are for. The five service pages are fully indexed with OpenGraph tags, Twitter cards, and structured descriptions. They rank in search. The checkout pages convert. The separation is deliberate. The same page also adapts its sidebar behaviour based on whether the product has a price. When you are buying a fixed-price package, the sidebar defaults to the packages section — you can see the other options while you check out. When you are requesting a quote for a product without a fixed price, the sidebar defaults to the email section — the contact form is immediately visible because that is what you need. Both flows share the same layout, the same ServiceNav breadcrumb, the same sticky sidebar, the same accent colour inherited from the service. The accent colour itself is set as a CSS custom property on the outermost div of the page, read from a five-entry config map keyed by service name. Every child component — the wizard, the sidebar, the form accordion, the product cards — reads the accent through the CSS variable without receiving it as a prop. One route handles twenty-two products across five services. It adapts its metadata, its content, its sidebar state, and its visual theme based on a single product lookup. The only thing all twenty-two pages have in common is that none of them appear in search results.
Comments coming soon
Sign in with TikTok to leave a comment. Coming soon.