Rich Snippets Schema.org JSON-LD Structured Data for Magento Adobe Commerce

$39.99
In stock
SKU
PMACERS

Adds Google Rich Snippets (Rich Results) Schema.org JSON-LD structured data to the product, category, contact, home, and CMS pages. The Rich Snippets structured data is also used by Pinterest, TikTok, and many others.


Magento 2 Current Extension Version: 1.0.1

Compatibility

Open Source (CE): 2.0, 2.1, 2.2, 2.3, 2.4
Commerce using on-prem (EE): 2.2, 2.3, 2.4
Commerce on Cloud (ECE): 2.2, 2.3, 2.4

Compatible with Breeze

Compatible with Hyvä

Links

Maximum 255 characters

Compatible with Breeze frontend!

Compatible with Hyvä frontend!

Works great with Open Graph Meta Tags!

Works great with Twitter Cards Meta Tags!


The Rich Snippets (Rich Results) are enhanced search results that provide additional information to searchers on the contents of the web page. Google and other search engines use structured data, contained within the HTML or Javascript of a web page to form these snippets. Apptrian Rich Snippets extension for Magento adds Google Rich Snippets Schema.org JSON-LD structured data to the product, category, contact, home, and CMS pages. Our extension allows your site to pass both Rich Results Test and Schema Markup Validator test, including the Rich Results > Merchant Listings test. The Rich Snippets structured data is also used by Pinterest, TikTok, and many others. There are dozens of options for customization. This extension provides your Magento site not only with social improvements but also has great SEO value. All of the snippets are generated automatically based on the data in your Magento database. Like all of our extensions, it is multistore compatible, works on any theme, it does not override nor overwrite anything. Functionality is injected via layout updates as Magento best practices recommend.

Compatible with Breeze frontend without the need for an additional compatibility module. It works out of the box.

Compatible with Hyvä frontend without the need for an additional compatibility module. It works out of the box.

Features

General Settings

  • An easy way to enable or disable the extension.
  • All data needed for Google Rich Snippets is parsed from Magento and Schema.org JSON-LD objects are generated automatically.
  • Multiselect option to add Google Rich Snippets for the product, category, contact, home, and/or cms pages.
  • Option to select the Author object type (Organization or Person).
  • Option to type in Author Name (author.name).
  • Option to type in Author URL (author.url).
  • Option to select the Author Logo (author.logo).
  • Option to select the Publisher object type (Organization or Person).
  • Option to type in Publisher Name (publisher.name).
  • Option to type in Publisher URL (publisher.url).
  • Option to select the Publisher Logo (publisher.logo).

Breadcrumb (BreadcrumbList) Structured Data

  • Multiselect option to add the Breadcrumb (BreadcrumbList) structured data for the product, category, contact, home, and/or cms pages.
  • Option to enable multiple breadcrumb trails for a single page.
  • Option to select behavior if the category or categories within the path are not active.
    • Enable All Regardless of Category Status
    • Disable Breadcrumb Item Only
    • Disable Entire Breadcrumb Trail

Category Page Structured Data

  • Option to select the Category page object type (Article or WebPage).
  • Option to type in the category attribute code you want to use for the name property.
  • Option to type in the category attribute code you want to use for the description property.
  • Option to type in the category attribute code to use for the image (ImageObject).
  • Option to type in the additional structured data for the category pages.

CMS Page Structured Data

  • Option to select the CMS page object type (Article or WebPage).
  • Option to type in the CMS page attribute code you want to use for the name property.
  • Option to type in the CMS page attribute code you want to use for the description property.
  • Option to limit the number of images on the CMS pages schema.
  • Option to type in the additional structured data for the CMS pages.

Contact Page Structured Data

  • Option to type in the page handle (full action name) of your contact page.
  • Option to type in the structured data for the contact page.

Home Page Structured Data

  • Option to select the home page object type (Article, WebPage, or WebSite).
  • Option to type in the home page attribute code you want to use for the name property.
  • Option to type in the home page attribute code you want to use for the description property.
  • Option to limit the number of images on the home page schema.
  • Option to type in the additional structured data for the home page.

Product Page Structured Data

  • Product pages are done as Product objects.
  • Option to type in the Product attribute code you want to use for the name property.
  • Option to type in the Product attribute code you want to use for the description property.
  • Option to limit the number of images on Product pages schema.
  • Products will use a full-size primary image.
  • Option for product Rating Normalization. Enabling this option will convert the product rating to the default Google rating (0 to 5) instead of (0 to 100).
  • Option to type the attribute code you want to use for the brand property.
  • Option to type default text for the brand property value. (It is used if an attribute is empty.)
  • Option to type the attribute code you want to use for the availability property. (If left empty determination will be made based on the default Magento getIsInStock() method.)
  • Option to match availability values to defined ones: BackOrder, Discontinued, InStock, InStoreOnly, LimitedAvailability, OnlineOnly, OutOfStock, PreOrder, PreSale, and SoldOut.
  • Option to type the attribute code you want to use for the category property.
  • Option to type default category for the category property value. (It is used if an attribute is empty.)
  • Option to type the attribute code you want to use for the condition property.
  • Option to match condition values to defined ones: NewCondition, RefurbishedCondition, UsedCondition, and DamagedCondition.
  • Option to type the attribute code you want to use for the gtin (Global Trade Item Number) property.
  • Option to type the attribute code you want to use for the gtin8 (Global Trade Item Number) property.
  • Option to type the attribute code you want to use for the gtin12 (Global Trade Item Number) property.
  • Option to type the attribute code you want to use for the gtin13 (Global Trade Item Number) property.
  • Option to type the attribute code you want to use for the gtin14 (Global Trade Item Number) property.
  • Option to type the attribute code you want to use for the manufacturer property.
  • Option to type the attribute code you want to use for the mpn property.
  • Option to type the attribute code you want to use for the productID property.
  • Option to type the attribute code you want to use for the sku property.
  • Option to type the attribute code you want to use for the depth property.
  • Option to type the attribute code you want to use for the width property.
  • Option to type the attribute code you want to use for the height property.
  • Option to type the allowed units for product dimensions.
  • Option to type the default unit for product dimensions.
  • Option to type the attribute code you want to use for the weight property.
  • Option to type the allowed units for product weight.
  • Option to type the default unit for product weight.
  • Option to use offers.price property.
  • Option to use offers.priceSpecification object.
  • Options to select which product type should use minPrice and maxPrice properties. (Separate option for bundle, configurable, downloadable, grouped, simple, and virtual.)
  • Options to use minPrice and maxPrice properties only if minimum and maximum prices are different. (Separate option for bundle, configurable, downloadable, grouped, simple, and virtual.)
  • Option to format price value as a string with zeros (Example: 7.00).
  • Option to type the attribute code you want to use for the priceValidUntil property.
  • Option to type default text for the priceValidUntil property value. (It is used if an attribute is empty.)
  • Option for additional properties to attributes mapping. Example: color=color|pattern=pattern. As you can see the format is simple property1=attribute1|property2=attribute2 The property and Magento product attribute are connected by = sign and pairs are separated by | sign.
  • Option to enable shippingDetails and select standard shippingDetails or advanced shippingDetails.
  • Standard shippingDetails
    • Option to type the attribute code you want to use for the handlingTime.minValue property.
    • Option to type default value for the handlingTime.minValue property value. (It is used if an attribute is empty.)
    • Option to type the attribute code you want to use for the handlingTime.maxValue property.
    • Option to type default value for the handlingTime.maxValue property value. (It is used if an attribute is empty.)
    • Option to type value for the handlingTime.unitCode property.
    • Option to type the attribute code you want to use for the transitTime.minValue property.
    • Option to type default value for the transitTime.minValue property value. (It is used if an attribute is empty.)
    • Option to type the attribute code you want to use for the transitTime.maxValue property.
    • Option to type default value for the transitTime.maxValue property value. (It is used if an attribute is empty.)
    • Option to type value for the transitTime.unitCode property.
    • Option to type value for the shippingDestination.addressCountry property.
    • Option to type the attribute code you want to use for the shippingRate property.
    • Option to type default value for the shippingRate property value. (It is used if an attribute is empty.)
    • Option to use shippingRate.maxValue instead of shippingRate.value property.
  • Advanced shippingDetails
    • Option to type the attribute code you want to use for the shippingDetails property.
    • Option to type default value for the shippingDetails property value. (It is used if an attribute is empty.)
  • Option to enable hasMerchantReturnPolicy and select standard hasMerchantReturnPolicy or advanced hasMerchantReturnPolicy.
  • Standard hasMerchantReturnPolicy
    • Option to type value for the applicableCountry property.
    • Option to select a value for the returnPolicyCategory property. (MerchantReturnFiniteReturnWindow, MerchantReturnNotPermitted, or MerchantReturnUnlimitedWindow)
    • Option to type value for the merchantReturnDays property.
    • Option to select a value for the returnMethod property. (Disable returnMethod, ReturnAtKiosk, ReturnByMail, or ReturnInStore)
    • Option to select a value for the returnFees property. (Disable returnFees, or FreeReturn)
    • Option to type the attribute code you want to use for the returnShippingFeesAmount property.
    • Option to type default value for the returnShippingFeesAmount property value. (It is used if an attribute is empty.)
  • Advanced hasMerchantReturnPolicy
    • Option to type the attribute code you want to use for the hasMerchantReturnPolicy property.
    • Option to type default value for the hasMerchantReturnPolicy property value. (It is used if an attribute is empty.)
  • Option to type in the additional structured data for the product pages.

Special Tags

Our extension has options like Additional Structured Data for Category Pages, Additional Structured Data for CMS Pages, Structured Data for Contact Page, Additional Structured Data for Home Page, Additional Structured Data for Product Pages, Advanced shippingDetails > Default shippingDetails, and Advanced hasMerchantReturnPolicy > Default hasMerchantReturnPolicy. These options have the ability to use special tags that make JSON code dynamic. Please see the Special Tags section in our user guide.

Installation Instructions

There are several ways you can install any Magento extension. Our extension is no different. We will show you four ways to install the extension, but you must not mix them. Choose one and stick to it.

If you do not know how to install an extension or you wish a professional to do it for you, we offer additional installation service for a small fee.

Installation via file uploading
(If you purchased the extension on our site)

If you purchased the extension on our site then unpack the .zip file from /Magento2/InstallByUploadingFiles/ directory inside your Magento root.
- Run the following commands on the Magento root directory:

php bin/magento maintenance:enable

php bin/magento module:enable --clear-static-content Apptrian_RichSnippets

php bin/magento setup:upgrade

php bin/magento cache:flush

php bin/magento setup:static-content:deploy

php bin/magento maintenance:disable

php bin/magento cache:flush

Installation via Composer
(If you purchased the extension on our site)

If you purchased the extension on our site and you want to install the extension via composer public and private keys. (To find your public and private keys, login to your Apptrian.com customer account and look at the My Downloadable Products section.)
- Run the following commands on the Magento root directory:

php bin/magento maintenance:enable

composer config --auth http-basic.packages.apptrian.com $PUBLIC_KEY $PRIVATE_KEY

composer config repositories.apptrian-rich-snippets composer https://packages.apptrian.com/rich-snippets/

composer require apptrian/rich-snippets

php bin/magento module:enable --clear-static-content Apptrian_RichSnippets

php bin/magento setup:upgrade

php bin/magento cache:flush

php bin/magento setup:static-content:deploy

php bin/magento maintenance:disable

php bin/magento cache:flush

Installation via Composer by using artifact
(If you purchased the extension on our site)

If you purchased the extension on our site then copy the .zip file from /Magento2/InstallWithComposer/ directory inside your MAGENTO_ROOT/vendor/apptrian/packages/ directory (create the directory if does not exist).
- Run the following commands on the Magento root directory:

php bin/magento maintenance:enable

composer config repositories.apptrianartifacts artifact $(pwd)/vendor/apptrian/packages

composer require apptrian/rich-snippets

php bin/magento module:enable --clear-static-content Apptrian_RichSnippets

php bin/magento setup:upgrade

php bin/magento cache:flush

php bin/magento setup:static-content:deploy

php bin/magento maintenance:disable

php bin/magento cache:flush

Installation via Composer
(If you purchased the extension on Magento Marketplace)

If you purchased the extension on Magento Marketplace then you must use Composer. Magento Marketplace does not allow extension downloads.
- Run the following commands on the Magento root directory:

php bin/magento maintenance:enable

composer require apptrian/rich-snippets

php bin/magento module:enable --clear-static-content Apptrian_RichSnippets

php bin/magento setup:upgrade

php bin/magento cache:flush

php bin/magento setup:static-content:deploy

php bin/magento maintenance:disable

php bin/magento cache:flush

Please make sure your Magento public and private keys are in your Magento root auth.json file. Usually, people install Magento with one Magento Marketplace account (public and private keys) and then purchase an extension with another Magento Marketplace account (different public and private keys). Check the Magento Marketplace account you used to purchase the extension and make sure its public and private keys are in the Magento root auth.json file. WARNING! if you already have keys there, be very careful because maybe some other extensions are purchased with another Magento Marketplace account.

Configuration

Our extension works out of the box. However, there are a few things you should set for best results. Log into your Magento Admin and go to:

Stores > Configuration > Apptrian Extensions > Rich Snippets Schema.org JSON-LD Structured Data

In the General section:

For the Author Name (author.name) type the name of the administrator of the Magento store, owner of the store, or name of the business.

For the Publisher Logo (publisher.logo) upload your store logo. Be aware that this logo must follow Google requirements as follows:
Logos should have a wide aspect ratio, not a square icon.
Logos should be no wider than 600px, and no taller than 60px.
Always retain the original aspect ratio of the logo when resizing. Ideally, logos are exactly 60px tall with width <= 600px. If maintaining a height of 60px would cause the width to exceed 600px, downscale the logo to exactly 600px wide and reduce the height accordingly below 60px to maintain the original aspect ratio.

All options are self-explanatory and have comments and tooltips for additional information.

After changing options make sure you refresh your Magento cache.

FAQ

Q: Why Google Rich Snippets do not show in Google search results?
A: Google will discover snippets the next time it crawls your site (although it may take some time for rich snippets to appear in search results). When Google algorithms discover technically correct markup on a page, they use a variety of signals to determine when to show rich snippets, including compliance with Google Webmaster Quality Guidelines and Structured Data Policies. As a result, correctly marked-up content may not always trigger rich snippets in Google search results.

Q: Why are there two product objects on product pages?
A: One product object is in JSON-LD format, is complete (has all the properties), and that one is generated by our extension. The other product object is in Microdata format, it is not complete (has missing properties), and that one is coming from the theme. There is nothing that can be done from the extension regarding this because the Microdata format is hardcoded into the theme via meta tags, in various templates. You can ignore this because an incomplete Microdata object does not hurt anything.

Q: Why is there a warning: Missing field "aggregateRating" (optional)?
A: All of the products must have at least one review.

Q: Why is there a warning: Missing field "review" (optional)?
A: All of the products must have at least one review.

Q: Why is there an error: Value in property "reviewCount" must be positive?
A: All of the products must have at least one review.

Write Your Own Review
Only registered users can write reviews. Please Sign in or create an account
Copyright © 2023 Apptrian.com. All rights reserved.