My Sellerdeck Account | Free Trial

Sellerdeck Community & Knowledge Base

  #1  
Old 26-Nov-2017, 05:38 AM
graphicz's Avatar
graphicz graphicz is offline
Registered User
Join Date: May 2007
Full Name: Jonathan Chappell
Posts: 829
Thanks: 77
Thanked 135 Times in 101 Posts
Google Schema - Rich snippets

This is my current schema/rich snippets code I use in Sellerdeck sites. To use it in Design Library find the group Meta Tags, Copy the Standard Meta Tags layout so you have a backup and open the original standard meta tags replacing everything there with this:

Code:
<actinic:block if="%3cactinic%3avariable%20name%3d%22IsEmbeddedPreview%22%20%2f%3e"> 
<meta http-equiv="X-UA-Compatible" content="<actinic:variable name="EmbeddedPreviewCompatibility" />">
</actinic:block>  
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <meta http-equiv="MSThemeCompatible" content="yes" />
<actinic:block if="%28%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%22Section%22%20AND%20%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%22Brochure%22%20AND%20%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%22Product%20Page%22%29%20OR%20%3cactinic%3avariable%20name%3d%22IsStoreFrontPage%22%20%2f%3e" >
   <actinic:block if="%3cactinic%3avariable%20name%3d%22GlbMetaKeywords%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="keywords" content="<actinic:variable name="GlbMetaKeywords" />" />
   </actinic:block>
   <actinic:block if="%3cactinic%3avariable%20name%3d%22GlbMetaDescription%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="description" content="<actinic:variable name="GlbMetaDescription" />" />
   </actinic:block>
</actinic:block>
<actinic:block if="%28%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22%20OR%20%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Brochure%22%29%20AND%20%3cactinic%3avariable%20name%3d%22IsStoreFrontPage%22%20%2f%3e%20%3d%3d%20FALSE" >
	<actinic:block if="%3cactinic%3avariable%20name%3d%22MetaKeywords%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="keywords" content="<actinic:variable name="MetaKeywords" />" />
	</actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22MetaDescription%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="description" content="<actinic:variable name="MetaDescription" />" />
	</actinic:block>
</actinic:block>
<actinic:block if="%28%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Product%20Page%22%29" >
	<actinic:block if="%3cactinic%3avariable%20name%3d%22ProductPageMetaKeywords%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="keywords" content="<actinic:variable name="ProductPageMetaKeywords" />" />
	</actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22ProductPageMetaDescription%22%20%2f%3e%20%21%3d%20%22%22" >
		<meta name="description" content="<actinic:variable name="ProductPageMetaDescription" />" />
	</actinic:block>
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22InTestMode%22%20%2f%3e">
	<meta name="robots" content="noindex, nofollow">
</actinic:block>

<actinic:block if="%28%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22%29" >
	<actinic:block if="%28%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20AND%20%3cactinic%3avariable%20name%3d%22UseStaticFilterPageLink%22%20%2f%3e%29%20OR%20%0d%21%3cactinic%3avariable%20name%3d%22SectionPaginated%22%20%2f%3e%20OR%20%28%28%3cactinic%3avariable%20name%3d%22SectionPaginationIncludeFullPage%22%20%2f%3e%20%3d%3d%201%29%20AND%20%28%3cactinic%3avariable%20name%3d%22SectionPaginationCurrentPageIndex%22%20%2f%3e%20%3e%3d%200%29%29" >		
		<link rel="canonical" href="<actinic:variable name="CanonicalPageURL" />">
	</actinic:block>
	<actinic:block if="%28%28%3cactinic%3avariable%20name%3d%22IsFilteringPageAsDefaultView%22%20%2f%3e%20AND%20%3cactinic%3avariable%20name%3d%22UseStaticFilterPageLink%22%20%2f%3e%29%20%3d%3d%20False%29%20AND%0d%3cactinic%3avariable%20name%3d%22SectionPaginationIncludeFullPage%22%20%2f%3e%20%3d%3d%200" >
	   <!-- Tell search engines how to index paginated sections -->
		<actinic:block if="%28%3cactinic%3avariable%20name%3d%22SectionPaginationCurrentPageIndex%22%20%2f%3e%20%3e%201%29" >			
			<link rel="prev" href="<actinic:variable name="CanonicalPaginationPreviousPageURL" />">
		</actinic:block>
		<actinic:block if="%28%3cactinic%3avariable%20name%3d%22SectionPaginationCurrentPageIndex%22%20%2f%3e%20%3e%200%29%20AND%20%28%3cactinic%3avariable%20name%3d%22SectionPaginationCurrentPageIndex%22%20%2f%3e%20%3c%20%3cactinic%3avariable%20name%3d%22SectionPaginationLastPartPageIndex%22%20%2f%3e%29" >
			<link rel="next" href="<actinic:variable name="CanonicalPaginationNextPageURL" />">
		</actinic:block>
	</actinic:block>
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%22Section%22" >
	<link rel="canonical" href="<actinic:variable name="CanonicalPageURL" />">
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22SocialMediaUsed%22%20%2f%3e%20AND%0d%3cactinic%3avariable%20name%3d%22FacebookPageName%22%20%2f%3e%20%20%21%3d%20%22%22">
	<meta property="og:url" content="<actinic:variable name="CanonicalPageURL" />" />
	<actinic:block if="%3cactinic%3avariable%20name%3d%22FacebookAdmin%22%20%2f%3e%20%21%3d%20%22%22" ><meta property="fb:admins" content="<actinic:variable name="FacebookAdmin" />" /></actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22FacebookAppID%22%20%2f%3e%20%21%3d%20%22%22" ><meta property="fb:app_id" content="<actinic:variable name="FacebookAppID" />" /></actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Product%20Page%22" >
	<meta property="og:type" content="product" />
	<meta property="og:title" content="<actinic:variable encoding="strip" name="ProductName" />" />
	<meta property="og:description" content="<actinic:variable encoding="strip" name="ProductDescription" />" />
	<actinic:block if="%3cactinic%3avariable%20name%3d%22ProductImageHeight%22%20%2f%3e%20%20%3e%3d%20%20200%20AND%0d%3cactinic%3avariable%20name%3d%22ProductImageWidth%22%20%2f%3e%20%3e%3d%20200" ><meta property="og:image" content="<actinic:variable name="CatalogURL" /><actinic:variable name="ProductImageFileNameRaw" />" /></actinic:block>
	<actinic:block if="%28%3cactinic%3avariable%20name%3d%22ProductImageHeight%22%20%2f%3e%20%3c%20200%20OR%0d%3cactinic%3avariable%20name%3d%22ProductImageWidth%22%20%2f%3e%20%3c%20200%29%20AND%0d%3cactinic%3avariable%20name%3d%22DefaultFacebookImage%22%20%2f%3e%20%20%21%3d%20%22%22"><meta property="og:image" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:block php="true">echo basename("<actinic:variable name="DefaultFacebookImage" />");</actinic:block>" /></actinic:block>
	</actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Section%22" >
	<meta property="og:type" content="product" />
	<meta property="og:title" content="<actinic:variable encoding="strip" name="SectionName" />" />
	<meta property="og:description" content="<actinic:variable encoding="strip" name="SectionDescription" />" />
	<actinic:block if="%3cactinic%3avariable%20name%3d%22SectionImageHeight%22%20%2f%3e%20%3e%3d%20200%20AND%0d%3cactinic%3avariable%20name%3d%22SectionImageWidth%22%20%2f%3e%20%3e%3d%20200" ><meta property="og:image" content="<actinic:variable name="CatalogURL" /><actinic:variable name="SectionImageFileNameRaw" />" /></actinic:block>
	<actinic:block if="%28%3cactinic%3avariable%20name%3d%22SectionImageHeight%22%20%2f%3e%20%3c%20200%20OR%0d%3cactinic%3avariable%20name%3d%22SectionImageWidth%22%20%2f%3e%20%3c%20200%29%20AND%0d%3cactinic%3avariable%20name%3d%22DefaultFacebookImage%22%20%2f%3e%20%20%21%3d%20%22%22" ><meta property="og:image" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:block php="true">echo basename("<actinic:variable name="DefaultFacebookImage" />");</actinic:block>" /></actinic:block>
	</actinic:block>
	<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Brochure%22" >
		<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e%20%3d%3d%20false" >
		<meta property="og:type" content="article" />
		<meta property="og:title" content="<actinic:variable encoding="strip" name="BrochureName" />" />
		<meta property="og:description" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22MetaDescription%22%20%2f%3e%20%21%3d%20%22%22" ><actinic:variable name="MetaDescription" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22MetaDescription%22%20%2f%3e%20%3d%3d%20%22%22" ><actinic:variable name="PageTitle" ></actinic:block>" />
		<actinic:block if="%3cactinic%3avariable%20name%3d%22DefaultFacebookImage%22%20%2f%3e%20%20%21%3d%20%22%22" ><meta property="og:image" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:block php="true">echo basename("<actinic:variable name="DefaultFacebookImage" />");</actinic:block>" /></actinic:block>
		</actinic:block>
		<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBrochureHomePage%22%20%2f%3e" >
		<meta property="og:type" content="website" />
		<meta property="og:title" content="<actinic:variable encoding="strip" name="CompanyName" />" />
		<meta property="og:description" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22MetaDescription%22%20%2f%3e%20%21%3d%20%22%22" ><actinic:variable name="MetaDescription" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22MetaDescription%22%20%2f%3e%20%3d%3d%20%22%22" ><actinic:variable encoding="strip" name="AboutUs" /></actinic:block>" />
		<actinic:block if="%3cactinic%3avariable%20name%3d%22DefaultFacebookImage%22%20%2f%3e%20%20%21%3d%20%22%22" ><meta property="og:image" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:block php="true">echo basename("<actinic:variable name="DefaultFacebookImage" />");</actinic:block>" /></actinic:block>
		</actinic:block>
	</actinic:block>
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%27Product%20Page%27">
	<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "LocalBusiness",
  "url": "<actinic:variable name="WebSiteURL" />",
  <actinic:block if="%3cactinic%3avariable%20name%3d%22SocialMediaUsed%22%20%2f%3e" >"sameAs": [<actinic:block if="%3cactinic%3avariable%20name%3d%22TwitterHandle%22%20%2f%3e%20%21%3d%20%22%22" >
		"https://twitter.com/<actinic:variable name="TwitterHandle" />"<actinic:block if="%3cactinic%3avariable%20name%3d%22FacebookPageName%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22GooglePlusPageID%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22PinterestUserURL%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22YouTubeID%22%20%2f%3e%20%21%3d%20%22%22">,</actinic:block></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22FacebookPageName%22%20%2f%3e%20%21%3d%20%22%22">
		"https://www.facebook.com/<actinic:variable name="FacebookPageName" />"<actinic:block if="%3cactinic%3avariable%20name%3d%22GooglePlusPageID%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22PinterestUserURL%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22YouTubeID%22%20%2f%3e%20%21%3d%20%22%22" >,</actinic:block></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22GooglePlusPageID%22%20%2f%3e%20%21%3d%20%22%22">
		"https://plus.google.com/<actinic:variable name="GooglePlusPageID" />"<actinic:block if="%3cactinic%3avariable%20name%3d%22PinterestUserURL%22%20%2f%3e%20%21%3d%20%22%22%20OR%0d%3cactinic%3avariable%20name%3d%22YouTubeID%22%20%2f%3e%20%21%3d%20%22%22" >,</actinic:block></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22PinterestUserURL%22%20%2f%3e%20%21%3d%20%22%22">
		"https://pinterest.com/<actinic:variable name="PinterestUserURL" />"<actinic:block if="%3cactinic%3avariable%20name%3d%22YouTubeID%22%20%2f%3e%20%21%3d%20%22%22" >,</actinic:block></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22YouTubeID%22%20%2f%3e%20%21%3d%20%22%22">
		"https://www.youtube.com/<actinic:variable name="YouTubeID" />"</actinic:block>
	],</actinic:block>
  "logo": "<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:variable name="CompanyLogoFileName" />",
	"image": "<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:variable name="CompanyLogoFileName" />",
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%21%3d%20%27Product%20Page%27">
		 <actinic:block if="%3cactinic%3avariable%20name%3d%22DisplaySiteFeedback%22%20%2f%3e%20AND%20%3cactinic%3avariable%20name%3d%22CustomerFeedbackEnabled%22%20%2f%3e" >"aggregateRating": {
		<actinic:block php="true">$sJsonData = file_get_contents('https://api.feefo.com/api/10/reviews/summary/service?merchant_identifier=merchantidentifiergoeshere');
		$oData = json_decode($sJsonData);</actinic:block>
		"@type": "AggregateRating",
		"ratingValue": "<actinic:block php="true">echo $oData->rating->rating;</actinic:block>",
		"reviewCount": "<actinic:block php="true">echo $oData->rating->service->count;</actinic:block>"
	},</actinic:block>
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Product%20Page%27">
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Product%20Page%22%20AND%0d%3cactinic%3avariable%20name%3d%22DisplayProductFeedback%22%20%2f%3e%20AND%20%3cactinic%3avariable%20name%3d%22CustomerFeedbackEnabled%22%20%2f%3e" >"aggregateRating": {
		<actinic:block php="true">$sJsonData = file_get_contents('https://api.feefo.com/api/10/reviews/summary/product?merchant_identifier=merchantidentifiergoeshere&product_sku=<actinic:variable encoding="perl" name="ProductReference" selectable="false" />');
		$oData = json_decode($sJsonData);</actinic:block>
		"@type": "AggregateRating",
		"ratingValue": "<actinic:block php="true">echo $oData->rating->rating;</actinic:block>",
		"reviewCount": "<actinic:block php="true">echo $oData->rating->product->count;</actinic:block>"
	},</actinic:block>	
</actinic:block>
  "legalName": "<actinic:variable name="CompanyName" />",
  "priceRange": "&pound;10-&pound;100",
  "telephone": "+441234987654",
  "address": [{
    "@type": "PostalAddress",
    "addressLocality": "<actinic:variable name="Address1" />, <actinic:variable name="Address2" />, <actinic:variable name="Address3" />, <actinic:variable name="Address4" />",
    "postalCode": "<actinic:variable name="PostalCode" />"
  }],
   "description": "<actinic:variable name="GlbMetaDescription" />",
	"name": "<actinic:variable name="CompanyName" />",
   "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+441234987654",
    "contactType": "customer service",
    "email": "<actinic:variable name="Email" />"
  }] 
}
</script>
</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%27Product%20Page%27">	
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "product",
  "name": "<actinic:variable encoding="perl" name="ProductName" selectable="false" />",
  "image": "<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:variable encoding="perl" name="ProductImageFileName" selectable="false" />",
  <actinic:block if="%3cactinic%3avariable%20name%3d%22mpn%22%20%2f%3e%20%21%3d%20%22%22" >"mpn": "<actinic:variable name="mpn" />",</actinic:block>
  <actinic:block if="%3cactinic%3avariable%20name%3d%22ProductBarcodeSKU%22%20%2f%3e%20%21%3d%20%22%22" >"sku": "<actinic:variable name="ProductBarcodeSKU" />",</actinic:block>
<actinic:block if="%3cactinic%3avariable%20name%3d%22DisplayProductFeedback%22%20%2f%3e%20AND%20%3cactinic%3avariable%20name%3d%22CustomerFeedbackEnabled%22%20%2f%3e" >"aggregateRating": {
		<actinic:block php="true">$sJsonData = file_get_contents('https://api.feefo.com/api/10/reviews/summary/product?merchant_identifier=merchantidentifiergoeshere&product_sku=<actinic:variable encoding="perl" name="ProductReference" selectable="false" />');
		$oData = json_decode($sJsonData);</actinic:block>
		"@type": "AggregateRating",
		"ratingValue": "<actinic:block php="true">echo $oData->rating->rating;</actinic:block>",
		"reviewCount": "<actinic:block php="true">echo $oData->rating->product->count;</actinic:block>"
	},</actinic:block>
"offers": {
        "@type": "Offer",
        	"url": "<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable encoding="perl" name="CatalogURL" selectable="false" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable encoding="perl" name="SSLCatalogURL" selectable="false" /></actinic:block><actinic:variable encoding="perl" name="ProductPageName" selectable="false" />",
        	"priceCurrency": "GBP",
        	"price": "<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>"
   }
 }
</script>
<!-- microdata start -->
<div itemscope itemtype="http://data-vocabulary.org/Product">
<meta itemprop="image" content="<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable name="CatalogURL" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable name="SSLCatalogURL" /></actinic:block><actinic:variable name="ProductImageFilenameRaw" />" />
<meta itemprop="identifier" content="mpn:<actinic:variable name="ProductReference" />"/>
<meta itemprop="name" content="<actinic:variable name="ProductName" />" />
<meta property="og:type" content="product" />
<meta property="og:title" content="<actinic:variable encoding="strip" name="ProductName" />" />
<meta property="og:url" content="<actinic:block php="true">echo '<actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFStandard%22%20%2f%3e" ><actinic:variable encoding="perl" name="CatalogURL" selectable="false" /></actinic:block><actinic:block if="%3cactinic%3avariable%20name%3d%22IsBaseHREFSSL%22%20%2f%3e" ><actinic:variable encoding="perl" name="SSLCatalogURL" selectable="false" /></actinic:block>' . basename('<actinic:variable name="ProductPageName" encoding="perl" selectable="false" />');</actinic:block>" />
<actinic:block if="%3cactinic%3avariable%20name%3d%22brand%22%20%2f%3e%20%21%3d%20%22%22"><meta itemprop="brand" content="<actinic:variable name="brand" />"/></actinic:block>
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition" />
    <meta itemprop="name" content="<actinic:variable name="ProductName" />" />
    <meta itemprop="price" content="<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>" />
</div>
<div class="purchase_data" itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer">
<meta itemprop="currency" content="GBP" />
<meta itemprop="price" content="<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>" />
<meta itemprop="availability" content="In stock" />
<meta itemprop="seller" content="<actinic:variable encoding="strip" name="CompanyName" />"/>
  <actinic:block if="%3cactinic%3avariable%20name%3d%22mpn%22%20%2f%3e%20%21%3d%20%22%22" ><meta itemprop="mpn" content="<actinic:variable name="mpn" />"/></actinic:block>
  <actinic:block if="%3cactinic%3avariable%20encoding%3d%22html%22%20name%3d%22ContentCategory%22%20%2f%3e%20%21%3d%20%22Standard%22" ><meta itemprop="category" content="<actinic:variable name="ContentCategory" />"/></actinic:block>
  <actinic:block if="%3cactinic%3avariable%20name%3d%22ProductBarcodeSKU%22%20%2f%3e%20%21%3d%20%22%22" ><meta itemprop="sku" content="<actinic:variable name="ProductBarcodeSKU" />"/></actinic:block>
</div>
<!-- microdata end -->
</actinic:block>
Most of it uses variables but some need manual input.

1. In this expression:
Code:
https://api.feefo.com/api/10/reviews/summary/product?merchant_identifier=merchantidentifiergoeshere&product_sku=<actinic:variable encoding="perl" name="ProductReference" selectable="false" />
You need to get your merchant identifier from Feefo and use it instead of merchantidentifiergoeshere.

2. You must use the international phone number not the 'Phone' Variable (eg: +441234987654)

3. You need your product price range ("priceRange": "&pound;10-&pound;100",)

You probably know this if it is your store but if you are a designer open the Access Database in Access and from the product table copy the 'price' column into an Excel sheet. The sort low to high to get your top and bottom prices - ignore zeros, use a real price.

Some of this is from Norman's excellent input on the matter (Drillpine.biz)

There are a few other bits you might like to edit manually to your taste.
__________________
Jonathan Chappell
Website Designer
SellerDeck Website Designer
Actinic to SellerDeck upgrades
Graphicz Limited - www.graphicz.co.uk
Reply With Quote
The Following 3 Users Say Thank You to graphicz For This Useful Post:
Duncan Rounding (26-Nov-2017), Goz (26-Nov-2017), Mantra (12-Jan-2018)
  #2  
Old 30-Nov-2017, 05:28 PM
brucet brucet is offline
Administrator
Join Date: Apr 2003
Full Name: Bruce Townsend
Posts: 980
Thanks: 60
Thanked 239 Times in 143 Posts
Sellerdeck 2018 will support schema tags out of the box, using the same method and similar code.
__________________
Bruce Townsend
Ecommerce Product Manager
SellerDeck Ecommerce Solutions
Reply With Quote
  #3  
Old 01-Dec-2017, 09:30 AM
Buzby's Avatar
Buzby Buzby is offline
Registered User
Join Date: Feb 2004
Full Name: Jason
Posts: 875
Thanks: 91
Thanked 39 Times in 35 Posts
Any idea when this will be available to play with in Beta?
Reply With Quote
  #4  
Old 01-Dec-2017, 09:46 AM
brucet brucet is offline
Administrator
Join Date: Apr 2003
Full Name: Bruce Townsend
Posts: 980
Thanks: 60
Thanked 239 Times in 143 Posts
We hope to have a Beta in January
__________________
Bruce Townsend
Ecommerce Product Manager
SellerDeck Ecommerce Solutions
Reply With Quote
The Following User Says Thank You to brucet For This Useful Post:
Buzby (01-Dec-2017)
  #5  
Old 10-Jan-2018, 01:29 PM
Mantra Mantra is offline
Registered User
Join Date: Jan 2011
Full Name: Martin Nichols
Posts: 72
Thanks: 40
Thanked 9 Times in 7 Posts
Quote:
This is my current schema/rich snippets code I use in Sellerdeck sites. To use it in Design Library find the group Meta Tags,
Your schema/rich snippets code looks useful and I should like to try this out with microdata code addition only.
The first 83 lines of code I think are the same as that which already exists in the Standard Meta Tags layout, so would you be able to list the code lines needed just for the microdata bit (no Feefo etc.)?
I already have the microdata code lines within the product layout and this is working fine at the moment although the Standard Meta Tags layout would seem to be the right place for this code to be.
I tried adding just the microdata code to the Standard Meta Tag layout but this resulted in errors concerning incorrrect placement of variables so I guess some more code lines (<script>) are needed in addition that you have incorporated within your code.
Martin
Mantra Audio

Last edited by Mantra; 10-Jan-2018 at 01:33 PM.. Reason: Inclusion of [QUOTE]
Reply With Quote
  #6  
Old 10-Jan-2018, 03:16 PM
graphicz's Avatar
graphicz graphicz is offline
Registered User
Join Date: May 2007
Full Name: Jonathan Chappell
Posts: 829
Thanks: 77
Thanked 135 Times in 101 Posts
Copy your meta tags into Notepad++ and then mine into another document and compare. It will be easy then to remove from mine what you don't want.
(https://notepad-plus-plus.org/
https://sourceforge.net/projects/npp-compare/)

If errors are generated it would be handy to post them here. I don't have errors here so I may have variables you don't. Any you don't have can be created in Design Library or you can hard code values.

The ones I posted are in use on live sites and the site owners and their SEOs seem reasonably happy with them.

You may need to flesh them out a bit for Pinterest rich pins,
Code:
<meta property="og:site_name" content="The Name of the Company" />
<meta property="product:price:amount" content="<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>"  />
<meta property="product:price:currency" content="GBP" />
<meta property="og:availability" content="instock" />
whilst Facebook Pixels go elsewhere, below the <body> tag..
__________________
Jonathan Chappell
Website Designer
SellerDeck Website Designer
Actinic to SellerDeck upgrades
Graphicz Limited - www.graphicz.co.uk
Reply With Quote
  #7  
Old 11-Jan-2018, 03:16 PM
Mantra Mantra is offline
Registered User
Join Date: Jan 2011
Full Name: Martin Nichols
Posts: 72
Thanks: 40
Thanked 9 Times in 7 Posts
Thank you for your response on this.
Quote:
Copy your meta tags into Notepad++ and then mine into another document and compare.
I have pasted the Microdata code that presently works fo me below:
Code:
 <!-- microdata BEGIN -->
<div class="product-text notabber" itemscope itemtype="http://schema.org/Product">
<meta itemprop="sku" content="<actinic:variable name="ProductID" />" />
<meta itemprop="name" content="<actinic:variable encoding="actinic" name="ProductName" />" />
<meta itemprop="description" content="<actinic:variable name="ProductPageMetaDescription" />" />
<meta itemprop="image" content="<actinic:variable name="CatalogURL" /><actinic:variable name="ProductImageFileName" />" />
<meta itemprop="brand" content="<actinic:variable name="brand" />" />
<meta itemprop="mpn" content="<actinic:variable name="mpn" />" />
<meta itemprop="gtin13" content="<actinic:variable name="ean" />" />
<meta itemprop="gtin12" content="<actinic:variable name="upc" />" />
<meta itemprop="category" content="<actinic:variable name="google_product_category" />" />
<div class="purchase_data" itemprop="offerDetails" itemscope itemtype="http://schema.org/Offer">
<meta itemprop="priceCurrency" content="GBP" />
<meta itemprop="price" content="<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>" />
<meta itemprop="availability" content="<actinic:variable name="availability" />" />
<meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition" />
<meta itemprop="seller" content="<actinic:variable name="CompanyName" />"/>
</div>
</div>
<!-- microdata END -->
Quote:
If errors are generated it would be handy to post them here
When I add the above microdata code at the end of the Standard Meta Tags layout code and upload I get the error codes displayed attached.
Some of the micro data code lines are different to yours, however some of my variables pass through whist the others shown in the listed errors do not.
I use ProductPageMetaDescription instead of ProductDescription variable because some products have tabs and table coding embedded in descriptions that do not display well in Google Data Feed.
Any advice on solution to remove these errors when microdata is added to Standard Meta Tags layout code would be appreciated.
The final error on the list concerning the ProductEmbedVideo layout is a latent error I have after upgrading to SellerDeck 2016 and does not concern the microdata code. Not sure why this should be but it clears when I restore the layout back to default but keeps re-appearing. It is not a big problem though - just a niggle.

Martin
Mantra Audio
Attached Images
File Type: jpg MetaTagsLayoutCodingErrors.jpg (217.7 KB, 18 views)
Reply With Quote
  #8  
Old 11-Jan-2018, 03:43 PM
graphicz's Avatar
graphicz graphicz is offline
Registered User
Join Date: May 2007
Full Name: Jonathan Chappell
Posts: 829
Thanks: 77
Thanked 135 Times in 101 Posts
You can use encoding = strip html to remove html (right click on the variable and 'appearance')

I am not getting those errors, all product related stuff should be in a blockif <actinic:variable name="PageType" /> == 'Product Page'

SD does like to throw up errors.

Closing and openoing sometimes does the trick.

Sometimes they are just spurious. If you do Design Check Coding Errors that will show any 'real' errors. Also if the error message is there but grey and you cannot click on it I would not worry too much.

If your variables are within a block of php the will need to be encoding perl selectable false.
__________________
Jonathan Chappell
Website Designer
SellerDeck Website Designer
Actinic to SellerDeck upgrades
Graphicz Limited - www.graphicz.co.uk
Reply With Quote
The Following User Says Thank You to graphicz For This Useful Post:
Mantra (12-Jan-2018)
  #9  
Old 15-Jan-2018, 02:44 PM
Mantra Mantra is offline
Registered User
Join Date: Jan 2011
Full Name: Martin Nichols
Posts: 72
Thanks: 40
Thanked 9 Times in 7 Posts
Quote:
Originally Posted by graphicz View Post
You can use encoding = strip html to remove html (right click on the variable and 'appearance')
Thank you for the tip - very helpful.

Quote:
I am not getting those errors, all product related stuff should be in a blockif <actinic:variable name="PageType" /> == 'Product Page'

If your variables are within a block of php the will need to be encoding perl selectable false.
I superimposed my code over your code including the the product related stuff within blockif's and this cleared the errors that through up within SD.

However, after uploading I started to get the "missing microdata for condition" notifications again in Google Merchant Centre. Checking some sample products using Google Structure Data Testing Tool flagged up 2 errors - 'itemCondition' and 'mpn' not recognised by Google for an object of type offer.

I remembered this one cropped up before because the Offer group is not separate to the Product group and needs to be a sub-part (child) of the Product group within the Procuct <div> </div>.

After correcting the above another error was presented using the Google Structured Data Test tool - offerDetails - the property offerDetails is not recognised by Google for an object of type Product.
I got this one resolved by removing part code "class="purchase_data"" and renaming "itemprop="offerDetails"" to "itemprop="offers"" on the same code line.

I have included below the microdata code using schema vocabularly that works for me at the end of your suggested update of the Standard Meta Tag Layout.

Code:
<!-- microdata BEGIN -->
<div class="product-text notabber" itemscope itemtype="http://schema.org/Product">
<actinic:block if="true">
<meta itemprop="sku" content="<actinic:variable name="ProductID" />" />
</actinic:block>
<meta itemprop="name" content="<actinic:variable encoding="actinic" name="ProductName" />" />
<meta itemprop="description" content="<actinic:variable name="ProductPageMetaDescription" />" />
<meta itemprop="image" content="<actinic:variable name="CatalogURL" /><actinic:variable name="ProductImageFileName" />" />
<actinic:block if="true">
<meta itemprop="brand" content="<actinic:variable name="brand" />" />
</actinic:block>
<actinic:block if="true">
<meta itemprop="mpn" content="<actinic:variable name="mpn" />" />	
</actinic:block>
<actinic:block if="true">
<meta itemprop="gtin13" content="<actinic:variable name="ean" />" />	
</actinic:block>
<actinic:block if="true">
<meta itemprop="gtin12" content="<actinic:variable name="upc" />" />	
</actinic:block>
<actinic:block if="true">
<meta itemprop="category" content="<actinic:variable name="google_product_category" />" />	
</actinic:block>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<meta itemprop="priceCurrency" content="GBP" />
<meta itemprop="price" content="<actinic:block php="true">echo preg_replace('/[^\d\.]/', '', '<actinic:block type="pricelist"><actinic:block if="%3cactinic%3avariable%20name%3d%22ListIndex%22%20%2f%3e%20%3d%3d%201"><actinic:variable name="TaxInclusivePrice" selectable="false" /></actinic:block></actinic:block>');</actinic:block>" />
<meta itemprop="availability" content="<actinic:variable name="availability" />" />
<meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition" />
<meta itemprop="seller" content="<actinic:variable name="CompanyName" />"/>
</div>
</div>
<!-- microdata END -->
I have substituted the variable "availability" in place of hard code "In stock" for consistency with my Google Product Feed layout "availability" variable for "in stock" (default), out of stock" and "preorder" options.

Finally I note that although my products now pass through the Google Structured Data Test with no errors there are 2 entries for each product - see screenshot sample attached.

The items covered in the second listing correspond to those incorporated within the microdata code entries and I think possibly some of those included in the first entry may come from code entries before the microdata code so there appears that there could be some unnecessary duplication within the code that needs to be removed.

Hope this helps.

Martin
Mantra Audio
Attached Images
File Type: jpg GoogleStructuredDataTestProduct(2).jpg (714.9 KB, 22 views)
Reply With Quote
  #10  
Old 24-Feb-2018, 09:10 PM
brucet brucet is offline
Administrator
Join Date: Apr 2003
Full Name: Bruce Townsend
Posts: 980
Thanks: 60
Thanked 239 Times in 143 Posts
The v18 Beta version is now available, incorporating rich snippets and other useful new features. See https://community.sellerdeck.com/showthread.php?t=57501
__________________
Bruce Townsend
Ecommerce Product Manager
SellerDeck Ecommerce Solutions
Reply With Quote
  #11  
Old 05-Mar-2018, 02:56 PM
orcahouse orcahouse is offline
Registered User
Join Date: Oct 2005
Full Name: Tom Riddell
Posts: 95
Thanks: 13
Thanked 9 Times in 6 Posts
Hi Mantra,
Sorry to bother you but I'm trying to get microdata working on my site. I've got the code passing the checker but Google seems to have trouble finding it!! Where exactly have you placed it? Many thanks, Tom
__________________
www.silvermoonbeads.com - Gemstones, Pearls, Hill Tribe sterling silver, Swarovski and Findings.
Reply With Quote
  #12  
Old 06-Mar-2018, 01:29 PM
graphicz's Avatar
graphicz graphicz is offline
Registered User
Join Date: May 2007
Full Name: Jonathan Chappell
Posts: 829
Thanks: 77
Thanked 135 Times in 101 Posts
Mine goes in the Standard Meta Tags but anywhere in the <head></head> area should be fine.
__________________
Jonathan Chappell
Website Designer
SellerDeck Website Designer
Actinic to SellerDeck upgrades
Graphicz Limited - www.graphicz.co.uk
Reply With Quote
  #13  
Old 06-Mar-2018, 05:20 PM
Mantra Mantra is offline
Registered User
Join Date: Jan 2011
Full Name: Martin Nichols
Posts: 72
Thanks: 40
Thanked 9 Times in 7 Posts
Quote:
Originally Posted by orcahouse View Post
Sorry to bother you but I'm trying to get microdata working on my site. I've got the code passing the checker but Google seems to have trouble finding it!! Where exactly have you placed it? Many thanks, Tom
I placed my code at the end of the Standard Meta Tags Layout after considering Jonathan's original post and it is working fine.

Martin Nichols
Mantra Audio
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 07:04 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.