Tuesday, February 9, 2021

The Definitive Guide to JavaScript SEO (2021 Edition)

Posted by PierceBrelinsky

The web is in a golden age of front-end development, and JavaScript and technical SEO are experiencing a renaissance. As a technical SEO specialist and web dev enthusiast at an award-winning digital marketing agency, I’d like to share my perspective on modern JavaScript SEO based on industry best practices and my own agency experience. In this article, you'll learn how to optimize your JS-powered website for search in 2021.

What is JavaScript SEO?

JavaScript SEO is the discipline of technical SEO that’s focused on optimizing websites built with JavaScript for visibility by search engines. It’s primarily concerned with:

  • Optimizing content injected via JavaScript for crawling, rendering, and indexing by search engines.
  • Preventing, diagnosing, and troubleshooting ranking issues for websites and SPAs (Single Page Applications) built on JavaScript frameworks, such as React, Angular, and Vue.
  • Ensuring that web pages are discoverable by search engines through linking best practices.
  • Improving page load times for pages parsing and executing JS code for a streamlined User Experience (UX).

 Is JavaScript good or bad for SEO?

It depends! JavaScript is essential to the modern web and makes building websites scalable and easier to maintain. However, certain implementations of JavaScript can be detrimental to search engine visibility.

How does JavaScript affect SEO?

JavaScript can affect the following on-page elements and ranking factors that are important for SEO:

  • Rendered content
  • Links
  • Lazy-loaded images
  • Page load times
  • Meta data

What are JavaScript-powered websites?

When we talk about sites that are built on JavaScript, we’re not referring to simply adding a layer of JS interactivity to HTML documents (for example, when adding JS animations to a static web page). In this case, JavaScript-powered websites refer to when the core or primary content is injected into the DOM via JavaScript.

App Shell Model.


This template is called an app shell and is the foundation for progressive web applications (PWAs). We’ll explore this next.

How to check if a site is built with JavaScript

You can quickly check if a website is built on a JavaScript framework by using a technology look-up tool such as BuiltWith or Wappalyzer. You can also “Inspect Element” or “View Source” in the browser to check for JS code. Popular JavaScript frameworks that you might find include:

JavaScript SEO for core content

Here’s an example: Modern web apps are being built on JavaScript frameworks, like Angular, React, and Vue. JavaScript frameworks allow developers to quickly build and scale interactive web applications. Let’s take a look at the default project template for Angular.js, a popular framework produced by Google.

When viewed in the browser, this looks like a typical web page. We can see text, images, and links. However, let’s dive deeper and take a peek under the hood at the code:

Now we can see that this HTML document is almost completely devoid of any content. There are only the app-root and a few script tags in the body of the page. This is because the main content of this single page application is dynamically injected into the DOM via JavaScript. In other words, this app depends on JS to load key on-page content!

Potential SEO issues: Any core content that is rendered to users but not to search engine bots could be seriously problematic! If search engines aren’t able to fully crawl all of your content, then your website could be overlooked in favor of competitors. We’ll discuss this in more detail later.

JavaScript SEO for internal links

Besides dynamically injecting content into the DOM, JavaScript can also affect the crawlability of links. Google discovers new pages by crawling links it finds on pages.

As a best practice, Google specifically recommends linking pages using HTML anchor tags with href attributes, as well as including descriptive anchor texts for the hyperlinks:

However, Google also recommends that developers not rely on other HTML elements — like div or span — or JS event handlers for links. These are called “pseudo” links, and they will typically not be crawled, according to official Google guidelines:

Despite these guidelines, an independent, third-party study has suggested that Googlebot may be able to crawl JavaScript links. Nonetheless, in my experience, I’ve found that it’s a best practice to keep links as static HTML elements.

Potential SEO issues: If search engines aren’t able to crawl and follow links to your key pages, then your pages could be missing out on valuable internal links pointing to them. Internal links help search engines crawl your website more efficiently and highlight the most important pages. The worst-case scenario is that if your internal links are implemented incorrectly, then Google may have a hard time discovering your new pages at all (outside of the XML sitemap).

JavaScript SEO for lazy-loading images

JavaScript can also affect the crawlability of images that are lazy-loaded. Here’s a basic example. This code snippet is for lazy-loading images in the DOM via JavaScript:

Googlebot supports lazy-loading, but it does not “scroll” like a human user would when visiting your web pages. Instead, Googlebot simply resizes its virtual viewport to be longer when crawling web content. Therefore, the “scroll” event listener is never triggered and the content is never rendered by the crawler.

Here’s an example of more SEO-friendly code:

This code shows that the IntersectionObserver API triggers a callback when any observed element becomes visible. It’s more flexible and robust than the on-scroll event listener and is supported by modern Googlebot. This code works because of how Googlebot resizes its viewport in order to “see” your content (see below).

You can also use native lazy-loading in the browser. This is supported by Google Chrome, but note that it is still an experimental feature. Worst case scenario, it will just get ignored by Googlebot, and all images will load anyway:

Native lazy-loading in Google Chrome.


Potential SEO issues: Similar to core content not being loaded, it’s important to make sure that Google is able to “see” all of the content on a page, including images. For example, on an e-commerce site with multiple rows of product listings, lazy-loading images can provide a faster user experience for both users and bots!

Javascript SEO for page speed

Javascript can also affect page load times, which is an official ranking factor in Google’s mobile-first index. This means that a slow page could potentially harm rankings in search. How can we help developers mitigate this?

  • Minifying JavaScript
  • Deferring non-critical JS until after the main content is rendered in the DOM
  • Inlining critical JS
  • Serving JS in smaller payloads

Potential SEO issues: A slow website creates a poor user experience for everyone, even search engines. Google itself defers loading JavaScript to save resources, so it’s important to make sure that any served to clients is coded and delivered efficiently to help safeguard rankings.

JavaScript SEO for meta data

Also, it’s important to note that SPAs that utilize a router package like react-router or vue-router have to take some extra steps to handle things like changing meta tags when navigating between router views. This is usually handled with a Node.js package like vue-meta or react-meta-tags.

What are router views? Here’s how linking to different “pages” in a Single Page Application works in React in five steps:

  1. When a user visits a React website, a GET request is sent to the server for the ./index.html file.
  2. The server then sends the index.html page to the client, containing the scripts to launch React and React Router.
  3. The web application is then loaded on the client-side.
  4. If a user clicks on a link to go on a new page (/example), a request is sent to the server for the new URL.
  5. React Router intercepts the request before it reaches the server and handles the change of page itself. This is done by locally updating the rendered React components and changing the URL client-side.

In other words, when users or bots follow links to URLs on a React website, they are not being served multiple static HTML files. But rather, the React components (like headers, footers, and body content) hosted on root ./index.html file are simply being reorganized to display different content. This is why they’re called Single Page Applications!

Potential SEO issues: So, it’s important to use a package like React Helmet for making sure that users are being served unique metadata for each page, or “view,” when browsing SPAs. Otherwise, search engines may be crawling the same metadata for every page, or worse, none at all!

How does this all affect SEO in the bigger picture? Next, we need to learn how Google processes JavaScript.

How does Google handle JavaScript?

In order to understand how JavaScript affects SEO, we need to understand what exactly happens when GoogleBot crawls a web page:

  1. Crawl
  2. Render
  3. Index

First, Googlebot crawls the URLs in its queue, page by page. The crawler makes a GET request to the server, typically using a mobile user-agent, and then the server sends the HTML document.

Then, Google decides what resources are necessary to render the main content of the page. Usually, this means only the static HTML is crawled, and not any linked CSS or JS files. Why?

According to Google Webmasters, Googlebot has discovered approximately 130 trillion web pages. Rendering JavaScript at scale can be costly. The sheer computing power required to download, parse, and execute JavaScript in bulk is massive.

This is why Google may defer rendering JavaScript until later. Any unexecuted resources are queued to be processed by Google Web Rendering Services (WRS), as computing resources become available.

Finally, Google will index any rendered HTML after JavaScript is executed.

Google crawl, render, and index process.

In other words, Google crawls and indexes content in two waves:

  1. The first wave of indexing, or the instant crawling of the static HTML sent by the webserver
  2. The second wave of indexing, or the deferred crawling of any additional content rendered via JavaScript
Google wave indexing. Source: Google I/O'18


The bottom line is that content dependent on JS to be rendered can experience a delay in crawling and indexing by Google. This used to take days or even weeks. For example, Googlebot historically ran on the outdated Chrome 41 rendering engine. However, they’ve significantly improved its web crawlers in recent years.

Googlebot was recently upgraded to the latest stable release of the Chromium headless browser in May 2019. This means that their web crawler is now “evergreen” and fully compatible with ECMAScript 6 (ES6) and higher, or the latest versions of JavaScript.

So, if Googlebot can technically run JavaScript now, why are we still worried about indexing issues?

The short answer is crawl budget. This is the concept that Google has a rate limit on how frequently they can crawl a given website because of limited computing resources. We already know that Google defers JavaScript to be executed later to save crawl budget.

While the delay between crawling and rendering has been reduced, there is no guarantee that Google will actually execute the JavaScript code waiting in line in its Web Rendering Services queue.

Here are some reasons why Google might not actually ever run your JavaScript code:

  • Blocked in robots.txt
  • Timeouts
  • Errors

Therefore, JavaScript can cause SEO issues when core content relies on JavaScript but is not rendered by Google.

Real-world application: JavaScript SEO for e-commerce

E-commerce websites are a real-life example of dynamic content that is injected via JavaScript. For example, online stores commonly load products onto category pages via JavaScript.

JavaScript can allow e-commerce websites to update products on their category pages dynamically. This makes sense because their inventory is in a constant state of flux due to sales. However, is Google actually able to “see” your content if it does not execute your JS files?

For e-commerce websites, which depend on online conversions, not having their products indexed by Google could be disastrous.

How to test and debug JavaScript SEO issues

Here are steps you can take today to proactively diagnose any potential JavaScript SEO issues:

  1. Visualize the page with Google’s Webmaster Tools. This helps you to view the page from Google’s perspective.
  2. Use the site search operator to check Google’s index. Make sure that all of your JavaScript content is being indexed properly by manually checking Google.
  3. Debug using Chrome’s built-in dev tools. Compare and contrast what Google “sees” (source code) with what users see (rendered code) and ensure that they align in general.

There are also handy third-party tools and plugins that you can use. We’ll talk about these soon.

Google Webmaster Tools

The best way to determine if Google is experiencing technical difficulties when attempting to render your pages is to test your pages using Google Webmaster tools, such as:

Google Mobile-Friendly Test.

The goal is simply to visually compare and contrast your content visible in your browser and look for any discrepancies in what is being displayed in the tools.

Both of these Google Webmaster tools use the same evergreen Chromium rendering engine as Google. This means that they can give you an accurate visual representation of what Googlebot actually “sees” when it crawls your website.

There are also third-party technical SEO tools, like Merkle’s fetch and render tool. Unlike Google’s tools, this web application actually gives users a full-size screenshot of the entire page.

Site: Search Operator

Alternatively, if you are unsure if JavaScript content is being indexed by Google, you can perform a quick check-up by using the site: search operator on Google.

Copy and paste any content that you’re not sure that Google is indexing after the site: operator and your domain name, and then press the return key. If you can find your page in the search results, then no worries! Google can crawl, render, and index your content just fine. If not, it means your JavaScript content might need some help gaining visibility.

Here’s what this looks like in the Google SERP:

Chrome Dev Tools

Another method you can use to test and debug JavaScript SEO issues is the built-in functionality of the developer tools available in the Chrome web browser.

Right-click anywhere on a web page to display the options menu and then click “View Source” to see the static HTML document in a new tab.

You can also click “Inspect Element” after right-clicking to view the content that is actually loaded in the DOM, including JavaScript.

Inspect Element.


Compare and contrast these two perspectives to see if any core content is only loaded in the DOM, but not hard-coded in the source. There are also third-party Chrome extensions that can help do this, like the Web Developer plugin by Chris Pederick or the View Rendered Source plugin by Jon Hogg.

How to fix JavaScript rendering issues

After diagnosing a JavaScript rendering problem, how do you resolve JavaScript SEO issues? The answer is simple: Universal Javascript, also known as “Isomorphic” JavaScript. 

What does this mean? Universal or Isomorphic here refers to JavaScript applications that are capable of being run on either the server or the client.

There are a few different implementations of JavaScript that are more search-friendly than client-side rendering, to avoid offloading JS to both users and crawlers:

  • Server-side rendering (SSR). This means that JS is executed on the server for each request. One way to implement SSR is with a Node.js library like Puppeteer. However, this can put a lot of strain on the server.
  • Hybrid rendering. This is a combination of both server-side and client-side rendering. Core content is rendered server-side before being sent to the client. Any additional resources are offloaded to the client.
  • Dynamic rendering. In this workaround, the server detects the user agent of the client making the request. It can then send pre-rendered JavaScript content to search engines, for example. Any other user agents will need to render their content client-side. For example, Google Webmasters recommend a popular open-source solution called Renderton for implementing dynamic rendering.
  • Incremental Static Regeneration, or updating static content after a site has already been deployed. This can be done with frameworks like Next.js for React or Nuxt.js for Vue. These frameworks have a build process that will pre-render every page of your JS application to static assets that you can serve from something like an S3 bucket. This way, your site can get all of the SEO benefits of server-side rendering, without the server management!

Each of these solutions helps make sure that, when search engine bots make requests to crawl HTML documents, they receive the fully rendered versions of the web pages. However, some of these can be extremely difficult or even impossible to implement after web infrastructure is already built. That’s why it’s important to keep JavaScript SEO best practices in mind when designing the architecture of your next web application.

Note, for websites built on a content management system (CMS) that already pre-renders most content, like WordPress or Shopify, this isn’t typically an issue.

Key takeaways

This guide provides some general best practices and insights into JavaScript SEO. However, JavaScript SEO is a complex and nuanced field of study. We recommend that you read through Google’s official documentation and troubleshooting guide for more JavaScript SEO basics. Interested in learning more about optimizing your JavaScript website for search? Leave a comment below.


Want to learn more about technical SEO? Check out the Moz Academy Technical SEO Certification Series, an in-depth training series that hones in on the nuts and bolts of technical SEO.

Sign Me Up!

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

Monday, February 8, 2021

Local SEO Tips for Electric Vehicle Charging Stations

Posted by MiriamEllis

Some business models exist in the ditches of Google’s information highways, belonging in local search results, but not well addressed by the official guidelines. Electric vehicle (EV) charging stations exemplify this: They’re all over local packs, finders, and maps, but their models is a bit unusual, and Google has yet to update the guidelines to show exactly how to represent them in the Google My Business setting.

Today, we’ll pull together our own set of EV charging station best practices — based on Google’s rules for similar enterprises — and throw a few free local search marketing tips into the trunk as well.

How to handle your EV charging station Google My Business listings

Whether you’re an owner, in-house marketer, or agency staffer who’s been tasked with promoting a fleet of EV charging stations online, having a presence in Google’s local search results — including local packs, local finders, Google Business Profiles, and Google Maps — should be core to your digital strategy.

While Google’s helpful guidelines don’t specifically address EV charging stations, proof that they’re eligible for inclusion can be seen in the extra special features and categories Google has released for these models. For example, the above screenshot shows the charger icons, charger type designations, and wattage displays in the local results. In the US and UK, Google displays live charger availability data for some networks for consumer convenience. Even the map pins have special icons in them for EV charging stations.

Google definitely knows about them, and wants this industry to get listed.

If you’ve never set up a GMB listing before, Google’s own resources will walk you through the process of filling out and validating a profile for an individual location, but EV charging station marketers are most likely dealing with many locations at once. If you need to get 10 or more locations listed, you’ll be using Google’s bulk upload functionality, instead. You’ll also want to go for bulk verification of these large batches of listings.

But before you get started, here’s special guidance for handling some of the major fields you’ll be filling out for any EV charging station you’re marketing.

Business title

Google wants you to fill out this field with the exact name of the business as it appears in the real world. The majority of the listings I looked at in this sector were adding the words “charging station” to their brand name, which technically violates Google’s guidelines. Just as gas stations are supposed to list themselves as “Shell” or “Valero”, EV charging stations wanting to stick scrupulously to the guidelines should just be “EVgo” or “ChargePoint”.

According to the guidelines, Google wouldn’t want listings entitled “Shell Gas Station” or “EVgo Charging Station”, any more than they’d want “McDonald’s Fast Food Restaurant” or “Macy’s Department Store.”

But now for a home truth: Google says you’re only supposed to put your real-world brand in these titles, but they don’t take much action on enforcing this guideline, and having keywords in the business title that match search language is strongly believed to improve local rankings. So, if you adhere to the guidelines and remove “charging station” from your business titles, your rankings may decrease. This weighting of keywords in the business title is a longstanding issue Google needs to resolve.

Frankly, I think having the words “charging station” in the listing title might actually help users who are just now becoming accustomed to emergent EV technology and trying to understand where to get charged up, but my common sense and Google’s policies are often at odds.

Keep your business title free of other extraneous information like location information, or adjectives like “cheapest” or “best”.

Address

It’s a dominant trend for EV charging stations to be located in the parking lots of busy public spaces, like shopping centers, railroad stations, and business parks. Typically, to be eligible for a GMB listing, a business has to have its own address, but a look at Google’s local search engine results (including Google Maps) shows charging stations being permitted to use the address of the public space. For example, an EV charging station in a strip mall near me is using the same address as the Target that anchors the shopping center.

Additionally, businesses that host a charging station are allowed to have a link on their listings publicizing this feature.

Also related to address, many EV Charging stations will find details on their listings that describe them as “located in” a public space. If the “located in” descriptor is wrong, look up the business on google.com/maps, click the “suggest an edit” button, and try to edit the information in this field:

If you see no correction within a couple of weeks of taking this action, contact Google My Business support and explain what’s going on.

Phone number

We’ll take our cue here from Google’s requirements of ATMs and kiosks. As I previously covered in my column on local product kiosks, the EV charging stations you’re marketing need a customer support phone number.

Again, this is one of those unusual grey areas. Normally, it’s standard advice for each location of a business to have a unique phone number. But, for EV charging stations, this obviously isn’t practical. Rather, be sure your listings have your help hotline number for customer service needs.

A word to the wise: Google has sometimes been prone to conflating listings with too-similar information. Having dozens, hundreds, or thousands of listings with the same brand AND phone number on them could potentially result in the accidental creation of duplicate listings. Large, multi-listing enterprises like EV charging brands might want to check out the automated duplicate detection and resolution services offered by Moz Local so that pesky duplicates aren’t interfering with listings management, visibility goals, and consumer direction.

Category

“Electric vehicle charging station” is the proper primary category for you, and my search through listings and GMB category databases is only finding one other related category, “electric vehicle charging station contractor” which may or may not be relevant to the business you’re marketing.

Hours of operation

Google’s guidelines state that gas stations should list the hours of operation that their pumps are available, and for most EV charging stations, this would presumably be 24 hours a day. As stated above, you’ll probably be uploading your data to Google via a bulk upload spreadsheet and the proper configuration for indicating 24-hours-a-day in the spreadsheet is 12:00AM-12:00AM.

URL

You’ll be allowed to include a website link on each listing you create. The best user experience I’m encountering on EV charger station listings is when the listing links to a landing page for the location I’m researching. On the flip side, you may get a ranking boost if you link to the brand’s homepage, instead, due to homepages typically having greater Page Authority than landing pages.

Photos/Videos

Make each listing stand out for customers by adding a few photos of the charger’s location. Given the fact that so many chargers are in vast parking lots, try to take some shots that illustrate the relationship of the station to the largest anchor business near it. This will help orient customers. And, given the newness of EV technology, uploading a video of how to use each type of charger would be extremely helpful to new electric vehicle owners.

Reviews

Looking around the SF Bay area, I couldn’t help noticing how few reviews these entities are receiving, meaning there are easy wins out there for any EV charger brand that makes a concerted review acquisition effort. If you’re building out landing pages on the brand’s website for each charging station locale, include a strong call to action and link to leave a review on Google on these pages. You can also use a free review link generator and then shorten the URL using a service like bitly for text or email-based review requests.

Just don’t ask for reviews in bulk; if you get too many at once, Google may filter them out as suspicious. And never incentivize reviews in any way — it can result in review loss, penalties, and legal actions.

Questions & Answers

Unsurprisingly, EV charging station listings show customers using Google’s Q&A feature to ask about costs and how to use the kiosks. These are leads for the brand and should be answered by the brand, rather than being left up to the public for responses of varying quality. If you’re using Moz Local to manage your listings, the dashboard will alert you each time a new question comes in on any of your listings.

Google Posts

Google Posts are a great way to make a brand stand out from less active competitors by microblogging persuasive content that appears on your listings, but for the typical EV charging brand, this feature is problematic. Google doesn’t allow large chains to post in bulk to their listings. There are some third-party services that facilitate hacks for this scenario.

Listings beyond Google

Google may be your dominant source of local business listings, but don’t hit the brakes there. Moz has mapped out the partners in our location data distribution network that currently support listings for EV charging stations. Talk to us about building your presence in key mapping applications like Apple Maps, search engines like Bing, aggregators like Infogroup, and mobile navigation providers like Navmii. Moz Local can help you get listed on multiple platforms so that potential customers can find your charging station locations via their preferred search methods.

Local search marketing tips for EV charging stations

JP Morgan predicts that EVs and HVs will make up 30% of total vehicle sales in the next five years and Statista estimates there are about 25,000 charging stations in the US. It’s big business, and while the convenience of charging at home can’t be beat, the presence of chargers and superchargers all over cities will do much to increase awareness of the rise of the EV, and to ease the transition away from fossil fuel transportation.

As a resident of California — the state with the most electric vehicles and also the state experiencing some of the worst devastation from Climate Change — every new charging station that pops up on Google Maps is a sign of hope to me. But I’ll be frank; I’m not a “car” person, and despite making a concerted effort over the past couple of years to understand how I could personally transition from a worried, gas-powered driver to a proud EV traveler has taught me that it’s a road paved with countless questions.

And that’s actually good news for EV charging station brands!

Whether you’re marketing EVgo, Blink, Tesla, ChargePoint, or the dozens of other charging solutions, your online marketing strategy is going to hinge on publishing content that solves consumers’ problems by answering their questions. Luckily for your industry, customers’ questions are so abundant that they are paving the way for you to develop absolutely fantastic website content that will support your organic and local rankings over time as you develop authority.

Here’s a simple six-step workflow for getting it right:

1. Survey customers

Making a minor investment in survey tech will let you directly ask the public what they want most from charging stations. Is it speed, location, more ports, better instructions, different payment options? Find out and document your learnings.

2. Analyze industry reviews and questions

Look at the common themes in your online reviews. For example, one thread I see running through the EV charging vertical is complaints about sitting in hot cars for 30+ minutes while charging up. When you think about it, gas stations provide shade at the pumps, though patrons are only there for ten minutes. If your customers are being inconvenienced in the summer heat, would properties permit you to build a canopy, or perhaps even better, plant some native trees to double down on your green goals?

Moz Local will surface the 100 most common words in your reviews for sentiment analysis purposes. Dig deeply into these for content inspiration and structural improvements.

And check out the positive and negative sentiment your competitors’ reviews contain. What is the competition getting wrong that you could get right? If you find opportunities like these, be sure you’re writing about them.

3. Fire up keyword research tools

  • How do electric car charging stations work?
  • Where can I charge my electric car?
  • What is the best EV charging station?
  • How to find free charging stations
  • How many miles does a Tesla get per charge?
  • Are EVgo stations free?
  • Can I use ChargePoint at EVgo?
  • What is a level 3 charging station?

Questions truly abound in the EV charging space. Moz Pro Keyword Explorer lets you type in keywords and phrases you feel could be important to the business you’re marketing, and then filter the results to see questions like the ones in my list, above. If you sign up for a free Moz community account, you can make 10 free queries a month or upgrade to a paid account for more robust keyword research.

Other free options include Google’s Ads Keyword Planner and the unpaid version of Answer the Public.

Document your findings so that you have created a list of questions around which you can base content publication.

4. Take a peek at Google Trends

Google Trends will show you interest in topics across time related to EV charging stations, and you can even see this broken out by regions of a country to help you localize your marketing. My glance at this data shows that interest in this subject took a hit when the COVID-19 pandemic emerged but is now steadily rising again. Glean further insights from this tool for topics you should be covering.

5. Analyze the competition

If you have a Moz Pro account, you can use Moz’s On-Page Grader feature not just to look at pages on your own website to see how to improve their optimization, but also to analyze what your competition is getting right and wrong. If you can find weaknesses in the strategy of a tough competitor, you can go one better with the actionable optimization tips On-Page Grader provides.

Look carefully at what your competitors are writing about on their websites and social accounts. If they’re covering a topic your keyword research hasn’t surfaced, note it down.

6. Get writing!

Now, take the list of questions and keyword phrases you’ve discovered, group them by topics, and begin creating pages for them on your website, or posts on the brand’s blog, providing answers. Some pages may be short, and others may be long — the rule of thumb is simply to cover each question thoroughly. You may find that some topics are best answered via other media, like short videos. That’s great, if you can produce them, but don’t forget to provide written transcripts.

Your findings can also fuel your social media posting, your Google posts, and provide the top FAQs you can ask and answer via Google Questions & Answers on your Google Business Profiles.

Finally, remember that marketing requires active promotion. Don’t just let your content sit on your website hoping someone will arrive to read it. Actively promote your best pieces via social media, to local print and online media journalists, and in local community hubs, like neighborhood websites and hyperlocal blogs. Work to build real relationships in the cities where you’re marketing your charging station locations so that you are always increasing awareness of your brand’s commitment to making towns and cities better places to live.

Have questions? Ask me in the comments. I’m personally rooting for the rapid spread of EV charging stations across the US and around the world, and if you’re marketing this model, I’d love to hear from you!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

Friday, February 5, 2021

Using STAT to Identify Featured Snippet Opportunities

Posted by Zoe.Pegler

Winning the featured snippet for a target keyword means increased traffic to that page, and you can use STAT to achieve those wins. In this week's episode of Whiteboard Friday, Moz Learning and Development Specialist Zoe Pegler walks you through how you can do so in five easy steps.

Anatomy of a Perfect Pitch Email

Click on the whiteboard image above to open a high resolution version in a new tab!

Video Transcription

Hi. I'm Zoe from Moz's Learning Team. Today I'm going to be showing you how to use STAT to identify featured snippet opportunities. If you're not familiar with STAT, it's a ranking tool which is very good at pulling big data.

What's a featured snippet? 



For those of you that might not know what a featured snippet is, it's one of those answer boxes that appear at the top of a search results page. It's the result that shows up directly beneath the ads after the search is performed. So, for example, if you did a search for something like "Is coffee good for you," you're going to see an answer box saying, "Recent studies found that coffee drinkers are less likely to die from some of the leading causes of death."

Websites that have URLs ranked in the featured snippet often experience heightened brand visibility and the majority of available traffic from the associated keyword. Where do you start if you want to become a part of that featured snippet box? How do you target those opportunities? Well, the first step here is keyword research.

1. Upload keywords to STAT and filter

You want to discover keywords that you can start monitoring optimizing for. Ideally, you want to find keywords that you rank on page one for that also have a featured snippet. STAT's keywords tab is a great place to start with this. In this feature, you can upload a bunch of keywords, and once you've allowed some time for the data to gather, you can really dig into what keywords you have that are triggering answer boxes and what opportunities there are.

There's an extremely useful feature in STAT where you can filter a table of keywords to show earned SERP features and specifically answers. You can filter for specific answer subtypes too. STAT currently parse lists, paragraphs, tables, carousels, and videos.

So you can check out all of these. You should also filter for keywords specifically on page one. So do that. Filter the "Rank" column to show results ranking between one and 10. Once you have found all of those keywords, there's a really smart, useful way of collecting them all together, and that's by putting them into a dynamic tag.

2. Create a dynamic tag

This lets you group those keywords together and label them. You could call this tag featured snippet opportunities for example. The magic of putting the keywords into that dynamic tag is that it acts like a smart playlist. These fancy segments automatically populate each day with keywords that match the specific criteria you set for them, making it quick and easy to see which of your keywords are featured snippet opportunities.

Being able to segment keywords into these dynamic tags is what makes STAT so much more valuable. Being able to create reports in granular keyword levels is powerful stuff.

3. Check the data set over time

Okay, so what is the next step to prioritize your featured snippet opportunities by the highest potential ROI keywords? It's usually much easier to take a featured snippet or to steal one if you're also on page  one.

Taking a look at STAT's SERP Features tab can help out here. There's a nifty graph which allows you to see how answer boxes appear if your keywords have changed over time. Using this will help you to access opportunity. You can then start pulling out and comparing some of that data and digging into things like average monthly search volume, current featured snippet URLs, and the featured snippet type.

Is it a paragraph, a list, or a table? Is there any markup? What's your rank? How does the page look in general? You might want to start investigating which long-tail keywords you could potentially optimize your site for. There are a couple of reports you can pull in STAT which can definitely help you in this research.

4. Set up reports

The People Also Ask report will show you questions and their rank within the box as well as the URL sourced in each answer. It's worth taking a look at the Related Searches report as well to see related search queries offered by Google which users may also be searching. Once you've identified long-tail keywords you want to track and keep an eye on, you can copy and paste those keywords into Google Keyword Planner or even back into STAT.

That way you can see what the rankings, search volume, and CPC look like. You can use one of those smart dynamic tags in STAT to group and label them again as you start optimizing on the keywords you think will be valuable to your site. Once you've identified and optimized your site, you'll want to keep careful watch over your hard work, so monitor.

5. Set up and monitor alerts

I recommend setting up alerts for this. STAT lets you do this so you'll be notified any time your ranking goes up or down for your featured snippet target keywords, meaning you're not going to miss seeing an opportunity. I hope this has been helpful and you're feeling more prepared to try some of this.

If you already have a STAT subscription and want to get even more familiar with the tool features, think about taking the STAT Fundamentals Certification course. Have a great day, and thank you for watching this edition of Whiteboard Friday.

Video transcription by Speechpad.com


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

Thursday, February 4, 2021

5 Ways to Use Search as a Growth Channel for B2B in 2021

Posted by Victor_Ijidola

Unlike B2C brands, B2B businesses are often characterized by:

  • low search volumes on Google.
  • high competition on scarcely available keywords.

And there’s evidence to support this — usually, where a seven-year-old B2C company is getting 500K visitors per month from SEO, a B2B brand the same age could be seeing only 15K visitors per month. (This is assuming all other things are equal.)

Check out the example below comparing Zola.com (a B2C brand) and Yiedify.com (B2B):

These two sites were founded around the same time (2013) and have been publishing lots of content. Yet, the difference in their traffic numbers makes it look like Yieldify hasn’t been doing much SEO, but that’s not the case.

For instance, when I used the MozBar to analyze the on-page optimization they did on their article about trust badges, I could tell they’re at least following basic SEO principles, like having focus keywords in their URL, page titles, headers, and meta descriptions:

I’d say they’ve not been terrible at optimizing their content for SEO — if they do optimize all their content like they did this one on trust badges.

My point here is: B2C and e-commerce businesses (usually) have way more opportunities in SEO than B2B, especially in terms of search traffic.

But while that is true, it’s also true that no matter how few the search visits, there are still a lot of opportunities in SEO for B2B businesses.

Most of the time, what B2B brands lose in search traffic, they make up in revenue — since their products/services are usually more expensive than those in B2C.

Long story short: there are opportunities for B2B companies in search, and here’s how to capitalize on them in the year ahead.

1. Start from bottom (not top) of funnel

Every funnel begins at the top, but if you want to generate results as quickly as possible, you should kick off your B2B SEO strategy targeting customers at the bottom of the funnel.

Ready-to-buy customers are already at the bottom of the funnel (BoFu), searching for information that’ll help them make a purchase decision. They’re often searching with keywords like:

  • “[industry] software”
  • “[industry] tools”
  • “[competitor] alternatives”
  • “Is [competitor] a good product/service?”

As a smart marketer, your strategy should be to prioritize reaching them with the bottom of funnel content they’re looking for.

You probably know what BoFu content looks like, but just so we’re on the same page as to what it really is, see these examples of BoFu content from SocialPilot ranking on page one:

I’m not affiliated with SocialPilot, so I don’t know if they kicked off their SEO content marketing with these BoFu topics (search terms).

But if they did, chances are they experienced quick success (in terms of relevant product awareness and sign-ups), since the articles are ranking on Google’s front page for searchers looking for “Buffer alternatives”.

Bottom line is, as a B2B brand, you’ll be better off prioritizing BoFu topics in your SEO strategy. It’s a much better approach than starting all the way at the top of the funnel, which would be targeting searchers who aren’t ready to make a purchase (or sign-up) decision.

But shouldn’t you start with top of funnel content, since that’s where buyers start their journey?

If you think your strategy should be to first target visitors at the top of the funnel (ToFu), you’re probably assuming that your prospects will first consume your ToFu content before ever getting to the bottom.

That’s hardly ever the case in real life. What often happens is:

  1. A prospective customer knows they have a problem
  2. They search Google for a solution
  3. Google shows them multiple solutions on page one
  4. They read reviews and supporting information to help them make a purchase decision
  5. They make a decision to either buy or not buy

If you think back to the last purchase decision you made, this was probably the route you took.

So it’s not all the time that buyers will start reading your top of funnel content, discover your product, and then decide to start consuming your BoFu content. Sometimes they’re already at BoFu and all it’d take to convince them to buy your product is the right BoFu content.

2. Make your content t-shaped (for demand and lead generation)

You’re probably thinking, “what’s t-shaped content?”. Allow me to explain.

At my agency (Premium Content Shop), we use “t-shaped content” to describe the type of content that performs two functions at the same time:

  • It provides real value to your ideal prospects

AND

  • Generates relevant organic traffic, demand, and quality leads for your business.

This little illustration below should help you better understand what our “t-shaped content framework” means:

In practice, this is an example of t-shaped content from Mailshake:

Right after the fifth paragraph of the article, they introduce a CTA:

This is a t-shaped content piece because:

  • The guide is focused on helping Mailshake’s potential customers — “cold emailers”
  • The guide is designed to use the CTA to generate demand and leads for Mailshake

I often advise clients not to introduce anything about their product/service until readers have scrolled about 40% into the content they’re consuming, just to avoid coming across as overly promotional. And I’m not saying putting your CTA that early in an article could never work — it could — but your readers should feel like you're prioritizing them getting value from the content over trying to sell your own stuff right off the bat.

In any case, creating and ranking t-shaped content helps you achieve two objectives:

  • Build a brand that people trust.
  • Create awareness and generate leads for your product.

3. Don’t just rank content — rank “from-field-experience” content

One reason SEO gets a bad rap, especially among B2B marketers, is the sheer amount of low-quality B2B content that’s ranking on page one in the SERPs. And that’s because, while Google’s algorithm is able to determine search-friendly content, it’s currently not able to see if a page is relevant for a searcher, at least from a human perspective.

So, it ends up ranking content on page one that meets Google’s ranking standards, but not always the searcher’s standards.

As a B2B marketer, you don’t just want to meet Google’s requirements and rank on page one. You need your content to rank AND impress your audience well enough to convert them into leads.

How do you do that? You need to write like professionals speaking to professionals.

Usually, this means you need to see what other industry professionals are saying or have published on any given topic and spell out:

  • What you agree with
  • What you disagree with
  • What you want to change about how something is currently done
  • How you want it to change or change it

Derek Gleason of CXL mirrors the same idea in a recent tweet:

And as an expert in your field, this is a no-brainer: you’ll almost always have a different opinion to share about popular topics in your industry.

For instance, as an SEO expert, you most likely have fact-based opinions about topics like Google ranking factors, B2B marketing, technical SEO, etc. This knowledge you have about all the topics in your industry is “from-field-experience” ideas that’ll help you connect with customers on a deeper level.

And when you’re creating content based on your original opinions, experience, thoughts, or convictions, you won’t be sounding like everyone else and your content will stand out. Even if it’s similar to other competitors’ content, it’ll still have your original ideas.

But how do your original ideas impact revenue or growth?

Your clients aren't all at the bottom of the funnel. While I’ve advised kicking off your SEO marketing strategy by addressing BoFu topics, many of your potential buyers are still at the top and middle of the funnel.

This means, at the stage where they’re reading your “from-field-experience” content, they’re not even thinking about your product at all. But with the right type of content — with your original thoughts and ideas, you can move them from the top/middle to the bottom of the funnel.

So, if they’ve been consuming your ToFu content for any amount of time, your brand will get their attention better when it’s time for them to consider making a purchase decision.

And yes, they’ll ultimately make a decision based on reviews and other BoFu content, but your ToFu and MoFu content will help you develop authority and trust with potential customers. This will often give you a leg up on your competitors when it’s time for ToFu/MoFu prospects to make a decision.

For example, Dom Kent of Mio once shared how people in the collaboration industry keep finding Mio whenever they search for anything related to their industry; that’s one example of what ToFu and MoFu content does for your brand.

It's like when you Google something about sales management, and Close’s content keeps showing up. When it’s time to buy — or even just recommend — a sales management tool, guess which product you’ll think of? That’s right, Close. It doesn’t always mean you’ll sign up for Close, but that’s at least one of the brands you’d think of first.

4. Avoid covering too many basic topics

Often in B2B, your ideal buyers are experienced professionals. This means that most of the time, they don't need content on the basic topics that entry-level employees might.

If they're sales leaders, for instance, they seldom search for content on basic topics like "what is a sales script" or "how does CRM work?".

You're better off covering more important and sophisticated topics — regardless of whether those topics have high search volume or not.

For instance, CRM provider Copper currently ranks for “cold call script to get appointment”.

It’s a long-tail keyword with only about 500 searches per month.

The low search volume may look unattractive on the surface, but Copper’s target customers are the ones searching for it, and that’s more important than them ranking for a high search volume keyword like “what’s a sales pipeline?” that doesn’t frequently get searched by those customers.

During your keyword research phase, it’s easy to get distracted by high search volume keywords that your target audience barely ever searches for on Google. Move past that distraction and focus on creating content for keywords your target buyers need content on — even if those keywords have low search volumes.

5. Take care of your technical SEO

In my first four points, I covered things you need to know about high-quality content creation and the content strategy side of SEO, but I haven’t forgotten about the technical side.

You need to pay attention to technical SEO as well, as it can make or break the opportunities any B2B website can get from search. :

Here are the most important parts of tech SEO that you should get in the habit of checking:

  • HTML tags: Your HTML tags help search engines understand what’s on your page. See it this way: you understand English (and any other language you speak), search engine algorithms understand HTML tags (plus human language).

  • Meta descriptions: These help search engines understand the content of your web pages even more. It’s basically the summary of your content, showing searchers and search engines a quick overview of what’s on your web pages.

  • SEO-friendly URL: This one is often considered a “minor Google ranking factor” by many (if not most) search marketers. But even if it increases your chances of ranking by .5%, it’s still important. So optimize your URLs to make them SEO-friendly. This means you need to make sure they contain the target keywords you’re trying to rank for on any page.

  • User experience (UX): This includes site speed, navigation, accessibility (for visitors from PC and mobile devices), and everything else that makes your content and web pages easy to use for searchers. Google’s algorithm has been built to be powerful enough to determine which pages have good UX, so you need to make sure your pages are easy to use, navigate, and access.

  • Backlinks: They may be last on the list here, but backlinks are easily one of the most important ranking factors you need to pay careful attention to. As you know, the more backlinks you get, the stronger your chances of ranking.

In conclusion

There are a lot of opportunities in SEO for B2B companies — even though the search volumes are often low. I’ve covered what you’d need to use search to your advantage as a B2B marketer.

To recap, you should kick-off your SEO and content marketing by targeting BoFu prospects. And make your content T-shaped, so that it benefits your audience and business at the same time.

Also, don’t just rank content for organic search traffic, rank with “from-field-experience” content/ideas; this will help you generate demand and quality leads as readers will be drawn to your expertise.

And then avoid covering too many basic topics, especially when your target buyers are experienced professionals or C-level decision-makers. Finally, pay attention to the technical side of SEO, too; it can make or break your entire search engine optimization efforts.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

Tuesday, February 2, 2021

Announcing the New Technical SEO Certification Series: What It Is & How to Get Certified

Posted by KaviKardos

SEO education has been central to Moz’s mission since the start. In addition to our many guides, blog posts, and videos, we’ve shifted in recent years to offer on-demand video training courses through Moz Academy. Our team has been blown away by the reception of our online training programs. To date, over 142,000 students have enrolled in a course through Moz Academy. Wowie!

On top of that, 94% of Moz Academy students said they would recommend the course(s) they took to a friend or colleague. We’re so glad that our content is resonating with you and helping to level up your knowledge in various SEO subject areas.

We launched our SEO Essentials Certification Series back in May 2019, and we’ve seen almost 500 students get certified in that timeframe. Since then, we’ve heard requests from across the Moz community for more technical-focused coursework and more advanced course options. As a result, we’re stoked to be adding another outstanding certification to our collection of coursework.

The Learning Team has put in many, many hours of work to develop a technically focused, in-depth training series that hones in on the nuts and bolts of technical SEO. We’re thrilled to announce the launch of the Technical SEO Certification Series through Moz Academy.

I want to get started!

What’s included in the Technical SEO Certification Series?

The Technical SEO Certification is a five-part series dedicated to technical SEO, combining video lessons with tasks and activities to allow for practical application of important concepts. The series culminates in a final exam, and with a passing score, you’ll be awarded an official Moz Certificate and badge for your LinkedIn profile.

The Certification Series was built to help you efficiently grow your technical skills and think critically about websites and SEO strategy from an informed technical perspective. By the time you wrap up the series, you’ll be ready to build a technical strategy for your website that ensures crawlability, indexability, accessibility, and site performance.

The certification series focuses on four core competency areas:

  1. Explore the Fundamentals of Technical SEO
  2. Design for Crawlability
  3. Build for Indexation
  4. Prioritize Accessibility & Site Performance

Dig into what’s included in the coursework below:

1. Explore the Fundamentals of Technical SEO

In building a certification series solely focused on technical SEO, we knew laying the groundwork would be critical. Although many folks in the SEO space are aware of various components of technical SEO, we felt it was important to identify where these tactics fit within a larger strategy.

The Explore the Fundamentals course analyzes the reasoning behind technical SEO and its foundational impact on other SEO work. In addition to defining core terminology and principles, you’ll gain a clear understanding of how technical SEO fits into the larger SEO methodology. You’ll learn how search engines find and analyze websites, readying you to apply that knowledge to the concepts of crawling, indexing, accessibility, and site performance that we’ll dive into in later sections.

2. Design for Crawlability

Once we’ve gotten the fundamentals down pat, the Certification Series jumps into crawlability – search engines’ ability to discover and navigate a website. In developing this section of the coursework, we wanted to be sure to provide a thorough background on how search engines operate, what they value, and a step-by-step process to ensure that your website is crawler-friendly.

You’ll learn the importance of optimizing your crawl budget to help crawlers get to the parts of your site that matter most. These considerations can also improve overall SEO health and even site conversions. In addition, we’ll cover robots.txt, site architecture, response codes, log file analysis, and more, using a variety of tools to give you hands-on practice with designing for crawlability.

By the end of this section, you’ll be well-versed in how to optimize for efficient crawling and how to implement and scale fixes across your website.

3. Build for Indexation

Up next in our Certification Series is indexation – how search engines understand, store, and organize information while crawling the web. We want to be sure that you’re confident in your ability to build and present a website that will be indexed properly by the search engines. You’ll next learn how to utilize sitemaps, canonicalization, and structured data to support indexation.

We’ll dig into what search engines typically value as they organize the information they’ve ingested, and how you can use that knowledge to implement tactics that will get your most important content indexed. This will ensure that your valuable content makes its way into the SERPs and, ultimately, to your target audience.

4. Prioritize Accessibility & Site Performance

There are heaps of articles across the web addressing accessibility, and we wanted to build a comprehensive section of the Certification Series dedicated to this vital concern as well as site performance. Here, we dig into top priorities to ensure a site is accessible to all users and performing at its best, as well as tasks to help you do so.

You’ll learn how to conduct an accessibility audit to identify and prioritize optimization efforts. You’ll also discover how components such as URL structure, site speed, mobile-friendliness, and site security impact performance. We’ll look at various tools to help us test these, so that you can create a repeatable process for auditing in the future.

By the end of this class, you’ll be familiar with strategies you can implement to ensure a great (and accessible!) user experience.



Following the courses on these four core competency areas, you will take a final exam to test your knowledge. The exam will consist of 50 multiple-choice questions.

Technical SEO Certification Series FAQs

How do I get certified?

The Technical SEO Certification Series is available through Moz Academy. Just select the series from the catalog, move through the registration process, and get started! After completing the series and taking the final exam, you’ll be awarded an official Moz Certificate and a LinkedIn badge.

Who is this Certification Series best for?

This series is ideal for intermediate SEOs and digital marketers with existing SEO knowledge who are looking to level up their technical skills. The series content covers technical topics that pair nicely with a solid understanding of keyword research, on-page SEO, link building, and content marketing. If you already have familiarity with the SEO fundamentals and are looking to grow your technical expertise, this series is great for you.

If you’re new to SEO and looking to learn the ropes, we’d recommend the SEO Essentials Certification.

How long will the series take to complete?

The certification series includes three hours of instructor-led curriculum, in addition to activities to test your understanding and the final exam. With all of that in mind, you can expect your time commitment to be about five hours in total.

How long is the Technical SEO Certification valid? Do my certification credentials expire?

No, your Technical SEO Certification credentials will not expire.

I don't have a Moz Pro subscription – is the Technical SEO Certification Series still relevant for me?

Yes! While we do use Moz Pro to apply certain concepts throughout the series, having a Moz Pro subscription is not a requirement to benefit from this certification. We’ll also explore a number of technical tasks in other tools outside of Moz. In general, the concepts, activities, and theories covered in the series are agnostic of tools.

Sign me up!

Any other questions or thoughts about the Technical SEO Certification Series? Drop them in the comments below – we’d love to chat with you!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

Monday, February 1, 2021

SEO Forecasting in Google Sheets

Posted by Tom.Capper

Way back in 2015, I published an article giving away a free, simple, forecasting tool, and talking through use cases for forecasting in SEO. It was a quick, effective way to see if a change to your site traffic is some kind of seasonality you can ignore, something to celebrate, or a worrying sign of traffic loss.

In short: you could enter in a series of data, and it would plot it out on a graph like the image above.

Five years later, I still get people — from former colleagues to complete strangers — asking me about this tool, and more often than not, I’m asked for a version that works directly in spreadsheets.

I find this easy to sympathize with: a spreadsheet is more flexible, easier to debug, easier to expand upon, easier to maintain, and a format that people are very familiar with.

The tradeoff when optimizing for those things is, although I’ve improved on that tool from a few years ago, I’ve still had to keep things manageable in the famously fickle programming environment that is Excel/Google Sheets. That means the template shared in this post uses a simpler, slightly less performant model than some tools with external code execution (e.g. Forecast Forge).

In this post, I’m going to give away a free template, show you how it works and how to use it, and then show you how to build your own (better?) version. (If you need a refresher on when to use forecasting in general, and concepts like confidence intervals, refer to the original article linked above.).

Types of SEO forecast

There is one thing I want to expand on before we get into the spreadsheet stuff: the different types of SEO forecast.

Broadly, I think you can put SEO forecasts into three groups:

  1. “I’m feeling optimistic — add 20% to this year” or similar flat changes to existing figures. More complex versions might only add 20% to certain groups of pages or keywords. I think a lot of agencies use this kind of forecast in pitches, and it comes down to drawing on experience.
  2. Keyword/CTR models, when you estimate a ranking change (or sweeping set of ranking changes), then extrapolate the resulting change in traffic from search volume and CTR data (you can see a similar methodology here). Again, more complex versions might have some basis for the ranking change (e.g. “What if we swapped places with competitor A in every keyword of group X where they currently outrank us?”).
  3. Statistical forecast based on historical data, when you extrapolate from previous trends and seasonality to see what would happen if everything remained constant (same level of marketing activity by you and competitors, etc.).

Type two has its merits, but if you compare the likes of Ahrefs/SEMRush/Sistrix data to your own analytics, you’ll see how hard this is to generalize. As an aside, I don’t think type one is as ridiculous as it looks, but it’s not something I’ll be exploring any further in this post. In any case, the template in this post fits into type three.

What makes this an SEO forecast?

Why, nothing at all. One thing you’ll notice about my description of type three above is that it doesn’t mention anything SEO-specific. It could equally apply to direct traffic, for example. That said, there are a couple of reasons I’m suggesting this specifically as an SEO forecast:

  • We’re on the Moz Blog and I’m an SEO consultant.
  • There are better methodologies available for a lot of other channels.

I mentioned that type two above is very challenging, and this is because of the highly non-deterministic nature of SEO and the generally poor quality of detailed data in Search Console and other SEO-specific platforms. In addition, to get an accurate idea of seasonality, you’d need to have been warehousing your Search Console data for at least a couple of years.

For many other channels, high quality, detailed historic data does exist, and relationships are far more predictable, allowing more granular forecasts. For example, for paid search, the Forecast Forge tool I mentioned above builds in factors like keyword-level conversion data and cost-per-click based on your historical data, in a way that would be wildly impractical for SEO.

That said, we can still combine multiple types of forecast in the template below. For example, rather than forecasting the traffic of your site as a whole, you might forecast subfolders separately, or brand/non-brand separately, and you might then apply percentage growth to certain areas or build in anticipated ranking changes. But, we’re getting ahead of ourselves…

How to use the template

FREE TEMPLATE

The first thing you’ll need to do is make a copy (under the “File” menu in the top left, but automatic with the link I’ve included). This means you can enter your own data and play around to your heart’s content, and you can always come back and get a fresh copy later if you need one.

Then, on the first tab, you’ll notice some cells have a green or blue highlight:

You should only be changing values in the colored cells.

The blue cells in column E are basically to make sure everything ends up correctly labelled in the output. So, for example, if you’re pasting session data, or click data, or revenue data, you can set that label. Similarly, if you enter a start month of 2018-01 and 36 months of historic data, the forecast output will begin in January 2021.

On that note, it needs to be monthly data — that’s one of the tradeoffs for simplicity I mentioned earlier. You can paste up to a decade of historic monthly data into column B, starting at cell B2, but there are a couple of things you need to be careful of:

  • You need at least 24 months of data for the model to have a good idea of seasonality. (If there’s only one January in your historic data, and it was a traffic spike, how am I supposed to know if it was a one-off thing, or an annual thing?)
  • You need complete months. So if it’s March 25, 2021 when you’re reading this, the last month of data you should include is February 2021.

Make sure you also delete any leftovers of my example data in column B.

Outputs

Once you’ve done that, you can head over to the “Outputs” tab, where you’ll see something like this:

Column C is probably the one you’re interested in. Keep in mind that it’s full of formulas here, but you can copy and paste as values into another sheet, or just go to File > Download > Comma-separated values to get the raw data.

You’ll notice I’m only showing 15 months of forecast in that graph by default, and I’d recommend you do the same. As I mentioned above, the implicit assumption of a forecast is that historical context carries over, unless you explicitly include changed scenarios like COVID lockdowns into your model (more on that in a moment!). The chance of this assumption holding two or three years into the future is low, so even though I’ve provided forecast values further into the future, you should keep that in mind.

The upper and lower bounds shown are 95% confidence intervals — again, you can recap on what that means in my previous post if you so wish.

Advanced use cases

You may by now have noticed the “Advanced” tab:

Although I said I wanted to keep this simple, I felt that given everything that happened in 2020, many people would need to incorporate major external factors into their model.

In the example above, I’ve filled in column B with a variable for whether or not the UK was under COVID lockdown. I’ve used “0.5” to represent that we entered lockdown halfway through March.

You can probably make a better go of this for the relevant factors for your business, but there are a few important things to keep in mind with this tab:

  • It’s fine to leave it completely untouched if you don’t want to add these extra variables.
  • Go from left to right — it’s fine to leave column C blank if you’re using column B, but it’s not fine to leave B blank if you’re using C.
  • If you’re using a “dummy” variable (e.g. “1” for something being active), you need to make sure you fill in the 0s in other cells for at least the period of your historic data.
  • You can enter future values — for example, if you predict a COVID lockdown in March 2021 (you bastard!), you can enter something in that cell so it’s incorporated into the forecast.
  • If you don’t enter future values, the model will predict based on this number being zero in the future. So if you’ve entered “branded PPC active” as a dummy variable for historic data, and then left it blank for future periods, the model will assume you have branded PPC turned off in the future.
  • Adding too much data here for too few historic periods will result in something called “overfit” — I don’t want to get into detail on this, which is why this tab is called “Advanced”, but try not to get carried away.

Here’s some example use cases of this tab for you to consider:

  • Enter whether branded PPC was active (0 or 1)
  • Enter whether you’re running TV ads or not
  • Enter COVID lockdowns
  • Enter algorithm updates that were significant to your business (one column per update)

Why are my estimates different to your old tool? Is one of them wrong?

There’s two major differences in method between this template and my old tool:

  • The old tool used Google’s Causal Impact library, the new template uses an Ordinary Least Squares regression.
  • The old tool captured non-linear trends by using time period squared as a predictive variable (e.g. month 1 = 1, month 2 = 4, month 3 = 9, etc.) and trying to fit the traffic curve to that curve. This is called a quadratic regression. The new tool captures non-linear trends by fitting each time period as a multiple of the previous time period (e.g. month 1 = X * month 2 where X can be any value). This is called an AR(1) model.

If you’re seeing a significant difference in the forecast values between the two, it almost certainly comes down to the second reason, and although it adds a little complexity, in the vast majority of cases the new technique is more realistic and flexible.

It’s also far less likely to predict zero or negative traffic in the case of a severe downwards trend, which is nice.

How does it work?

There’s a hidden tab in the template where you can take a peek, but the short version is the “LINEST()” spreadsheet formula.

The inputs I’m using are:

  • Dependent variables
    • Whatever you put as column B in the inputs tab (like traffic)
  • Independent variables
    • Linear passing of time
    • Previous period’s traffic
    • Dummy variables for 11 months (12th month is represented by the other 11 variables all being 0)
    • Up to three “advanced” variables

The formula then gives a series of “coefficients” as outputs, which can be multiplied with values and added together to form a prediction like:

  • “Time period 10” traffic = Intercept + (Time Coefficient * 10) + (Previous Period Coefficient * Period 9 traffic)

You can see in that hidden sheet I’ve labelled and color-coded a lot of the outputs from the Linest formula, which may help you to get started if you want to play around with it yourself.

Potential extensions

If you do want to play around with this yourself, here are some areas I personally have in mind for further expansion that you might find interesting:

  • Daily data instead of monthly, with weekly seasonality (e.g. dip every Sunday)
  • Built-in growth targets (e.g. enter 20% growth by end of 2021)

Richard Fergie, whose Forecast Forge tool I mentioned a couple of times above, also provided some great suggestions for improving forecast accuracy with fairly limited extra complexity:

  • Smooth data and avoid negative predictions in extreme cases by taking the log() of inputs, and providing an exponent of outputs (smoothing data may or may not be a good thing depending on your perspective!).
  • Regress on the previous 12 months, instead of using the previous 1 month + seasonality (this requires 3 years’ minimum historical data)

I may or may not include some or all of the above myself over time, but if so I’ll make sure I use the same link and make a note of it in the spreadsheet, so this article always links to the most up-to-date version.

If you’ve made it this far, what would you like to see? Let me know in the comments!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

How To Get Your Website Ready For AI Agents

AI agents are already browsing your site. Here is Crystal Carter's five-part framework for agent readiness, from llms.txt and MCP to cho...