Last updated: March 22, 2026

Overview

For businesses with physical locations, NAP (Name, Address, Phone) consistency is critical for local SEO. This checker validates that your business information is identical across every page where it appears in structured data.

How It Works

1. User defines the canonical NAP profile (correct business info)
2. ValidGraph scans all validated pages for LocalBusiness and Organization entities
3. Compares each occurrence against the canonical profile
4. Flags inconsistencies:
– Abbreviated vs full name
– Different phone formats
– Missing or incorrect address components
5. Provides fix suggestions for each inconsistency

Tier Availability

| Tier | Available |
|——|———–|
| Enterprise | Yes |

Entity Consistency Checker: Broader entity consistency beyond NAP
Entity Coverage Map: Where business entities appear

Mini-Tutorial

Setting Up and Validating NAP Consistency

1. Define your canonical NAP profile:

   POST /validgraph/v1/nap-profile

   {
     "name": "Acme Plumbing",
     "address": "123 Main St, Springfield, IL 62701",
     "telephone": "+1-555-0123"
   }
   

2. Run the NAP consistency check:

   GET /validgraph/v1/nap-consistency
   

3. Review the results — shows each page where NAP data appears and any inconsistencies:
– Homepage: All correct
– About page: Name abbreviated (“Acme Plbg”)
– Contact page: Phone formatted differently (555-0123 vs +1-555-0123)

4. Fix inconsistencies one by one:
– Update the About page to use full business name
– Normalize phone format to E.164 standard: +1-555-0123

5. Validate to confirm all pages match the canonical profile.

Technical Details

NAP Validation Algorithm

1. Canonical Profile Setup: User-defined source of truth for business information
2. Entity Scanning: Identifies all LocalBusiness and Organization entities across pages
3. Field Extraction:
– Name: from name property
– Address: from address (PostalAddress) with normalization
– Phone: from telephone with E.164 format conversion

4. Comparison Logic:
– Exact match checking for name (case-insensitive)
– Address components normalized (zip code formatting, abbreviations)
– Phone converted to E.164 format before comparison
– Detects missing fields (not in canonical but should be present)

5. Discrepancy Report:
– Lists each inconsistency with page URL
– Suggests fixes based on canonical profile
– Prioritizes by impact on local SEO

REST API Example

Define canonical profile:

POST /validgraph/v1/nap-profile

Request body:

{
  "name": "Acme Plumbing",
  "address": {
    "streetAddress": "123 Main St",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701"
  },
  "telephone": "+1-555-0123"
}

Check consistency:

GET /validgraph/v1/nap-consistency

Response:

{
  "canonical": {
    "name": "Acme Plumbing",
    "address": "123 Main St, Springfield, IL 62701",
    "telephone": "+1-555-0123"
  },
  "discrepancies": [
    {
      "page": "https://example.com/about",
      "issue": "name_mismatch",
      "found_value": "Acme Plbg",
      "canonical_value": "Acme Plumbing",
      "severity": "high"
    },
    {
      "page": "https://example.com/contact",
      "issue": "phone_format",
      "found_value": "555-0123",
      "canonical_value": "+1-555-0123",
      "severity": "medium"
    }
  ],
  "consistency_score": 0.67
}

References

Local Business Structured Data
PostalAddress Schema
E.164 Phone Number Format
Local SEO Best Practices