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
How to build a brand-led content strategy that drives demand outside searchYou’ll learn to move…
Five years after this video was created, the idea that machine learning might be “far…
I’ve spent the past year fielding the same panicked question from clients repeatedly: “Why is traffic…
Claim and Verify All Listings with a Domain EmailWe all know how to claim and verify…
When Teal brought me in, their bottom-of-funnel content was barely moving the needle. Blog posts…
Clicks are down, and if you’re working in SEO right now, you’re probably stuck trying…