Key takeaways:
- Schema markup is an effective way to tell Google who you are, what you do, and where you do it.
- As a wedding photographer, schema can help Google show your website and its webpages to the right audience.
- But coding in JSON-LD is difficult and many automated plugins offer incomplete semantic SEO.
- That’s why you can download my pre-fabricated JSON-LD templates made for wedding photographers and their websites.
đź’ˇ About the author: Before switching careers, I was a wedding photographer for 10 years. This makes me unique positioned to understand what wedding photographers want to convey and why having visibility in Google Search is an important part of the sales funnel.
What is a schema markup template?
A template by definition is a document that you can edit and personalise. In this context, a schema markup template is a JSON file that you can open with most text editors (e.g., Notepad, TextEdit, Google Docs).
Within the JSON file are essential attributes that let you describe important information. For example, this particular set of templates will help Google understand the relationship between you as a person, the business, the Google Business Profile that is represents the business, and the many more things that make you and your business unique.

In other words, a schema markup template is a way to implement semantic relations using JSON-LD without you having to learn how to write and understand JSON-LD.
What’s included?
The DIY schema template for wedding photographers kit includes JSON files for:
- your homepage
- your website’s about page
- your website’s pricing page
- your website’s service description page
- a blog post that features a wedding
What does each schema markup template do?
1. Homepage schema template
The homepage template will help Google connect your overall website to your business that you have already set up with a Google Business Profile.
This is its primary goal.
Beyond this, the homepage template also connects the service you provide (i.e., wedding photography) to your GBP in addition to your business hours, map location. Most important of all, the nested schema tells Google you are the owner of the business.
2. About page schema template
đź’ˇ If you only mark up one page on your website with schema, it should be your about page.
In summary, the homepage template connects WebPage schema, WebSite schema, LocalBusiness schema and Person schema together to form a knowledge graph.
The about page template is all about you as a person. That is, your relationship as the owner of the business and website and what makes you qualified as a wedding photographer.
At the same time, the about page template describes your business in the most detail. That is, your overall rating, reviews you have gotten from past customers, its hours of operation, and the price range of your wedding photography as a service.
But ultimately, because your business is based on you, the about page schema markup is all about you and all the attributes serve to disambiguate you from another person with the same name.
3. Pricing page schema template
đź’ˇ If you do not have a pricing page or do not disclose your pricing publicly, you may ignore this template.
The pricing page template communicates one thing and one thing only – the price of your service.
You will find two pricing templates.
- One is for those of you who have one standard starting from price.
- The other is for those of you who have multiple packages at varying price points.
You may notice that the about page and pricing page both share the makesOffer attribute.
This is by design and the two do not cause conflict or confusion for Googlebot.
However, what’s different between these two page templates is that the about page is about Person schema whereas the main entity on the pricing page is the Offer schema.
4. Service + primary location page schema template
đź’ˇ If your homepage serves this function, you may ignore this template.
The service + primary location JSON file connects two things primarily: your business entity and the geographical region it serves.
For example, many wedding photographers will target nearby cities, each with a targeted landing page:
- ../los-angeles-wedding-photographer/
- ../san-diego-wedding-photographer/
- ../san-jose-wedding-photographer/
- ../moreno-valley-wedding-photographer/
While I do not recommend this tactic this template will help Google understand your target audience per service landing page.
5. Blog post schema template
Most wedding photographer showcase individual weddings per blog post and the blog post schema template helps align the primary target keyword with the blog post.
For example, keywords such as:
- Evanelle Vineyards wedding
- Springville Ranch wedding
- Tuscan Gardens Venue wedding
- The Pines Resort wedding
In addition to this, the blog post schema template will let you specific one feature image so that it has a better chance at showing up on Google image search.
What does the JSON file look like?
When you open a JSON file in Visual Studio Code, it may look like gibberish if you’ve never coded before.

Don’t stress. This is exactly how it should look like.
What you’re seeing are lines of code (JSON-LD).
The text in blue are attributes – think of these as ways to describe something. And since these are templates, attributes have been pre-determined for you to fill out.
This leads you to the text in orange – text in orange are values. They’re the fields that let you describe things on your website and webpage.
Again, you will find some pre-populated text in orange.
However, and this is where you come in, you will come across many empty values in orange. They’re easy to spot because they look like a pair of quotation marks.
And right next to many of these empty values, you will find green text.
The text in green are comments, hints and instructions on what you should be putting in between the orange quotation marks.
How do I use the templates?
First of all, you will need to download them from my Gumroad account.

You may nominate a price if you’re feeling generous, otherwise, you can get the entire set of schema templates for free.
Next, you’ll want to download Visual Studio Code and install it on your computer.
Once you’ve follow these 2 steps, you can open any of the 5 JSON files with VS Code.
Read this section again to familiarise yourself with what the colour coordination means.
Then start filling the empty orange files out.
For example, for the homepage template, the first thing you will be prompted to describe is the URL of the page.
{
"@context":"https://schema.org",
"@type":"webPage",
"url":"",
And this is what you’d do:
{
"@context":"https://schema.org",
"@type":"webPage",
"url":"https://www.danielkcheung.com",
Next, you’ll be asked to fill out the “@id” property.
{
"@context":"https://schema.org",
"@type":"webPage",
"url":"https://www.danielkcheung.com",
"@id":"#webpage",
And this is what you’ll do:
{
"@context":"https://schema.org",
"@type":"webPage",
"url":"https://www.danielkcheung.com",
"@id":"https://www.danielkcheung.com/#webpage",
The green text should give you enough information to help you understand what you should be putting into each field.

Once you have filled out a template, copy and paste the entire document into https://validator.schema.org/ and https://search.google.com/test/rich-results to make sure there are no errors in the syntax.
Now you’re ready to add the script to its corresponding page on your website.
That is:
- the homepage template JSON-LD should be added to your homepage
- the about page template JSON-LD should be added to your website’s about page etc.
Please note: If you have Yoast, AISEO, or Rankmath installed, you will need to remove the existing schema generation from your website or you will introduce errors.