<?php
|
|
add_filter('ajv_OrganizationSchemaDefault', 'ajv_organization_schema');
|
function ajv_organization_schema(array $schema):array {
|
return array_merge($schema, [
|
'id' => '#jakevan',
|
'type' => 'JVBase\managers\SEO\render\Thing\Organization\LocalBusiness\LocalBusiness',
|
'name' => 'JakeVan',
|
'url' => get_home_url(),
|
'description' => 'Artist. Designer. Developer. Brand Strategy. I’m a multidisciplinary Canadian artist and tech wizard in Edmonton, Alberta.',
|
'slogan' => 'Let\'s bring your idea to life.',
|
'logo' => get_theme_mod('custom_logo'),
|
'foundingDate' => '2022-02-15',
|
|
'founder' => [
|
[
|
'id'=> 'jake-vanderwerf',
|
'type' => 'JVBase\managers\SEO\render\Thing\Person\Person',
|
'name' => 'Jake Vanderwerf',
|
'url' => 'https://jakevan.ca'],
|
],
|
|
'sameAs' => [
|
'https://bsky.app/profile/jakevan.ca',
|
],
|
|
// Contact
|
'telephone' => '+1-825-823-9916',
|
'email' => 'get@jakevan.ca',
|
|
// Address - note the key names
|
'address' => [
|
// 'streetAddress' => '6551 111 St NW',
|
'addressLocality' => 'Edmonton',
|
'addressRegion' => 'AB',
|
// 'postalCode' => 'T6H 4R5',
|
'addressCountry' => 'CA',
|
],
|
|
// Geo - note the key names
|
'geo' => [
|
'latitude' => '53.5035125',
|
'longitude' => '-113.5188023',
|
],
|
|
// Business details
|
'priceRange' => '$$',
|
'paymentAccepted' => ['Cash', 'Credit Card', 'Debit Card', 'E-Transfer'],
|
'currenciesAccepted' => ['CAD'],
|
'areaServed' => [
|
[
|
'id' => '#edmonton',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Edmonton',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Edmonton'
|
],
|
[
|
'id' => '#stalbert',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'St. Albert',
|
'sameAs' => 'https://en.wikipedia.org/wiki/St._Albert,_Alberta' ],
|
[
|
'id' => '#sherwoodpark',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Sherwood Park',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Sherwood_Park' ],
|
[
|
'id' => '#leduc',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Leduc',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Leduc,_Alberta' ],
|
[
|
'id' => '#sprucegrove',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Spruce Grove',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Spruce_Grove' ],
|
[
|
'id' => '#calgary',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Calgary',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Calgary' ],
|
[
|
'id' => '#reddeer',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Red Deer',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Red_Deer,_Alberta' ],
|
[
|
'id' => '#strathconacounty',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Strathcona County',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Strathcona_County' ],
|
[
|
'id' => '#grandprairie',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Grande Prairie',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Grande_Prairie' ],
|
[
|
'id' => '#lloydminster',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Lloydminster',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Lloydminster' ],
|
[
|
'id' => '#fortsaskatchewan',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Fort Saskatchewan',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Fort_Saskatchewan' ],
|
[
|
'id' => '#camrose',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Camrose',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Camrose,_Alberta' ],
|
[
|
'id' => '#stonyplain',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Stony Plain',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Stony_Plain,_Alberta' ],
|
[
|
'id' => '#coldlake',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Cold Lake',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Cold_Lake,_Alberta' ],
|
[
|
'id' => '#draytonvalley',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Drayton Valley',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Drayton_Valley' ],
|
[
|
'id' => '#ponoka',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Ponoka',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Ponoka,_Alberta' ],
|
[
|
'id' => '#vegreville',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Vegreville',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Vegreville' ],
|
[
|
'id' => '#fortmcmurray',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Fort McMurray',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Fort_McMurray'],
|
[
|
'id' => '#lethbridge',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Lethbridge',
|
'sameAs'=> 'https://en.wikipedia.org/wiki/Lethbridge' ],
|
[
|
'id' => '#airdrie',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Airdrie',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Airdrie,_Alberta'],
|
[
|
'id' => '#medicinehat',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Medicine Hat',
|
'sameAs' =>'https://en.wikipedia.org/wiki/Medicine_Hat'],
|
[
|
'id' => '#cochrane',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Cochrane',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Cochrane,_Alberta' ],
|
[
|
'id' => '#okotoks',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City',
|
'name' => 'Okotoks',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Okotoks'],
|
|
[
|
'id' => '#british-columbia',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\State',
|
'name' => 'British Columbia',
|
'sameAs' => 'https://en.wikipedia.org/wiki/British_Columbia'
|
],
|
[
|
'id' => '#alberta',
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\State',
|
'name' => 'Alberta',
|
'sameAs' => 'https://en.wikipedia.org/wiki/Alberta'
|
],
|
],
|
|
// Hours - note the key names
|
'openingHoursSpecification' => [
|
[
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\StructuredValue\OpeningHoursSpecification',
|
'dayOfWeek' => ['Monday','Tuesday','Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
|
'opens' => '10:00',
|
'closes' => '17:00'
|
]
|
|
],
|
|
// Services as offer catalog
|
'hasOfferCatalog' => [
|
'name' => 'Our Services',
|
'items' => [
|
[
|
'id' => '#graphic-design',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#service-graphic-design',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Service',
|
'name' => 'Graphic Design',
|
'description' => 'From logos to book covers and print media',
|
],
|
],
|
[
|
'id' => '#website-design',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#service-website-design',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Service',
|
'name' => 'Website Design',
|
'description' => 'Let\'s make your site look great and be functional',
|
],
|
],
|
[
|
'id' => '#website-development',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#service-website-development',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Service',
|
'name' => 'Website Development',
|
'description' => 'From custom website development to basic landing pages - I make a website for you that works while you sleep.',
|
],
|
],
|
[
|
'id' => '#content-writing',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#service-content-writing',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Service',
|
'name' => 'Content Writing',
|
'description' => 'Know what you want to say, but not how to say it? I can help!',
|
],
|
],
|
[
|
'id' => '#brand-strategy',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#service-brand-strategy',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Service',
|
'name' => 'Brand Strategy',
|
'description' => 'Whether you\'re getting started with a business plan, or wanting to take a step back to determine your best steps moving forward - I can help.',
|
],
|
],
|
[
|
'id' => '#human-made-sculpture',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#product-human-made-sculpture',
|
'type' => 'JVBase\managers\SEO\render\Thing\Product\Product',
|
'name' => 'Sculpture',
|
'description' => 'Canadian, human made sculpture',
|
],
|
],
|
[
|
'id' => '#human-made-kinetic-sculpture',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#product-human-made-kinetic-sculpture',
|
'type' => 'JVBase\managers\SEO\render\Thing\Product\Product',
|
'name' => 'Kinetic Sculpture',
|
'description' => 'Canadian, human made sculpture that moves!',
|
],
|
],
|
[
|
'id' => '#human-made-copper-jewellery',
|
'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer',
|
// 'price' => '200',
|
'priceCurrency' => 'CAD',
|
// 'priceSpecification' => [
|
// 'type' => 'JVBase\inc\managers\SEO\render\Thing\Intangible\StructuredValue\UnitPriceSpecification',
|
// 'price' => '200',
|
// 'priceCurrency' => 'CAD',
|
// 'unitText' => 'treatment'
|
// ],
|
'itemOffered' => [
|
'id' => '#product-human-made-copper-jewellery',
|
'type' => 'JVBase\managers\SEO\render\Thing\Product\Product',
|
'name' => 'Copper Jewellery',
|
'description' => 'Canadian, human made copper jewellery, inspired by nature.',
|
],
|
],
|
|
]
|
],
|
|
'aggregateRating' => [
|
'ratingValue' => 5,
|
'reviewCount' => 1,
|
'bestRating' => 5,
|
'worstRating' => 1,
|
],
|
]);
|
}
|
|
add_filter('ajv_WebsiteSchemaDefault', 'ajv_website_schema');
|
function ajv_website_schema(array $schema):array
|
{
|
return array_merge(
|
$schema,
|
[
|
'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\WebSite',
|
'name' => 'JakeVan',
|
'description' => 'Let\'s bring your idea to life.',
|
'inLanguage' => 'en-CA',
|
'potentialAction' => [
|
[
|
'id' => 'contact',
|
'type' => 'JVBase\inc\managers\SEO\render\Thing\Action\CommunicateAction',
|
'name' => 'Contact Us',
|
'target' => '/contact/',
|
'description' => 'Get in touch with our team',
|
],
|
],
|
],
|
);
|
}
|
//
|
//add_filter('jvb_schema', function($schema) {
|
// return array_merge($schema, [
|
// 'organization' => [
|
// 'type' => 'LocalBusiness',
|
// 'name' => 'JakeVan',
|
// 'url' => get_home_url(),
|
// 'description' => 'Artist. Designer. Developer. Brand Strategy. I’m a multidisciplinary Canadian artist and tech wizard in Edmonton, Alberta.',
|
// 'slogan' => 'Let\'s bring your idea to life.',
|
// 'logo' => get_theme_mod('custom_logo'),
|
// 'foundingDate' => '2022-02-15',
|
//
|
// 'founders' => [
|
// ['name' => 'Jake Vanderwerf', 'url' => 'https://jakevan.ca'],
|
// ],
|
//
|
// 'sameAs' => [
|
// [ 'url' => 'https://bsky.app/profile/jakevan.ca']
|
// ],
|
//
|
// // Contact
|
// 'telephone' => '+1-825-832-9916',
|
// 'email' => 'get@jakevan.ca',
|
//
|
// // Address - note the key names
|
// 'address' => [
|
// 'street' => '6551 111 St NW', // was 'street_address'
|
// 'city' => 'Edmonton', // was 'locality'
|
// 'province' => 'AB', // was 'region'
|
// 'postal_code' => 'T6H 4R5',
|
// 'country' => 'CA',
|
// ],
|
//
|
// // Geo - note the key names
|
// 'geo' => [
|
// 'lat' => '53.5035125', // was 'latitude'
|
// 'lng' => '-113.5188023', // was 'longitude'
|
// ],
|
//
|
// // Business details
|
// 'priceRange' => '$$',
|
// 'paymentAccepted' => ['Cash', 'Credit Card', 'Debit Card', 'E-Transfer'],
|
// 'currenciesAccepted' => ['CAD'],
|
// 'areaServed' => [
|
// ['name' => 'Edmonton'],
|
// ['name' => 'St. Albert'],
|
// ['name' => 'Sherwood Park'],
|
// ['name' => 'Leduc'],
|
// ['name' => 'Spruce Grove'],
|
// ],
|
//
|
// // Hours - note the key names
|
// 'openingHours' => [
|
// 'monday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'tuesday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'wednesday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'thursday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'friday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'saturday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// 'sunday' => ['opens' => '9:00', 'closes' => '17:00'],
|
// ],
|
//
|
// // Services as offer catalog
|
// 'hasOfferCatalog' => [
|
// 'source' => 'manual',
|
// 'manual_items' => [
|
// [
|
// 'type' => 'Product',
|
// 'name' => 'Sculpture',
|
// 'description' => 'Canadian, human made sculpture',
|
// ],
|
// [
|
// 'type' => 'Product',
|
// 'name' => 'Kinetic Sculpture',
|
// 'description' => 'Canadian, human made sculpture that moves!',
|
// ],
|
// [
|
// 'type' => 'Product',
|
// 'name' => 'Copper Jewellery',
|
// 'description' => 'Canadian, human made copper jewellery, inspired by nature.',
|
// ],
|
// [
|
// 'type' => 'Service',
|
// 'name' => 'Graphic Design',
|
// 'description' => 'From logos to book covers and print media',
|
// ],
|
// [
|
// 'type' => 'Service',
|
// 'name' => 'Web Development',
|
// 'description' => 'From custom website development to basic landing pages - I make a website for you that works while you sleep.',
|
// ],
|
// [
|
// 'type' => 'Service',
|
// 'name' => 'Content Writing',
|
// 'description' => 'Know what you want to say, but not how to say it? I can help!',
|
// ],
|
// [
|
// 'type' => 'Service',
|
// 'name' => 'Brand Strategy',
|
// 'description' => 'Whether you\'re getting started with a business plan, or wanting to take a step back to determine your best steps moving forward - I can help.',
|
// ],
|
// ]
|
// ],
|
//
|
// // Rating - note the structure
|
//// 'aggregateRating' => [
|
//// 'value' => 5,
|
//// 'count' => 103,
|
//// 'best' => 5,
|
//// 'worst' => 1,
|
//// ],
|
// ],
|
//
|
// // Website settings (optional overrides)
|
// 'website' => [
|
// 'name' => 'JakeVan',
|
// 'description' => 'Let\'s bring your idea to life.',
|
// 'inLanguage' => 'en-CA',
|
// 'potentialAction' => [
|
// [
|
// 'name' => 'Search',
|
// 'type' => 'searchAction',
|
// 'target' => '/?s={query}',
|
// ],
|
// [
|
// 'type' => 'communicateAction',
|
// 'name' => 'Contact Us',
|
// 'target' => '/contact/',
|
// 'description' => 'Get in touch with our team',
|
// ],
|
// ],
|
// ],
|
// ]);
|
//});
|