Person schema markup helps search engines connect authors to their published content, display rich bylines, and establish topical authority. This guide provides a free template, explains required versus optional properties, and shows how to implement authorship markup that actually gets recognized by Google.
A functional Person schema template starts with three mandatory properties. The @context declares you're using schema.org vocabulary. The @type specifies Person as the entity type. The name property contains the author's full name exactly as it appears in bylines. The url property points to a dedicated author page on your domain where this schema lives—this URL must match the page rendering the markup or Google ignores the entire block. Optional but highly recommended: image provides a profile photo URL, usually square format minimum 112x112 pixels. The sameAs array lists authoritative profiles like LinkedIn, Twitter, or professional directories that confirm the person's identity. These social signals help Google connect the Person entity to broader web mentions. Without sameAs, your schema functions but lacks external validation. The description property offers a brief bio, useful when the author page includes substantial text that might not be immediately visible to crawlers.
Person schema gains value when you connect it to actual content through Article schema author properties. On each blog post or article, your Article markup should include an author object with @type:Person and either a url pointing to the author page or an embedded Person object mirroring the core template. Google follows the url reference to find the full Person schema on the dedicated author page, then associates that entity with all articles sharing the same author URL. Consistency matters—if your author page uses /author/jane-smith/ as the Person url, every article must reference exactly that path in its Article schema. Trailing slashes, http versus https, and www versus non-www all break the connection. For multi-author sites, create individual author pages each with unique Person schema rather than reusing a single template with variable names. This structure lets Google build distinct author entities and attribute content accurately across your domain.
Adding jobTitle and worksFor properties transforms generic authorship into professional credentials. The jobTitle string describes the author's role, such as Senior SEO Strategist or Legal Analyst. The worksFor property nests an Organization object with @type, name, and optionally url pointing to the employer's homepage. This combination signals domain expertise when authors write within their professional field. A lawyer writing legal analysis gains more weight when schema explicitly declares their role and firm affiliation. For agencies or publications, worksFor connects individual contributors to the publishing brand, reinforcing organizational authority. These properties become especially relevant for E-E-A-T evaluation in YMYL topics where author credentials influence trust signals. Omitting jobTitle and worksFor doesn't invalidate your schema, but including accurate professional context strengthens the authorship signal when content aligns with declared expertise. Freelancers or independent authors can skip worksFor entirely without penalty.
The most frequent error is placing Person schema on article pages instead of dedicated author pages. Google expects a stable author URL hosting the complete Person entity, not schema duplicated across dozens of blog posts. Another issue: using placeholder or generic URLs in the url property that don't resolve to actual pages. If the schema declares url as example.com/author/john-doe but that page returns 404 or redirects elsewhere, Google discards the markup. Mismatched name formatting confuses entity resolution—if bylines read J. Smith but schema uses John Michael Smith, Google may treat them as separate entities. The sameAs array should contain full URLs including https protocol; relative paths or handles without domains fail validation. Image URLs must be accessible and return actual image files, not redirects or error pages. Finally, nesting Person schema inside other types like BlogPosting without proper author property structure prevents Google from extracting the entity cleanly.
Before pushing Person schema live, validate the JSON-LD block in Google's Schema Markup Validator. Paste your complete markup including curly braces into the Code Snippet tab and confirm zero errors appear. Warnings about recommended properties are acceptable, but errors in required fields or syntax prevent Google from parsing the schema entirely. After deployment, use URL Inspection in Search Console to verify Google successfully extracts the Person entity. The Enhancements section should list the detected schema type with no critical issues. Recognition isn't instant—Google re-crawls author pages on its normal schedule, often within days for active sites but potentially weeks for low-traffic pages. Request indexing through Search Console to expedite discovery. Check your author page in incognito mode to ensure the JSON-LD block appears in the page source. If you're using a CMS plugin to inject schema, inspect the rendered HTML rather than trusting the plugin interface. Some themes strip script tags during output, silently breaking schema deployment despite correct configuration.
The Person schema framework provided here includes all core and recommended properties in valid JSON-LD syntax. Copy the template structure, replace placeholder values with your actual author details, and paste the complete block into a script tag with type application/ld+json in your author page HTML. The template includes name, url, image, description, sameAs array, jobTitle, and worksFor Organization object. Remove jobTitle and worksFor if not applicable rather than leaving empty strings. Ensure the url value exactly matches the canonical URL of the page hosting this schema. For the image property, use a direct link to a hosted image file, not a CDN token or dynamic resizer URL that might expire. The sameAs array should list three to five authoritative profiles; more than eight entries dilutes signal value. This free person schema template works across any CMS or static site—the JSON-LD format is platform-agnostic and requires no special markup library. Just valid JSON inside a script tag placed anywhere in the HTML body or head.
Person schema isn't set-and-forget markup. When authors change roles, update the jobTitle property and potentially the worksFor Organization if they move to a new employer. Adding new social profiles means appending URLs to the sameAs array while keeping existing entries intact—Google uses accumulated signals over time. If an author page URL changes, implement a 301 redirect from the old path to the new one and update the url property in the schema to match the new canonical. All existing articles referencing the old author URL in their Article schema author property should update simultaneously to maintain the connection. Profile photos change less frequently, but when replacing the image, upload the new file and update the image URL property. Avoid breaking old image links that might be cached or referenced externally. For name changes, update the name property and consider using the alternateName property to list previous byline versions if significant content exists under the old name. Schema consistency across months and years builds stronger entity recognition than frequently rewritten markup.
Person schema on a dedicated author page establishes the complete entity with all properties, while Article markup references that entity through a url pointer or contains a minimal inline Person object. Google prefers a canonical author page hosting full Person schema that multiple articles reference consistently, rather than duplicating complete Person blocks across every blog post.
Visible bylines help human readers but don't create structured data for search engines. Person schema explicitly tells Google who wrote the content and connects that author to external profiles and credentials. Without schema, Google may not associate articles with a consistent author entity or recognize expertise signals tied to professional roles.
No. Each author needs a unique Person schema block with distinct name, url, image, and sameAs values on their own author page. Reusing a template with different names but the same URL or mixing author details confuses entity resolution. Create separate author pages with individualized schema for each contributor.
Google typically detects schema within days to weeks depending on crawl frequency for your author pages. Active sites with regularly updated content see faster recognition. Use Search Console URL Inspection and request indexing to expedite discovery. Rich byline features may take additional time to appear even after schema validation succeeds.
The url property must point to the author page on your domain where the Person schema actually lives. If the author has a separate personal website, include that in the sameAs array instead. Mismatched URLs between the schema location and the url property prevent Google from validating the entity.
Your schema remains valid and functional without sameAs, but you lose external confirmation signals that help Google connect the author entity to broader web mentions. Including authoritative profiles like LinkedIn strengthens entity recognition, especially for less-established authors without significant existing search presence.