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.
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 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.