Search Engine Optimization

9 Practical Ways to easily use Google Sheets for SEO tasks

I love Google sheets. Maybe it’s because I’m a Mac user but I’ve found myself using it more and more than Excel for SEO related tasks in the latest years, even replacing sometimes a few of the tasks for which I would otherwise have used an SEO tool: from quick analysis, validation and even project coordination for quick or temporary activities.

It might be its flexibility to easily import, integrate, merge and validate any type of data with easy to use built-in functions and availability of free add-ons and templates, as well as possibility to develop your own custom scripts, while facilitating “real time” collaboration with other team members and clients.

From redirects validation to a rankings drop analysis, check out 9 common SEO tasks for which you can easily use Google sheets for:

1. Redirects implementation validation

When doing a redesign, a Web migration or any Web update that carries a change of many URLs, you’re going to validate the 301-redirects implementation by doing a list crawl of the old URLs version to verify if they’re redirecting to the new ones following the specified mapping rules.

You can use the Google sheets IF function to compare the implemented HTTP status, redirect destination, as well as destination pages metadata that you obtain from the list crawl vs. the ones that you had recommended, like this:

  • HTTP Status: =IF(D2=301, “correct”, “incorrect”)
  • Redirect Destination: =IF(B2=E2, “correct”, “incorrect”)
  • New Title Implementation: =IF(C2=F2, “correct”, “incorrect”)

You can copy the sheet here to use as a reference for your own migration validation.

2. Compare Search Console performance metrics between two time periods to identify rankings increases or decreases

You might want to compare the Google Search Console performance metrics from two different time periods, for example, before and after a Google update, an important Web release or SEO related implementation, in order to identify a potential increase or decrease in the top site positions, and the queries affected. Although the Google Search Console Performance report UI allows to compare two time periods, unfortunately it’s not possible to see directly the difference between them there.

However, we can do this easily in Google sheets by using the “Google Sheets” export option that’s directly provided in the report, and add a comparison column after each of the two time periods for the clicks, impressions, average CTR and positions metrics, using the IFS function to compare them and include “increased”, “decreased” or “didn’t change” in the comparison columns cells as an outcome, as can be seen below for the clicks comparison:

  • =IFS(B2>C2, “Increased”, B2<C2, “Decreased”, TRUE, “Didn’t Change”)

To easily spot those keywords that decreased vs. the ones that increased you might want to also use the “conditional formatting” functionality to change the cells color based on the text they contained, as shown here:

Finally, you might want to tweak the comparison formula to correctly support the validation of positions changes, by also including some nested AND functions:

  • =IFS(AND(K2=0,L2>K2), “Decreased”, AND(L2=0,L2<K2), “Increased”, K2>L2, “Decreased”, K2<L2, “Increased”, TRUE, “Didn’t Change”)

You can view and copy the Google sheet with the functions example here.

3. Integrate organic search performance metrics along backlinks data to identify pages targeting popular queries needing links to improve performance

You can also use the free and useful Search Analytics for Sheets Add-On to obtain the top ranked queries along their ranked pages directly, to facilitate their analysis (as well as to create automatic backups).

Then you can easily aggregate other SEO metrics, such as links data that you might have in another sheet from a SEMRush export by using a VLOOKUP function and bring the backlinks data in an additional column along the Google search Console ranked pages and queries:

  • =IFERROR(VLOOKUP(C2,‘SEMrush Backlinks’!$A$2:$J$2830,4,false),“”)

You can do this type of aggregation to identify those pages targeting popular queries, not ranking as well yet, that are not yet attracting many links, to identify opportunities of pages that might need to improve their link popularity.

4. Compare the mobile vs. desktop ranked queries & pages performance

The Search Analytics add-on also allows to include data segmented with Google Search Console filters, such as the device for every ranked query and page, which along conditional formatting can highly facilitate the analysis of mobile vs. desktop performance gaps, to identify optimization opportunities.

You can copy the Google sheets to check it out here.

5. Integrate Google Analytics organic traffic along search performance to identify opportunities to improve engagement and conversion on top ranked pages

You can also integrate organic traffic data from Google Analytics to your existing search performance analysis to identify further optimization improvements, for example, for those pages already ranking well but with poor engagement or conversion rate.

To facilitate the integration of Google Analytics data you can use the Google Analytics add-on for free, you can use the CONCATENATE function to generate the full URL of every page and then use a VLOOKUP function to directly include the Users, Sessions, Bounce Rate and any other Google Analytics metrics as columns of the already existing sheet with Google Search Console and Backlinks data.

 

6. Validate the metadata relevance vs. their ranked queries and indexing configuration of bad performing pages targeting queries with high potential

To facilitate the analysis of the ranked pages relevance vs. their targeted queries you can also aggregate the metadata along the meta robots and canonical tag configuration for each one of the pages. You can do this by doing a list crawl of them and importing the data in the Google sheets as new columns, however this can be facilitated if you’re validating a small number of page by using the IMPORTXML function to directly extract (by using xpath) and import the pages metadata into the additional columns. For example, if our URLs are in column C, it would be:

  • =IMPORTXML(C2,“//title”)
  • =IMPORTXML(C2,“//meta[@name=’description’]/@content”)
  • =IMPORTXML(C2,“//h1”)
  • =IMPORTXML(C2,“//meta[@name=’robots’]/@content”)
  • =IMPORTXML(C2,“//link[@rel=’canonical’]/@href”)

Like this it would be much easier to filter and see only those pages that are not yet in the best positions and directly verify if they’re indexable, how their titles, descriptions and H1s are optimized towards their targeted queries, as well as how many links they’re attracting… all in a single place.

7. Identify content cannibalization issues between many pages ranking for the same queries

Another way to leverage the metadata integration along the ranked queries and pages Google Search Console information, is to identify content cannibalization issues by sorting or filtering per queries and identify which are the pages currently ranking for them at the same time, verifying if the actual relevant page meant to be ranked for them is doing it so above the rest, and the potential reasons why this might not be the case, by taking a look at the metadata relevance, number of backlinks and indexing configuration of the “competing” pages.

 

8. Identify if the right categories pages are ranking for their relevant queries types

We can take the previous “relevance” query vs. page match analysis further to identify if the right categories are actually ranking for their queries types. We can do this by:

  • Using the FIND, IFS and IFERROR functions to look and validate the usage of specific topics/category names in the pages URLs.
  • Add an ARRAYFORMULA to avoid having to include the same formula again and again in every single cell (!)

Generating this, to look for the different category and areas names of the Remoters site (colivings, events, blog, tools, spanish, others):

  • =arrayformula(iferror(ifs(not(iserror(find(“jobs”,C2:C))),
    “Jobs”,not(iserror(find(“colivings”,C2:C))),
    “Colivings”,not(iserror(find(“events”,C2:C))),
    “Events”,not(iserror(find(“blog”,C2:C))),“Blog”,
    not(iserror(find(“/es/”,C2:C))),“Spanish”,
    not(iserror(find(“tools”,C2:C))),“Tools”,
    not(iserror(find(“remoters.net”,C2:C))),“Other”)))

We then should do something similar to classify and validate the queries topics:

  • =arrayformula(iferror(ifs(not(iserror(find(“job”,A2:A))),
    “Jobs”,not(iserror(find(“coliving”,A2:A))),
    “Colivings”,not(iserror(find(“events”,A2:A))),
    “Events”,not(iserror(find(“tools”,A2:A))),“Tools”,
    not(iserror(find(“conference”,A2:A))),“Events”,
    not(iserror(find(“remote work”,A2:A))),“Jobs”,
    not(iserror(find(“remoters”,A2:A))),“Branded”)))

Finally, we can also add conditional formatting rules to make it easier to spot when the query types and site areas are not of the same topic, to make it even easier to identify potential rankings misalignment across different categories:

We can then further use conditional formatting to color in red the misaligned rankings to make it easier to spot them.

9. Identify potential ranked pages international misalignment issues

We can also use a similar approach when we have multi-country or multi-lingual sites to identify international Web rankings misalignment issues by also importing the country of the rankings via the Search Analytics Add-on along the queries and pages. By doing this we can spot pages belonging to the Spanish version ranking in English speaking countries for which there’s already relevant content in English, or pages belonging to the Mexico version ranking in Spain, for which there are other pages to be ranked, etc. that we will want to prioritize to implement hreflang annotations.

In this case, I use it to validate the first scenario, pages belonging to the Spanish version not ranking in Spanish speaking countries by using the IFS and nested IF functions to first identify if the page belonged to the Spanish or English version:

  • =arrayformula(iferror(ifs(not(iserror
    (find(“/es/”,B2:B))),“Spanish”,
    not(iserror(find(“remoters.net”,B2:B))),
    “English”)))

and then validate if there was a misalignment vs. the identified country of the rankings provided through the Search Analytics Add-on, tagging as “aligned” if it’s a Spanish speaking country and “misaligned” otherwise:

  • =IF(AND(C2=“Spanish”,OR(D2=“esp”,
    D2=“arg”,D2=“mex”,D2=“ury”,
    D2=“ven”,D2=“per”,D2=“col”,D2=“dom”,
    D2=“bol”,D2=“pan”)),“Aligned”,“Misaligned”)

Looking for more Google sheets for SEO?

If you liked the previous simple but handy use of Google sheets for SEO, check out these great guides for even more uses across many other scenarios:

There are also a few fantastic bigger Google sheets resources Websites that you should definitely check out:

Do you know of any other Google sheets resources? If so, share them in the comments, I would love to try them out!

Aleyda Solis

Aleyda Solis is an SEO consultant and founder of Orainti -a boutique SEO consultancy-, speaker, and author. She shares the latest news and resources in SEO in the #SEOFOMO newsletter and Digital Marketing in #MarketingFOMO, SEO tips in the Crawling Mondays video series, and a free SEO Learning Roadmap called LearningSEO.io. European Search Personality of 2018, she's also co-founder of Remoters.net, a remote work hub, featuring a free remote job board, tools, guides, and more to empower remote work.

Ver comentarios

  • Hi Aleyda,

    Thanks for your awesome post. Super helpful, just added it to our must read list for new colleagues.

    As we haven't spread the word outside Germany yet, you might don't know our onpage monitoring tool based on Google sheets. We created it to automize checking e.g. canonical tags, robots instructions, ... on a regular basis. Just define what the script shall look for, set the expected value and get notified if something breaks. You can find the tool here => https://www.deptagency.com/download/quickly-detect-onpage-errors-free-onpage-monitoring-tool/

    Best regards,
    Stephan

  • Thank you for sharing the time saving ways to use Google Spread sheet. I had created content creation management spread sheets with Dashboard and individual files for every writer. It reflects two ways to keep both the files updated. It was amazing to create it.

  • WOW! This is great Aleyda! Thanks for sharing, will be incorporating your resources to my toolset!

  • I like the no 3 tip. I actually described a similar case but I don't check backlinks. I do check occurance of a query in headers, title tags or in the content.

  • Superb insightful blog post, aleyda!!

    Loved the things mentioned with proper steps and up to date information. Its really helpful when we have to work on 2 or more SEO projects at the same time. Grateful for your help.

    Have a great day

Entradas recientes

The Ecommerce Product Page SEO GPT Validator and Sheet Checklist

Accelerate your ecommerce product pages SEO analysis with the "The Ecommerce Product Page SEO Validator"…

3 months hace

The impact of Google’s SGE & What To do About it [With SGE Traffic Risk Assessment Sheet]

Assess the potential traffic risk of Google's SGE for your own site top queries with…

3 months hace

The 3 Main Types of Google SGE Snapshots and Their Level of Ranked Pages Traffic Risk

Learn about the 3 different type of SGE snapshots, the level of risks toward the…

6 months hace

The Worst SEO Horror Stories in 2023 and How to Wake Up from these Nightmares

From the uncertainty of Google generative search to the unpredictability of core updates or Web migration…

6 months hace

How Google’s SGE Snapshots Change Top Black Friday and Cyber Monday SERPs

Take a look at how the SERP changes with Google's SGE Snapshots for top Black…

6 months hace

A few thoughts on my initial Google Search Generative Experience (SGE) Tests [Updated]

First test of the new Google Search Generative Experience and how could it impact user…

11 months hace