1. Podcasts
  2. Search with Candour
  3. Automating SEO With ChatGPT + Python (Seb Atkinson) & Google Exploit Insights (Mark Williams-Cook)
Search with Candour

14 Sep 2026 · 50m · 16 chapters

Episode artwork

Automating SEO With ChatGPT + Python (Seb Atkinson) & Google Exploit Insights (Mark Williams-Cook) | Search with Candour

In short

Two Search Norwich talks replayed on Search with Candour. Seb Atkinson explains using ChatGPT (Plus) with Python/Google Colab to automate SEO data tasks, including CSV merging, URL parsing, and a workflow to find multinational pages ranking in the wrong country using Search Console, Botify exports, and hreflang data. Mark Williams-Cook argues for “conceptual models” of SEO and describes “Google exploit insights” from a Google endpoint they reported via the Vulnerability Reward Program, plus how Google’s ranking process uses query-dependent post-ranking signals and predicted click probability.

Guests (backgrounds)

  • Seb Atkinson: local SEO; drum kit musician; focuses on automating SEO/data analysis with Python.
  • Mark Williams-Cook: SEO speaker; shared findings from a discovered Google exploit; emphasizes models, query classes, and site quality.

Key claims

  • ChatGPT Code Interpreter + Colab can generate reusable SEO scripts for beginners.
  • Google uses predicted click probability in a post-ranking stage, and has a site quality score (0–1) that gates eligibility for rich results/PAAs (threshold ~0.4).
  • Exploit data suggests Google computes consensus scores and uses query classifiers (e.g., debunking, YMYL) and query classes (notably short fact/bool).

Notable examples

  • Finding UK-misranking pages lacking UK hreflang to hand to writers.
  • Theme Park “salt the chips” analogy for exploiting undocumented levers.
  • A 2022 “helpful content” shift: AI/spam on new domains; current meta favoring authoritative brands (example: LinkedIn Pulse AI-written loan content ranking for many keywords).

Written by AI. May contain mistakes.

Chapters

2:26

Introduction to Talks

Introduction to the talks presented by Mark Williams Cook and Seb Atkinson.

“And I'm going to play some talks for you now.”
2:39

Mark's Experience with Automation

Mark discusses his motivation for automating SEO processes and shares his journey with Python and ChatGPT.

“You've already seen the title for my talk.”
4:35

Getting Started with ChatGPT

Mark explains how to get started with ChatGPT and its features for SEO tasks.

“So the clue is in the title of my talk because that person turned out to be ChatGPT.”
5:04

First Example: Joining CSVs

Mark demonstrates how to join two CSV files using a Python script.

“More specifically, you need to have the plus subscription.”
7:39

Second Example: Extracting URL Folders

Mark shows how to extract specific folder information from URLs using a Python script.

“So that's saved a bit of time, and it's something I can use again and again.”
8:41

Third Example: Identifying Wrong Country Pages

Mark explains how to identify pages ranking in the wrong country on multinational websites.

“Anyway, so this is a multinational website.”
12:48

Step-by-Step CSV Processing

Mark outlines the steps for processing CSV data to identify pages needing UK versions.

“So, one thing I like to do is try and break this down into blocks and if you've used Colab before you'll know it uses these code blocks.”
14:00

Automating SEO Tasks with ChatGPT and Python

Learn how to use ChatGPT and Python for effective SEO automation.

“And we can tell ChatGPT that's what we want.”
20:30

Conceptual Models of SEO and Google Exploits

Explore how conceptual models can enhance your SEO strategies and understanding.

“I'm going to talk to you about possibly the most boring title we've ever had at Search which is conceptual models of SEO and Google exploits.”
28:01

Understanding the Meta in SEO

Learn how the concept of 'meta' from gaming parallels SEO dynamics.

“This is referred to in online gaming as the meta.”
Show all 16 chapters
29:31

Google's Helpful Content Update Explained

Explore the implications of Google's updates on search rankings.

“So we're going to talk about models and how we add to our own model of how Google works.”
30:59

Decoding Google's Ranking Models

Understand the phases of Google's ranking and how they interpret user interactions.

“Why it's helpful to know something like this is you get Googlers, such as Gary Iesh, say we don't use click-through rate directly in ranking.”
33:16

Evaluating Ranking Factors: The Bounce Rate Debate

Delve into the controversies surrounding bounce rate as a ranking factor.

“So let's play a game of traffic lights, otherwise known as, is it a ranking factor?”
35:29

Insights from Google Exploit Facts

Gain insights into Google's data handling and query classification.

“So we're on very quickly now to Google exploit facts for your models.”
38:54

The Impact of Site Quality Scores on SEO

Discover how subdomain quality scores affect eligibility for rich search results.

“There's a newsiness score for how related to news the query is.”
42:00

Understanding Google's Site Quality Score

Learn about Google's site quality score and its impact on SEO rankings.

“Pikachu moment was Google had what they called a site quality score.”
A man walking through an airport, asking his phone a question

Ask about this episode

Get the gist, explore an idea or ask about something said.

Claude

On Search with Candour, what are the key points of this episode?

Searching your listening

Transcript

Automatic transcript. May contain errors.

0:00Hello and welcome to this week's episode of Search With Candor. I am Jack Chambers-Ward, your host as always, and we're continuing the hype for Search Norwich Excel coming up in less than two weeks on the 24th of September, 2026. I'm going to share a couple more talks from previous Search Norwich events. Two local brilliant SEOs. One, you definitely know, and one who has been on the show before and you should know. I'm going to share Mark Williams Cook's talk from Search Norwich a couple of years ago. It's really great. You've probably seen it already. It's the most watched Search Norwich talk in history.

0:38He details a lot about the Google exploit that our team discovered a little while ago. It's a brilliant talk and kind of highlights the quality of the talks that we have from our team and our speakers here in Norwich. And another local SEO who is brilliant and has been on the show before, Seb Atkinson. He can talk about some automation processes for content that I think are really, really relevant and really useful still to this day. Two amazing talks from previous Search Norwich events. Mark Williams Cook, Seb Atkinson coming up on this week's episode. If you want to check out Search Norwich Excel, we are running it, like I said, on the 24th of September 2026.

1:19You can get tickets for£175 is the maximum. You can use the code SWCPodcast to get 20 % off if you want to get cheaper tickets. I even have a few free tickets still available, so if you want a free ticket, send me a message. I'm jack at withcanda.co.uk or you can DM me on LinkedIn or whatever, you know, get in contact in some way. Leave a comment down below and I can get in contact directly as well. And yeah, we've got an amazing lineup. We've got eight talks. We've got a panel. We've got speakers, including Arnett Hellmans and Julia Bonazzo, Miriam Gessier, Martin Split from Google, Estella Franco, who also we got, oh, Charlie Marchand and a bunch of other brilliant speakers.

2:02And yeah, it's going to be an amazing event. We've got food. We've got our brilliant sponsors like White Press, Screaming Frog, Essie Ranking, Peak AI. It's going to be brilliant. I really, really recommend and you can really come and enjoy the whole experience and enjoy the whole event here in Norwich at the Matter Market Theatre in less than two weeks. And I'm going to play some talks for you now. Enjoy Mark Williams Cook and Seb Atkinson from previous Search Norwich events.

2:39Hi everyone, well Mark's already given the intro, so thanks, very kind. You've already seen the title for my talk. A little bit about me, I'm going to skip the SEO stuff. This is me at Holly, somewhere in Rajasthan. I love travel, I just found the biggest Kingfisher bottle I could. When I'm not travelling, I'm usually behind the drum kit, annoying my neighbors and basically my musical style is like Dave Grohl mixed with Phil Collins' haircut. Okay, so yeah, why did I want to try and automate my SEO processes and data analysis? Well, primarily I just wanted to save time by eliminating some of the setup time involved with dealing with spreadsheets.

3:25And I thought if I could save time by eliminating the admin, I could set up repeatable templates and just get more consistent analysis and it would be more useful. And more importantly, that would just allow me to spend more time on the important tasks instead of just boring admin. So I've tried to learn Python with platforms like Code Academy before, but the problem is that you have to just do everything yourself. You have to actually learn. It's quite difficult. but one of the main problems I found was a lot of the courses just aren't SEO specific. So I found it quite difficult to apply what I'd learnt to the day job and I also found that a lot of the courses are quite repetitive so you'll just do something really basic over and over and over and suddenly it just ramps up in difficulty.

4:14So I found it really difficult to just persist with that to be honest. It didn't fit with my day job directly. It felt like I'd have to do a lot of work just to get to a point where I could get anything out of it. So really I just got a lesson in frustration to be honest. I just wanted to skip to the end where I knew how to use Python to achieve my goals. And really I just wanted someone to do it for me. That would be a lot easier. So the clue is in the title of my talk because that person turned out to be ChatGPT. So today I'm going to show you how you can get started if you're a complete beginner like I was, probably still am actually.

4:50I'll give you three examples of how I automated some SEO tasks. Finally, I'm going to share some tips on how to get the most out of ChatGPT code interpreter. What do you need to get started? Obviously, you'll need ChatGPT. More specifically, you need to have the plus subscription. I think it's$20 a month. I recommend using using a Python notebook, and the easiest way to get started is Google Colab. It's really easy to get set up. Or Jupyter Notebooks, that's more difficult to get set up. And also, some ideas on the things that you want to automate, and hopefully, I'll give you a couple of starter ideas.

5:31So once you've got your subscription on ChatGPT, you need to turn on Code Interpreter. That's under beta features, as you can see on the screen, hopefully. Get Google Colab. If you're already on Google Workspace, it's free, so great. This is where you're going to run your scripts. If you've used ChatGPT before, you'll probably know you can run the scripts directly in ChatGPT. The reason why I use Colab is because I can then share the scripts with my colleagues, I can make repeatable templates, and also I can just cancel my ChatGPT subscription if I want to. But also, it helps you keep control of your data because some companies obviously don't want you putting your data into like a third party platform.

6:16So yeah, this helps you keep control of your data. So moving on to my first example, this is a really simple one. This is the first script I ever did with this. So this is for complete beginners. The goal of this one is just to join two CSVs together. And of course, you could use a VLOOKUP to do this, but it's a little bit fiddly. And I thought that maybe there's a way to do this quicker with a Python script. So yeah, first step, you have to write your prompt. So very simply, you just describe what it should do. I recommend telling it where you're going to run it because it makes things a bit easier.

6:53I'll explain a bit more about that later. And also what user inputs to take. So here I've said it has to take two CSVs. I've told it I want like a left join and then I want CSV downloaded.

7:07ChatGPT will give you the output, it will run you through what the script does and then it will give you the code. All you have to do is click on copy code, paste it into Colab, hit the run button, it will do its thing. Then here's what it does. It's a little bit small, sorry about that, but it takes the two CSVs on the left, it combines them. So this is CSV with URLs, with rows of data, and it will append the extra column to the end, and then you get your output. So that's saved a bit of time, and it's something I can use again and again. Example two, this is also quite a simple one. So for this one, the goal is simply to extract the folder from the URL.

7:53So of course, this is quite simple with a spreadsheet, because you can use the text columns feature. But again, I thought this might be something that's quicker done with a script. So here's the prompt I wrote. I specified the text I want to extract. So in this example, I said pull out the text between the fourth and the fifth slash. That's where the text is, the category folder that I want to pull out. And then here's the output. So again, it just runs it through. What it does, you can click copy code, paste it into Colab, and then this is what you get. So on the left, you've got the original CSV, and then it's pulled out the category, which is between the fourth and the fifth slash, and it's created a new column for that at the end.

8:41So those were two very simple scripts. I'm going to give you something a bit more complex with example three and they are in order this is the third album and if there's any fans in building and so this one's a lot more complex so let's see what we can do try and make it a bit more difficult so this time the goal is to identify pages that rank in the wrong country on a multinational website so to drill into the scenario a bit more my emojis have been taken off i had really nice emojis. Anyway, so this is a multinational website. It's got a folder for each country. I've got anecdotal evidence that maybe my Canadian pages or my Australian pages could be ranking in the UK.

9:25And I want to find out if this is actually happening. And also I want to know why. So specifically, is that because my website doesn't have pages for the UK on those topics? So, the first step is to think about what data you need. So, obviously, I know Search Console can give me clicks and impressions and average position. So, that's going to be quite useful. I need to know the full URL because I want to identify pages that are ranking countries. I don't just want to look at keywords. And I also need to know what the hreflang tags are on those pages or even if they exist on those pages. And for anyone who doesn't know, hreflang tags is the tags that we use to tell Google what language or country specific pages are targeted towards.

10:13So it helps Google serve the right page for the right user based on where they are and the language they speak. So I decided to pull the data from Botify. Of course, you can use other tools. One of the benefits I've found with Botify is you can combine multiple search console folders into one and it will de-dupe them. And that's really important for big websites because you get a lot of data sampling when you're dealing with low traffic pages. This is a good way to get around that. So with Botify, if you're using it, you just have to add a column for your URL and then you can export that as a CSV.

10:56I also need to have the hreflang data. So I use the site crawler and then I had one column for URLs and the other column was hreflang tags. And specifically I used the JSON format because what that does is you have one row per URL and then you have all of the hreflang tags in that one cell associated with each page. So it makes it really easy to extract. So with the data out of the way, you then need to work out what the steps are to process it. Probably the worst pun I've got on the deck, so apologies. So to start with, we already know how to combine CSVs together. So that was example one. We need to join those two CSVs together to get all into one sheet.

11:44Next we need to filter out the URLs appearing in the correct country. And if you remember remember that's because we don't really care about the UK URLs. We want to look at URLs from other countries that shouldn't be ranking in the UK or because there are no UK versions. So we only care about the wrong country pages. We also want to identify pages ranking in the wrong country that do not have hflang tags for the chosen region. Because again, we're looking for groups of pages that exist in other languages but don't have an equivalent for the UK because I want to basically get a list of these pages I can give to my writers and say, hey, go and write a UK version of this to make it a bit more suitable for a UK audience.

12:28And of course, we then need to consolidate the data by URL and not by keyword because I'm interested in individual pages and how they perform. And then finally, we want to download the CSV because I want to be able to analyse data and then send that list to my writers who can then hopefully write some great content. So, one thing I like to do is try and break this down into blocks and if you've used Colab before you'll know it uses these code blocks. So you can break down your code into sections, you can hit run one by one through them, it will tell you when each code is done and then it also makes it easier to work out if anything's broken and where it's broken.

13:10So I also broke the prompts down into segments as well. So the first prompt, I wanted to join the CSVs. And as I said, we already know how to do that from example one. So here's that prompt again, and I've just refined it a bit more to be specific to this one. So I want to do a left join from the first CSV to join the second CSV onto it. And then I save that as a data frame. And this is the script it's generated. That's in Google Colab. The next segment, I want to filter out the correct URLs. because again we want to just look at the examples, the URLs from other pages that aren't UK. And also we want this tool to be reusable.

13:51So we want to be able to have the user select the country they're auditing and then filter the table based on the user's input. And we can tell ChatGPT that's what we want. So I've basically told it accept the user input to choose the region that you want to audit and then I've told it exactly how to filter the table based on that full URL column depending on is there like a UK folder on the URL or an Australian folder or Canadian folder and so forth. Once again copy the output into Colab and then finally block three there's two things we want to do here. So first of all I want to consolidate all the keyword data by URL because that's what I'm interested in.

14:37So that's the first thing we want to do. The other part is we want to ignore any mention of DB in hflang. We just want to erase all trace of DB. Rexiteers hate this slide, especially when there's a union flag on it. So here's the prompt I use to achieve that. So I told it to take that data frame that we had from the previous block and then it refers to the selected site value which is the bit where I said I've got a user input choosing a country and then I told it how I want to have the output rearranged into the URL structure and not by keyword structure. And then I've also told it what headings I want each heading to be called.

15:22So once again I've copied that into CoLab and then finally I put it all together. So I've got the three code cells. They're hidden here, but they just run in order. And what you do is you just press run, wait for the green tick, hopefully it'll work, keep going through it until it's done, and it spits out CSV. And here's one I've made earlier. So it is very small. I apologize for that. But what it's saying is I've now got all the data rearranged. So I've got a list of my URLs. There's no UK pages in there. None of them are paired with UK pages with page reflang. It's telling me the total impressions that they're getting in the UK.

15:58because I've filtered it so it's only UK data from Search Console. I've got the total clicks they're getting in the UK. I can then just sort this by size. I can have a look at the pages and make sure, you know, could my writers create something more useful for the UK based on this, and then I can send that over to them and have them write some content. So hopefully that gives you a good idea of what can be achieved with ChatGPT and Python. So I'm going to share some tips on what I've learned if you want to try this for yourself. So, first of all, tell it where you'll be running the code. So it helps to ensure that the features work as expected.

16:35So the main example I came across was if I say I want the code to run in Colab, it will use the file uploader and downloader, and it just makes it easier because you don't have to find the folder where you need to upload your data to and download it again. You can just have it downloaded into a downloads folder, nice and easy. Become familiar with Python taxonomy. I found it helpful to become familiar with this because it just helps you explain exactly what you want and obviously to start with that's going to be difficult because you haven't got much experience but it will help you get the results you want with fewer revisions over time and the good thing is you can just ask chat GPT these questions.

17:12No need to invest in a separate Python course for this. If you're not sure what to do but you have an idea you can just ask chat GPT how to do it. So an example here I've asked it you know how can I check a list of URLs of hreflang tags and check if they're correct and it's given me some ideas and it gives me some code so I can try the code out I could then refine my question and hopefully get something better by just learning a bit more about it. You will come into troubleshooting issues I've not covered it in the demo because I wanted to keep it simple but I'm just going to go through some of the things you might come across.

17:51So if you get error messages, you can just copy and paste them into ChatGPT and ask it how to solve it. So, yeah, even if ChatGPT has created it, you can just say it didn't work. It will try and fix it. It's very polite, and it's good to be polite back to it because, obviously, you still want the job after the robot apocalypse. So, yeah. You can also just regenerate your prompt. So if you go to the top, you can see there's a little pencil icon. And let's say the output doesn't work, but you can't figure out how to fix it. You can just edit that. If your new version doesn't work, you can use the arrows to go back to what you already had and try again.

18:34You can also just paste code in from your, you know, take it from Colab. Or even if you find scripts online, you can paste it in and ask it, what does the code do? So that's really helpful if you're stuck. You can't really work out what's going on. You can just paste it in. And just by going through that, you can learn a bit more about Python and how it works. So it will give you a summary of the code, and it will break it down step by step, explaining what it does. It's a really good part of building your understanding. And occasionally I've found ChatGPT might also break other things if you ask for certain amends.

19:06So you might say, I want to fix this thing. It might actually change something completely different on the code. So it's a good idea to just compare the two and make sure the things that you expected to change have changed, but everything else is untouched. And obviously, if it doesn't work like that, you can just go back through some of these other steps to refine it. And to finish off, just two general tips, really. One, create versions of your files. With a notebook, you can also annotate them. So if you've got code blocks, you can annotate them with what you did to get it. You could put your prompt in there as well.

19:40It just keeps it quite neat. And also, by saving different versions, you can roll back to previous versions of your script. So one of my scripts, I spent a long time working on it. I then tried to improve it, and I realized I hadn't saved my original version of it. So I lost loads of work. And finally, don't share your API keys. Because if you're, let's say you want to use a custom search engine from Google, and you put your API key in, and then you share it with lots of people, they're going to be running up a bill with your data. So don't do that. Yeah, and that's everything from me. So I hope that was a useful introduction to some of the things you can do to get started with Coding Cerebriter to automate your ratio tasks and data analysis.

20:20I think we're going to questions.

20:31Mark Williams-Cook: So thank you all for coming. I'm going to talk to you about possibly the most boring title we've ever had at Search which is conceptual models of SEO and Google exploits. And to start, I'm going to show you about conceptual models because it's easier than trying to explain. And I've brought my famous tennis ball that comes with me everywhere because I want you to take part in a science experiment with me, which is very simple. I just want you to imagine if I drop this normal tennis ball, how high you think it's going to bounce. So put your hand up if you think it will bounce this high. Put your hand up if you think it's going to bounce about this high.

21:13Mark Williams-Cook: What, lower? Okay, I'm just going to do it. We'll find out. Look at this, amazing, underwhelming. About that. My point here is there is a way, of course, to calculate this with the coefficient of restitution. And I'm sure none of you did that in your head. You used a conceptual model that you have because you know floor hard, tennis ball kind of squishy things accelerate when you drop them and you've seen some tennis balls bounce before. And my pitch to you is you can do SEO in a similar way with conceptual models. And in fact, this is what advanced SEO is. Advanced SEO is all the tiny bits of information that you pick up, understanding how certain things work, hearing what people like Brendan were saying, and stitching them together into a model.

22:00Mark Williams-Cook: To me, that's what advanced SEO is. It's great understanding things like vector embeddings, but it's not going to tell you what is and what is not going to rank. And that's what I want to talk to you about. So if you're a brand new, fresh-faced in SEO, and you're like this chap, I'm going to hopefully change the way you think about SEO. If you have a few years under your belt in SEO, and you look a bit more like this, I'm going to teach you how to add to your conceptual models to build a reliable way of knowing what you should be doing in SEO. Or if you are like Brendan, a veteran SEO living their best life, enjoying all of the work they're doing.

22:36Mark Williams-Cook: And by the way, hello to all the clients in the room that watch Brendan's talk. You must be the nice ones because you're still with us. I'm going to go through, for those who don't know, we found the Google exploit last year. And we got lots of interesting information from that, which I'm going to share some with you in this talk. But I want to start off talking about games because I play lots of games, but I play games in a weird way, which is I think about them as optimization problems rather than having fun. So I will never play you at Connect Four because I know if you start and you go in the middle column, it takes 41 turns to force a win.

23:15Mark Williams-Cook: So it's a solved game. I'll probably never play you at Monopoly because where you move is determined by the distribution of two dice rolls, which has this bias. So you can make a heat map when you take into account the chance cards of where people are going to land and therefore you just know where to buy properties. so it's not particularly fun to play. So what do we learn from this, apart from I'm a very unfun person to invite to your board game evening? It's that there is a game, actually, and you may laugh at this, that I think taught me more professionally than many actual qualifications I did, which is this game.

23:48Mark Williams-Cook: It was released in 1996, and it's called Theme Park. It's kind of a simulation game about running a theme park. There's all kinds of really interesting variables you can affect, which change your optimization outcome, which is you're meant to make as much money as possible in this game. And this game is really similar to SEO for lots of reasons. You're optimizing to get the most amount of visitors. You're optimizing for them to have a good time. You look at things like how long they spend in your park. Lots of things SEOs talk about. And like Google, there are documented and undocumented things you can do to affect the outcome.

24:27Mark Williams-Cook: So an example in theme park is you can change the ticket price which if you put the ticket price up you make more money up until a certain point where people are like oh it's too expensive I'm not coming. Just like Google has provided us with documented advice about you can optimize your title tag and put keywords in it but you know you can't put 500 words in your title tag it doesn't work that way. But the really interesting thing about this game for me and why I end up loving it was the undocumented things you can do to optimize. So in this game you can have little shops and they sell french fries, sell chips right, but I found you can control the amount of salt you put on the chips and if you put lots of salt on the chips people get thirsty, really thirsty.

25:10Mark Williams-Cook: So you can make the chips really cheap and then you put a drink shop just down the road and charge five times as much for the drinks and people buy them because they're so goddamn and thirsty. So it's like this undocumented way to change your outcome and Google has these as well. So Google's most obvious example I think is anchor text, the words you use in the text when you link to web pages. Google really never told us about this but as a community we figured out it was a really powerful way to change how your website ranked. Unfortunately in Think Park if you put way too much salt in your chips people puke.

25:44Mark Williams-Cook: I found that out as well. And if you really overdid the anchor text thing, you would actually get a penalty from Google. That was the penguin algorithm we spoke about. But what really fascinated me was the advice, the strategic advice. In the manual, Theme Park said, just aim to build the most fun theme park your guests will love. And it really reminded me of what Google tells us, which is, just make really good, helpful content for your users. And this is the framework of our conceptual model, right, which is Google tells you to make helpful content. And I'm certainly not saying this is a bad thing.

26:18Mark Williams-Cook: You should absolutely do this. But the Google algorithm has a target. And if you think that target is helpful content, you will probably find out, like many people, you will spend ages making helpful content and find out you don't actually rank. This is because there are other forces pulling on this, which, in Google's case, is making ungodly amounts of money. which we've learned. And the result is the algorithm reality is somewhere in the middle, right? Yeah, they want helpful content, but they also want to make as much money as possible. I did have examples of this, but then Google got found to be a monopoly, so I don't have to bother proving it because it's factually true now.

27:00Mark Williams-Cook: But this is the same as theme park, right? Just make fun rides, but I'm going to salt the hell out of the chips because my optimization goal is to make as much money. And this is the way you can think about SEO. So if this is the ranking reality, why is SEO not super simple? And part of the reason is it turns out it's very difficult to index and order all of the information in the world. It's a tricky thing to do. So Google, while that might be their target, there is a margin of error. And these are addressed with Google updates. So generally what will happen is Google will do an update and it will maybe veer itself off course.

27:41Mark Williams-Cook: They'll gather data about why that is or the web kind of changes. They do another update which fixes that and creates some other kind of issue. And the interesting thing is at each one of these junctures, sometimes they land near the middle line, but when they're way out it normally means there's something exploitable in the algorithm you can do. And this is referred to, so if there are any gamers here, you'll be enjoying this. This is referred to in online gaming as the meta. Does anyone know what that term means in gaming? A few people. A few people obviously, like, worried to out themselves.

28:14Mark Williams-Cook: So the meta is generally the term used when in competitive online gaming, the optimal way of playing the game is discovered, the optimal equipment to use, the optimal strategy. And what happens is everyone starts playing with that strategy and doing that thing. And as a result, the game becomes less fun. so the developers of the game release updates to change the rules slightly to make it more competitive so they change the meta this is exactly what happens with seo we kind of figure out what the meta is then over optimize it and then google's like hmm the results probably aren't as good as they should be because all these seos are there so they change the rules and i say this because i can provide evidence at brighton seo in 2022 i gave this example of multiple sites going from zero to over a million visitors in 16 weeks on brand new domains just using zero volume keywords and basically spamming out AI content.

29:13Mark Williams-Cook: And that was because of recent Google updates had left this as like a big open goal for them. We had a whole second renaissance in niche blogging, i.e. people just setting up blogs and they found anything ranked really easily. And Google was just kind of like, whoops, probably shouldn't be doing that. and their fix for this was the helpful content update which you can see the algorithm running here this is behind the scenes and it's selecting Reddit there that's Reddit, that's Forbes, that's Quora being carefully selected as the sites that should rank so what happened was Google essentially started doing the opposite it became very difficult to rank unless you were these big authoritative sites so that is the current meta which is this site reputation abuse Currently LinkedIn ranks for 94 ,000 loans keywords in the US and by LinkedIn I mean these pulse articles which are written by AI by people that don't exist this is Judith and this is all the content she's written about loans in the last 24 hours right and Google's just like this is really helpful I'm gonna rank this it's millions and millions of traffic that's like valuable traffic This is LinkedIn, you know.

30:30Mark Williams-Cook: So this is where the current meta is. So we're going to talk about models and how we add to our own model of how Google works. There is this, which is a terrifying thing by Dr. Mario Fisher, which he put together. This is his model after working in the industry for many years about how he thinks Google works. I can see some people grimacing in the audience. You should be. It's terrifying. And don't worry. what I'm going to say to you is you can use really simple models as well and this will help you decode what Google is saying. So this is an example of a model you can use which is you know there is a ranking stage to Google which is this slow thing that's site centric and they're scoring sites and web pages and then before you see the results there is a post ranking phase which is query dependent so it depends on what people search for and where they might adjust the results based on things like user interaction.

31:26Mark Williams-Cook: Why it's helpful to know something like this is you get Googlers, such as Gary Iesh, say we don't use click-through rate directly in ranking. And then lots of SEOs come out and argue because we've done tests and we found when we pay people to click on this result all the time, it shoots to number one. And you say you don't use it in ranking. Now, both of these things can be true. Technically. Technically. It's all down to wording. So there is a ranking phase where Google does not care how much your site was clicked on or was not clicked on. They do have a predicted click-through rate, which I'll talk about later.

32:04Mark Williams-Cook: But in post-ranking, which is they've decided for this keyword, this is how I'm going to rank the pages. They do look at how people interact with the SERP. And they told us why they do this in the DOJ trial, the antitrust trial. They gave the example of if they have a search result for nice pictures, and then there was a terrorist attack in France, and people are Googling nice pictures, and they're clicking on something completely different, this defies what Google would expect massively, so they re-rank the queries. And just like every experiment you see with click-through rate manipulation, when the manipulation stops, the rankings return to what they were originally ranked as.

32:46Mark Williams-Cook: So technically, we don't use click-through rate directly in ranking is true. Our questions are bad, and we think of everything before we see the result as ranking. So I always say, if a Googler is saying something to you that is opposite to how you believe Google works, it's probably some kind of nuance that you don't understand, rather than the Googler is lying. I haven't ever personally seen a Googler intentionally lying, but they are sneaky. I will give them that. So let's play a game of traffic lights, otherwise known as, is it a ranking factor? Because this is always something we talk about in SEO, right?

33:24Mark Williams-Cook: And I'm going to run through this example with bounce rate, Google Analytics bounce rate, to be very specific. Because whenever I post about this, I will always get people argue with me about it. So there are three rules that I apply to anything before I add it to my kind of mental model of how Google works. which is firstly really obvious does it make sense right bounce rates on your Google Analytics is something fully under your control you can make the bounce rate of the page a hundred percent you can make it a zero you can make it 50 it doesn't make a lot of sense for Google to rank a site on something that you have full control over like that as a metric so I don't think off the bat and I can't even tell you what a good bounce rate would be because if you're Googling some really specific bit of information, you load up a page, you spend five minutes reading it, you're like, that's what I wanted to know, and you leave.

34:18Mark Williams-Cook: That's 100 % bounce because you haven't done anything, but you've had a really good experience. So to me, it doesn't make sense. Does it scale is a really important question. Whatever you're saying, Google uses as a ranking factor. It has to scale across the web. Now, initially, I was like, well, no, bounce rate doesn't scale because not all sites have Google Analytics on. When I thought about it a bit more deeply, they've probably got enough data that they could build a model to give a good guess on what bounce rate is. So I'd give that a maybe someone that knows more than me might be able to explain how they could do that.

34:53Mark Williams-Cook: And lastly, is there any evidence? Evidence comes in all shapes and sizes. Evidence is things Googlers tell us they are doing or not doing clearly. It comes in patents. Now, while there might be a patent for something, it doesn't mean that's actually in search, but it's good supporting evidence. Tools like Sistrix, SEMrush, Hruffs do big data studies where they can show us correlation. Again, correlation doesn't equal causation, but it's supporting evidence. There is basically no supporting evidence that I've found that's compelling for bounce rate. So it's a definite no-no to me. These three questions, ask them for everything.

35:27Mark Williams-Cook: We have a discussion. I wonder if Google uses this as a ranking factor. So we're on very quickly now to Google exploit facts for your models. So this is for maybe experienced SEOs. These are things that we found. So our team found basically a Google endpoint. Google has these endpoints that talk to each other, that send data to each other. And they do this in a format called protobuf. Does anyone know what protobufs are? No, protobufs are basically a super shorthand-like code that Google uses where they have almost like a translation file where they're like, yeah, if I say pigeon, it actually means this 100-word function.

36:12Mark Williams-Cook: And it lets them send information across their endpoints really fast because it's like a compressed data source. We found a Google endpoint, and we very conveniently found that by manipulating some of the network requests, Google would just translate it into plain text for us. Hooray! So we got loads of data. We ended up submitting this a while after we found it to the Google Vulnerability Reward Program. They paid us$13 ,337 because it was a high exploitation risk and it was highly likely to be abused. We gave that money to Brave Futures. So they've benefited from that this year. But we ended up getting two terabytes of data.

37:02Mark Williams-Cook: we identified over 2 ,000 properties Google uses to classify queries and sites and we got this data over 90 million queries. So what did we find? Google has talked before about how they try and work out if information is reliable on the web. And they've talked about this notion of consensus before. And what we found out was Google actually counts the number of passages in content that agree with, contradict, or are neutral to the general consensus. And it will generate a consensus score. That consensus score is likely to impact whether you rank on a specific query or not. Because we also found, interestingly, there are all these classifiers for queries, such as this one, which is, is debunking query.

37:54Mark Williams-Cook: So this is basically Google deciding if what the user's asking is they're trying to debunk misinformation. An example for this is, is the earth flat? Would be classed as a debunking query. And what you'll notice about the results is they are all extremely with the consensus, which is, might be news to you, the earth is roughly a sphere. For different topics where it's more subjective, for political questions, questions, Google intentionally tries to have some consensus, some neutral, some non-consensus. Which is also interesting because it may be that your content is perfect, your site is perfect, but the reason you are not ranking is Google just already has a good site which fulfills that need.

38:39Mark Williams-Cook: And you're not going to rank third and fourth because Google wanted something specifically that didn't agree with the consensus there and you did. So think Think of it like making a good recipe. If you're baking a good cake, there's more ingredients, unfortunately, than just sugar. They have loads of these kinds of classifiers as well. There's a newsiness score for how related to news the query is. There is, unsurprisingly, a medical classifier trigger, which Google have mentioned before when they talk about how they fight disinformation. So Google specifically told us about what they call YMYL queries, which is your money, your life, which is when someone does a query that is about something important, where if Google gets it wrong, it could impact someone's health or finances.

39:27Mark Williams-Cook: And they specifically tell us they weight their algorithm differently when they detect this is a YMYL query. So things that might not be so important somewhere are more important in these types of queries. which is why again there's no generic what works for one website might work for another we also found and I don't think this has ever been published before Google seems to classify almost all queries into one of eight query classes RQ stands for refined query semantic classes which are on the screen I won't read them out what's interesting about this is we looked at the distribution of these over 90 million queries and a huge chunk of them was short fact or bool which stands for booling which means a question that essentially has a yes or no true or false type answer I find this particularly interesting because if you are making kind of you this is where you're getting a lot of your search traffic from I think this is what's going to evaporate with AI overviews that Google are pushing out if it can be answered with a yes or no or it can be answered with one paragraph Google is just going to generate an answer rather than send them to your website because they make more money that way and that's on their their their wants and we're actually building some classifier models where you can type in a query and we'll tell you what we know about it whether what category is if it's why I'm well etc we're sending them out on our newsletter just core updates calm we've already sent out some data.

41:00Mark Williams-Cook: Lastly, the really interesting things we found was there appeared to be a click probability for every organic result, which is what I was talking about earlier, which is Google uses click-through rate to build a prediction model. And they've been doing this for years and actually I owe a half an apology for Kez who brought this up to me once on LinkedIn. I was like, has bullshit, mate. Turns out it wasn't. So it appears that Google does factor in how likely it thinks someone is going to be to click on your result. This would change if we modify the page title. They have a tool that can give you hints about this in the Google Ads Planner because it will tell you an estimated click-through rate there.

41:45Mark Williams-Cook: Again, this is something I'd really like to build a kind of a model for so we can optimise this ahead of time. So again, Google doesn't use click directly in ranking, but they have a prediction and you can perform against that prediction. The real thing that gave me my kind of shocked Pikachu moment was Google had what they called a site quality score. For every single website on a subdomain level, it gave them a score of 0 to 1. And we got this data for 800 ,000 domains and firstly it being on a sub domain level was really interesting because Google's already always said they don't care about sub domains but they do score them and differently and I we did this distribution of the scores we had and you'll notice that site quality here starts at 0.4 it does actually go lower than this this data was grabbed from when we were looking at a specific rich type of result in Google rich results are things like featured snippets people also ask and what we found is if you have a site quality less than 0.4 you are not eligible to get things like featured snippets or PAAs so it doesn't matter what guides you follow when optimizing for these things you won't get them and that's something that became apparent in this algorithm is there's lots of like heat races you need to qualify to get to the next kind of stage in ranking so it doesn't matter what you're doing over here if you're not even in that race because you haven't filled this prerequisite first.

43:19Mark Williams-Cook: So what is site quality? This is the short version of this talk. Basically there is a patent by Google called site quality score which is super helpful. To give you the short version site quality score is calculated based on how many times people specifically search for your website along with other search terms, how often they select your website even when you're not number one and how often your website name or brand name if you want to call it that appears in anchor text around the web so it's essentially kind of like a layman's if you want to call it like brand measurement in a way but what about when there's no user data to tell them this they have a predicting site quality score painting which was super helpful to find and basically they take sites that they have scores for and they build what's called a phrase model which is basically they take the content on the page and turn it into a load of numbers that apparently mean something to smart people and they have like the numerical shape of this website and they can predict how good that site's going to be in terms of how it compares to other sites they know which is why we saw so many visibility graphs like this over the months which is this is a famous ai content abusing site called causal that shot up the rankings and then Google kind of worked out what was going on and it got massively penalized.

44:44Mark Williams-Cook: We've seen that happen a lot and I believe this is because AI content broke this prediction model. So previously if you were spamming content you'd be using techniques called Markov chains or spinning which would be if you read them as a human you could kind of see it didn't feel quite right. That's incredibly easy to detect from a computer point of view. Because of how large language models like chat GPT inherently work with token probability the kind of content they generate because of their training set I believe will score highly on site quality because it's based on good content right it's based on good English so the issue they had and why I think we had the 2022 issue partly was because all these brand new sites were coming on board and Google was doing this quick evaluation of how good do I think the site quality is yeah it looks good yeah you published a hundred thousand pages and Google was like yeah why not and obviously this became a big problem so Google released the helpful content update which essentially makes it almost impossible unless you are a big website known brand and to rank this is also backed up by this is Tom Kappa he did a brilliant study for Moz where he found this site most impacted by the helpful content update were ones with high domain authority metrics that's pretty much like how many links you have and low brand authority metrics so if it looks like you've been doing lots of SEO lots of SEO success but I've never heard of you that's kind of fishy and there was a really obvious correlation to those sites getting penalized and we've even got historic comments from like Eric Schmidt the ex CEO of Google saying brands are the solution not the problem brands are how you sort out the cesspool so we've kind of hit our three things here it makes sense it scales and there's all kind of evidence there's patents there's real world data there's there's large data studies there's Eric Schmidt quotes and we found this with clients where classic SEO metrics are less reliable so this is one of our clients rehabs and it's ranking top for a YM YL type query around addiction it's outranking UCAT which has been around way longer than them it's got like 15 times as many links it's outranking NHS again on all those other metrics from a classical SEO point of view they should be losing but they're not so finally conceptual models help you understand why things are ranking the why is sometimes more important than the how or the how is fun please be cautious when people are telling you things are or are not ranking factors and certainly if it's cares don't just be like no it's bullshit mate because he knows what he's doing and lastly definitely play more video games because they help that's it thanks

47:36and that wraps up this week's episode I hope you enjoyed Mark's talk Seb's talk and I hope you're looking forward to Search Norwich XL coming up at the end of the month as well like I said as soon as this Search Norwich XL little preview season of September is done we're launching into season 5 in October with some amazing guests and some brilliant, really interesting topics around AI search and LLMs. I've got some brilliant episodes I've already recorded and I've got a few look forward to recording over the next couple of weeks as well. If you want to come on the show and talk about AI search, please let me know.

48:13Use the contact details below. Like I mentioned, next week I have somebody who I've been trying to get on the show for a very long time. It's actually a crossover between a podcast I listen to and Search With Candor. Mel Barfield, the host of the Indie Business Club podcast is joining me here in the studio. We actually recorded it earlier today and it was a brilliant conversation. I think it's the longest episode we've ever done. It's an hour and 40 something minutes, something like that. I haven't finished the edit yet, so it's roughly that. And it's a brilliant conversation about personal branding and Mel and I talk about our journeys, give some advice about what personal branding means in 2026.

48:50And it's a great conversation overall. I think you'll really enjoy it. hopefully you'll tune in next week and join me. It's an in-studio one in-person. Mel came to Norwich to record this and it was a great conversation, great chat. That'll be next week's episode. And then I've got a couple more episodes before we head into season five, all about AI search, which we're kicking off with the one and only Charlie Whitworth. Talking about what still works from traditional SEO when it comes to GEO or AI ready SEO, as Charlie calls it. So stay tuned for that. that is kicking off season five in October in a few weeks time.

49:29In the meantime, thank you so much for watching. Thank you so much for listening. And I will see you next week. Have a lovely week.

From the publisher

🌟 SearchNorwichXL - 24 September 2026: https://searchnorwich.org/

🎟️Get your tickets: https://www.eventbrite.co.uk/e/searchnorwichxl-a-one-day-seo-conference-with-world-class-speakers-tickets-1985283700992?discount=podcast


Jack Chambers-Ward previews SearchNorwichXLand shares two talks from past SearchNorwich events:

First, Seb Atkinson shows how ChatGPT’s Code Interpreter is the cheat code you need to start automating SEO tasks and improve your data analysis abilities using Python - no prior coding skills required!

Seb discusses the kinds of SEO activities you can automate with Python and how to use ChatGPT to get started, including what tools to use, example projects and prompts, how to resolve errors, and how to use ChatGPT to develop your own coding skills.

Second, Mark Williams-Cook from Search Norwich 19, explains why using conceptual models is doing "advanced SEO" and what he learned from the Google exploit he discovered last year. 

Also, Mark describes how SEO is just like the video Theme Park (yes, seriously)

⌚ Time stamps

00:00 Introduction

02:39 ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - Seb Atkinson

20:33 Improving your SEO with conceptual models - Mark Williams-Cook

47:03 Wrap Up

More from Search with Candour

All episodes