
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.
Count content by theme
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:
- C:C is the competitor’s theme column
- G4 is the specific theme you want to count, like Dog Health
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.
Highlight content gaps
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.