Understanding how to distinguish branches with similar names using local structured data is essential for South African business owners and branch operators. By mapping truthful branch identity, address, and supported properties directly to the visible page content, you can provide clear signals to search engines about each branch's unique presence. However, it is important to note that while structured data improves clarity and organization, it does not guarantee enhanced search appearances such as rich results or carousels. This article provides a practical branch markup specification to help you implement structured data effectively and responsibly.
Exact Rules and Limits for Branch Structured Data
Google supports the LocalBusiness schema for marking up local businesses, including individual branches. Each branch should be represented as a distinct LocalBusiness entity with the following key requirements and recommendations:
Google Requirements and This Proposed Specification:
@context: Should be "https://schema.org".@type: Use the most specific LocalBusiness subtype applicable (e.g.,Store,Restaurant,Pharmacy).name: The exact name of the branch as shown on the page.address: A complete PostalAddress includingstreetAddress,addressLocality(city or town),addressRegion(province),postalCode, andaddressCountry(use "ZA" for South Africa).
Recommended Properties:
telephone: Include country code (+27) and area code.geo: Latitude and longitude with at least 5 decimal places for precision.openingHoursSpecification: Define accurate opening hours using standard schema.org day names.url: The exact URL of the branch page.priceRange: Optional, use a short text string like "$$".
Validation and Consistency:
- The structured data must match the visible content on the page exactly.
- Avoid adding properties not visible on the page.
- Use Google’s Rich Results Test as described in the LocalBusiness documentation to validate markup.
Limits and Cautions:
- Google does not guarantee display of enhanced features even with valid markup.
- Avoid spammy or misleading markup; violations can lead to manual actions.
- Do not use markup to promise booking or ordering capabilities unless supported by APIs.
These rules align with Google's LocalBusiness structured data documentation and ensure your branch markup is eligible for consideration.
Step-by-Step Procedure to Create Branch Structured Data
Collect Accurate Branch Information:
- Gather the official branch name, full physical address, telephone number, geographic coordinates, hours of operation, and URL.
Choose the Specific LocalBusiness Subtype:
- Identify the most specific subtype that fits your branch (e.g.,
Store,Pharmacy,Restaurant).
- Identify the most specific subtype that fits your branch (e.g.,
Create the JSON-LD Structured Data Block:
- Use the collected data to build a JSON-LD snippet following schema.org and Google guidelines.
Ensure Visible Page Content Matches Markup:
- Confirm that all data in the markup is displayed clearly on the branch's webpage.
Validate the Structured Data:
- Use the Rich Results Test described in Google’s LocalBusiness documentation to check errors and warnings.
Deploy on the Branch Page:
- Insert the validated JSON-LD in the
<head>or just before the closing</body>tag.
- Insert the validated JSON-LD in the
Monitor and Maintain:
- Regularly review and update the markup if branch details change.
- Submit or update your sitemap in Google Search Console to encourage re-crawling.
Avoid Overpromising:
- Do not include unsupported features like booking unless integrated with appropriate APIs.
Branch Markup Specification Worksheet
In the worksheet below, “Required” identifies the proposed internal completeness rule for this branch specification. It is not a claim that every address subfield or optional property is separately required by Google. Check the current documentation for the supported feature and keep all supplied values truthful.
| Field | Description | Format / Example | Required | Notes |
|---|---|---|---|---|
@context |
Schema context URL | "https://schema.org" | Yes | Always this value |
@type |
Specific business type | "Store" or "Pharmacy" | Yes | Use most specific subtype |
name |
Branch name as on page | "Cape Town Central Branch" | Yes | Must match visible content |
address.streetAddress |
Street address with unit/suite if applicable | "123 Main Rd, Unit 4" | Yes | Use official postal address |
address.addressLocality |
City or town | "Cape Town" | Yes | |
address.addressRegion |
Province | "Western Cape" | Yes | |
address.postalCode |
Postal code | "8001" | Yes | |
address.addressCountry |
Country code (ISO 3166-1 alpha-2) | "ZA" | Yes | South Africa code |
telephone |
Phone number with country code | "+27 21 123 4567" | Recommended | Include country and area code |
geo.latitude |
Latitude with 5+ decimals | -33.924870 | Recommended | Accurate coordinates |
geo.longitude |
Longitude with 5+ decimals | 18.424055 | Recommended | |
openingHoursSpecification |
Array of opening hours objects | See below | Recommended | Use schema.org day names and hh:mm:ss format |
url |
URL of the branch page | "https://example.com/branches/cape-town" | Recommended | Must be working URL |
priceRange |
Relative price range | "$$" | Optional | Keep under 100 characters |
Opening Hours Specification Example:
{
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
]
}
Worked Hypothetical South African Example
Consider the "Johannesburg Central Branch" of a retail chain "Sunrise Electronics". It has the following details:
- Name: Sunrise Electronics Johannesburg Central Branch
- Address: 45 Market Street, Johannesburg, Gauteng, 2000, South Africa
- Telephone: +27 11 555 1234
- Geo Coordinates: Latitude -26.204103, Longitude 28.047305
- Opening Hours: Monday to Friday 08:30 to 18:00, Saturday 09:00 to 13:00
- URL: https://example.com/branches/johannesburg-central
The JSON-LD structured data snippet would be:
{
"@context": "https://schema.org",
"@type": "Store",
"name": "Sunrise Electronics Johannesburg Central Branch",
"address": {
"@type": "PostalAddress",
"streetAddress": "45 Market Street",
"addressLocality": "Johannesburg",
"addressRegion": "Gauteng",
"postalCode": "2000",
"addressCountry": "ZA"
},
"telephone": "+27 11 555 1234",
"geo": {
"@type": "GeoCoordinates",
"latitude": -26.204103,
"longitude": 28.047305
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:30",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
],
"url": "https://example.com/branches/johannesburg-central"
}
This snippet should be embedded on the branch's dedicated page where all these details are clearly visible.
Common Failures and Exceptions
Mismatch Between Markup and Visible Content: If the structured data contains branch names or addresses not shown on the page, Google may ignore the markup or apply manual action.
Incomplete Address Details: Omitting parts of the postal address (e.g., missing postal code or province) reduces the quality and can confuse search engines.
Using Generic Business Type: Using only "LocalBusiness" instead of a more specific subtype may reduce clarity.
Incorrect Opening Hours Format: Using non-standard day names or time formats can cause errors in validation.
Overpromising Features: Including booking or ordering properties without proper API support can be flagged as spammy.
Not Validating Markup: Deploying without testing with the Rich Results Test can lead to unnoticed errors.
Duplicating Branch Data on Multiple Pages: Each branch should have a unique page and markup to avoid confusion.
Ignoring Updates: Failing to update markup when branch details change leads to outdated information.
Responsibilities and Verification
Business Owners: Responsible for providing truthful and complete branch information.
Webmasters/SEO Managers: Responsible for implementing the structured data accurately and validating it.
Verification: Use Google’s Rich Results Test, following the LocalBusiness documentation, to check supported markup before publishing.
Monitoring: Use Google Search Console to monitor for structured data errors or manual actions.
Consistency: Ensure all branch pages maintain consistent formatting and data quality.
Documentation: Keep a record of branch data sources and markup versions for accountability.
FAQs
Can I use the same structured data for multiple branches with similar names?
Each branch record must describe the correct real-world branch and use an appropriate stable identity and page URL. Branches can share a legitimate brand name or central phone number; do not invent differences. Misleading data is the issue, rather than a blanket penalty for shared values.
Will structured data guarantee my branch appears in Google Maps or local packs?
No. Structured data helps Google understand your branch better but does not guarantee enhanced search appearances. Ranking depends on relevance, distance, and prominence.
How precise should the geo coordinates be?
Coordinates should have at least 5 decimal places to ensure accurate location mapping.
Can I include reviews or ratings in my branch markup?
Do not add self-serving review ratings expecting review stars for your own business. Google’s LocalBusiness documentation restricts the relevant review and rating properties to sites capturing reviews about other local businesses. Check the applicable review-snippet requirements before any implementation; this draft does not approve a particular review markup setup.
How often should I update my structured data?
Update whenever branch details change, such as hours, address, or contact info. Regular reviews every 3-6 months are recommended.
Additional Resources
For more guidance on structured data and local SEO, visit these Symaxx resources:
- Schema Markup Services , Professional help to implement structured data.
- Local SEO Guide , Strategies for improving local search presence.
- Local Schema Markup Guide , Detailed schema documentation.
- Multi-location SEO , Managing multiple branches.
- Local Search Glossary , Definitions and terms.
If you need help implementing branch structured data or want to improve your local search visibility, please get in touch with our team.
Check the supporting rules
LocalBusiness structured data describes factual business information, and valid markup does not guarantee an enhanced search appearance. Source: LocalBusiness structured data
The profile calls metric counts clicks on the call button, while directions measure requests; neither confirms a completed enquiry or visit. Source: Business Profile performance and insights
Google describes local ranking in terms of relevance, distance and prominence; profile work cannot guarantee a position. Source: Google local ranking guidance

