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.
Results from roofing campaigns that rank in local search.

Map Pack Rankings

Review Velocity

Organic Traffic
"Since partnering with Roofer Quest, our call volume has tripled. We had to hire two new estimators just to handle the influx from Google Maps."
Owner, Elite Roofing Solutions
"They don't just talk about rankings, they deliver signed contracts. The best ROI of any marketing investment we've ever made."
VP of Operations, Summit Commercial Roofs
"We used to rely on HomeAdvisor and shared leads. Now, 100% of our business comes exclusively through organic search. Game changer."
Founder, Apex Restoration
See how we optimize the profile, build the website, and earn local-pack rankings over a 6-month engagement.
If you pay Angi or Google Ads, you are renting visibility. The moment you stop paying, your pipeline dries up. Ranking the profile and the website for high-intent local searches builds permanent digital equity.
We Identify Search Intent Using Industry-Leading Data Tools




I'm Nizam Ud Deen, and I don't build generic websites. I build search intent engines specifically for the roofing industry.
For years, I've watched roofers burn money on agencies that brag about "traffic" while the phones stay silent. Traffic without intent is worthless. My system maps exactly how homeowners search during storms, when comparing prices, and when they're ready to buy, and intercepts them at every stage.
We don't guarantee "traffic" or "rankings." We guarantee high-intent leads.
"We guarantee to generate 15 exclusive, inbound replacement or repair leads per month within the first 180 days, driven entirely by high-intent organic search. If we don't hit that metric, we work for free until we do."
We don't report on vanity metrics. If traffic goes up but revenue stays flat, the strategy failed. We track the pipeline.
Every keyword mapped to the exact phone call it generated.
Tracking estimate requests from high-intent local landing pages.
Connecting CRM data to SEO efforts to prove actual revenue return.
Monitoring organic CPL to ensure it beats shared platform costs.
Run 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.