agentleFS
keuperakeupera/seo-skills/skills/local-seo/SKILL.md

local-seo

Skill0 starsChanged 2 months agoMITView on GitHub

Rank a business in Google's local pack, Maps and local organic results, and get it recommended by AI assistants for "near me" style questions. Use whenever the user mentions local SEO, Google Business Profile, Google My Business, Maps ranking, the local pack, near me searches, NAP consistency, citations, local landing pages, multi-location businesses, service area businesses, review management, or a business with a physical address or service territory. Also use for restaurants, clinics, trades, agencies, retail, franchises and any business whose customers are geographically bounded.

21 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use seo-project-setup, link-prospecting and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JwuthriSkill

    seo-project-setup

    Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.

    Also in 5 projects that use this

  • JwuthriSkill

    link-prospecting

    Find link prospects, discover contact paths, and draft outreach from SERPs and backlink signals.

    Also in 5 projects that use this

  • akii-technologies-ltdSkill

    keyword-clustering

    Cluster and organize keywords into topical groups for SEO. Use when the user asks to "cluster keywords", "group keywords", "organize keywords", "keyword mapping", "topic clusters", "keyword grouping", "build a content plan", "pillar pages", "topical authority", "semantic clustering", or pastes a list of keywords.

    Also in 6 projects that use this

  • MicrosoftSkill

    competitive-landscape

    Use when a branch manager asks something like \"Who are we up against in each metro\"

    Also in 5 projects that use this

  • deeployCOSkill

    youtube-seo

    Advanced YouTube SEO analysis and optimization for channels and videos. Routes to specialized sub-skills for audits, single-video deep dives, metadata optimization, channel branding, keyword research, thumbnails, and competitor intel. Models YouTube's modern recommender (session watch time / Reinforce / persona matching) not just keyword match. Use when user says "YouTube SEO", "optimize my video", "rank my YouTube video", "YouTube channel audit", "YouTube keywords", or provides a YouTube URL.

    Also in 3 projects that use this

  • 01claudingSkill

    seo-report

    SEO reporting and analytics dashboard generation. Creates weekly digests, monthly performance reports, quarterly strategy reviews, and real-time dashboard templates. Use when user says "SEO report", "weekly digest", "monthly report", "dashboard", "SEO metrics", "performance summary".

    Also in 3 projects that use this

  • +1 more from Jwuthri

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Secondary categories: Add every one that genuinely applies, and no more.

    line 19
  2. Distinctive:

    Search the phone number in quotes and the old address in quotes to find them.

    line 57
  3. Very specific:

    If a city page can only be produced by find-and-replace, don't produce it.

    line 79
  4. Distinctive:

    Use a grid-based local rank check across the service area rather than a single point.

    line 97
  5. Distinctive:

    Search Console, filtered to location and service queries

    line 102

“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Local SEO

Local ranking runs on a different system from organic ranking, and it's the more winnable one. Three factors decide the local pack: relevance, distance and prominence. You can't move the business, so the work is relevance and prominence.

The advantage of local is that the competition is usually doing nothing. A complete, accurate, actively maintained profile beats most competitors in most cities.

Step 1: Google Business Profile, done completely

The profile is the ranking entity for the local pack. The website supports it. People get this backwards and spend months on a site while the profile sits half-filled.

Non-negotiables, in order of effect:

  1. Primary category. The single highest-impact field. Choose the most specific category that matches the main service. "Personal injury attorney" ranks for different things than "Lawyer". Check what categories top competitors use.
  2. Secondary categories. Add every one that genuinely applies, and no more.
  3. Business name. The real, legal, on-the-signage name. Stuffing keywords into it works until it gets reported, then the profile gets suspended.
  4. Address and service area. A real, staffed address. Service-area businesses hide the address and set a radius. Don't do both.
  5. Hours, including holiday hours. Accuracy here is checked and feeds "open now" filters.
  6. Services and products, listed individually with descriptions. Most profiles leave this empty. It's free relevance.
  7. Attributes — accessibility, payment methods, amenities, identity attributes. They power filters people actually use.
  8. Photos. Real ones, geotagged or not, added regularly. Exterior, interior, team, work. Stock photography is visible from space.
  9. Q&A. You may seed genuine questions and answer them. Do it, because a competitor or a confused customer will otherwise write the answer for you.
  10. Posts. Low ranking weight, real conversion effect, keeps the profile looking alive.

Step 2: Reviews

Reviews drive prominence and they drive the click. Both matter.

  • Ask every satisfied customer, systematically, at the moment the value landed. A link in the follow-up email outperforms everything else.
  • Never gate. Asking only happy customers to leave a public review, and routing unhappy ones to a private form, violates Google's policy and is easy to detect.
  • Never buy or incentivise reviews. Filtered at best, profile suspension at worst.
  • Reply to all of them, including the good ones, in the owner's voice. Replies are public and are read by future customers.
  • Reply to negatives factually and briefly. Acknowledge, state what happened or what you'll do, offer a channel. Arguing in public is a permanent decision.
  • Volume and recency both count. Forty reviews from three years ago reads worse than twelve from this quarter.

Review content is also mined for relevance. When customers naturally mention the service and the neighbourhood in their reviews, that's a genuine signal. Prompting them to include specific keywords is not, and reads as fake to humans first.

Step 3: NAP consistency and citations

Name, address and phone, identical everywhere. Not "similar". Identical, down to whether it says Street or St.

Priority order for listings, since this can absorb unlimited time:

TierWhereEffort
1Google Business Profile, Apple Business Connect, Bing PlacesDo all three
2The big aggregators, plus the dominant directory in the countryDo them once, properly
3Industry-specific directories with real trafficWorth it, selectively
4Generic citation-farm directoriesIgnore. They stopped working years ago

The real work in tier 2 is finding and fixing existing wrong entries — an old address, a disconnected phone number, a duplicate profile from a previous owner. Inconsistency is what damages you; new citations barely move anything once you're consistent.

Search the phone number in quotes and the old address in quotes to find them.

Step 4: The website side

  • LocalBusiness structured data on the contact and location pages, with the exact NAP, hours and geo coordinates. Use the most specific subtype available. See schema-markup.
  • Embed a map on the location page and link the Business Profile.
  • NAP in the HTML as text, in the footer or on the contact page. Not in an image.
  • A page per location, for multi-location businesses, each with its own address, hours, staff, photos, local content and profile link.
  • A page per service, and for larger territories, a page per service per city — but only where you can write something genuinely different about that city. See the warning below.

Step 5: Location pages that aren't spam

The standard local play is a page per city, and the standard execution is one template with the city name swapped in. Google names that as scaled content abuse, and it also doesn't rank.

A location page earns its existence when it has at least three of:

  • Real work done in that area, with photos or a case study
  • Staff, an address or a depot actually there
  • Genuine local specifics — response times, permits, regulations, conditions, pricing that varies
  • Reviews from customers in that area
  • Local landmarks and neighbourhoods used the way a local would use them, not stuffed into a paragraph

If a city page can only be produced by find-and-replace, don't produce it. One strong regional page beats forty templated city pages, and it won't get the site penalised. For doing this at genuine scale with real per-page data, see programmatic-seo.

Step 6: Local visibility in AI assistants

"Best plumber near me" is increasingly answered by an assistant rather than a map. What feeds those answers:

  • The Business Profile itself, which is widely syndicated and read
  • Review text on multiple platforms, since a model synthesising across sources weights agreement
  • Consistent entity data so all sources describe the same business
  • Local press, community sites and genuine directory presence as corroboration
  • A site that states the facts plainly — services, areas covered, hours, prices where possible, in extractable text rather than in a designed graphic

The diagnosis method is in ai-visibility-audit and applies directly. Run the local prompts a customer would actually ask and see who gets named.

Measuring

Local rankings vary by the searcher's physical position, so a single rank check is meaningless. Ranking at the shop and ranking three kilometres away are different numbers, and the second one is the one that matters for growth.

Use a grid-based local rank check across the service area rather than a single point. Track:

  • Business Profile insights: discovery versus direct searches, calls, direction requests, website clicks
  • Local pack position across a grid, not at one address
  • Review velocity and average rating
  • Search Console, filtered to location and service queries

Discovery searches versus direct searches is the number to watch. Direct searches are people who already knew the name. Discovery searches are growth.

Don't do these

  • Don't keyword-stuff the business name. It's the most common suspension cause.
  • Don't use a virtual office, a mailbox or a friend's address. Address verification is stricter than it used to be and a suspension takes weeks to unwind.
  • Don't create a profile per service at one address. One business, one profile.
  • Don't buy citation packages. Hundreds of listings on directories with no users do nothing.
  • Don't gate or incentivise reviews.
  • Don't neglect Apple Maps. It feeds Apple Intelligence and Siri, and almost nobody claims it.

Related skills

schema-markup, entity-brand-consistency, ai-visibility-audit, programmatic-seo, eeat-author-pages, technical-seo-audit

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.