From a17c578433ef543e220697813a9367a260df83e1 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 28 May 2026 19:14:31 +0000
Subject: [PATCH] =new gitblit setup
---
seo.php | 573 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 474 insertions(+), 99 deletions(-)
diff --git a/seo.php b/seo.php
index 7a5097a..2bc0912 100644
--- a/seo.php
+++ b/seo.php
@@ -1,134 +1,509 @@
<?php
-add_filter('jvb_schema', function($schema) {
+
+add_filter('ajv_OrganizationSchemaDefault', 'ajv_organization_schema');
+function ajv_organization_schema(array $schema):array {
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',
+ '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',
- 'founders' => [
- ['name' => 'Jake Vanderwerf', 'url' => 'https://jakevan.ca'],
+ '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'],
- 'sameAs' => [
- [ 'url' => 'https://bsky.app/profile/jakevan.ca']
+ [
+ 'id' => '#british-columbia',
+ 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\State',
+ 'name' => 'British Columbia',
+ 'sameAs' => 'https://en.wikipedia.org/wiki/British_Columbia'
],
-
- // 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',
+ [
+ 'id' => '#alberta',
+ 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\State',
+ 'name' => 'Alberta',
+ 'sameAs' => 'https://en.wikipedia.org/wiki/Alberta'
],
+ ],
- // Geo - note the key names
- 'geo' => [
- 'lat' => '53.5035125', // was 'latitude'
- 'lng' => '-113.5188023', // was 'longitude'
- ],
+ // 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'
+ ]
- // 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',
+ // 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',
],
- [
- 'type' => 'Service',
- 'name' => 'Web Development',
+ ],
+ [
+ '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.',
],
- [
- 'type' => 'Service',
+ ],
+ [
+ '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!',
],
- [
- 'type' => 'Service',
+ ],
+ [
+ '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.',
+ ],
+ ],
- // Rating - note the structure
-// 'aggregateRating' => [
-// 'value' => 5,
-// 'count' => 103,
-// 'best' => 5,
-// 'worst' => 1,
-// ],
+ ]
],
- // Website settings (optional overrides)
- 'website' => [
+ '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' => [
[
- 'name' => 'Search',
- 'type' => 'searchAction',
- 'target' => '/?s={query}',
- ],
- [
- 'type' => 'communicateAction',
+ 'id' => 'contact',
+ 'type' => 'JVBase\inc\managers\SEO\render\Thing\Action\CommunicateAction',
'name' => 'Contact Us',
'target' => '/contact/',
'description' => 'Get in touch with our team',
],
],
],
- ]);
-});
\ No newline at end of file
+ );
+}
+//
+//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',
+// ],
+// ],
+// ],
+// ]);
+//});
\ No newline at end of file
--
Gitblit v1.10.0