Lenny's Newsletter · Product & Work
TIER 5 2020-07-14
**If you find this newsletter valuable, consider sharing it with friends, or subscribe if you haven’t already 👇**
# **Q: Our company is starting to work on SEO, but there’s an incumbent who’s really good at SEO. How would you recommend we compete with them?**
SEO has always felt to me like one of the dark-arts of growth — mysterious, full of tricks, yet when practiced skillfully immensely powerful.
I’m a mere padawan in the arts of SEO, so for this question I turned to my former colleague [Brian Ta](https://www.linkedin.com/in/brianta626/). Having led the SEO efforts at five different companies, including Airbnb, Strava, and now at AngelList, Brian is one of my go-to people for SEO questions. In this week's post, Brian generously shares his strategy for winning at SEO based on his experience at these companies. If you’d like more insight or have questions, you can find [Brian on Twitter](https://twitter.com/fanfavorite_bta?lang=en) 🙏
—
Before we get into the meat and potatoes of SEO strategy, I’m going to make a couple of assumptions about you and your product:
1. **You’re just starting an SEO program**, and/or your company isn’t widely known yet.
2. **You don’t know much about SEO** other than the fact that someone said that it’s something you should invest in early and that it’ll get you “free” traffic.
3. **You have a relatively large degree of freedom** to create, modify, and remove products and pages on your website.
4. **You’re trying to rank in Google**. This advice is generally going to be helpful with any search engine, but I’ll be referring to Google/Googlebot a lot.
5. **You’re not a B2B company.** That’s not to say that this guide isn’t useful for B2B, but you’ll have to get more creative about how you leverage the advice given here.
By the end of this post, you will be armed with a toolkit that will allow you to go toe-to-toe with incumbents in any industry. I’ll be leaning on my experience leading SEO at [Airbnb](https://www.airbnb.com/), [AngelList](https://angel.co/), [Strava](https://www.strava.com/), [SpotAngels](https://www.spotangels.com/), and [Upsolve](https://upsolve.org/). In the case of both SpotAngels and Upsolve, each grew from less than 1,000 organic visitors/month to over 250,000 after investing in an SEO strategy like the one I will describe below.
As a final note before we get started: This post is in no way a substitute for original thinking, creativity, and hard work. It merely serves as a guide to help you kickstart a coherent, scalable SEO strategy.
## How should early-stage founders overcome the SEO advantages of incumbents?
The strategy is actually simple: Create many valuable web pages in a scalable and cheap way.
Let’s break this down:
**1. Create many valuable web pages**
SEO is all about creating web pages. Lots of web pages. But not just any web pages. The secret is to create pages that are *as helpful to search engines as they are to your users*. At the end of the day, SEO is creating a product for a pretty stupid bot. Give it the content it wants and make it as easy as possible for it to consume it.
**2. Make it scalable and cheap**
Blog posts, title tag tweaks, and keyword stuffing aren’t scalable and require a ton of manual effort and upkeep. *Instead, you’ll want to create pages programmatically*, full of content that Google is expecting – engaging, targeted, and fast.
To do these two things well, you’ll need to answer three questions:
1. What kind of pages should I create?
2. How do I create these pages programmatically?
3. What features do I need to create on each page for Google to love it?
Let’s tackle each of these one-by-one.
### What kind of pages should I create?
To answer this question, start by asking yourself: What are people on Google searching for that my business is uniquely able to answer?
Write down all of the unique pieces of information that your business has access to. [Strava](https://www.strava.com/) has popular running routes, [Airbnb](https://www.airbnb.com/) has unique listings, [Pinterest](https://www.pinterest.com/) has user-generated images. What do you have?
What you are looking for is unique and valuable data points that your business/product already has that can be turned into useful web pages. For example, Thumbtack has thousands of pages like [the best electricians in Seattle](https://www.thumbtack.com/wa/seattle/electricians/), using data that their pros input.

As an example, say we’re a startup that sells flowers (let’s call it “Petal to the Metal”). We should not be trying to rank for keywords such as “flowers” or “red roses”. Not only are those terrible keywords because they have no user intent, they’re also extremely competitive. Instead, you want to create pages that capture a specific and valuable user intent. *SEO isn’t about capturing the top keywords — it’s about capturing the long-tail of keywords*.
Sure, you won’t catch the white whale of “flowers”, but if you can capture all of the keywords that follow a common formula such as “{flower type} for sale in {location}”, you’re going to be capturing valuable, high converting traffic and see a much higher ROI. Your goal should be to niche down when you start, and as you grow in authority, create more pages and move into new keyword spaces*.*
So, as a next step, figure out what niches and keyword spaces could work best for your business. How? Creativity, imagination, and stealing ideas from your competitors. Some of the keyword spaces you’ll want to move into are going to be painfully obvious. In the case of Upsolve, which is a non-profit startup that helps individuals file bankruptcy for free, the obvious space we wanted to move into was “how to file for bankruptcy in {state}”. When it’s not obvious, you’ll have to get creative with the data that you have at hand, and figure out what type of searches users are performing that (1) you can answer and (2) will lead to intentful actions (e.g. sign up, book, purchase).
When you consider different keyword spaces, it’s important to look at search volumes for those keywords. A few tools I recommend are [Google Keyword Planner](https://ads.google.com/home/tools/keyword-planner/) (free), [SEMRush](https://www.semrush.com/) ($), or [Ahrefs](https://ahrefs.com/) ($).
### How do I create high-quality pages programmatically?
There’s an oft-repeated, and accurate, phrase in SEO circles: Content is king. Simply put, the more high-quality content that you have, the more traffic that you get. There’s a reason why Nerdwallet’s entire SEO strategy is centered around producing extremely high-quality content (written by Pulitzer Prize winners).
[](https://substackcdn.com/image/fetch/$s_!-8Ff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F33c84d3b-ae10-4c74-9fac-abcdd407e996_595x1020.png)
There’s also a reason why every single recipe website you’ve ever visited has that long and obnoxious intro text about the recipe — text is the primary signal that Google uses to rank your pages.
Every page on your website is a piece of content, and your goal is to produce as many *high-quality* pieces of content as possible. But, unlike Nerdwallet or recipe websites, you don’t have the time or resources to write detailed blog posts and long-winded stories about how much your dog loves your lemon crinkle cookies.
Instead, you’ll want to create the content programmatically, using the data points that you’ve outlined in the previous exercise, and then apply it to the keywords that you’re targeting. Think of your page as a very elaborate page from a Mad Libs, and you’re using internal and publicly available data to fill in the blanks.
Now comes the fun part. Using the data points you noted in the previous step, sketch out your *ideal web page*. Create a page that has all of the information you have at your disposal, for the keyword that you’re trying to target. Here’s a sketch I made for our flower startup:
[](https://substackcdn.com/image/fetch/$s_!1eHr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd3358ab-bcce-40f9-b221-ad9d35fe7eba_586x949.png)
As a side note, if you have access to user-generated content, this is the best kind of content to use — it provides natural, keyword-rich content that is useful to both your users and Google.
As you create this page, make sure to think about how these pages scale based on the quality of the data that you have. Since we’re creating one template to generate potentially hundreds or thousands of pages, you need to think about what the pages look like in the best AND worst-case scenario. For example, Strava’s San Francisco running routes page is going to look a hell of a lot better than their Fresno one, because of the amount of quality data that they’ll have from their users. You’ll want to make sure that you can maintain a good bar of quality on your lesser popular pages. If the pages don’t meet your minimum bar of quality, cut them out by blocking Google from accessing them (by [adding a noindex tag](https://developers.google.com/search/reference/robots_meta_tag#robotsmeta) or [blocking it on the robots.txt](https://support.google.com/webmasters/answer/6062596?hl=en)).
[](https://substackcdn.com/image/fetch/$s_!ccxR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F450697ec-a0d8-4bc8-9a36-733241cecdf4_2171x1094.png)[](https://substackcdn.com/image/fetch/$s_!rYlv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2caa6849-7bfd-424e-b689-fe4e95866031_1569x976.png)
Going back to our imaginary Flower startup, we’ve decided that we’re going to create pages that are competing for the keyword “{flower type} + {city name}”. We’re a San Francisco based company so our data is going to be most robust in SF, while the data that we have in Fresno is quite limited. Below is an example of what I’d put together to help me figure out what content I have and don’t have:
[](https://substackcdn.com/image/fetch/$s_!zvaT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5a83e4b2-a40a-43ad-a18c-c26d4a0ceb11_1196x596.png)
Looking at the spreadsheet, the Fresno page we’re creating is quite weak. It’s missing five of the nine data-points, and key information like flower arrangements and local flower shops in the area aren’t available. The next step is to think of ways to increase the quality of the data for our lesser-known locations. We can bootstrap the data that’s needed, such as hooking into the Yelp API to pull the local flower shops in cities that are missing that data, or using some of our existing data to craft a workaround. In this case, we could show popular flower arrangements available in nearby cities or programmatically create flower arrangements based on what individual flowers are available in a city.
### What features do I need to create on each page for Google to love it?
As important as content is to SEO, there are also a couple of important SEO tricks to keep in mind when designing your pages. This section will be more prescriptive and tactical than previous sections, but will introduce some SEO fundamentals that will help you avoid the most common SEO mistakes:
1. **Title tags:** You should always have a relevant and unique title tag on every single page. This is literally the most important SEO tag that you can have. It’s also one of your primary levers of optimization if your pages aren’t performing well. Your title tag is usually going to be whatever keyword space that you were designing for in the previous exercises.
2. **Internal linking:** This is far and away the most overlooked SEO feature. This is the biggest optimization recommendation that I make to every company that I’ve ever consulted for. Internal links are links that you have on your page that point to a different page that is still on your domain. This is *extremely* important, as Google uses internal linking as a means of determining the hierarchy of information on your site (the more internal links pointing to a page, the more important it is), and how they discover new pages on your site. It doesn’t matter how great your content is if Google can’t find the page. Typical solutions to internal linking are recommended products, nearby locations, and “other {thing} people liked.”
3. **Robots.txt:** The robots.txt is used to tell crawlers where they’re allowed to crawl and not crawl on your site. This is important because you probably don’t want Google crawling every single page of your website. More pages are better, but not all pages bring in valuable traffic. Make use of the robots.txt to set up guardrail where Google is allowed to crawl. The more time that Google spends on the pages that you care about, the better you usually perform. After all, Google has a finite amount of resources it will spend to crawl your page. If it’s wasting all of its time crawling a useless set of pages (such as user profile pages), it won’t have time to get to the pages that matter.
4. **Javascript rendering:** Google has the easiest time reading a page if it’s served in plain HTML. There’s quite a bit of debate in the SEO community about how well Google is able to render Javascript, but the way I see it, you want to make it as easy as possible for Google to crawl your pages. Making Google put in extra effort to view the content on your page is just a bad idea. If you care about SEO at all, figure out a way to make sure that your logged-out pages are served server-side. You can do your fancy Javascript stuff once a user signs in.
5. **Schema markup:** If you’ve ever wondered how search results sometimes include fancy features on the result pages, such as the number of stars your product has, inventory, or the number of reviews, it is done through schema markup. There are possible many enhancements, so I’ll just point you to [Google’s official documentation](https://developers.google.com/search/docs/guides/search-gallery).
There’s a lot more to consider when working on SEO, but I’ve touched on what I believe are the most important and impactful elements to get right. To go deeper, definitely do your own research, starting with [Google’s documentation](https://support.google.com/webmasters/answer/7451184?hl=en).
### Closing Thoughts
Don’t overcomplicate your SEO strategy. Your goal should be to get from 0 - 80%, and that’s usually more than enough to get competitive in your space. Get your pages live and out there, make sure you’re targeting the correct keywords, and get your SEO fundamentals in place (e.g. title tags, internal linking, high-quality content). With this, you’ll be on your way to winning organic search.
A few final tips and reminders:
1. **Not all keyword spaces are winnable.** Know which ones aren’t (travel), and hold off on a serious SEO strategy until you’re further along.
2. **Create pages that are niche**, and once you have a foothold go up the funnel.
3. **SEO is creating high-quality content at scale**. Maintain that minimum quality bar, and do it cheaply. Your time is valuable, spend it wisely.
4. **Simple is better.** Don’t overcomplicate.
5. **Traffic is a vanity metric**. Traffic that converts is what you’re after. It’s easy to forget when you’re chasing traffic highs.
6. **The faster your site is, the better**. Your users don’t like slow websites, Google doesn’t like slow websites.
### Bonus: SEO myths
Common misconceptions about SEO:
1. **You need to build backlinks:** Don’t worry about backlinks. They’re probably not holding you back (lol), and they’re unlikely to be the game-changer that you think they’ll be.
2. **It’ll take 6 months for SEO to work:** This number is probably closer to 3 months, but if you’re doing things right and are in the right space, you’ll see progress within a month.
3. **You need to hire a full-time SEO to get it right:** You don’t. SEO is not that hard. *Especially* if you’re a small startup with complete control of your entire site. Find a trustworthy consultant that can point you in the right direction and have them meet with your engineering team. Some of the most impactful experiments and features that I’ve helped launch came from the designers and engineers on our team. Get your hands dirty, and I assure you that it’s easier than it seems.
4. **There’s no way to run SEO experiments:** Here are two [great](https://medium.com/airbnb-engineering/experimentation-measurement-for-search-engine-optimization-b64136629760) [references](https://www.growthengblog.com/blog/2018/4/15/scaling-new-growth-opportunities-series-seo-basics) for SEO experimentation. Keep in mind that just because you can run experiments, doesn’t mean that you should. Experiments are run when you’re unsure about a change or trying to optimize something. If your SEO isn’t in good shape, it’s smarter just to ship.
For more, follow me on [Twitter](https://twitter.com/fanfavorite_bta?lang=en) and [LinkedIn](https://www.linkedin.com/in/brianta626/). If you're a startup and looking for someone to help with SEO advising or consulting, my [Twitter DMs](https://twitter.com/fanfavorite_bta?lang=en) are open.
## 🔥 Job opportunities (new)
- Product Manager: [Outschool](https://jobs.lever.co/outschool/19e1866e-b599-4296-b452-0f40ca4de630)
- Growth: [Airhouse](https://jobs.lever.co/airhouse/2fa1feb6-f994-4de2-8611-3ecf0abde767), [Cerebral](https://www.linkedin.com/jobs/view/1858997263/)
- Design: [Cascade](https://www.cascade.io/jobs/analytical-product-designer), [Pairplay](https://www.notion.so/Lead-Designer-first-design-hire-da77a3e4cfe94dfa80b4a4d4e01af034), [Pachama](https://jobs.lever.co/pachama/f4f49853-9d59-4dcc-9d0b-143ca63a53d2), [Primer](https://www.notion.so/Founding-Designer-San-Francisco-d1296f25efcc43a7833fd28ea3952b39), [Sourcetable](https://sourcetable.com/jobs#contract-designer)
- Frontend engineer: [Cascade](https://www.cascade.io/jobs/front-end-product-engineer), [Primer](https://www.notion.so/Founding-Frontend-Engineer-San-Francisco-783c2072b9c047a88cb884babb47ef04), [Transform](https://transformdata.io/careers/)
- Backend engineer: [Sourcetable](https://sourcetable.com/jobs#backend-god)
- Fullstack engineer: [Centered](https://www.notion.so/Software-Developer-e7cad269968e4d5aaeb1f6da9e282626), [Wren](https://projectwren.com/careers/software-engineer)
- iOS engineer: [Ideaflow](https://docs.google.com/document/d/1ZpH5WMQqg337hxpHMZGMPjmmzSfVRJdK76Lof8mw_V0/edit#), [Pairplay](https://www.notion.so/Lead-iOS-Developer-ba18577b6ba44ad68e45b8e7a957353c), [Primer](https://www.notion.so/Founding-Mobile-iOS-Engineer-San-Francisco-77c9499922c246899348fd27eb017484)
- Engineering exec: [Cerebral](https://angel.co/company/cerebral-4/jobs/535826-vp-of-engineering), [Snackpass](https://jobs.lever.co/snackpass/74686298-a043-4976-8f77-f4ef643f4200)
- Sales/BD: [KUDO](https://angel.co/company/kudo-meeting/jobs/649855-vice-president-of-sales), [Pachama](https://jobs.lever.co/pachama/996cdde4-737b-4794-ad0f-d726448c3dfb), [Swayable](https://angel.co/company/swayable/jobs/808347-director-of-sales)
- Security: [KUDO](https://angel.co/company/kudo-meeting/jobs/592999-cybersecurity-compliance-program-manager)
## **🧠 Inspiration for the week ahead**
1. **Read**: [4 Rules for Identifying Your Life’s Work](https://www.theatlantic.com/family/archive/2020/05/how-choose-fulfilling-career/611920/)
2. **Listen**: [All-In with Chamath, Jason, Sacks & Friedberg](https://podcasts.apple.com/us/podcast/all-in-with-chamath-palihapitiya-jason-calacanis/id1502871393)
3. **Watch**: [Solo Charleston: Don’t Forget to Mess Around!](https://vimeo.com/435609071)
**If you’re finding this newsletter valuable, consider [sharing it with friends](https://www.lennyrachitsky.com/), or subscribing if you aren’t already.**
Sincerely,
Lenny 👋