1The local result
Local search has two halves. The Google Business Profile at business.google.com is the half Google shows on the map. The website is the half that has to agree with it. This module configures Rank Math's Local SEO module with our real name, address and phone, builds a contact page from it, and decides which of the 13 city pages stay. When you finish, every place Google can read our details says the same thing.
Search for a service plus a city and Google returns a page in three layers. At the top, sometimes, ads. Then the local pack: a map and three business listings pulled from Google Business Profile. Then the ordinary web results, which is where the service pages from module 07 compete.
The local pack comes from the Google Business Profile. The website confirms it. The website's job is to confirm what the profile says. Google's structured data guidelines for LocalBusiness require the name, address and phone in the schema to match what is visible on the page, and Google reads the same three facts from the profile and from every other directory that lists us. When those agree, Google has one clear picture of one business at one address. When they disagree, it has two or three half-pictures and less reason to show any of them.
Rank Math covers box 2. Boxes 1 and 3 are done in the browser, outside WordPress, and section 8 covers them.
2Name, address and phone
Local SEO people call the three facts NAP. Pick the exact spelling of each once, write it down, and use that spelling everywhere. These are the values from the current site.
| Field | Value | Note |
|---|---|---|
| Name | Hermetic Networks | No "LLC", no "Inc", no tagline. The same string on the profile, the schema and every listing. |
| Street | 7637 Hull St #202 | Decide once between "#202", "Suite 202" and "Ste 202" and never vary it. The site uses "#202" today. |
| City, state, ZIP | Richmond, VA 23235 | Country code in Rank Math is US. |
| Primary phone | (804) 544-1048 | The sales line. See below. |
| Second phone | (804) 545-3173 | Existing customers. Stays on the page, typed as Customer Service in the schema. |
| [email protected] | ||
| Website | https://www.hermeticnetworks.com/ | With www. That is the canonical host today, and the profile must use the same one. |
The primary phone
The site publishes two numbers. Google Business Profile has one primary phone field, and the
LocalBusiness schema has one telephone value that Google treats as the main number.
Use the sales line, (804) 544-1048, as the primary in both places. A person who found us through a
"managed IT services Richmond" search is a prospect, and the number they tap from the map should
reach the person who handles prospects. The customer line stays on the website and in the schema as a
second number typed Customer Service, so existing clients who search for us still find it.
Google's profile guidelines allow one profile per physical location that staff attend. Hermetic has one office. Do not create profiles for Virginia Beach, Lynchburg or any city page in section 6. A profile at an address where nobody works is grounds for suspension, and a suspended profile disappears from the map entirely.
3The Local SEO module
Rank Math puts the NAP into structured data on every page, so Google can read it without parsing the footer. The fields live in Rank Math SEO > Titles & Meta > Local SEO. The module is on when Rank Math SEO > Dashboard shows Local SEO & Knowledge Graph enabled; it switches on by itself when the setup wizard in module 03 is told the site is a Small Business Site.
- Business Type. The dropdown holds many schema.org business types. None is named for IT services. Professional Service is the closest match that Google understands as a LocalBusiness, so pick that. If a later Rank Math version adds a closer type, switch to it. Do not pick plain Organization: it drops the address and hours from the local schema.
- Address. Type the NAP values from section 2 exactly, with
USas the country code. - Phone Numbers. Two rows. Sales first, typed Sales. Then the customer line, typed Customer Service. Rank Math writes them in international format, so
+1-804-544-1048is what the schema carries even though the page shows (804) 544-1048. - Opening Hours. Not measured yet. Enter the hours the office actually answers the sales line, per day, in 12-hour format. These must match the hours on the Google Business Profile to the minute, so set both from the same note.
- Geo Coordinates and Maps key. Open Google Maps, right-click the office pin, and copy the two numbers shown. Paste them as
latitude, longitude. The Google Maps API key is only needed if the contact page will embed a map through the shortcode; it comes from console.cloud.google.com and needs the Maps Embed API enabled and billing set up on the Google Cloud project. If you would rather not create a Cloud project, leave the key blank and dropmapfrom the shortcode in section 4.
Price Range stays blank. It is a dollar-sign scale meant for restaurants and shops, and a range on a managed services contract tells a prospect nothing. About Page and Contact Page point Rank Math at the two pages it should mark as the organization's about and contact pages in the schema; set them to the About Us page and the contact page you build next.
The free plugin supports one location, which is all Hermetic has. Rank Math PRO adds an
RM Locations post type and a KML sitemap for businesses with several offices. PRO is also what it
takes to list the cities we serve as areaServed in the schema, because that goes in
through the Schema Generator's JSON-LD import. Neither is needed to launch. Both are on the PRO
decision list in module 10.
4The contact page
Google's guidelines want the name, address and phone visible on the page that carries the LocalBusiness schema, not only in the code. Rank Math's shortcode prints whatever you entered in section 3, so the visible details and the schema can never drift apart.
Create a page called Contact with the slug /contact/. The current
site has no page with that name; the nearest thing is /schedule-your-appointment/. Put the
shortcode in a text or HTML block:
[rank_math_contact_info show="name,address,phone,hours,map"]
Keep the appointment form on the same page below the shortcode, so one URL carries the details, the map and the call to action. Then set Contact Page in Local SEO to this page.
Once the page is live, open it, view the page source, and confirm one LocalBusiness
or ProfessionalService block in the JSON-LD with the address and both phone numbers.
Then paste the URL into Google's Rich Results Test. The current homepage carries WebSite, WebPage
and BreadcrumbList schema and nothing about the business; after this module it carries the
organization details on every page, and the contact page carries them in full.
5Richmond on the service pages
The local pack shows the profile. The organic results below it show pages, and for "managed IT services Richmond" the page that wins is the one that is about that exact thing. Module 07 optimized one service page for Richmond. The rule for the rest of the service pages is the same: each service gets one page, the page names Richmond in the title and once or twice in the copy where a person would say it, and the footer on every page carries the NAP.
The current site has more than one page per service with Richmond bolted on to the URL, for
example /managed-services/, /managed-it-support-richmond-va/ and
/managed-it-services-in-richmond-expertise-to-elevate-your-business/. Three pages about
one service split whatever Google would give one page. The page map in
module 02 merges them; the redirects in
module 09 send the
old URLs to the survivor.
6The city pages decision
The crawl found 13 city landing pages: richmond-va, henrico-va, midlothian-va, mechanicsville-va,
north-chesterfield-va, sandston-va, dumbarton-va, elmont-va, bellwood-va, bensley-va, ashville-va,
petersburg-va and virginia-beach-va. Beside them sit service pages built for Virginia Beach and
Lynchburg, such as /managed-it-services-virginia-beach/ and
/managed-it-services-in-lynchburg/, and one /areas-we-serve/ page.
A city page earns its place when it can say something true about that city that no other page says: an office there, named clients there, a technician who covers it, or work we have done there. A city page that repeats the Richmond page with the city name swapped in gives Google 13 near-copies to choose between, and gives a person from Midlothian nothing they did not get from the Richmond page.
Keep
A city with an office or with clients we can name on the page. Rewrite the page so it says who we serve there and how. Set its focus keyword to the service plus that city, per module 07.
Fold in
A city we do serve but have nothing specific to say about. Add it to the list on
/areas-we-serve/ and redirect the city page there with a 301 in module 09.
Drop
A city we do not serve. Redirect to /areas-we-serve/ if the page has links pointing at it, or return 410 if it has none. Either way it leaves the sitemap.
Virginia Beach and Lynchburg
The homepage title today names Virginia Beach beside Richmond, and the site carries a full set of Virginia Beach service pages plus three Lynchburg pages. Whether those stay is Jeff's call, and it turns on one question: does Hermetic serve clients there today, with someone who can drive to them? If yes, keep one page per city that says so, with the clients or the coverage named, and keep the city out of the Local SEO address, which stays Richmond. If no, fold them into Areas We Serve, take Virginia Beach out of the homepage title in module 05, and let the Richmond pages carry the site.
| Page | Clients or office there | Decision | Redirect target |
|---|---|---|---|
| /richmond-va/ | Office | Keep, or merge into the homepage if it repeats it | |
| /henrico-va/, /midlothian-va/, /north-chesterfield-va/, /mechanicsville-va/ | Not measured yet | Keep if clients can be named, else fold in | /areas-we-serve/ |
| /sandston-va/, /dumbarton-va/, /elmont-va/, /bellwood-va/, /bensley-va/, /ashville-va/ | Not measured yet | Fold in unless a client is there | /areas-we-serve/ |
| /petersburg-va/, /virginia-beach-va/ | Not measured yet | Jeff decides | /areas-we-serve/ if folded |
| Virginia Beach and Lynchburg service pages | Not measured yet | Jeff decides; one page per city at most | The Richmond page for that service |
Fill the second column from Syncro's customer list before deciding. A city with even two active clients has a true sentence to put on its page. A city with none does not.
7Schema on the remaining pages
The Local SEO settings put the organization's LocalBusiness schema on every page automatically. Do not add a second LocalBusiness block by hand on the contact page or a city page; one page carrying two copies of the business with any difference between them is the same problem as two directories that disagree. The service pages keep the Service schema from module 07. A kept city page uses Service schema too, with the service name and the city in the description field, and the organization schema underneath it comes along for free.
8The Google Business Profile half
Everything above makes the website agree with the profile. The profile itself still needs the work that no plugin can do. Log in at business.google.com and check these against the NAP record.
| Profile field | Must match | Where it lives on the site |
|---|---|---|
| Business name | Hermetic Networks | Local SEO > Person/Organization Name |
| Address | 7637 Hull St #202, Richmond, VA 23235 | Local SEO > Address |
| Primary phone | (804) 544-1048 | Local SEO > Phone Numbers, first row |
| Website | https://www.hermeticnetworks.com/ | Canonical host, module 05 |
| Hours | The same hours as Local SEO > Opening Hours | Contact page, via the shortcode |
| Primary category | Choose the category Google offers for IT support or computer support services | No website equivalent; Business Type in Rank Math is Professional Service |
Two things on the profile move the map result and have no counterpart in Rank Math.
Reviews. The count and the recency of Google reviews are what a searcher sees first in the local pack. Ask for one at the close of each onboarding and each completed project, and answer every review that comes in, including the bad ones. The site says today that we have served 100+ Richmond businesses; the number of Google reviews behind that is not measured yet, and it is the first thing to look up when you open the profile.
Posts and photos. The profile takes short posts and photos of the office and the team. A profile updated in the last month looks like a business that is open. Put it on the same monthly routine as the Analytics check in module 10.
Then repeat the NAP on Bing Places, Apple Business Connect and the directories that already list us. Search Google for "Hermetic Networks" plus "Richmond" and fix every listing that shows an old address, a missing suite number or the customer line as the main phone.
9Do this now
- Write the NAP record from section 2 into one note and keep it. Every listing from here on is typed from that note, so nothing drifts.
- Go to Rank Math SEO > Dashboard and confirm Local SEO & Knowledge Graph is on. Without it the Local SEO tab does not appear.
- Open Rank Math SEO > Titles & Meta > Local SEO. Set Organization, the name, Business Type Professional Service, the address with country
US, and both phones with Sales first. This is what Google reads on every page. - Enter the real opening hours per day. Copy the same hours into the Google Business Profile in the same sitting so they cannot differ.
- Right-click the office pin in Google Maps, copy the coordinates, paste them into Geo Coordinates. Decide whether to create a Maps API key; if not, plan to leave
mapout of the shortcode. - Create the Contact page at
/contact/, paste[rank_math_contact_info show="name,address,phone,hours,map"], move the appointment form under it, publish, and set it as Contact Page in Local SEO. Add/schedule-your-appointment/to the redirect list for module 09 with/contact/as the target. - View the contact page's source, find the JSON-LD block with the address, and run the URL through Google's Rich Results Test. Fix anything it flags before moving on.
- Pull the customer list from Syncro, fill the second column of the city page worksheet, and mark each of the 13 pages Keep, Fold in or Drop. Hand the Virginia Beach and Lynchburg rows to Jeff for the decision. The redirect targets go straight into the module 09 list.
- Log in at business.google.com and check every row of the profile table against the NAP note. Count the reviews and write the number down; that is the baseline for module 10.
10Check yourself
A prospect searches "IT support Richmond VA" and sees a map with three businesses. Where does that map get its information, and what does Rank Math have to do with it?
AnswerThe map comes from Google Business Profile, managed at business.google.com, outside WordPress. Rank Math's part is the website half: it puts the same name, address and phone into LocalBusiness schema on every page and prints them on the contact page, so Google can confirm the profile against the site.
The site publishes two phone numbers. Which one goes in the profile's primary phone field and first in the schema, and why?
AnswerThe sales line, (804) 544-1048. Someone who reached us through a service-plus-city search is a prospect, and the number they tap from the map should ring the person who handles prospects. The customer line stays on the site and in the schema as a second number typed Customer Service.
Why is Professional Service the Business Type rather than Organization, when neither says "IT"?
AnswerProfessional Service is a LocalBusiness type, so Google reads the address, hours and phone as belonging to a local business at a place. Plain Organization drops the local fields from the schema. Rank Math's dropdown has no IT-specific type, so Professional Service is the closest match that keeps the local details.
Hermetic has a full set of Virginia Beach pages. Should a second Google Business Profile be created for Virginia Beach so those pages show on the map there?
AnswerNo. Google allows a profile only for a physical location that staff attend, and Hermetic's one office is on Hull St in Richmond. A profile at an address nobody works from risks suspension, which removes the business from the map altogether. Whether the Virginia Beach pages stay is a separate question about whether we serve clients there.
What is the test for keeping a city page such as /midlothian-va/, and what happens to the pages that fail it?
AnswerThe page has to say something true about that city that no other page says: clients there, an office there, or coverage there. A page that fails is folded into /areas-we-serve/ with a 301 redirect, or returned as 410 if we do not serve the city and nothing links to it. Fill the clients column from Syncro before deciding.
The contact page carries the shortcode, and someone also adds a LocalBusiness schema block to it by hand through the Schema Generator. What is the problem?
AnswerThe page now carries the business twice. If the two copies differ in any field, Google has the same conflicting picture that two disagreeing directories give it. The Local SEO settings already put the organization's schema on every page, so nothing is added by hand.
11Glossary
- Local pack
- The map and three business listings Google shows for a search with local intent. Fed by Google Business Profile.
- Google Business Profile
- Google's free listing for a business, managed at business.google.com. Separate from the website. One profile per staffed location.
- NAP
- Name, address and phone. The three facts that must be spelled identically everywhere Google can read them.
- LocalBusiness schema
- Structured data describing a business at a place, with address, phone and hours. Rank Math writes it from the Local SEO settings.
- Professional Service
- The schema.org LocalBusiness type Hermetic uses, because the dropdown has no IT-specific type.
- Local SEO module
- The Rank Math module named Local SEO & Knowledge Graph. Its settings live under Titles & Meta > Local SEO.
- Contact info shortcode
[rank_math_contact_info]. Prints the name, address, phone, hours and map from the Local SEO settings onto a page.- Geo coordinates
- Latitude and longitude of the office, copied from Google Maps, entered as "lat, long".
- Google Maps API key
- A key from console.cloud.google.com that lets the shortcode embed a map. Optional.
- areaServed
- A schema property listing the places a business serves. In Rank Math it needs PRO schema import.
- City landing page
- A page built to rank for a service in a named town. Kept only when it says something true and specific about that town.
- 410
- The response code for a page that is gone with no replacement. Used for dropped pages nothing links to.
12Sources
- Rank Math, Using Rank Math's Local SEO Module: the Local SEO fields, Business Type dropdown, phone number types, opening hours, geo coordinates, Google Maps API key, and the contact info shortcode.
- Rank Math, Titles & Meta settings: where the Local SEO tab lives and the About Page and Contact Page fields.
- Rank Math, How to Create Multiple Locations: multiple locations as a PRO feature.
- Rank Math, Add Multiple areaServed Cities to Your LocalBusiness Schema: the JSON-LD import method, and Schema module: schema import as a PRO feature.
- Google, Local Business structured data: the requirement that name, address and phone in the markup match what is visible on the page.
- Google, Guidelines for representing your business on Google: one profile per staffed physical location.
- Google, Rich Results Test: validating the contact page.
- Site facts from a crawl of www.hermeticnetworks.com on 2026-09-29.
Documentation read 2026-09-29. Rank Math changes often; where this page and the documentation disagree, the documentation is current.