On this page

For AI agents: a documentation index is available at /llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

SEO Experimentation with Statsig

Learn how to run SEO experiments to test landing page designs and optimize organic traffic performance.

SEO experimentation tests changes to your web pages, such as titles, metadata, structured data, or layout, to measure how they affect search rankings and organic traffic. Because search crawlers need a consistent version of each URL, you randomize by page instead of by user. Statsig hashes each canonical URL into a control or test bucket, then compares metrics such as impressions, average position, and organic sessions across the two groups. Use it when you run a large, templated site and want proof that a page change moves organic traffic before you roll it out everywhere. If your change affects a shared system over time rather than individual pages, run a switchback test instead.

Airbnb's growth team developed this approach in 2017 to test a new landing page template across more than 100,000 city URLs, where user-level randomization was impossible because crawlers needed consistent page versions.

Select a deterministic page bucket

Crawlers must see a consistent version of each URL during the test window, so you can't randomize by user. Instead, hash the canonical URL into buckets. In Statsig, add page_url as a custom unit ID:

  1. From Project Settings, go to Custom Unit IDs.
  2. Enter a name and description. The custom unit ID is immediately available to experiments, gates, and dynamic configs.

Statsig then deterministically hashes each page into control or test and keeps the assignment stable across sessions.

Strip the http or https scheme and any query parameters from page_url, so that Statsig hashes only the stable base URL.

Define metrics before shipping

Make sure the metrics you want to measure are in your data warehouse, keyed on page_url. Register them in Statsig's metric catalog. Because the same pipeline powers feature experiments, your existing CUPED or stratified-sampling settings apply automatically.

Example metrics

Implement the change behind an experiment

  1. Create an experiment in the Statsig console, for example seo_title_test.
  2. Target the custom unit ID page_url with a 50/50 split across control and test.
  3. Expose the variant in the template renderer or CDN edge function.

Ship, monitor, and decide

  1. Use power analysis to determine how long to run the experiment based on traffic volume.
  2. Expect first signals in 2 to 7 days. Wait for re-indexing to plateau before you treat results as stable.
  3. Merge the winner into your template and archive the test. Experiment summaries remain searchable after archival.

SEO-specific guardrails

Page-level changes worth testing

Was this helpful?