This guide outlines how to implement Rank Math SEO schema markup within the Voxel WordPress Theme using the free version of Rank Math, enhancing search engine understanding and visibility of your content.
Step 1: Generate Schema Markup Use an online schema generator to create your schema markup structure.
Step 2: Adjust Rank Math Settings Disable the Rank Math Schema Type for your custom post type:
Navigate to wp-admin > Rank Math > Titles & Meta > Your Post Type
Set Schema Type to “None”
Step 3: Integrate Dynamic Tags Replace static data in your schema markup with Voxel dynamic tags.
Step 4: Insert Schema Markup Add the generated schema markup into a HTML element in your single post template, wrapped in a script tag. Ensure you press the Voxel Dynamic Tag Icon , then paste in your schema.
Step 5: Test Schema Markup Verify your schema markup using Google’s Rich Results Test tool at Google Rich Results Test .
Example Local Business Schema using Dynamic HTML in the Voxel Theme
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "@post(title)",
"slogan": "@post(slogan)",
"description": "@post(excerpt)",
"url": "@post(website)",
"telephone": "@post(phone)",
"email": "@post(email)",
"sameAs": [
"@post(permalink)",
"@post(facebook-url)",
"@post(twitter-url)",
"@post(instagram-url)",
"@post(linkedin-url)"
],
"image": [
"@post(_thumbnail_id.url)",
@post(gallery.url).list(\,,,",")
],
"logo": "@post(logo.url)",
"location": {
"@type": "Place",
"address": "@post(location.address)",
"hasMap": "https://www.google.com/maps/@@post(location.lat),@post(location.lng),12z"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "@post(location.lat)",
"longitude": "@post(location.lng)"
},
"areaServed": {
"@type": "GeoCircle",
"geoRadius": 20000,
"geoMidpoint": {
"@type": "GeoCoordinates",
"latitude": "@post(location.lat)",
"longitude": "@post(location.lng)"
}
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Monday",
"opens": "@post(work_hours.mon.hours.start).first()",
"closes": "@post(work_hours.mon.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Tuesday",
"opens": "@post(work_hours.tue.hours.start).first()",
"closes": "@post(work_hours.tue.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Wednesday",
"opens": "@post(work_hours.wed.hours.start).first()",
"closes": "@post(work_hours.wed.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Thursday",
"opens": "@post(work_hours.thu.hours.start).first()",
"closes": "@post(work_hours.thu.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Friday",
"opens": "@post(work_hours.fri.hours.start).first()",
"closes": "@post(work_hours.fri.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "@post(work_hours.sat.hours.start).first()",
"closes": "@post(work_hours.sat.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "@post(work_hours.sun.hours.start).first()",
"closes": "@post(work_hours.sun.hours.end).last()"
}
],
@post(reviews.total).is_greater_than(1,>=).then(
"aggregateRating": {
"@type": "AggregateRating"\,
"ratingValue": "@post(reviews.average)"\,
"reviewCount": "@post(reviews.total)"
}\,
).else()
"priceRange": "@post(price-range.label)",
"paymentAccepted": "Cash, Credit Card",
"currenciesAccepted": "USD"
}
</script>
Example Event Schema using Dynamic HTML in the Voxel Theme
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "@post(title)",
"startDate": "@post(event_date.upcoming.start).date_format(c)",
"endDate": "@post(event_date.upcoming.end).date_format(c)",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"description": "@post(excerpt)",
"image": ["@post(_thumbnail_id.url)",@post(gallery.url).list(\,,,",")],
"organizer": {
"@type": "Organization",
"name": "@post(hosts-name)",
"url": "@post(website)",
"email": "@post(email)",
"telephone": "@post(phone)"
},
"offers": {
"@type": "Offer",
"url": "@post(permalink)",
"price": "@post(product.min_price)",
"priceCurrency": "USD",
"availability": "https://schema.org/LimitedAvailability"
},
"location": {
"@type": "Place",
"name": "@post(venue)",
"address": "@post(location.address)",
"hasMap": "https://www.google.com/maps/@@post(location.lat),@post(location.lng),12z"
}
}
</script>
Example Restaurant Schema using Dynamic HTML in the Voxel Theme
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "@post(title)",
"slogan": "@post(slogan)",
"description": "@post(excerpt)",
"url": "@post(website)",
"telephone": "@post(phone)",
"email": "@post(email)",
"sameAs": [
"@post(permalink)",
"@post(facebook-url)",
"@post(twitter-url)",
"@post(instagram-url)",
"@post(linkedin-url)"
],
"image": [
"@post(_thumbnail_id.url)",
@post(gallery.url).list(\,,,",")
],
"logo": "@post(logo.url)",
"location": {
"@type": "Place",
"address": "@post(location.address)",
"hasMap": "https://www.google.com/maps/@@post(location.lat),@post(location.lng),12z"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "@post(location.lat)",
"longitude": "@post(location.lng)"
},
"areaServed": {
"@type": "GeoCircle",
"geoRadius": 20000,
"geoMidpoint": {
"@type": "GeoCoordinates",
"latitude": "@post(location.lat)",
"longitude": "@post(location.lng)"
}
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Monday",
"opens": "@post(work_hours.mon.hours.start).first()",
"closes": "@post(work_hours.mon.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Tuesday",
"opens": "@post(work_hours.tue.hours.start).first()",
"closes": "@post(work_hours.tue.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Wednesday",
"opens": "@post(work_hours.wed.hours.start).first()",
"closes": "@post(work_hours.wed.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Thursday",
"opens": "@post(work_hours.thu.hours.start).first()",
"closes": "@post(work_hours.thu.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Friday",
"opens": "@post(work_hours.fri.hours.start).first()",
"closes": "@post(work_hours.fri.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "@post(work_hours.sat.hours.start).first()",
"closes": "@post(work_hours.sat.hours.end).last()"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "@post(work_hours.sun.hours.start).first()",
"closes": "@post(work_hours.sun.hours.end).last()"
}
],
@post(reviews.total).is_greater_than(1,>=).then(
"aggregateRating": {
"@type": "AggregateRating"\,
"ratingValue": "@post(reviews.average)"\,
"reviewCount": "@post(reviews.total)"
}\,
).else()
"priceRange": "@post(price-range.label)",
"paymentAccepted": "Cash, Credit Card",
"currenciesAccepted": "USD",
"hasMenu": "@post(menu-link)",
"servesCuisine": [
@post(cuisine.label).list(\,,,",")
],
"acceptsReservations": "@post(booking-link)"
}
</script>