Hardt Web Development  ·  SOP Library

Local SEO Setup
& Configuration

SOP refHWD-SOP-LOCAL-SEO
CategoryClient delivery
Applies toEvery new build and migration — medical, alt health, and nonprofit
When to runDuring build phase, before staging review. Complete before client sees the site.
Prepared byCharles Hardt  ·  charleshardt.com
00

Overview

Local SEO is the highest-ROI deliverable in your service stack for Hampton Roads clients.

For a medical practice or nonprofit in Hampton Roads, appearing in Google's local map pack for their primary search term is worth more than most paid advertising. A chiropractor ranking in the top 3 for "chiropractor Norfolk VA" receives a meaningfully different call volume than one on page 2. This SOP ensures every site you build has the full local SEO foundation in place at launch — not as an afterthought.

Local SEO for these niches rests on four pillars: Yoast configuration, schema markup, Google Business Profile optimisation, and NAP consistency. All four must be complete before any site goes live.

Tools required: Yoast SEO Premium (included in your Kadence Full Bundle relationship), Google Search Console, Google Business Profile, Moz Local (free check), and optionally BrightLocal for deeper NAP auditing.

01

Yoast SEO Premium configuration

Complete these settings before building any page content.

1
Initial Yoast setup wizard
Go to wp-admin → Yoast SEO → General → First-time configuration. Run the wizard:

  • Site type: select the appropriate type (Medical Practice, Nonprofit, etc.)
  • Organisation name: full legal name of the practice or organisation
  • Organisation logo: upload the client's primary logo (PNG, at least 512px wide)
  • Social profiles: enter all active social profile URLs
2
Site-wide title tag format
Yoast SEO → Search Appearance → General. Set the title separator to — (em dash). Set the site-wide title format for pages to:

%%title%% — %%sitename%%
For posts:
%%title%% — %%sitename%%
Do not include the city name in the site-wide format — handle location specificity per-page in the individual page SEO settings.
3
Breadcrumbs
Yoast SEO → Search Appearance → Breadcrumbs. Enable breadcrumbs. Set separator to › (›). Set home anchor text to "Home". Set prefix to blank.

In Kadence, enable breadcrumb display in Appearance → Kadence → Page Layout settings for inner pages. Breadcrumbs contribute BreadcrumbList schema automatically through Yoast when enabled.
4
Crawl settings
Yoast SEO → General → Crawl optimization. Enable all recommended settings:

  • Remove feed links ✓
  • Remove RSD link ✓
  • Remove shortlink ✓
  • Remove REST API link ✓
  • Remove emoji scripts ✓
These reduce page bloat and signal to Google that the site is well-configured.

02

Schema markup

The single most impactful technical SEO action for local businesses. Most competitor sites have none.

1
Set the correct organisation schema type
Yoast SEO → General → First-time config → Organisation type. Select the most specific available type:

Client typeSchema type to select
Medical practice (any specialty)MedicalOrganization
Individual physicianPhysician (under Person)
Alternative health practiceMedicalOrganization or LocalBusiness
Nonprofit organizationNGO
Church / religious orgChurch
2
Local business schema fields — Yoast Local SEO
If Yoast Local SEO module is active (included in Yoast Premium): SEO → Local SEO → Business info. Fill in every field:

  • Business name (exactly as on Google Business Profile)
  • Business type (most specific available)
  • Street address, city, state, ZIP (exactly as on GBP)
  • Phone number (with area code, exactly as on GBP)
  • Email address
  • Opening hours for each day
  • Coordinates (latitude and longitude) — get from Google Maps
  • Business logo
NAP in Yoast must be character-for-character identical to NAP on Google Business Profile. Even minor variations ("Suite 100" vs "Ste. 100") can suppress local rankings.
3
FAQPage schema on FAQ sections
Any page with a FAQ section should use Yoast's FAQ block (Kadence → Yoast FAQ block) rather than a standard accordion. The Yoast FAQ block automatically outputs FAQPage schema, which can produce rich results in Google Search showing the questions and answers directly in the SERP.

If using the Kadence Accordion block instead of the Yoast FAQ block, add FAQPage schema manually via the Yoast meta box on that page → Schema tab → Page type: FAQ.
4
Validate schema before launch
Run the homepage and one service page through Google's Rich Results Test (search.google.com/test/rich-results) on staging before go-live. Confirm:

  • LocalBusiness or MedicalOrganization schema detected
  • No errors (warnings are acceptable)
  • Name, address, phone, and opening hours correctly parsed
Take a screenshot of the validation result and file in the client's Google Drive folder.

03

Title tags & meta descriptions

Every page. No exceptions.

A site cannot launch with any page missing a title tag or meta description. These are not optional SEO settings — they are the text Google shows in search results. Yoast will show a red or orange dot next to any page with a missing or suboptimal SEO title. Every page must show a green dot before launch.

Title tag formula by page type
PageTitle tag formulaExample
Homepage[Niche keyword] in [City] | [Practice Name]Chiropractor in Norfolk VA | Norfolk Spine & Rehab
Service page[Service] in [City] | [Practice Name]IV Therapy Virginia Beach | Hampton Roads Wellness
AboutAbout [Practice Name] | [City] [Niche]About Us | Norfolk Acupuncture Center
ContactContact [Practice Name] | [City], VAContact Us | Portsmouth Chiropractic, Portsmouth VA
Blog post[Post title] | [Practice Name]5 Signs You Need a Chiropractor | Norfolk Spine & Rehab
Keep all title tags under 60 characters. Yoast shows the pixel width — stay in the green zone.
Meta description formula
Meta descriptions do not directly affect rankings but directly affect click-through rate from search results. Formula:

[What you offer] + [who you serve] + [location] + [one differentiator] + [CTA]

Example: "Norfolk's trusted chiropractor for back pain, neck pain, and sports injuries. Serving patients throughout Hampton Roads. New patients welcome — book online today."

Keep under 155 characters. Include the primary city name. Include one action verb ("book," "call," "learn"). Do not stuff keywords — write for the human reading the search result, not for the algorithm.

04

Google accounts setup

Search Console and Analytics are required on every site. Set them up before launch, not after.

1
Google Search Console — verify the property
Log into search.google.com/search-console with the client's Google account (or your own if managing on their behalf, then add them as a user). Add property → Domain property (not URL prefix) → enter the domain without www or https.

Verify using DNS TXT record — this is the most reliable method. Add the TXT record through the hosting provider's DNS settings (Kinsta: MyKinsta → DNS; Pressable: contact support or use registrar DNS directly).

Wait 15–60 minutes for DNS propagation and verify.
2
Submit the XML sitemap
After verification: Search Console → Sitemaps → enter sitemap_index.xml → Submit.

Yoast generates the sitemap automatically at yourdomain.com/sitemap_index.xml. Confirm the sitemap is accessible by visiting that URL in a browser. Confirm it lists all pages, posts, and categories — not just the homepage.

After submission, check back in 24–48 hours to confirm Google has started indexing pages. Note the indexed page count in the client's Notion row.
3
Request indexing for the homepage
Search Console → URL Inspection → enter the homepage URL → Request indexing. Do this immediately after DNS transfer and before notifying the client of the launch. Repeat for 2–3 key service pages.

This does not guarantee immediate indexing but signals to Google that the page is ready. Most pages from a well-configured site are indexed within 1–7 days of a manual indexing request.
4
Grant client access to Search Console
Search Console → Settings → Users and permissions → Add user. Enter the client's Google email. Set permission to Owner if they should have full control, or Verified User if view-only.

Document the access level granted in the handoff document. Instruct the client to check Search Console monthly — or include a Search Console review in the Premium maintenance plan.

05

Google Business Profile optimisation

GBP ranking is often more impactful than organic ranking for local healthcare and nonprofit clients.

1
Confirm the GBP is claimed and verified
Search the practice name in Google. If the GBP panel shows "Own this business?" it is unclaimed — the client must claim it through their Google account. If claimed, confirm they have owner access at business.google.com.

Verification methods: postcard (most reliable, 5–14 days), phone, video call (newer method for medical practices). Help the client initiate verification during the onboarding phase so it is complete before launch.
2
Complete every GBP field
A complete GBP profile outranks an incomplete one. Fill in every field:

  • Business name (exactly as on the website)
  • Category — primary category should be the most specific available (e.g. "Chiropractor" not "Health")
  • Address — identical to website and Yoast Local
  • Phone number — identical to website
  • Website URL — update to the new site URL at launch
  • Hours — complete, including special hours for holidays
  • Business description — 750 characters, include primary keyword and city
  • Services — add all services offered
  • Photos — minimum 10: exterior, interior, team, services
3
Update the website URL at launch
Immediately after DNS transfer, log into the client's Google Business Profile and update the website URL to the new site address. This is one of the highest-impact post-launch actions and is easy to forget.

GBP is one of the signals Google uses to verify NAP consistency. If GBP still points to the old Wix or Genesis site URL after migration, it creates a NAP inconsistency that can suppress local rankings.
4
Advise the client on ongoing GBP maintenance
Include these instructions in the handoff document:

  • Post at least one GBP update per month (event, offer, news, or photo)
  • Respond to every Google review within 48 hours
  • Update hours whenever they change — same day
  • Add new photos monthly — profiles with recent photos outperform stale ones
Ongoing GBP maintenance is the client's responsibility unless they are on a Premium retainer with GBP management included.

06

NAP consistency audit

Name, Address, Phone. Consistent across every directory Google trusts.

Google cross-references business information across dozens of directories to verify local business legitimacy. Inconsistent NAP data — even minor variations like "Suite 200" vs "Ste 200" — signals unreliability and suppresses local rankings. Run a NAP audit before every launch and document the findings.

1
Run Moz Local check
Go to moz.com/local/search and enter the business name and ZIP code. The free check shows NAP data across the major directories Google trusts: Yelp, Facebook, Apple Maps, Bing, YellowPages, Foursquare, and others.

Record the findings in the client's Notion row. Flag any directory showing inconsistent name, address, or phone number. For significant inconsistencies (old address still listed, old phone number) advise the client to claim and correct those listings directly.
2
Establish the canonical NAP
Before launch, agree with the client on the exact format of their NAP that will be used everywhere:

Name: Norfolk Spine & Rehab Address: 1234 Granby Street, Suite 100 Norfolk, VA 23510 Phone: (757) 555-0100
This exact format goes into: the website footer, Yoast Local SEO, Google Business Profile, all directory listings, and the website contact page. Never vary the format across sources.
3
Niche-specific directories to check
In addition to Moz Local, check these niche-specific directories manually:

Medical: Healthgrades, WebMD doctor directory, Zocdoc (if applicable), US News Health, Vitals, RateMDs

Alternative health: Psychology Today (for counselors), NaturopathicDoctor.org, Acufinder.com (acupuncture), Mindbody (for studios)

Nonprofit: GuideStar / Candid, Charity Navigator, GreatNonprofits, Virginia DARS nonprofit directory

07

Pre-launch verification checklist

Every item must be confirmed before DNS transfer.

ItemWhere to verifyStatus
Yoast first-time config completeYoast → General → First-time config[ ] Done
All pages have green Yoast SEO dotsPages list → Yoast column[ ] Done
LocalBusiness / MedicalOrganization schema validatedRich Results Test on homepage[ ] Done
XML sitemap accessible at /sitemap_index.xmlBrowser URL bar[ ] Done
Canonical NAP confirmed on website footer and contact pageLive site review[ ] Done
Canonical NAP matches GBP exactlySide-by-side comparison[ ] Done
Search Console property verifiedSearch Console dashboard[ ] Done (verify post-launch)
Sitemap submitted to Search ConsoleSearch Console → Sitemaps[ ] Done (post-launch)
GBP website URL updated to new siteGoogle Business Profile[ ] Done (day of launch)
Client has access to Search ConsoleSearch Console → Users[ ] Done