Collect competitor URLs using Moz Site Crawl or a sitemap export. Next, import the URLs into Google Sheets and apply the same GPT formula used for your site.
=GPT("Based on the string provided, assign it to one of these themes:
'Dog Health',
'Dog Recipes',
'Dog Behavior',
'Dog Breed',
'Seasonality/Events',
'OTHER',
Use the examples as a guide but return only the theme name in a concise form, without any additional text. Examples:
nString: 'overweight-dogs' - Theme: 'Dog Health'
nString: 'chihuahua' - Theme: 'Dog Breed'
nString: 'how-to-help-a-hyper-nervous-badly-behaved-dog' Theme: 'Dog Behaviour'
nString: 'how-can-i-encourage-my-fussy-dog-to-eat' - Theme: 'Dog Behaviour'
. Output only the theme name, without any prefix or quotes. Now, analyze this string: '" & A2)
It categorized each competitor page into themes like Dog Health, Dog Recipes, and Seasonality/Events.
Once you’ve tagged the competitor’s content, count how many articles they have for each theme using this formula in Google Sheets:
COUNTIF(C:C, G4)
In this formula:
It gave me a quick count of how many pages each competitor had under each theme, highlighting where they were more active than Pooch & Mutt.
With both datasets side by side, I could easily spot content gaps. For example, tails.com had more content on dog nutrition and seasonal dog care, while Pooch & Mutt lacked in those areas.
If you liked How To Use LLMs for Competitive Research and Gap Analysis by Caitlin Hathaway Then you'll love Miami SEO Expert
Filtered or suppressed listingYour listing disappears entirely from Maps for your top keywords, or appears…
What even is SEO? Back (5+ years ago), when I was working as a consultant,…
These 10 fan-out types are loosely organized as a journey. What is the searcher trying…
The second ceremony that I want to talk about is discovery. This I find just…
We should talk briefly about the elephants in the room. Obviously, a lot of people…
So why does it matter? What does this actually affect? So the most obvious thing…