Add Person schema to every roofing article so Google reads who wrote it, what they know, and where that author is verified across the web.

Most roofing blogs publish under "admin" or no author at all. Get a free audit that checks which articles carry Person schema and which need it added.
Author schema is a block of JSON-LD structured data, typed as Person, that names the individual who wrote a page and links that person to their credentials and profiles. You place it in the page code so Google can attribute the content to a real, verifiable author.
Author schema uses the schema.org Person type. It declares the author as an entity rather than a line of plain byline text.
The markup is a JSON-LD script in the page. It sits in the code without changing how the article looks to a homeowner.
This page covers the markup itself. For the idea of authors as entities, see entity SEO for roofers.
Author schema matters because roofing advice sits in a Your Money or Your Life category, where Google weighs experience, expertise, authoritativeness, and trust before it ranks the page.
Include six core properties on the Person type: name, jobTitle, worksFor, url, image, and sameAs. Each one tells Google a specific fact about the author of the roofing page.
name holds the author's full name, such as James Harmon. jobTitle names the credential, such as Licensed Roofing Contractor.
worksFor links the author to the roofing company as an Organization. url points to the author's own page on the site.
image holds a real headshot URL. sameAs lists the author's external profiles, such as LinkedIn and the Google Business Profile.
Anonymous roofing content reads as one more page. We attach Person schema to each article so Google can connect your contractor's name, license, and profiles to the advice on the page.
Call Now For PricingOr call +1 272-207-3231
Here is a complete Person block for a roofing author, ready to adapt with your own name, company, and profile links. Replace the sample values, then place the script in the page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "James Harmon",
"jobTitle": "Licensed Roofing Contractor",
"url": "https://yourroofingsite.com/about/james-harmon",
"image": "https://yourroofingsite.com/images/james-harmon.jpg",
"description": "James Harmon is a licensed roofing contractor with 18 years of experience in residential and commercial roofing across Texas.",
"worksFor": {
"@type": "Organization",
"name": "Harmon Roofing Co.",
"url": "https://yourroofingsite.com"
},
"knowsAbout": [
"Asphalt Shingle Roofing",
"Storm Damage Roof Repair",
"Metal Roofing Installation",
"Roof Inspections"
],
"sameAs": [
"https://www.linkedin.com/in/jamesharmon-roofing",
"https://www.facebook.com/harmonroofing",
"https://g.co/kgs/yourGBPlink"
]
}
</script>The worksFor object links to the company. For that side of the markup, see organization schema.
Add the markup in four steps: build the Person object, fill the real values, place the script in the page, then test it. The script can sit in the head or the body without changing the design.
The sameAs property lists external URLs that confirm the author is the same person across the web, which is how the markup earns trust. At minimum include a LinkedIn URL and a Google Business Profile link.
The author name must match exactly across the website, LinkedIn, the Google Business Profile, and any directories. For the property in depth, see sameAs entity links.
knowsAbout is an optional array that names the roofing topics the author is qualified to write about, such as storm damage or metal roofing. It states the author's subject expertise in the markup.
knowsAbout has more detail than fits here. See the knowsAbout property for how to scope the values to a roofing site.
Author markup is not a one-time switch. As Google crawls the linked profiles and reads consistent topical signals across articles, the author entity strengthens. Early implementation gives that recognition more time to build.
Call Now For PricingOr call +1 272-207-3231
Author schema rarely stands alone: the Person block usually sits inside the author property of an Article block, so the page declares both what it is and who wrote it.
On a roofing blog post, the Article block carries an author property. You set that property to the Person object so the byline becomes a verifiable entity.
The Person's worksFor points to the roofing company. For that side of the markup, see organization schema.
Validate the markup with Google's Rich Results Test, which parses the JSON-LD and reports errors before the page goes live. Paste the URL or the code, then read the detected items.
Open the Rich Results Test, paste the page URL or the raw JSON-LD, and run it to see the parsed structured data.
Confirm the tool reads a Person with the name, jobTitle, and sameAs values you set, and fix any parsing errors it flags.
Person markup is not its own rich result. For what the tool can and cannot surface, see rich results eligibility.
Author markup goes wrong through four recurring mistakes, each one fixable in the JSON-LD before the page ships.
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 each author block through this checklist to confirm the markup attributes the roofing content to a verifiable person.
Clear answers about author schema for roofing content.
We'll review which roofing articles carry Person schema, check the sameAs links and the worksFor connection, and show where author markup is missing.
Claim your free roofing author schema audit today. No commitment required.