I’ve been speaking to a lot of new startups recently since I’m on vacation and have the time. One of the most common topics of conversation was on SEO. Since I was giving mostly the same information to everyone, I figured I might as well write an article and consolidate the information.
The end goal of any SEO strategy is to have massively scaled channels that make up most of your growth with minimal effort. Paid and organic is nice and all, but paid costs money and organic tends to be unreliable. As your startup grows, your acquisition channels will shift towards referrals and SEO.
Every company’s timeline (SEO-speaking, anyway) can be split into pre-SEO experiments and post-SEO experiments. Unlike smoke signals, SEO requires a fair amount of organic traffic to begin with, and can’t be hacked together before then. You’ll need at least 1,000 searches/day/page so you can set up groups of 500. Anything less and it becomes statistically insignificant.
There are two types of SEO: programmatic and editorial.
Editorial SEO is high-quality, long-form landing pages or blog posts. Hubspot is the canonical example here for dominating the inbound category.
Programmatic SEO is high volume landing pages generated at scale, often created either automatically (Zillow; Skyscanner) or user-generated (Pinterest; LinkedIn public directories).
This post covers the latter, as well as advanced SEO and SEO experimentation. Keyword research and setting up Google Analytics is relatively straightforward and has been written about to death already.
Early stage and setting up
If you haven’t yet done keyword research or set up basic analytics on your website, do that now. Bounteous has written at depth on Google Analytics.
Create scalable landing pages
A scalable landing page is a quality landing page you can build programmatically. Blog posts aren’t scalable landing pages because you need to write content, and home or feature pages aren’t scalable because there can only be one.
Examples:
- Pinterest board pages
- Tripadvisor city pages
- Skyscanner flight itineraries
- Airbnb city pages
- Upsolve locality pages
While these are mostly B2C organizations, B2B companies can leverage programmatic landing pages with some content marketing creativity. For example, a project management SaaS can create public project management examples for every use case under the sun — Trello does this to a degree with their public boards.
How to do this
There are tools to help you do this, but I’ve never tried them since they’re either out of budget for the startups I work with, or I’m working with an engineering team that can do this faster and with more personalization.
I usually use a combination of Jekyll’s generators and Bannerbear to automate this. Jim Pravetz has a Gist that describes a similar process to what I do, though it’s nearly 10 years old now and I’ve never tried his method so YMMV. A no-code solution might be something like Sheet2Site or Airtable to Jekyll.
A big part of getting to 1000 searches/day is waiting. There’s no getting around it — you have to wait for Google to crawl your pages and for backlinks to be built. There’s also some theories about a sandbox for new sites, but it remains unproven and I’m not certain it even exists.
The top things your landing page needs to have:
- A good site title and description. There’s a strong correlation between high-performing titles and high SERP.
- Make sure content is visible in the DOM/above the fold. Too many sites forget to check this and content slips beneath the fold - you need visitors to be interested in order for them to scroll.
- **Make sure the pages link to each other and from other main pages so Google can find them. **The easiest way to do this is with a breadcrumb navigation.
- Fetch and render as Googlebot to test. Here’s how.
What to watch out for
Google penalizes doorway pages - similar-looking pages that were created to rank for highly specific search queries. If you saw a dip in Skyscanner results about 5-7 years ago, I suspect this is why — pre-2014, Skyscanner dominated search results (for me, at least).
This is why I emphasize your programmatic landing pages need to contain good content. Google offers some help in deciding if your landing pages are doorways:
- Is the purpose to optimize for search engines and funnel visitors into the actual usable or relevant portion of your site, or are they an integral part of your site’s user experience?
- Are the pages intended to rank on generic terms yet the content presented on the page is very specific?
- Do the pages duplicate useful aggregations of items (locations, products, etc.) that already exist on the site for the purpose of capturing more search traffic?
- Are these pages made solely for drawing affiliate traffic and sending users along without creating unique value in content or functionality?
- Do these pages exist as an “island?” Are they difficult or impossible to navigate to from other parts of your site? Are links to such pages from other pages within the site or network of sites created just for search engines?
So…yes, all SEO pages are doorway pages to some degree, but like anything else SEO, unique and valuable content comes above all. If you look at the examples I provided, they are all providing unique content like Airbnb’s neighborhood guide.
Set up better analytics
Your Google Analytics setup, out-of-the-box, will work fine for your core marketing website - but it begins to fall apart once you go deeper into programmatic SEO. Once you have more than a handful of landing pages, start asking questions like:
-
Which page brings in users that finish the sign-up process?
-
Which page has the lowest conversion rate?
-
Which topic or category is most popular?
-
Which page results in more valuable customers? (Ok, this one might take a while)
At this point, we start looking at attribution models.
Choose an attribution model
Like many companies, Cialfo uses a multi-touch attribution model, emphasizing the first touch and last touch. This wasn’t always the case, though — early in Cialfo’s life, we used a first-touch attribution model because I wanted to track what was generating awareness.
Which model works for you will depend on your goal. Even within multi-channel attribution, there are layers: MCA-O2S? MCA-AMS? If you ever want to start a marketer fight, tell them their multi-channel attribution is wrong.
For most startups, and especially early-stage startups, there’s no need to build a custom attribution model. Pick one that seems to map to your customer journey and your own revenue goals - this is generally either first and last touch (also known as positional), time-decay, or linear. Set it up in Google Analytics and call it a day.
If you’re using Segment (which I highly recommend), you can go a little deeper with tracking using Personas. Mark Hansen from Upsolve has described it with code examples here.
Mid-stage and experimentation
SEO experimentation only works once you have a decent amount of organic traffic and it’s one of the main drivers to your site. SEO experimentation is not intended for you to learn if you should pursue SEO.
(You could use it to figure out if SEO is a viable channel for you, but if you don’t have enough organic traffic then you won’t have enough of a sample size and then the entire experiment is scientifically moot anyway.)
Important: A/B testing SEO is different from typical A/B testing for conversion rate optimization, and you’d be doing yourself a disservice by treating them the same.
When I run an A/B test for a product or website, changes are bucketed at the user-level. Products will use feature flags to test product changes against a user cohort, and websites will switch button colors depending on the user group. The user experience remains consistent. User A will always see the fancy new dashboard, and User B will always see a red button instead of green.
This does not work for SEO experiments.
Each time Google visits your site, it comes as a separate user. This means Googlebot will always be reassigned to either treatment or control, and its experience will change per visit. You don’t want the same page (or a slightly different variant) to be indexed by Google each time — it might affect your ranking, and more importantly, you won’t really be able to see the effects of the experiment. The only user you’re designing for is Google, so it’s important to maintain a consistent experience each time Google visits your site.
To combat this, run SEO experiments at the page-level.
As far as I’m aware, there is no out-of-the-box method to run SEO experiments. Major platforms like Optimizely can’t do it very well, and in any case a platform like that would be out of budget for the early-stage startups I typically work with anyway.
1. Bucket treatment and control at the page level.
I generally do this by manually selecting the URLs I want in control/treatment. If you have a large site where this is not feasible, you could also take a hash of the canonical URL.
As far as I know, there’s no third party tool that allows you to do this. You’ll have to build it yourself (or get an engineer to do it).
You’ll also need accurate attribution — as accurate as you can get it. This is more than Google Analytic’s standard source/medium. Use UTM links, track campaigns, all that jazz.
If you’re using Segment, you already have most of the Javascript you need. Gijs Nelissen, cofounder of Prezly, found Segment’s webhooks useful for this, but you could also use Snowflake. Cialfo has a dedicated marketing database, with a visitors table that tracks touchpoints.
If you have >250k organic visits (not pageviews, visits), you definitely need a secondary visitor tracking database since Google Analytics samples its data beyond 250k (or 500k, if you up the limit).
2. Deploy the experiment to the treatment group.
I cannot emphasize this enough: unless you have an absurd amount of visitors - like, Skyscanner pre-2020 amount of visitors - only run one experiment at a time.
Roll out the experiment to your entire website. Not just the mobile pages, not just for desktop — all of it. This assures that every variation of Googlebot (mobile or desktop) will see the experiment and adjust accordingly.
3. Wait.
There’s no getting around this. You’re gonna have to wait. This might take anywhere from 2-4 weeks to a few months.
You’re waiting for two things:
-
To get enough of a sample size and timeframe to assure your experiment is statistically sound; and
-
For Google to adjust its results.
4. Analyze the results.
You can end the experiment once it’s run for at least 2 weeks. At this point, extract the results and play with it.
Compare the expected change in traffic if you hadn’t run the experiment to what you see now.
Remember to pull out bot traffic. You can do this by excluding traffic from known bot user-agents like Googlebot and Bingbot. Here’s a list. Here’s the Regex.
FAQs
When should I start investing in SEO?
The boring answer is “it depends”.
SEO is not a major channel for certain types of startups - particularly high-touch, sales-led ones. Cialfo didn’t invest in SEO until much later in the company’s life because we’re a sales-driven B2B company.
Typically, SEO has a longer ramp-up time than other channels. Anticipate at least 6 months for you to see any results. If you suspect SEO will be a major channel for your product, then it’s worth investing a little as early as possible with the possibility of more later once enough time as passed to judge it worthy.
Who should my first SEO hire be?
If you don’t currently have a growth engineer, your first hire should be someone who can work on web changes for SEO as well as product changes for building growth loops. A dedicated web engineer for SEO can come in later, once you’ve validated SEO as a channel. Non-engineering SEO experts should come in even later, once you have engineering resources to execute experiments.
**Should I focus on increasing backlinks? **
There is no good scalable way of increasing backlinks without getting penalized by Google. Focus on increasing backlinks if you’re focusing on an editorial SEO strategy (where people are more likely to link back to you), but not if you’re focusing on programmatic SEO.
What about keyword research?
Keyword research is necessary for editorial SEO since you’ll be targeting long-tail keywords (high specificity, low search volume) and ranking with a few pages. For programmatic SEO, you need high search volume above all else. I use SEMrush or Ahrefs for keyword research (it doesn’t really matter which you choose).
Further reading
Pinterest has mastered SEO and have written about their experimentation framework on their engineering blog.
Similarly, Airbnb writes about their implementation of “Magic Carpet” and their experimentation process.
Avinash Kaushik is the canonical writer for attribution and analytics. For more on attribution, his Digital Attribution’s Ladder of Awesomeness is a good place to start (if challenging).