Photographer & Photo Studio Schema (JSON-LD Blueprint)
Professional creative structured data for commercial photographers, wedding studios, and portrait artists with package catalogs, portfolio regions, and pricing.
Displayed below main page header or above the tool container. • Zero CLS Container
Production JSON-LD Code Block
Embed this structured data block directly into your HTML <head> or framework layout template.
{
"@context": "https://schema.org",
"@type": "Photographer",
"@id": "https://omniseotools.com/demo/photo#studio",
"name": "Lumina Creative Commercial & Wedding Photography",
"telephone": "+1-503-555-0167",
"url": "https://omniseotools.com/demo/photo",
"image": "https://omniseotools.com/images/demo/photo-studio.jpg",
"priceRange": "$$",
"areaServed": [
{
"@type": "City",
"name": "Portland"
},
{
"@type": "State",
"name": "Oregon"
},
{
"@type": "State",
"name": "Washington"
}
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Photography Services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Full-Day Destination Wedding Photography & Drone Coverage"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Commercial Product & Architectural Interior Photography"
}
}
]
},
"address": {
"@type": "PostalAddress",
"streetAddress": "1122 SE Ankeny Street",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97214",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.5228,
"longitude": -122.6541
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"opens": "09:00",
"closes": "18:00"
}
]
}Typed Properties Specification (6 Fields)
Key Schema.org properties and sub-objects required to qualify for rich snippet treatment in Google Search.
| Property | Expected Type | Status | Description & Example |
|---|---|---|---|
| hasOfferCatalog | OfferCatalog | Required | Catalog of photo packages (Weddings, Commercial, Headshots, Events). e.g. { "@type": "OfferCatalog", ... } |
| priceRange | Text | Required | Session and day-rate fee scale ($$). e.g. $$ |
| areaServed | Array<City | State> | Required | Travel regions for on-location and destination shoots. e.g. [{ "@type": "City", "name": "Portland" }] |
| telephone | Text | Required | Studio booking phone number. e.g. +1-503-555-0167 |
| address | PostalAddress | Required | Studio physical location address. e.g. { "@type": "PostalAddress", ... } |
| geo | GeoCoordinates | Required | GPS coordinates. e.g. { "@type": "GeoCoordinates", ... } |
Google Search Console Pitfalls & Critical Warnings
Avoid these 3 common validation traps, parser errors, and algorithmic policy penalties when deploying Photographer schema.
Using Person Schema Instead of LocalBusiness for Studios
Using only Person schema without local business attributes prevents studio from ranking in Google Maps Local Pack.
Use '@type': 'Photographer' which inherits from LocalBusiness.
Missing Specific Service Packages in hasOfferCatalog
Failing to separate wedding photography from commercial product shoots.
Build structured OfferCatalog with distinct photo packages.
Missing Studio Physical Address on Commercial Spaces
Omitting studio address when welcoming client consultations and indoor shoots.
Include complete PostalAddress.
Recommended Implementation Scenarios
Related Schema Blueprints
Explore complementary structured data blueprints across the Local Business cluster.
Displayed below main page header or above the tool container. • Zero CLS Container