Skip to content

SEO and Structured Data ​

A well-optimized landing page does not just convert paid traffic β€” it earns organic visitors who find you through search, compounding your returns over time.

Why This Matters ​

  • πŸ’» Dev: You implement the meta tags, structured data, canonical URLs, and semantic HTML that search engines rely on. A technically sound page is the foundation β€” without it, no amount of content optimization will help.
  • πŸ“‹ PM: Organic traffic is free traffic. Every landing page that ranks for relevant keywords reduces your customer acquisition cost. You need to decide which pages should be indexed and which should not.
  • 🎨 Designer: Your design decisions affect SEO more than you think. Semantic heading hierarchy, text-in-HTML versus text-in-images, and page structure all influence how search engines understand and rank your page.

The Concept (Simple) ​

Think of Google as a massive library, and your landing page as a book you want people to find.

The card catalog is how the library organizes books. If your book has no title on the spine (missing title tag), no summary on the back cover (missing meta description), and is filed in the wrong section (poor URL structure), nobody will find it β€” no matter how good the content inside is.

Structured data is like adding detailed catalog entries: "This book is about project management software, it costs $12/month, and customers rate it 4.8 stars." It gives the library (Google) rich information to display directly in search results.

SEO for landing pages is the work of making sure your book is properly titled, categorized, summarized, and shelved where people are looking.


How It Works (Detailed) ​

The HTML Head: Your Page's Identity Card ​

Every landing page needs a properly structured <head> section. Here is the anatomy:

╔══════════════════════════════════════════════════════════════════╗
β•‘  <head>                                                         β•‘
β•‘                                                                 β•‘
β•‘  β”Œβ”€β”€β”€ ESSENTIAL SEO ─────────────────────────────────────────┐  β•‘
β•‘  β”‚  <title>            60 chars max, keyword + brand         β”‚  β•‘
β•‘  β”‚  <meta description> 155 chars, compelling summary         β”‚  β•‘
β•‘  β”‚  <meta canonical>   The one true URL for this page        β”‚  β•‘
β•‘  β”‚  <meta robots>      index/noindex, follow/nofollow        β”‚  β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β•‘
β•‘                                                                 β•‘
β•‘  β”Œβ”€β”€β”€ SOCIAL / OPEN GRAPH ───────────────────────────────────┐  β•‘
β•‘  β”‚  og:title           Title for Facebook/LinkedIn shares    β”‚  β•‘
β•‘  β”‚  og:description     Description for social shares         β”‚  β•‘
β•‘  β”‚  og:image           1200x630px image for social cards     β”‚  β•‘
β•‘  β”‚  og:url             Canonical URL                         β”‚  β•‘
β•‘  β”‚  og:type            "website" for landing pages           β”‚  β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β•‘
β•‘                                                                 β•‘
β•‘  β”Œβ”€β”€β”€ TWITTER CARD ──────────────────────────────────────────┐  β•‘
β•‘  β”‚  twitter:card       "summary_large_image"                 β”‚  β•‘
β•‘  β”‚  twitter:title      Title for Twitter/X shares            β”‚  β•‘
β•‘  β”‚  twitter:description Description for Twitter/X            β”‚  β•‘
β•‘  β”‚  twitter:image      Same as og:image or specific          β”‚  β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β•‘
β•‘                                                                 β•‘
β•‘  β”Œβ”€β”€β”€ STRUCTURED DATA (JSON-LD) ─────────────────────────────┐  β•‘
β•‘  β”‚  Organization, Product, FAQ, BreadcrumbList               β”‚  β•‘
β•‘  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β•‘
β•‘                                                                 β•‘
β•‘  </head>                                                        β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

Essential Meta Tags Reference ​

TagMax LengthPurposeExample
<title>60 charsPage title in search results and tabs"Project Management Software
meta description155 charsSummary shown in search results"Ship projects faster with Acme. Trusted by 10,000+ teams. Start free."
meta canonicalβ€”Prevents duplicate content issueshttps://acme.com/features
meta robotsβ€”Controls indexing behaviorindex, follow or noindex, nofollow
og:title60 charsSocial share title"Acme β€” Project Management for Modern Teams"
og:description200 charsSocial share description"Ship projects faster with Acme..."
og:imageβ€”Social share image (1200x630px)https://acme.com/og-image.jpg
twitter:cardβ€”Twitter card typesummary_large_image

On-Page SEO Essentials ​

Heading Hierarchy: Use one H1 per page (your main headline), followed by H2s for major sections. Search engines use headings to understand page structure.

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  H1: Project Management Made Simple  β”‚    ◀── One per page
  β”‚                                      β”‚
  β”‚  H2: Features                        β”‚    ◀── Major sections
  β”‚    H3: Task Management               β”‚    ◀── Sub-sections
  β”‚    H3: Team Collaboration            β”‚
  β”‚                                      β”‚
  β”‚  H2: Pricing                         β”‚
  β”‚    H3: Free Plan                     β”‚
  β”‚    H3: Pro Plan                      β”‚
  β”‚                                      β”‚
  β”‚  H2: What Customers Say              β”‚
  β”‚                                      β”‚
  β”‚  H2: Frequently Asked Questions      β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Semantic HTML: Use proper elements β€” <header>, <main>, <section>, <footer>, <nav> β€” instead of generic <div> elements everywhere. Search engines and screen readers use these landmarks.

URL Structure: Keep URLs short, descriptive, and keyword-relevant:

  • Good: acme.com/project-management-software
  • Bad: acme.com/lp/campaign-2024-q3-v2-final

Technical SEO Decisions ​

When to noindex a page:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Page Type                         β”‚  Index?    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Main product landing page         β”‚  βœ“ Index   β”‚
β”‚  Feature-specific pages            β”‚  βœ“ Index   β”‚
β”‚  Pricing page                      β”‚  βœ“ Index   β”‚
β”‚  A/B test variant (same content)   β”‚  βœ— Noindex β”‚
β”‚  PPC-only page (paid traffic)      β”‚  βœ— Noindex β”‚
β”‚  Thank you / confirmation page     β”‚  βœ— Noindex β”‚
β”‚  Preview / staging version         β”‚  βœ— Noindex β”‚
β”‚  UTM-tagged duplicates             β”‚  Canonical β”‚
β”‚  Localized variants (same lang.)   β”‚  Canonical β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Canonical URLs: If you have multiple URLs pointing to the same content (UTM parameters, A/B test variants, www vs. non-www), set a canonical URL to tell search engines which version is the "real" one. This prevents duplicate content penalties.

Sitemap inclusion: Add your indexed landing pages to your sitemap.xml. Exclude noindexed pages. Submit your sitemap through Google Search Console.

Structured Data (JSON-LD) ​

Structured data tells search engines exactly what your page is about using a standardized vocabulary (Schema.org). It enables rich results β€” star ratings, pricing, FAQ dropdowns directly in search results.

Key schemas for landing pages:

╔═══════════════════╦═══════════════════════════════════════════╗
β•‘  Schema Type       β•‘  What It Enables                         β•‘
╠═══════════════════╬═══════════════════════════════════════════╣
β•‘  Organization      β•‘  Company info in knowledge panel         β•‘
β•‘  Product           β•‘  Price, rating, availability in results  β•‘
β•‘  SoftwareApp       β•‘  App details, rating, pricing            β•‘
β•‘  FAQ               β•‘  Expandable Q&A directly in results      β•‘
β•‘  BreadcrumbList    β•‘  Breadcrumb trail in search results      β•‘
β•‘  Review            β•‘  Star ratings in search results          β•‘
β•‘  HowTo             β•‘  Step-by-step instructions               β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•©β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

FAQ Schema is especially valuable for landing pages. If your page has a FAQ section, marking it up with FAQ schema can earn you expandable answers directly in Google results, pushing competitors further down the page.

Open Graph and Social Sharing ​

When someone shares your landing page on LinkedIn, Twitter, or Slack, the platform pulls Open Graph tags to render a preview card. A well-crafted card dramatically increases click-through rates from social shares.

Image specifications:

  • Facebook/LinkedIn: 1200 x 630 pixels
  • Twitter: 1200 x 628 pixels (summary_large_image)
  • Keep important text/logos in the center β€” platforms crop differently

In Practice ​

Stripe: Structured Data for Rich Results ​

Stripe's product pages use structured data extensively. Their landing pages include:

  • Organization schema with logo, social profiles, and contact information β€” ensuring their knowledge panel in Google is complete and accurate
  • Product schema on API product pages with clear descriptions and category information
  • FAQ schema on pages that include common questions, earning expanded search result real estate

The result: when you search for "online payment processing," Stripe's results are visually richer than competitors, with sitelinks, descriptions, and structured information that builds trust before the click.

The lesson: Structured data is a competitive advantage in search results. Two pages with identical rankings will get different click-through rates based on how rich their search result snippets look.

Shopify: Balancing SEO with Conversion Focus ​

Shopify faces an interesting tension: their landing pages need to rank for competitive keywords like "ecommerce platform" while also converting visitors who arrive via paid ads.

Their approach:

  1. Separate pages for organic and paid β€” organic-focused pages are content-rich with thorough H2/H3 structure, internal links, and long-form content. PPC pages are lean and conversion-focused with noindex tags.
  2. Canonical URLs across variants β€” Shopify runs many localized and A/B test variants. Every variant points its canonical tag to the primary page.
  3. Strategic title tags β€” Their titles lead with the keyword and close with the brand: "Free Ecommerce Website Builder | Shopify" rather than "Shopify | Build Your Store."

The lesson: You do not have to choose between SEO and conversion optimization. Use different pages for different traffic sources, and use canonical URLs to keep your SEO signals consolidated.


Key Takeaways ​

  • Every landing page needs a title tag (60 chars), meta description (155 chars), and canonical URL at minimum
  • Use semantic HTML (header, main, section, footer) β€” it helps both search engines and screen readers
  • Set up Open Graph and Twitter Card tags so social shares look professional and clickable
  • Add FAQ schema to any page with a FAQ section β€” it earns extra search result real estate
  • Use noindex on A/B test variants, PPC-only pages, and confirmation pages to avoid duplicate content
  • Canonical URLs are critical when you have multiple URLs for similar content
  • Separate your organic-focused pages (content-rich, indexed) from your paid-traffic pages (lean, noindexed)

Action Items ​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ πŸ’» Dev   β”‚ ☐ Audit your current landing page <head> β€” verify   β”‚
β”‚          β”‚   title, meta description, canonical, and OG tags   β”‚
β”‚          β”‚   are present and correctly formatted               β”‚
β”‚          β”‚ ☐ Implement JSON-LD structured data: Organization   β”‚
β”‚          β”‚   at minimum, plus FAQ and Product where applicable β”‚
β”‚          β”‚ ☐ Validate structured data with Google's Rich       β”‚
β”‚          β”‚   Results Test tool                                 β”‚
β”‚          β”‚ ☐ Ensure semantic HTML is used throughout β€”         β”‚
β”‚          β”‚   replace generic divs with landmark elements       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ πŸ“‹ PM    β”‚ ☐ Decide which landing pages should be indexed vs.  β”‚
β”‚          β”‚   noindexed based on their traffic source           β”‚
β”‚          β”‚ ☐ Create an SEO checklist for landing page launches β”‚
β”‚          β”‚   covering meta tags, structured data, canonical    β”‚
β”‚          β”‚ ☐ Set up Google Search Console and review indexing  β”‚
β”‚          β”‚   status of your landing pages                      β”‚
β”‚          β”‚ ☐ Coordinate with content team on target keywords   β”‚
β”‚          β”‚   for each indexed landing page                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 🎨 Designβ”‚ ☐ Design a 1200x630 Open Graph image template that β”‚
β”‚          β”‚   works across Facebook, LinkedIn, and Twitter      β”‚
β”‚          β”‚ ☐ Ensure heading hierarchy in your designs matches  β”‚
β”‚          β”‚   proper H1/H2/H3 structure β€” not just visual size β”‚
β”‚          β”‚ ☐ Use real text in HTML for key content instead of  β”‚
β”‚          β”‚   text embedded in images (search engines cannot    β”‚
β”‚          β”‚   read text in images)                              β”‚
β”‚          β”‚ ☐ Create social share preview mockups so the team   β”‚
β”‚          β”‚   can see how the page will look when shared        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Next: Chapter 16: Accessibility and Standards Compliance

The Product Builder's Playbook