Successfully reported this slideshow.

Google Sheets For SEO - Tom Pool - London SEO Meetup XL

6

Share

1 of 186
1 of 186

Google Sheets For SEO - Tom Pool - London SEO Meetup XL

6

Share

Download to read offline

First delivered at London SEO Meetup XL on May 4th, 2022.

This talk focuses on a number of different tips and tricks that can be used to help improve the overall analysis of data within Google Sheets.
A number of formulae are covered within this talk, including:
REGEXMATCH & REGEXREPLACE
TRANSLATE
COUNTIF
VLOOKUP
INDEX MATCH
IFNA
The talk finally touches on the usage of the =QUERY formula, and how it can aid in a number of different situations. An example of creating a top ten dashboard is provided.
A sample Google Spreadsheet with all formulae discussed can be seen here:
https://docs.google.com/spreadsheets/d/1vMZIh6NWm8gRwIP-SkTP0N6BWEpYmFFge7FBR4Wqqtg/edit#gid=0

First delivered at London SEO Meetup XL on May 4th, 2022.

This talk focuses on a number of different tips and tricks that can be used to help improve the overall analysis of data within Google Sheets.
A number of formulae are covered within this talk, including:
REGEXMATCH & REGEXREPLACE
TRANSLATE
COUNTIF
VLOOKUP
INDEX MATCH
IFNA
The talk finally touches on the usage of the =QUERY formula, and how it can aid in a number of different situations. An example of creating a top ten dashboard is provided.
A sample Google Spreadsheet with all formulae discussed can be seen here:
https://docs.google.com/spreadsheets/d/1vMZIh6NWm8gRwIP-SkTP0N6BWEpYmFFge7FBR4Wqqtg/edit#gid=0

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Google Sheets For SEO - Tom Pool - London SEO Meetup XL

  1. 1. Google Sheets For SEO Tom Pool Technical SEO Director
  2. 2. @cptntommy Everyone uses spreadsheets
  3. 3. @cptntommy There’s a huge social following
  4. 4. @cptntommy For all things GSheets & Excel
  5. 5. @cptntommy It’s not just tik- tok
  6. 6. @cptntommy Even my mum, who is your classic technophobe
  7. 7. @cptntommy Uses Excel (2007) to manage her CD, DVD & vinyl collection
  8. 8. @cptntommy Google Sheets (GSheets, for the cool kids)
  9. 9. @cptntommy Google’s answer to Microsoft Excel
  10. 10. @cptntommy Everyone has a favourite
  11. 11. @cptntommy Microsoft Excel
  12. 12. @cptntommy 750 Million Users https://thenewstack.io/microsoft-excel-becomes-a- programming-language/ (It was also released in 1985 on Mac, and 1987 on Windows)
  13. 13. @cptntommy Microsoft Excel Google Sheets
  14. 14. @cptntommy 750 Million to 2 Billion https://www.axios.com/google-g-suite-total-users- 9a6d3df6-c990-4866-9efc-ba6756ba3c4d.html (Released in 2006)
  15. 15. Microsoft Excel Google Sheets Apple Numbers (ew) Libre Office … @cptntommy
  16. 16. @cptntommy There’s a huge range of people using spreadsheet software everyday
  17. 17. @cptntommy I’ll share a few ‘hacks’ and tips that I’ve learnt & used
  18. 18. @cptntommy Especially useful for SEO datasets
  19. 19. @cptntommy Who Am I?
  20. 20. @cptntommy
  21. 21. Look after technical output of the agency @cptntommy
  22. 22. @cptntommy I work on almost all of our clients
  23. 23. @cptntommy I work on a lot of cool projects, too!
  24. 24. @cptntommy
  25. 25. @cptntommy I really enjoy testing and messing around with sites
  26. 26. @cptntommy Learning & implementing all sorts of technical SEO stuff
  27. 27. @cptntommy Outside of work, I spend a lot of time cycling & running
  28. 28. @cptntommy I’m currently training for Ride London 100 https://www.justgiving.com/fundraising/ tom-pool-rl2022
  29. 29. @cptntommy Over the next 15 minutes, we’re going to focus on
  30. 30. @cptntommy How we can use Google Sheets
  31. 31. @cptntommy To turbocharge insights that we can glean from ecommerce data
  32. 32. @cptntommy Help us understand more about the potential of GSheets
  33. 33. @cptntommy Sound good?
  34. 34. @cptntommy Identifying Duplicates
  35. 35. @cptntommy Let’s have a look at a website
  36. 36. @cptntommy
  37. 37. @cptntommy Say I wanted to identify all pages with a duplicate title
  38. 38. @cptntommy (Yes, Screaming Frog & other crawling software can show this)
  39. 39. @cptntommy Step 1 - Get the data & import to GSheets
  40. 40. @cptntommy There’s a demo sheet that is attached to this deck
  41. 41. @cptntommy
  42. 42. @cptntommy
  43. 43. @cptntommy Insert another column, and then use
  44. 44. @cptntommy =countif(D:D,D2)>1
  45. 45. @cptntommy =countif(D:D,D2)>1
  46. 46. @cptntommy =countif(D:D,D2)>1 The range we’re looking for dupes in
  47. 47. @cptntommy =countif(D:D,D2)>1 The specific value we’d like to check
  48. 48. @cptntommy =countif(D:D,D2)>1 If the value occurs more than once
  49. 49. @cptntommy
  50. 50. @cptntommy
  51. 51. @cptntommy If you want to take this to the next level, wrap the COUNTIF in an IF
  52. 52. @cptntommy
  53. 53. @cptntommy =IF(COUNTIF(D:D,D2)>1, "Duplicated", "Unique")
  54. 54. @cptntommy =IF(COUNTIF(D:D,D2)>1, "Duplicated", "Unique") What to output if the COUNTIF = TRUE
  55. 55. @cptntommy =IF(COUNTIF(D:D,D2)>1, "Duplicated", "Unique") What to output if the COUNTIF = FALSE
  56. 56. @cptntommy
  57. 57. @cptntommy Vlookup & Index Match
  58. 58. @cptntommy Vlookup is one of those things that initially seemed like magic
  59. 59. @cptntommy Useful if you want to match 2 datasets together
  60. 60. @cptntommy Crawl data & external link metrics
  61. 61. @cptntommy
  62. 62. @cptntommy Let's go back to the crawl data, and add another column
  63. 63. @cptntommy
  64. 64. @cptntommy
  65. 65. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False)
  66. 66. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False)
  67. 67. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False) The value that we’re looking to match
  68. 68. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False) The range we’re looking for a match in, and data to return
  69. 69. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False) The number of the column we’d like data from
  70. 70. @cptntommy =VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False) If the data is sorted
  71. 71. @cptntommy
  72. 72. @cptntommy
  73. 73. @cptntommy
  74. 74. @cptntommy Consider wrapping the vlookup in an ‘IFNA’ to remove those ugly ‘#N/A’ values
  75. 75. @cptntommy =IFNA(VLOOKUP(A2,'G&B Majestic Data'!B:G,5,False),"Not Found")
  76. 76. @cptntommy
  77. 77. @cptntommy The problem with vlookup is that it doesn’t take CASE into account
  78. 78. @cptntommy example.com/product/A2 - 100 links example.com/product/a2 - 10 links
  79. 79. @cptntommy Using vlookup, both of these different product URLs would either be flagged to have 10 or 100 links
  80. 80. Enter INDEX MATCH
  81. 81. @cptntommy =INDEX('G&B Majestic Data'!F2:F,MATCH(TRUE, EXACT(A2,'G&B Majestic Data'!B2:B),0))
  82. 82. @cptntommy =INDEX('G&B Majestic Data'!F2:F,MATCH(TRUE, EXACT(A2,'G&B Majestic Data'!B2:B),0)) We’re looking for an exact match
  83. 83. @cptntommy =INDEX('G&B Majestic Data'!F2:F,MATCH(TRUE, EXACT(A2,'G&B Majestic Data'!B2:B),0)) The range we’re looking for a match in
  84. 84. @cptntommy =INDEX('G&B Majestic Data'!F2:F,MATCH(TRUE, EXACT(A2,'G&B Majestic Data'!B2:B),0)) The data we’d like to return
  85. 85. @cptntommy Once you INDEX MATCH, you never go back
  86. 86. @cptntommy To step this up to the next level (again)
  87. 87. @cptntommy Wrap that INDEX MATCH in an IFNA to make the data look nicer
  88. 88. @cptntommy
  89. 89. @cptntommy RegexReplace/ RegexMatch
  90. 90. @cptntommy Now this is arguably one of the most useful
  91. 91. @cptntommy Especially when used with other formulae
  92. 92. @cptntommy I use it all the time - and is a life saver when it comes to migrations
  93. 93. @cptntommy Or even for hreflang mapping
  94. 94. @cptntommy For example, imagine that we’re looking to migrate
  95. 95. @cptntommy greenandblacks.co.uk to gandb.com
  96. 96. @cptntommy We’d typically create a redirect mapping document
  97. 97. @cptntommy
  98. 98. @cptntommy We could copy & paste, and then run a find & replace
  99. 99. @cptntommy =REGEXREPLACE(A2,"^https ://www.greenandblacks.co .uk","https://www.gandb. com")
  100. 100. @cptntommy =REGEXREPLACE(A2,"^https ://www.greenandblacks.co .uk","https://www.gandb. com")
  101. 101. @cptntommy =REGEXREPLACE(A2,"^https ://www.greenandblacks.co .uk","https://www.gandb. com") What we’d like to run the formula on
  102. 102. @cptntommy =REGEXREPLACE(A2,"^https ://www.greenandblacks.co .uk","https://www.gandb. com") The REGEX that we’d like to match
  103. 103. @cptntommy "^(http://|https://|http ://www.|https://www.)gre enandblacks.co.uk" We could also take non-www versions of URLs into account here
  104. 104. @cptntommy =REGEXREPLACE(A2,"^https ://www.greenandblacks.co .uk","https://www.gandb. com") What we’d like to replace the REGEX with
  105. 105. @cptntommy
  106. 106. @cptntommy This has so many potential uses & applications
  107. 107. @cptntommy Product name changes Category moves Redirect mapping Testing additional modifiers in meta data …
  108. 108. @cptntommy Translate
  109. 109. @cptntommy Google Sheets has a direct line to Google Translate
  110. 110. @cptntommy Which is incredibly useful for quick checks
  111. 111. @cptntommy Or even keyword research
  112. 112. @cptntommy For example, let’s translate: EN - ES
  113. 113. @cptntommy
  114. 114. @cptntommy =GOOGLETRANSLATE (B2,"en","es")
  115. 115. @cptntommy =GOOGLETRANSLATE (B2,"en","es")
  116. 116. @cptntommy =GOOGLETRANSLATE (B2,"en","es") The cell we’d like to translate
  117. 117. @cptntommy =GOOGLETRANSLATE (B2,"en","es") The language that it’s in
  118. 118. @cptntommy =GOOGLETRANSLATE (B2,"en","es") The language we’d like it in
  119. 119. @cptntommy
  120. 120. @cptntommy However, we’d like to remove the brand name from translation
  121. 121. @cptntommy We could split the cell, or find & replace the translated brand name
  122. 122. @cptntommy OR
  123. 123. @cptntommy Combine with REGEXEXTRACT to remove brand name
  124. 124. @cptntommy =GOOGLETRANSLATE (REGEXEXTRACT (B2,"(.*)| Green and Black's"),"en","es")
  125. 125. @cptntommy =GOOGLETRANSLATE (REGEXEXTRACT (B2,"(.*)| Green and Black's"),"en","es") The value to run REGEX on
  126. 126. @cptntommy =GOOGLETRANSLATE (REGEXEXTRACT (B2,"(.*)| Green and Black's"),"en","es") Our REGEX Expression
  127. 127. @cptntommy =GOOGLETRANSLATE (REGEXEXTRACT (B2,"(.*)| Green and Black's"),"en","es") Extract everything before “| Green and …”
  128. 128. @cptntommy =GOOGLETRANSLATE (REGEXEXTRACT (B2,"(.*)| Green and Black's"),"en","es") Then translate into Spanish from English
  129. 129. @cptntommy
  130. 130. @cptntommy
  131. 131. @cptntommy Tracking Spreadsheet Views In GA
  132. 132. @cptntommy I found this idea while looking for something completely different
  133. 133. @cptntommy Involves using Apps Script Editor
  134. 134. @cptntommy For those familiar with GA
  135. 135. @cptntommy You are provided with a JS snippet to add to your website
  136. 136. @cptntommy Now gtag.js Used to be UA- 12345
  137. 137. @cptntommy This ‘hack’ involves writing a custom function
  138. 138. @cptntommy
  139. 139. @cptntommy This takes advantage of the =IMAGE formula
  140. 140. @cptntommy =IMAGE(https://www.bluearray.co.u k/wp- content/uploads/2021/06/mtt-tom- pool_edit.jpg)
  141. 141. @cptntommy
  142. 142. @cptntommy
  143. 143. @cptntommy Save this function code
  144. 144. @cptntommy
  145. 145. @cptntommy =IMAGE(GOOGLEANALYTICS ("UA-12345-67","Sample Formulae","GA")) Using the custom function
  146. 146. @cptntommy =IMAGE(GOOGLEANALYTICS ("UA-12345-67","Sample Formulae","GA")) Specifying the UA- value
  147. 147. @cptntommy =IMAGE(GOOGLEANALYTICS ("UA-12345-67","Sample Formulae","GA")) Specifying the spreadsheet
  148. 148. @cptntommy =IMAGE(GOOGLEANALYTICS ("UA-12345-67","Sample Formulae","GA")) Specifying the individual sheet
  149. 149. @cptntommy You’ll probably want to put the formula in a cell that’s not going to be overwritten
  150. 150. @cptntommy Dashboard building with Query
  151. 151. @cptntommy Google Sheets has something very similar to SQL
  152. 152. @cptntommy Can be used to build dashboards
  153. 153. @cptntommy Highlighting things such as
  154. 154. @cptntommy Top ten category pages Top ten products by number of links Most popular pages Average page views within a category Keywords by pre-defined category
  155. 155. @cptntommy Incredibly valuable, especially if you have data that changes a lot!
  156. 156. @cptntommy Or (like me) you just love data
  157. 157. @cptntommy Let’s have a look at the first example
  158. 158. @cptntommy And build the start of a dashboard, showing the top ten ‘gift idea’ pages, by number of referring URLs
  159. 159. @cptntommy =QUERY('G&B Majestic Data'!A:G)
  160. 160. @cptntommy
  161. 161. @cptntommy If you know SQL, the next steps should look familiar!
  162. 162. @cptntommy =QUERY('G&B Majestic Data'!A:G, "SELECT B, F")
  163. 163. @cptntommy
  164. 164. @cptntommy
  165. 165. @cptntommy =QUERY('G&B Majestic Data'!A:G, "SELECT B, F ORDER BY F DESC")
  166. 166. @cptntommy
  167. 167. @cptntommy =QUERY('G&B Majestic Data'!A:G,"SELECT B, F WHERE B CONTAINS '/gift-ideas/' ORDER BY F DESC")
  168. 168. @cptntommy
  169. 169. @cptntommy =QUERY('G&B Majestic Data'!A:G,"SELECT B, F WHERE B CONTAINS '/gift-ideas/' ORDER BY F DESC LIMIT 10")
  170. 170. @cptntommy
  171. 171. @cptntommy Using some further formula wrapping & QUERY magic
  172. 172. @cptntommy =ARRAYFORMULA(SUBSTITUTE(QUERY( 'G&B Majestic Data'!A:G,"SELECT B, F WHERE B CONTAINS '/gift- ideas/' ORDER BY F DESC LIMIT 10 LABEL B 'Most Popular /gift- ideas/ URLs', F 'Incoming Links'"),"https://www.greenandb lacks.co.uk/gift-ideas",""))
  173. 173. @cptntommy I’m not going to go through that painful formula - but I’ll show the results
  174. 174. @cptntommy
  175. 175. @cptntommy You can then insert a chart to visualise that lovely data
  176. 176. @cptntommy
  177. 177. @cptntommy Query can be used for any sort of bulk data analysis & insight extraction
  178. 178. @cptntommy Recapping the last few minutes
  179. 179. @cptntommy We’ve looked at
  180. 180. @cptntommy How we can use Google Sheets
  181. 181. @cptntommy And a number of different formulae that we can use
  182. 182. @cptntommy To turbocharge insights that we can glean from SEO datasets
  183. 183. @cptntommy Closing thoughts
  184. 184. @cptntommy Google sheets is powerful.
  185. 185. @cptntommy Consider how you can improve processes, increase efficiency and ultimately, help improve overall productivity!
  186. 186. @cptntommy Thank You

×