Sometimes an acronym makes as much sense as vegetable toppings on a perfectly fine pizza.
Case in point: when one of SpaceX's rockets recently combusted in the air, some officials labeled it RUD, short for "Rapid Unscheduled Disassembly."
Search Engine Optimization, or SEO, is one such dishonorable artifact of some of my overly creative marketing brethren because it doesn’t tell you what it actually means.
So what is SEO?
Let me explain.
Imagine your name is Antonio. You live in a vineyard in a small town in Northern California. After years of Olympic-level drinking, let’s say you suddenly discover how to make a new kind of wine one day. Fast forward a few years later, and not only do you have a small vineyard that produces one of the best wines, people who taste it for the first time fall in love with your product.
But here’s the rub. Like a greedy kid at a birthday party, other big-label vineyards around you are hogging the limelight, and you are barely able to sell your stock.
So what do you do? You are so confident of your product that you offer free wine tasting at your vineyard. Let the product speak for itself, you say. You set up a nice little picnic area with some cheese and grapes mooched off the local Trader Joe's and get ready for the freeloaders to show up for a romping party. This is what marketers call Product Led Growth, aka PLG.
A few hours pass by, and no one shows up except those who already know you and love your wine.
People don’t know about your vineyard. In fact, it is as famous as your neighbor’s snarling cat despite your vineyard having one of the finest products.
Another drunken stupor, and you have another brilliant idea. You write about why the world needs a new kind of wine, print out pamphlets, chat up with a local journalist, print out maps to your vineyard, and go as far as distributing the handouts yourself in front of the town’s church.
Before you know it, people are now thronging to your vineyard. Some journalists who love your wine start writing about your product.
What you just did there, Antonio, my friend - now that is what marketers call Search Engine Optimization, or SEO for short.
To be clear, though, you are not optimizing any search engine. SEO refers to a set of things you do to guide someone searching about something similar to what your company is offering to your website.
However, given that we are talking about millions of websites on the Internet, pulling off being visible on Google requires a mix of a lot of creativity and science.
In this chapter, we are going to look at how to build and implement an effective SEO strategy, and as usual, I will share some resources, like some Python code, etc., to get you started. Grab a cup of your strongest coffee, take a deep breath, and let’s go down this rabbit hole.
Step 1 - Keyword Research
Assuming that you are starting from scratch, the first step involves researching and zeroing in on keywords you think people may be searching for related to your product.
Identify Core Keywords:
Before starting the actual research, jot down some core topics related to your business. As a founder, you know your product/service well, so use that understanding to create a list of relevant broad topics. For PLG, I typically try and focus on and prioritize words related to users vs buyers, for example - “How to create … “ or “How to build ..” etc.
Now that we have a list of keywords, we want to look up a few things like what is the search volume (how many people are searching for these keywords in a month), what is the keyword difficulty, and what is the cost per click for these keywords if you decided to pay Google for a search campaign. There are a few ways to do this, and the two most common tools available for this are SEMRush and Ahref (both paid but have free trials). However, my suggestion is to always also use Google Keyword Planner, which is a free tool but does require you to have a Google Ad account.
Google Keyword Planner:
Sign up for a Google Ads account if you don't have one. You'll need this to access Google Keyword Planner.
Once logged in, click on 'Tools & Settings' in the top right corner, then under 'Planning,’ click 'Keyword Planner.’
Click on 'Discover new keywords.’ Input the core keywords or phrases you came up with earlier.
Google Keyword Planner will provide you with a list of keyword ideas based on your inputs, along with their average monthly searches, competition level (low, medium, high), and other details. The keywords are grouped by relevance.
Take note of the keywords that are relevant to your business and have a reasonable number of monthly searches, aka Search Volume. I would typically organize the keywords in a table (see the example below) and start jotting down Search volume, priority, Cost Per Click, Content ideas, etc.
Keyword Research on SEMRush:
Start a free trial of SEMRush if you don't already have an account.
Log in and click on 'Keyword Analytics' then 'Keyword Magic Tool'.
Enter one of your core keywords in the search bar.
SEMRush will provide a list of keyword variations, questions, and related keywords along with their search volume, keyword difficulty (how hard it would be to rank for that keyword), CPC, and other data.
Look for keywords with a good search volume and a keyword difficulty that your website can reasonably compete with.
SEMRush also allows you to analyze your competitors' websites. Under 'Domain Analytics', click 'Overview', then input your competitor's URL. You can see which keywords they rank for and get ideas for your keyword strategy.
Analyze and Choose Your Keywords:
In addition to capturing the search volume, keyword difficulty, and CPC, I would also consider capturing the intent behind the keywords. To do this, I usually try to answer the question - Are users looking for information (informational), looking to make a purchase (transactional), or exploring options (navigational)? Depending on your goals, you might prefer to target certain types of keywords, for example, only navigational, to drive traffic and awareness.
In the analysis phase, I would also consider long-tail keywords. These are longer, more specific keyword phrases that might have lower search volume but also typically have less competition and higher conversion rates.
Rinse and Repeat: Keyword research is not a one-time task. Search trends change and new keywords might emerge, so you should periodically revisit your keyword research and update your list as necessary.
Here is an example of what your table may look like after your research :
Here's what each column represents:
Keyword: The keyword or phrase you're targeting.
Search Volume: The average number of searches this keyword gets per month.
Keyword Difficulty: An estimate of how hard it would be to rank highly for this keyword.
CPC: The average cost per click for a Google Ad for this keyword. This can give you an idea of how much other businesses are willing to pay for this keyword, which can be an indicator of its value.
SERP Features: Whether the search engine results page (SERP) for this keyword includes features like featured snippets, local packs, or people also ask boxes. These can affect how much traffic you can expect to get from this keyword.
Intent: The main intent behind the keyword, whether informational, transactional, or navigational.
Relevance: How relevant the keyword is to your business and your goals.
Current Rank: Where you currently rank for this keyword, if applicable.
Notes: Any other notes or observations you have about the keyword.
Step 2 - Build Content Strategy
A hub-and-spoke content model is a strategic approach to organizing and interlinking your content to boost your SEO and provide a better user experience. The central idea is to create a comprehensive "hub" piece of content around a primary keyword (or topic) and then build related "spoke" pieces of content around secondary keywords (or subtopics).
Here's how you could use the hub-and-spoke model for your 20 keywords:
Step 1: Categorize Your Keywords
First, you need to categorize your keywords based on their relationship with each other. Identify broad, high-volume keywords for your "hubs" and related, more specific keywords for your "spokes.”
For example, let's say you're a software company specializing in project management tools. A possible "hub" keyword might be "project management software,” while related "spoke" keywords could be "project management software for Agile teams,” "project management software for remote teams,” etc.
Step 2: Create Hub Content
Create a comprehensive, authoritative piece of content around each of your "hub" keywords. This high-value piece should give an overview of the topic, answering common questions and addressing key points. For example, an ultimate guide, a detailed overview, or an extensive listicle.
Step 3: Create Spoke Content
For each hub, create several "spoke" content pieces that dive deeper into the related keywords you've identified. These articles should link back to your hub content and also should be interlinked where relevant.
Step 4: Linking Strategy
The "spoke" articles should include a link back to the hub article, and the hub article should link out to each "spoke.” This creates a network of interlinked content that is beneficial for both SEO and user experience. Search engines can crawl these interlinked pages more effectively, and users can navigate between related content easily.
Step 5: Regularly Update Your Content
Regularly review and update your hub and spoke content. SEO isn't a one-time task; you need to ensure your content stays relevant and up-to-date.
In the end, your hub-and-spoke model might look something like this:
Hub: Project Management Software
Spoke: Best project management software for Agile teams
Spoke: Benefits of using project management software for remote teams
Spoke: How to choose the right project management software for your business
Spoke: Top features to look for in project management software
Remember, the goal here is to provide high-value content that's useful to your audience. The better you can serve your audience's needs, the better your chances of ranking higher in search engine results.
Hub and Spoke model is one of the many strategies to build content. Remember that there are other strategies like focusing only on competitive gap analysis-based keywords, pillar-cluster, etc. I suggest tailoring your strategy and content based on your audience.
Step 3 - Amplify Content and Build Backlinks
One of the biggest mistakes I have seen some startups make is that they constantly churn out new content but barely make any effort to amplify or spread the word about content. This is similar to the thinking that if you build a great product, the users are going to discover and come to it in droves. Although this may be true for some iconic products and content, more often than not, you have to go to your audience’s watering holes and tell others about the content. There are a few ways of doing this.
Guest Posting: Write articles or blog posts for other websites in your industry. This can give you access to a larger audience and also help you build relationships with other professionals in your field.
Email Marketing:If you have an email list (even if it's small), use it to share your content. If you don't have a list yet, start building one by offering something of value in exchange for visitors' email addresses (like a free guide or access to exclusive content).
PR and Outreach: Reach out to journalists, bloggers, or influencers in your industry who might be interested in your content. This can result in coverage that gets your content in front of a larger audience.
Partnerships and Collaborations: Partner with other businesses or influencers in your industry to co-create content. This can expand your reach to their audiences as well when you get to post your content on their partner web pages and blogs and vice versa.
Content Syndication:Republish your content on platforms like Medium or LinkedIn Pulse to reach a wider audience. Just make sure to follow each platform's rules about republishing to avoid any penalties.
Community Engagement:Engage with online communities where your target audience hangs out. This could be forums, discussion boards, or social networking groups. Participate in discussions, answer questions, and share your content when it's relevant and valuable.
Webinars or Online Events: Host webinars or online events and use your content as the basis for these events. This can attract an audience who's interested in the topics you're discussing, and you can use the opportunity to promote your related content.
Paid Advertising: Depending on your budget, you could consider paid advertising options like Google Ads or social media ads to promote your content. The trick here is to not put the Call to Action (CTA) for a free sign-up but rather take the user to your website directly to the content that matched the user’s original search term.
Quora and Reddit: These platforms have large communities with a wide array of interests. Answer questions on topics related to your content and promote your content in your answers. However, try to add value by answering the question honestly and calling out that you work for your company. Otherwise, users get turned off when they think you are unreasonably trying to promote your product without answering the question.
Backlinks - Finally, I would recommend reaching out to other websites with high domain authority and looking for content that may be relevant to your blogs, etc. When you find something like this, you can reach out to those sites and see if they are agreeable to adding a link to your content. There are numerous agencies that offer this for you at a cost, and I would strongly advise against doing this.
Remember, the goal is to provide value to your audience and establish your startup as an authority in your field. Always prioritize quality over quantity and focus on building relationships rather than just pushing your content.
Step 4 - Content - Technical SEO
In addition to coming up with the right content and amplifying your content, you also need to be aware of how search engines crawl and index your website and all its content which is where technical SEO comes in. Technical SEO involves optimizing your website's infrastructure to help search engines effectively crawl, interpret, and index your content. Here's what you need to pay attention to:
Website Performance: Ensure your site loads quickly. Search engines favor websites with faster loading times. Use tools like Google PageSpeed Insights to evaluate your site's speed and get recommendations for improvement. If you are starting from scratch, consider using a framework like Gatsby or NextJS that allows generates static sites at run time, which enables the site to be extremely fast.
Mobile Responsiveness: Ensure your site is mobile-friendly, as Google follows a mobile-first indexing approach. You can check this using Google's Mobile-Friendly Test tool. This is also fairly easily done in you follow one of the industry standard frameworks like ReactJS.
Sitemap: A sitemap helps search engines understand the structure of your site. Make sure to create an XML sitemap and submit it to Google Search Console and Bing Webmaster Tools.
Robots.txt: Make sure your site has a robots.txt file. This file tells search engines which pages or sections of your site to crawl and which ones to ignore.
URL Structure: URLs should be easily understandable and keyword-rich. Avoid unnecessary complexity and stick to a logical hierarchy.
Structured Data Markup: Implement structured data (Schema markup) to provide search engines with more information about your content, improving your visibility on SERPs.
SSL Certificate: Secure your site with HTTPS to protect the integrity and confidentiality of your users' data. This is now table stakes, and it is almost impossible to rank on Google if you don’t have your own SSL certificate.
Internal Linking: Use internal links wisely to help search engines understand the context and relationship between different pages on your site. This helps crawlers to understand the content structure and assign weights to topics accordingly.
Duplicate Content: Duplicate content can hurt your SEO efforts. Use canonical tags where necessary to tell search engines which version of a page to consider if the content is duplicated.
404 Errors: Regularly check for and fix 404 errors, ensuring users and search engines don't encounter broken links.
International and Multilingual sites: If your site serves in multiple languages or to different regions, ensure you're using href tags correctly.
Technical SEO can get quite complex, especially for larger sites. Consider hiring an expert if you're unsure, as technical SEO errors can significantly impact your search rankings once you have multiple languages and more than 500 pages of content.
Step 5 - Content - SERP Features
Here’s another acronym for you - SERP. It stands for Search Engine Result Pages and is often used to refer to the features on the search results pages like the summary of a page, the table of content, or even snippets of your website content in question-and-answer format. In order to increase your chances of your content appearing in these SERP features, you need to understand how they work and optimize your content accordingly.
Q&A SERP Feature: This is often shown for question-based queries. To optimize for this:
Format your content with clear questions and answers.
Utilize FAQ schema markup on your pages.
Featured Snippets: These are short selections of text appearing at the top of Google's search results to quickly answer a searcher's query.
Identify common questions in your industry or niche and answer them concisely in your content.
The answer should be in a block of text, a list, a table, or a step-by-step section depending on the nature of the question.
Knowledge Panel: These are boxes that appear on Google when a user searches for entities that are in Google's Knowledge Graph.
Ensure your business is listed on Google My Business and fill out as much information as possible.
Use structured data (Schema) to help Google understand your content and business.
Local Packs: Local Packs display businesses related to searches with local intent.
If you have a physical business, ensure your Google My Business listing is up-to-date.
Make sure your website includes your address and local keywords.
Collect positive reviews on your Google My Business listing.
Remember, appearing in SERP features not only depends on the above optimizations but also on the overall quality and relevance of your content. Even with the right formatting and structured data, Google will not feature your content if it's not of high quality and relevant to the searcher's query.
Now that we covered the entire gamut of SEO, let’s look at what is different about SEO when it comes to PLG.
Step 6 - SEO and Product-Led Growth
User-focused Keyword Research:
Focus your keyword research on terms and phrases your potential users might be searching for when looking for solutions that your product provides.
Look for long-tail keywords that indicate a user's readiness to use a product, such as "best free tool for..." or "how to solve X problem for free". These typically work better for practitioners vs buyers.
Educational and Instructional Content:
When it comes to creating a content strategy, consider topics that are educational and show users how to get the most value from your product. This can be in the form of tutorials, how-to guides, FAQs, use-case scenarios, or case studies.
Provide value-added content in exchange for user sign-up or engagement. For instance, you could provide a detailed guide or an exclusive webinar for users who sign up for your free product.
Optimize Product Pages:
Make sure the product pages on your website are optimized for search. They should clearly explain what your product does, how it benefits the user, and how to start using it, and they should have some SERP features like Q&A, summary, etc.
Leverage User Reviews and Testimonials:
Positive reviews and testimonials can be a strong driver for PLG. Encourage happy users to leave reviews, and feature these reviews prominently on your site. This not only builds trust but can also improve SEO if the reviews include relevant keywords. You can then work with third-party review sites to also add backlinks to your content.
In summary, effective SEO requires good keyword research, coming up with a content strategy and content that speaks to your prospects and users, and finally, measurement of how the content efficacy and constant iteration.
A lot of what is listed in this chapter can also be automated, and I will continue to add sub-sections to this chapter and code examples, so keep an eye out when there is an update.
As usual, feel free to comment and add feedback to make this book into a living document for the benefit of others.
Step 7 - Generative AI and SEO [Updated Aug 2023]
Two recent announcements, one by Google and another one by OpenAI, have opened the doors for some significant impact on how companies do SEO.
Google unveiled its plan around what it calls a Search Generative Experience (SGE). Currently, it is in limited release as part of Labs, and when it becomes Generally Available (GA), the Google search results page will first show the answer based on the user’s search query generated by a Large Language Model (LLM).
Open AI also made an announcement that it has a new User Agent - GPTBot that will be used to crawl and index websites. This indicates that OpenAI may soon announce a ChatGPT version that is connected to the internet to get the latest information beyond using a plugin. The crawled text will become part of the LLM’s responses.
Let’s look at the possible consequences of these two announcements and what you could do in order to ensure your website is still relevant for SEO.
In terms of SGE, it appears the web pages are being indexed similarly to how Google was indexing the web pages earlier, except it is now using LLMs to summarize the results and show the answer at the top. Unless it is a branded search (see screenshot below), it may not be an easy way to get your company’s name directly in the results for certain search queries, but following the steps below still remain an effective way of staying ahead in the SEO game.
Long-tail keyword content - Make sure your website has content related to the long-tail keywords that actually provide valuable information rather than just talking about your product. For example, what is a CRM would still be a great article if your company is in the sales/marketing space, but it should have a unique perspective that ties back to your product or service. When LLMs are answering questions related to topics, it looks for high-quality content about the general topic and then most likely summarize the topic by assimilating content from different sites. If your content is of very high quality, your site would be listed as a source.
Domain Authority and Backlinks — Federated content and backlinks still work. If other independent websites and publications mention your product and website content, you will continue to have a higher domain authority that would still matter, and the more your brand is mentioned in other authoritative sites, the higher the likelihood that the LLMs will pick up your brand in answering questions. Consider using Gen AI applications to research high-domain authority websites in your domain and continue to reach out with personalized emails to see if they are open to guest posts and find other ways to backlink and collaborate on content related to your keywords.
LLM Optimized Content (New Proposal)- Finally, this is purely my opinion at this point, but given that most LLM interactions have now moved toward Question & Answer based interface, it may be time that businesses start investing in generating content that is published in Q&A format. This is an experiment we are trying as well, and we will report how it goes. Here are the high-level steps of how to do this.
Build a simple Question & Answer page that addresses questions about the broader topic of what your product does, along with specifics about your product. You can do this using an LLM to summarize your existing website content and generate Q&A.
Implement or buy an LLM-based chatbot off the shelf that answers questions specific to your website and product. Next, figure out a way to see if the responses your chatbot is providing your users are useful to your visitors or not. A simple feedback button with a thumbs up or thumbs down could achieve capturing the feedback. Store the anonymized conversations in a database in the format of a dataset used for fine-tuning an LLM. Finally, vectorize this data and use it to contextualize future conversations and update the Q&A page with unique and new content. Given that you are storing the data in a dataset format, you can also use this dataset to fine-tune your chatbot further periodically.
Now let’s look at the user-agent announcement from OpenAI. Given that OpenAI has published the user agent and a set of known APIs, we now know that ChatGPT is and will be regularly crawling websites to generate responses for user queries.
There are a couple of things to note about this. ChatGPT is about to become internet aware though most likely, it will use Retrieval Augmented Generation (RAG) to add live context on top of existing learning based on point-in-time data. Since it has a new user agent, companies can add specific directives for these user agents in robots.txt. For starters, you can disallow the GPTBot user agents from crawling or indexing any content that is behind a paywall by updating your robot.txt.
It is yet to be seen what other changes happen as more and more LLMs continue to slowly start taking over in the SEO field. It is quite likely that in the near future, all search results as we know it will disappear, and content would be generated and served in a headless fashion so that LLMs will crawl content from content providers, summarize and then print out or convert it to audio and video to serve to the users. When this happens, we will see a different kind of strategy for websites and companies to stay relevant in a crowded marketplace. That strategy will be to go back to basics to write original content that is useful to users searching for material related to that topic.
PS: If you are interested in code to take existing website page and convert to question and answer format and also vectorize the content, please comment or like below and I will be happy to create a simple Python script and share.