Add the sameAs property to your roofing schema so Google reads your website, your Google Business Profile, and your social pages as one business, not four unrelated listings.

Most roofing sites either omit the sameAs property or fill it with dead links. Get a free audit that lists your profile URLs, flags broken ones, and returns a clean sameAs array to paste in.
The sameAs property is a schema field that holds an array of URLs, each one pointing to another page that represents the exact same business. You add it inside your roofing company's Organization or LocalBusiness markup so search engines treat every linked profile as one entity.
The value of sameAs is a list of full URLs, written in JSON-LD, with one entry per official profile of the roofing business.
sameAs is defined by schema.org and sits on the business node. It is markup in the page source, not visible text on the roofing page.
This page covers the markup itself. For the idea of an entity and why Google groups profiles, see entity SEO for roofers.
The sameAs property matters because it confirms that your website, your Google Business Profile, and your directory listings are one roofing company, not several. That confirmation feeds the Knowledge Graph and reinforces the consistency that local rankings rely on.
Place sameAs on the business node, which for a roofer is the Organization, LocalBusiness, or RoofingContractor type. One sameAs array on that node carries every profile link.
For the brand entity, sameAs goes on the Organization node. See Organization schema.
For the local listing, sameAs goes on the LocalBusiness node. See LocalBusiness schema.
RoofingContractor is a LocalBusiness subtype, so it carries sameAs too. See RoofingContractor schema.
The sameAs value is a square-bracket array of quoted URLs. The block below shows the property on its own, with the placeholder profiles swapped for the real ones.
"sameAs": [
"https://www.google.com/maps/place/example-roofing",
"https://www.facebook.com/exampleroofing",
"https://www.linkedin.com/company/exampleroofing/",
"https://www.yelp.com/biz/example-roofing",
"https://www.youtube.com/@exampleroofing"
]Each URL points to a profile your roofing company owns and controls. Order does not change meaning.
Include only profiles that the roofing business owns and that represent the exact same entity. Five to ten verified profiles read cleaner than thirty questionable ones.
A roofing company with disconnected profiles can read as several weak entities. We connect them with one sameAs array so search engines see a single, verified business.
Call Now For PricingOr call +1 272-207-3231
Place one block in the head of the homepage, with the sameAs array inside the business node. The block below uses the RoofingContractor subtype and the placeholders swapped for the real company facts.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RoofingContractor",
"@id": "https://example-roofing.com/#business",
"name": "Example Roofing Co",
"url": "https://example-roofing.com",
"telephone": "+1-555-123-4567",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62704",
"addressCountry": "US"
},
"sameAs": [
"https://www.google.com/maps/place/example-roofing",
"https://www.facebook.com/exampleroofing",
"https://www.linkedin.com/company/exampleroofing/",
"https://www.yelp.com/biz/example-roofing",
"https://www.youtube.com/@exampleroofing"
]
}
</script>Swap every placeholder for the real company name, address, phone, and the profile URLs the business owns. The @id gives the entity one stable identifier across the markup.
Add the property in one of three places: a JSON-LD plugin, a manual script tag, or the theme's schema settings. Each one writes the same markup into the page head.
Plugins such as Yoast SEO, Rank Math, or Schema Pro expose a social-profiles or sameAs field. Paste each profile URL and the plugin writes the array.
Paste the full JSON-LD script into the head, either site-wide or on the homepage, with the sameAs array inside the business node.
Add the array in one place only. A plugin block and a manual block on the same page can create two business nodes that disagree.
Validate the markup with Google's Rich Results Test and the Schema Markup Validator before you rely on it. Both read the live page or a pasted code block and report whether the business node parses.
Build the sameAs array from a stack of owned profiles, with the website as the hub and the rest as confirming links. Each layer adds a corroborating reference for the same roofing business.
A confirmed business entity supports the local rankings that send calls. We wire the sameAs array, keep the profiles consistent, and test the markup so the signal holds.
Call Now For PricingOr call +1 272-207-3231
Roofing sites weaken the property through four recurring sameAs mistakes, each one fixable in the markup.
Strong entity signals help AI search systems name the roofing business in their summaries. The sameAs array is one of the markup signals that confirm which company a query refers to.
This page covers the markup. The broader idea of how systems build and resolve an entity sits in entity SEO for roofers, the concept silo.
No stock photos and no first names without a company. Numbers from named clients, with the charts published.
A brand-new roofing company taken from zero to 9.61K Google impressions in its first 2 months.
Alpha Holistic Roofing
Launch-phase local SEO
Read the case studyA site that flatlined at zero impressions for two months, standing back up at 18.6K impressions in six.
RoofingPros Milwaukee
Recovery and rebuild
Read the case studyRun the business schema through this checklist to confirm the sameAs property holds up in the markup.
Clear answers about the sameAs property in roofing schema markup.
We'll review the business schema across your roofing site, check the sameAs array against your live profiles, and return a clean block you can paste in.
Claim your free roofing schema audit today. No commitment required.