Automating Content Briefs With NLP and Python: How We Brief Writers for Multi-Location SEO

Seb Dziubek
7
min read
Share this post

Most Content Briefs Are Just Templates With Gaps

The typical SEO content brief is a Google Doc with a target keyword, a word count, three competitor URLs, and a list of H2s pulled from whatever's already ranking. The writer fills in the gaps. The result reads like everything else on page one, because it was built from everything else on page one.

For single-location businesses, this approach might scrape by. You've got one office, one set of services, one city to talk about. But the moment you're managing content across five, ten, or twenty locations, template-style briefs fall apart. You end up with location pages that differ by one paragraph. Blog posts that could belong to any business in the country. Service pages that say nothing specific about anywhere.

The problem isn't the writers. It's the brief. If the brief doesn't encode what makes each location different, what local search intent actually looks like, and how this page fits into the wider content architecture, the output will be thin. And Google has been getting better at spotting thin content across multi-location sites since the helpful content updates.

We build content briefs differently. We use natural language processing and Python to analyse what's actually ranking, identify gaps in local intent, and produce briefs that give writers something meaningful to work with. Not a template. A strategic document.

What Belongs in an SEO Content Brief (And What Doesn't)

Before getting into the automation side, it's worth establishing what a good content brief actually contains. Because the problem isn't usually "we don't have briefs." It's that the briefs contain the wrong things.

Search intent, not just keywords. A keyword tells you what someone typed. Intent tells you what they actually wanted. "Financial adviser Leeds" could be someone looking for a list, looking for reviews, or ready to book a consultation. Your brief needs to specify which intent this page serves, because the structure, tone, and depth all follow from that decision.

Content architecture context. Where does this page sit in the site? What links to it? What does it link to? A blog post about pension transfers for a financial adviser should link to the pension advice capability page and the relevant location pages. If the brief doesn't specify this, writers produce orphan content that sits in a vacuum.

Location-specific substance. For multi-location firms, this is where most briefs fail completely. Saying "mention Leeds" isn't enough. The brief should include what's different about the Leeds market, what local competitors are doing, what questions Leeds-based searchers are asking that differ from Manchester or Birmingham. This is the difference between a location page that ranks and one that gets filtered as duplicate.

What the page is not. Good briefs define boundaries. This page is not a beginner's guide. This page is not about residential conveyancing. This page does not need to explain what SEO is. Without these guardrails, writers default to padding with background information nobody asked for.

Competitor gap analysis. Not "here are three competitor URLs, match them." Rather: here's what competitors cover that we should too, here's what they miss that we can own, and here's where their content is clearly AI-generated filler that we can beat with genuine expertise.

How We Use NLP and Python to Build Better Briefs

If you're running marketing for a multi-location firm, you don't need to learn Python. You need to know that the people building your content programme are using better tools than a spreadsheet and gut instinct.

Here's what the NLP and Python layer actually does in our process.

Keyword clustering at scale. When you export keyword data for a multi-location firm, you're looking at hundreds or thousands of terms. "Physiotherapist near me", "sports physio Leeds", "physio for back pain Harrogate", "best physiotherapist West Yorkshire." A human can group maybe fifty of these before their eyes glaze over. NLP-based clustering analyses the semantic relationships between terms and groups them into topical clusters automatically. This tells us which pages to create, which terms belong together, and where there's enough search demand to justify a dedicated piece of content.

Search intent classification. Not every keyword that contains your service name has the same intent. Python scripts can classify keywords by intent type (informational, commercial, transactional, navigational) based on linguistic patterns and SERP features. This means the brief specifies the right content format before a word gets written. An informational query gets a guide. A commercial query gets a comparison or service page. A transactional query gets a conversion-focused landing page.

Competitor content analysis. We scrape and analyse what's ranking for target terms, then use NLP to identify topic coverage, content depth, and structural patterns. This isn't about copying. It's about finding gaps. If every page-one result for "solicitor Leeds" talks about conveyancing but none mention commercial property, that's an opportunity the brief should flag.

Location-level gap detection. This is where the multi-location angle gets interesting. By running the same analysis across multiple locations, we can identify where content exists for one branch but not another, where local intent differs between cities, and where a hub-and-spoke content model would outperform individual location pages. The output is a content map, not just a list of keywords.

The Python and NLP layer is infrastructure. It's what sits behind the brief, not what the brief is about. The writer never sees the code. They see a document that tells them exactly what to write, why, and how it connects to everything else.

The Problem With AI-Generated Briefs

Feed an LLM a keyword and ask it to generate a content brief. You'll get something that looks comprehensive but is actually hollow: H2s that match existing content, word counts based on averages, and "include these keywords" instructions that guarantee the output sounds like every other page already ranking.

AI is part of our process. But there's a difference between using it to process data faster and using it to replace the strategic thinking entirely.

A brief generated entirely by ChatGPT doesn't know that your Leeds clinic has a three-month waiting list for sports rehab and should therefore emphasise the booking urgency differently. It doesn't know that your Birmingham office specialises in workplace injury cases while your Manchester office focuses on clinical negligence. It doesn't know that your competitor in Sheffield just published a 4,000-word guide on exactly the topic you were planning, and it's already ranking.

These are things a strategist knows. The NLP and Python layer helps the strategist process data faster. But the decisions, what angle to take, what to emphasise, what to deliberately exclude, those come from understanding the business, the market, and the locations.

That's the line: automate the research, not the thinking.

Building a Content Programme, Not Just Individual Briefs

For multi-location firms, the real value isn't in any single brief. It's in the system that produces them.

A content programme for a firm with ten locations needs to answer several questions at once. What content is universal (one piece serves all locations)? What content is location-specific (each branch needs its own version)? What content is regional (one piece serves a cluster of nearby locations)? And how do all these pieces link together so that Google understands the topical authority across the whole site?

Here's what that looks like in practice.

The hub-and-spoke model for service pages. One definitive guide to the service sits at the top (/services/physiotherapy). Location-specific pages sit below it (/services/physiotherapy/leeds, /services/physiotherapy/harrogate). The hub covers the service comprehensively. The spokes cover what's different in each location: local demand, specific practitioners, location-specific results, local testimonials. The brief for each spoke page specifies what it inherits from the hub and what it must add that's unique.

Blog content that feeds the architecture. Blog posts aren't standalone pieces. They exist to build topical authority around the service and location pages. A post about "common running injuries and when to see a physio" links to the physiotherapy service page and relevant location pages. The brief specifies these connections upfront, so the writer builds them into the narrative rather than bolting links on at the end.

Scaling without producing thin content. This is the real test. When you brief a writer on the fifteenth location page, can the brief still produce something genuinely useful? If the brief is just "same as Leeds but change the city name," you've failed. If the brief includes local search data, competitor analysis for that specific area, and genuine differentiators for that branch, you'll produce content that serves both users and search engines.

We've built these programmes for IFA firms, legal practices, and healthcare providers across the UK. The common thread is always the same: the brief is the product. Get it right and the content follows.

What One of Our Briefs Actually Looks Like

Here's what our brief for a location-specific blog post includes in practice. This is for a physiotherapy clinic expanding from three to seven locations.

Page: Blog post targeting "when to see a physiotherapist for knee pain" with Leeds location angle.

The brief specifies the primary keyword and confirms the search intent is informational with commercial undertone (people asking this question are considering booking). It identifies the target reader: someone in Leeds experiencing knee pain who hasn't seen a physio before and isn't sure if their problem warrants it.

It maps the content architecture: this post links to /services/physiotherapy/leeds (service page), /about/our-team (if a Leeds-based physio is quoted), and /growth-lab/[related post] (topical cluster). It links from the Leeds location page back to this post.

It includes competitor analysis: three ranking pages analysed, all generic national content with no Leeds angle. Gap identified: none mention NHS waiting times in Leeds as a reason to consider private physio. None mention specific knee conditions common in runners (Leeds has high running club membership).

It specifies what the page is not: not a medical diagnosis guide, not a comparison of physio vs osteopathy, not a sales pitch for the clinic.

Word count: 1,200-1,500. Format: guide with practical next steps. Tone: reassuring, knowledgeable, not clinical.

That brief took thirty minutes to produce, with about twenty of those minutes handled by our NLP and Python pipeline (keyword clustering, intent classification, competitor scraping, gap analysis). The strategic decisions, the Leeds angle, the NHS waiting time hook, the runner demographic insight, those came from knowing the client and the market.

That's the balance. Automate the research. Apply the thinking.

Frequently Asked Questions

What is an SEO content brief?

An SEO content brief is a strategic document that guides a writer on what to create: the target keyword, search intent, content structure, internal links, competitor gaps, and specific angles to cover. It's the difference between asking someone to "write about physiotherapy in Leeds" and giving them a clear, data-informed plan.

How long should a content brief take to produce?

With a proper NLP pipeline in place, around 30 minutes per brief. About two-thirds of that is automated data processing (keyword clustering, competitor analysis, intent classification). The remaining third is strategic input: choosing the angle, defining boundaries, and connecting the page to the wider content architecture.

Can I use AI to write content briefs?

You can use AI to assist with parts of the process, particularly data analysis and initial structuring. But a brief generated entirely by AI won't include the business context, local market knowledge, or strategic decisions that make content genuinely useful. AI is a tool in the process, not a replacement for it.

What's the difference between a content brief and a content template?

A template gives you a repeatable structure (H1 here, 300 words there, include these keywords). A brief gives you a strategy: why this page exists, what gap it fills, how it connects to other content, and what unique angle makes it worth reading. Templates produce consistent mediocrity. Briefs produce content that ranks.

Do I need technical skills to automate content briefs?

The Python and NLP layer gets built once and reused across projects. If you're working with us, the technical infrastructure is already in place. What matters is that whoever builds your briefs understands both the data and your business.

How do content briefs work for multi-location businesses?

Each location needs briefs that reflect its specific market: local search demand, competitor landscape, and genuine differentiators. A content programme for a ten-location firm might share 40% of brief structure across locations, with 60% customised to local data. The goal is content that's genuinely useful for each location's audience, not the same page with a different city name swapped in.

Share this post
Seb Dziubek
Founder & Growth Director

Ready to go from invisible to compouding growth?

Before you go…

How would you rate your experience on our site?

PoorExcellent

0/200

Thanks for your feedback

We appreciate you taking the time.

Want us to follow up? Totally optional.
Please enter a valid email address.
Sent — we'll be in touch.