NAP Consistency Checker

Enter your website to compare the business name, address and phone number on your homepage, contact, about and location pages, and in your LocalBusiness schema.

Free · needs a free account · reads public data only

See your results in one click. Sign in with Google, then run any of the 150 free tools.

Continue with Google
NAP Consistency Checker — nap consistency checker

A NAP consistency checker compares the three details every local business publishes again and again: its Name, Address and Phone number. Our free NAP Consistency Checker reads your homepage plus the contact, about and location pages linked from it, up to a dozen pages, and pulls those details out of your LocalBusiness schema, microdata, tap-to-call links and the visible text, footer included. It then tells you whether the name matches across your title, og:site_name and schema, whether one main phone number is used throughout, whether the number in your schema is the one customers see, whether a tel: link dials the number it shows, and whether your schema address matches the address on the page. It checks your website only. It does not look up your Google Business Profile or directory listings, so it gives you a canonical NAP block to compare those against by hand.

How to use the NAP checker

  1. 1 Enter your website addressType your homepage, for example example.com. We follow the links to your contact, about, location and legal notice pages from there, so you do not need to list them.
  2. 2 Read the checksEach check says what we found and why it matters. Red means a real mismatch, such as a schema phone that differs from the visible phone. Amber means something worth improving. Grey notes are context, such as a second number for a branch.
  3. 3 Look at the page-by-page tableThe table shows the name, phone numbers and addresses found on every page, and where each came from: schema, a tel: link or the page text. This is where an old number in one footer or a typo on the contact page shows up.
  4. 4 Fix the website firstUpdate your schema (often in an SEO plugin or theme settings), the footer, the contact page and any location pages so they all say the same thing. Run the check again to confirm.
  5. 5 Copy the canonical NAP to your listingsUse the copy button to grab the canonical name, address and phone, then open each listing (Google Business Profile, Bing Places, Apple Business Connect, Yelp, Facebook, industry directories) and make it match exactly.

What this checker reads

Your homepage plus the contact, about, location and legal notice pages linked from it, up to 12 pages, respecting robots.txt. From each page it reads the LocalBusiness or Organization schema, microdata, tap-to-call links and the visible text, footer included. It then compares the name, the phone numbers and the address, and builds a canonical NAP block you can copy.

Website only, not your listings

NAP consistency also covers Google Business Profile, Bing Places, Apple Business Connect, Yelp, Facebook and directories. This tool does not fetch those. Fix your website first, because it is the source you control, then compare each listing against the canonical NAP by hand.

What NAP consistency means

NAP stands for name, address and phone number. For a business that serves customers in person or in a local area, these three details are its identity on the web. They appear on its own website, on its Google Business Profile, on Apple Maps and Bing, on review sites and on dozens of directories, many of which copy their data from each other.

Consistency simply means that every one of those places gives the same details, written the same way. "Smith & Sons Plumbing, Suite 200, 15 Oak Street" on the website and "Smith and Sons Plumbing LLC, 15 Oak St" on a directory are probably the same business to a person. A search engine or data aggregator trying to merge listings has to make that judgement automatically, and every difference makes it a little less certain.

Google's own guidance for Business Profiles asks businesses to represent themselves as they are consistently known in the real world, and to keep the address and phone number accurate. Local SEO practitioners have treated consistent citations as a basic hygiene factor for years. It is not a magic ranking lever, and no one outside Google can say exactly how much weight it carries, but the downside of inconsistency is easy to see: customers ringing a disconnected number, driving to an old address, or finding two listings for one business and not knowing which is real.

Your website is the place to start, because it is the one source you fully control and the one that directories, aggregators and search engines read to confirm the others. If your own pages disagree with each other, there is little hope of the rest of the web agreeing.

Where this checker looks on your website

The checker starts at the address you enter and reads up to twelve pages, staying within about twenty seconds so you get an answer quickly. It respects robots.txt for every page after the homepage, and it never logs in, submits forms or runs JavaScript. It reads the HTML your server sends, which is also what most crawlers read first.

  • The homepage, including its header and footer, where most businesses show their phone number and address.
  • Contact pages, found by their address or link text in several languages: contact, contact us, kontakt, contacto, contatti and similar.
  • Location and office pages: locations, find us, visit us, directions, offices, branches and store finders, plus up to six individual location pages linked from a locations hub.
  • About pages and legal notice pages such as an impressum, which in some countries must show the full business name and address.
  • If none of those are linked, the usual /contact and /contact-us addresses are tried once.

How names, phone numbers and addresses are compared

For the name, we take the business name from your LocalBusiness or Organization schema (or microdata), your og:site_name tag and your page title, and check that the same name appears in each. Legal suffixes such as Inc., LLC, Ltd or GmbH, the word "the", punctuation and "&" versus "and" are ignored, because those differences are normal. A completely different or shortened name is flagged. If your schema uses different names on different pages, that is flagged too.

For phone numbers, we collect the telephone property from your schema, every tel: link, and numbers written in the text, in local or international format. Numbers labelled as fax, VAT, tax or registration numbers are skipped, and so are dates, prices and postcodes that happen to look like numbers. Numbers are compared by their last nine digits, so +1 (555) 010-0199, 555-010-0199 and 001 555 010 0199 count as one number, and so does a bracketed trunk zero as in +44 (0)20.

Several numbers are not automatically a problem. Sales and support lines, a mobile, or one number per branch are all legitimate. The checker only raises a warning when no single main number appears on every page that shows a phone. It raises a stronger flag when the number in your schema does not appear anywhere visible, or when a tap-to-call link dials a different number from the one printed on it, because those send real customers to the wrong line.

For addresses, we read the PostalAddress in your schema and look in the text for lines that contain a street and a postcode or ZIP code, including US ZIP codes with a state, UK and Canadian postcodes, Australian state postcodes, Dutch postcodes and the numeric postcodes used across much of Europe and Asia. The schema address is matched to the visible address by postcode and street number, with common abbreviations such as Street and St treated as equal.

Why LocalBusiness schema matters for NAP

Structured data is the one place where you can state your name, address and phone number to search engines without any ambiguity about which number is the main one or where the address starts and ends. LocalBusiness, or a more specific type such as Dentist, Plumber, Restaurant, LegalService or AutoRepair, lets you list name, telephone, a full PostalAddress, geo coordinates, opening hours and a link to your map listing.

Two common problems show up again and again. The first is a schema that was filled in once by a theme or SEO plugin years ago and never updated, so it still carries an old phone number or a previous address while the footer shows the new one. The second is an address typed as a single line of text instead of separate streetAddress, addressLocality, addressRegion, postalCode and addressCountry fields, which makes it harder to read reliably. The checker flags both.

If your business serves customers at their location and hides its address on Google, you can leave the street address out of your schema and list the areas you serve instead. The checker treats a missing address as something to review rather than a failure when there is no schema address to compare against.

Businesses with more than one location

A chain or a practice with several offices has a separate NAP for every location. When your schema lists several local businesses, the checker uses the brand or organisation name for the name check, treats several phone numbers as expected and says so, and does not pick one branch address as the canonical address.

The best structure for a multi-location business is one page per location, each with its own address, local phone number, opening hours and LocalBusiness schema, linked from a locations page. Each of those pages should match the Google Business Profile for that location exactly. Avoid listing every branch in the schema of every page; it makes it harder for search engines to tell which page represents which place.

Several different postcodes on a single-location website are a different story. They usually point to an old address left in a footer, a typo on one page, or a mailing address that differs from the physical one. The checker lists every postcode it found so you can trace each one.

What this checker does not do

This is a website checker. It does not log in to or scrape Google Business Profile, Google Maps, Bing Places, Apple Business Connect, Yelp, Facebook, Tripadvisor or any directory, and it does not estimate how many citations you have. Those platforms either do not offer free access to that data or do not allow automated collection, and paid citation tools buy data from aggregators to do it.

What you get instead is an accurate picture of what your own site says, and a canonical NAP block you can copy. Comparing that block against your most important listings by hand usually takes less than an hour for a single-location business, and those few listings matter far more than the long tail of minor directories.

Extraction from visible text is best effort. An address shown only in an image, inside an embedded map, or added by JavaScript after the page loads will not be found, and unusual address formats may be missed. If a check says an address or phone was not found but you can see it on the page, that is worth fixing anyway: if our crawler could not read it as text, other crawlers may struggle too.

Examples you can copy

LocalBusiness JSON-LD with a full NAP

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Oak Street Dental",
  "url": "https://www.example.com/",
  "telephone": "+1-555-010-0199",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "15 Oak Street, Suite 200",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701",
    "addressCountry": "US"
  }
}
</script>

Tap-to-call link that dials the number it shows

<a href="tel:+15550100199">(555) 010-0199</a>

Footer NAP written as text, not an image

<footer>
  <address>
    <strong>Oak Street Dental</strong><br>
    15 Oak Street, Suite 200<br>
    Springfield, IL 62701<br>
    <a href="tel:+15550100199">(555) 010-0199</a>
  </address>
</footer>

Canonical NAP block to paste into listings

Oak Street Dental
15 Oak Street, Suite 200, Springfield, IL 62701
(555) 010-0199

Common mistakes to avoid

Updating the footer but not the schema

After a move or a new phone line, people change the visible text and forget the JSON-LD set in a plugin or theme. Search engines then see two versions of your business. Change both on the same day.

A tel: link that dials an old number

Copying a phone link and editing only the visible text leaves the href pointing at the previous number. Mobile visitors who tap it reach the wrong line. Always check the href.

Different names in different places

Using the full legal name in one place, a nickname in another and a keyword-stuffed name on a listing makes it harder to tie them together. Use the name on your signage everywhere.

Showing the address only in an image or map

An address baked into a graphic or only visible in an embedded map cannot be read as text. Write it out in the footer or on the contact page as well.

Fixing listings before the website

If your own site is inconsistent, directories and aggregators may copy the wrong version back. Make the website correct first, then update the listings to match it.

Frequently asked questions

NAP stands for name, address and phone number. Consistency means every page of your website, your schema and your listings elsewhere show the same details, written the same way, so customers and search engines can be sure they all describe one business.

No. It reads your website only. Google Business Profile, Yelp and directories are not fetched. Use the canonical NAP block in the result to compare each listing by hand.

Accurate, consistent business information is part of Google's guidance for local listings and helps search engines connect your website, profile and citations. No one outside Google can say exactly how much weight it carries, but inconsistent details can confuse customers and split listings.

Use one main number for the business on your website, schema and main listings. Department or branch numbers are fine when they are clearly labelled. If you use call tracking numbers, keep your main number in the schema and on your Google Business Profile.

Either is understood, but pick one version and use it everywhere, including the suite or unit number. The simplest rule is to copy the format used on your Google Business Profile or by your national postal service.

We read the HTML your server sends. Details shown in an image, inside an embedded map or widget, or added by JavaScript after the page loads are invisible to us, and often to other crawlers. Write them as plain text in the footer or on the contact page.

Yes. It follows a locations hub and up to six individual location pages, recognises schema that lists several branches, and treats several phone numbers and postcodes as expected. For a full audit of a large chain, run it on each location page as well.

Learn more

Free website audit

See how your site scores, free

Speed, SEO, DNS, email (SPF/DKIM/DMARC) and security in one scan, with a prioritised fix list.