Sidebar

magento_2:seo_suite_ultimate

See the way SEO Suite Ultimate Extension for Magento 2 extension works.

Guide for SEO Suite Ultimate Extension by MageWorx for Magento 2

Mageworx SEO Suite extension is designed to increase site visibility of Magento-based websites in the search and reduce search engine optimization workload. With this SEO toolkit, the merchants can quickly optimize large amounts of metadata with advanced SEO templates for product/category pages; easily generate HTML and XML sitemaps, implement hreflang tags, build a well-planned internal linking structure and do a lot more essential SEO activities.

  • Create automated SEO templates
  • Generate XML and HTML sitemaps
  • Add cross-links to internal and external sources
  • Enable advanced Rich Snippets
  • Create custom canonical tags for products
  • Track possible SEO issues in reports

Сonfiguration

Log in to the Magento Admin panel and go to Stores ⟶ Configuration ⟶ MageWorx ⟶ SEO:

From here, the store owners can manage all the main extension settings. The extension consists of several separate submodules that will be described in the corresponding sections of this guide. For your convenience, you can select the module you need to configure from the right navigation menu and set it up according to your requirements.

SEO Common Settings

The settings in this section allow you to set the max length for:

  • Meta title
  • Meta description
  • Meta keywords
  • H1 tag
  • URL path

If specified, these values will be used by SEO Suite to limit the max length of these properties for SEO reports.

These settings do not limit these properties physically on the front-end.

SEO Base

Meta Robots Settings

These settings will help you to correctly inform Web spiders which pages of your store should be crawled and indexed and which of them should be ignored.

  • NOINDEX, FOLLOW Robots Meta Header for Pages Without Content - this setting allows you to set NOINDEX, FOLLOW meta robots tag to selected pages. It helps to hide the pages without valuable content from being indexed by the search engine bots.
  • NOINDEX, FOLLOW Robots Meta Header for Additional Pages - this setting allows you to set NOINDEX, FOLLOW meta robots tag to any custom pages not mentioned in the setting above. You can either use the URL parts or action names to add the pages here.
  • NOINDEX, NOFOLLOW Robots Meta Header for Additional Pages - this setting allows you to set NOINDEX, NOFOLLOW meta robots tag to any custom pages not mentioned in the setting above. You can either use the URL parts or action names to add the pages here.

  • Default Meta Robots For Category LN Pages - this setting lets you set the default meta robots tag for the layered navigation pages. It might be helpful if you need to set NOINDEX, FOLLOW tag globally for all LN links at once.
  • Count of filters for set NOINDEX, FOLLOW for LN - this setting defines a number of applied filters in the layered navigation to set specific meta robots tag. For example: if you set 2 here, all LN URLs with 2 and more applied filters will have NOINDEX, FOLLOW tag automatically.
  • Robots for Attributes Combinations - this setting provides you with the advanced functionality to manage the meta robots tag for LN filters. It allows you to set the necessary meta robots values if a specific filter is applied, a combination of specific filters is applied or one of the certain filters is applied.
Examples

index,follow:color - sets the INDEX,FOLLOW when color attribute is selected; index,follow: color,brand - sets the INDEX,FOLLOW meta robot tag when either color or brand attributes are selected; noindex,follow:color+brand - sets the NOINDEX,FOLLOW meta robot tag when both color and brand attributes are selected at the same time

  • Set NOINDEX, FOLLOW for LN Filters with Multiple Selection - this setting allows you to set NOINDEX, FOLLOW meta robots tag if multiple values of the same filter are applied. I.e. if you have the filter “Color”, which allows your customers to choose several colors at once, this setting will add NOINDEX, FOLLOW tag to the URLs if the customers select several colors in the layered navigation.
This setting requires MageWorx Layered Navigation extension to be installed.

Canonical URLs Settings

First of all, please make sure the standard Magento canonical functionality is disabled. Go to Stores ⟶ Configuration ⟶ CATALOG ⟶ Catalog ⟶ Search Engine Optimization:

After that, the changes made in Stores ⟶ Configuration ⟶ MageWorx ⟶ SEO ⟶ Canonical URLs Settings will be taken into account.

The extension adds rel=canonical tag in the <head> section of a given page. This tag is designed to inform the search bots which URL is the most reliable (canonical) version of the page being displayed. It helps to prevent any duplicate content issues.

  • Add Canonical URL Meta Header - this setting enables/disables MageWorx canonical tag functionality.
  • Disable Canonical URL for Pages with NOINDEX robots - this setting allows you to disable the canonical tag on the pages with NOINDEX meta robots tag.
  • Canonical URL won't be added for these pages - this setting allows you to add the pages to disable the canonical tag. You should add the full action names of the pages here.
  • Cross Domain Canonical - if you have several store views or websites with the same or similar content, this setting helps you to set up the same canonical tag for all these websites/domains to avoid the duplicated content problem for these stores. If you need to specify a custom cross-domain canonical tag, you can choose the “Custom URL” and specify any custom URL even outside your Magento store.
  • Product Canonical URL Type - this setting defines how the product canonical tag should be formed. By default the product canonical tag is set to “Product root” without the categories. The possible values for the product canonical URL are as follows:

Product root (without categories) - this option will use the product root URL as the canonical tag. The product root URL is the URL path without categories, i.e. yourstore/product.html.

If you use the categories in the product URLs (the setting “Use Categories Path for Product URLs” is enabled) and need to have the categories in the canonical tag, the extension gives you the option to define how the canonical URL will be formed to avoid the problems when the same products are assigned to different categories:

  • Shortest by URL path - this option will select a product path, which will be the shortest by a number of characters in the URL path.
  • Longest by URL path - this option will select a product path, which will be the longest by a number of characters in the URL path.
Example

Let's assume a product is assigned to 2 different categories:

  1. example.com/category1/sub-category2/product.html
  2. example.com/category1/sub-category2/sub-category3/product.html

If the canonical type setting is set to Use Shortest by categories counter, the canonical tag will be example.com/category1/sub-category2/product.html, because this mode calculates a number of categories in the URL path and choose URL path, which has fewer categories than other URLs.

If the canonical type setting is set to Use Longest by categories counter, the canonical tag will be example.com/category1/sub-category2/sub-category3/product.html, because this URL path has more categories than the 1st variant.

  • Canonical Tag For Associated Product - this setting allow you to choose the product type(s), the associated items of which will have the canonical tag pointed to the main product. It helps to avoid duplicates between the main and child products.
If you select the “configurable products” here, the associated items of all configurable products in your store will have the canonical tag pointed to the main configurable product. It might be useful if the associated items (child products) are visible on your store's front-end.
  • Trailing Slash For Home Page Canonical URL - this setting allows you to either add or crop the trailing slash in the canonical tag for your store's home page. The homepage can be indexed as both https://www.site.com and https://www.site.com/. The canonical can either have this trailing slash (add) or not (crop). The trailing slash can be added to the pages without suffix .html or .htm.
  • Trailing Slash For Canonical URLs - this setting allows you to either add or crop the trailing slash in the canonical tags for the pages of your store. The web pages can be indexed as both https://www.site.com/page and https://www.site.com/page/. The canonical can either have this trailing slash (add) or not (crop). The trailing slash can be added to the pages without suffix .html or .htm.
  • Use Pager For Category Canonical URL - this setting allows you to either add or remove the pager parameter (example: ?p=2) to the canonical tag of your categories.
  • Canonical Tag for Category Layered Navigation - this setting defines the canonical tag on the layered navigation pages with applied filters. 3 possible options are available:

Disable - this option disables the canonical tag on the filtered pages. It might be useful if you use a 3rd party solution for the layered navigation and need to disable our canonical tag functionality on these pages.

Current Category - this option sets the canonical tag on the filtered pages pointed to the current category page, where a customer applies the filters. Recommended option if you want to hide all filtered pages from the indexation and avoid the duplicated content issues.

Filtered page - this option sets the canonical tag on the filtered pages pointed to the filtered page itself. It might be useful if need to index the filtered pages.

You can also configure this setting for any particular product attribute separately. Go to Attributes Grid ⟶ select an attribute ⟶ Storefront Properties and change the 'Canonical Tag for Pages Filtered by Layered Navigation Leads to' setting. The value of this setting on an attribute level will have a higher priority and it will be executed on the front-end. The ability to overwrite this global setting with the attribute's options gives you the flexible functionality to allow indexing specific filters or not. It might be useful if you need to point all filter pages to the current categories but keep the filtered pages by brands indexing as separate pages. For this, you should just set the global setting to the Current Category and the brands attribute's setting to the Filtered page.

  • Canonical Tag if any LN Filter Use Multiple Selection - this setting allows you to set canonical tags for the pages if multiple values of the same filter are applied. I.e. if you have the filter “Color”, which allows your customers to choose several colors at once, this setting will be triggered if the customers select several colors in the layered navigation. You can set the canonical tag for such pages either to the filtered pages or to the current category.
This setting requires MageWorx Layered Navigation extension to be installed.

Hreflang URL Settings

The hreflang tag helps the Web crawler understand which version of your website should be shown for a certain location. Thus, the search engine will deliver the correct language version of the site to the targeted foreign audience. Also, the crawler won’t treat these localized pages as duplicates.

  • Hreflang URL Scope allows the store owner to specify the Alternate URLs Scope. It can be set as Website or as Global. If Website is selected, the Alternate URLs work within one website only, if Global — the Alternate URLs work between websites.
  • Multi-stores CMS pages relation - this setting sets how to identify the same CMS page for different store views. Use By ID if you create one page for different stores, therefore, their ID will be the same. Use By URL Key if you created separate pages for different stores and assign them the same URL. Use By Hreflang Key for the pages that are linked manually.

In the Hreflang settings table you can add the hreflang for each store view separately. For this just click on the “Add” button. For each store view you can set:

  • Language code
  • Country code
  • Pages, where you need to add the hreflang URLs to
  • X-default

Language сode - this setting allows you to set a different language for the hreflang tags of a particular store view. If 'Use config' is set, the default locale for a certain store view will be used Stores ⟶ Configuration ⟶ GENERAL ⟶ General ⟶ Locale Options.

Magento 2 allows you to assign the locales to all your store views or to set different language locale for each store view. You can find this in STORES ⟶ Configuration ⟶ GENERAL ⟶ General ⟶ Locale Options. If you need to specify a language in the hreflang tags, which is different from a language locale assigned to the necessary store view, you can just select the necessary language.

Сountry code - this setting allows you to add a country code to the hreflang tags.

In case the store owner has, for instance, one page for English speakers in Canada and the other page for the audience in the States, it’s necessary to add a country code for the alternate URLs. Add Country Code setting enables this feature. If the store owners need a different country code from the one that is set up in the Magento configuration, they can select the desired country code in the Country Code option.

X-default - this setting provides the special x-default attribute. This attribute informs the Web crawler that such pages do not target any specific country or language and can be displayed to site visitors when no other page corresponds to their localized queries.

<link rel="alternate" href="http://example.com/en-us" hreflang="en-us" /> //this is for english-speaking (en) visitors from the United States (us)
<link rel="alternate" href="http://example.com/es-mx" hreflang="es-mx" /> //this one is for spanish-speaking (es) visitors from Mexico (mx)
<link rel="alternate" href="http://example.com/" hreflang="x-default" /> //that is the x-default version of the page

The table below (Overview of Alternate Hreflang Settings) provides the possibility to quickly check all the settings that have been made.

rel=“next/prev” tag was used to better index paginated categories. This tag points to the Web crawler, where exactly the first and the last pages are, and what page is the next or the previous one.

The rel=next/prev feature is outdated.

SEO Extended

Meta Information Express Settings

These settings provide you with the ability to adjust the meta title and meta description of different page entities. If you need more advanced functionality to change the meta tags, use the SEO templates or SEO Category Filter Templates.

  • Add Pager Number to Meta Title - this setting allows the store owner to add a page number to the meta title of a paginated page. Such number can be added at the end Apparel | Page 3 or at the beginning Page 3 | Apparel. You can also disable the output of the pager in the meta title.
  • Add Pager Number to Meta Description - it provides the possibility to add the page number to the meta description. The number can be either at the end or at the beginning of the meta description. You can also disable the output of the pager in the meta description.
  • Add Pager Number to Meta Keywords - it provides the possibility to add the page number to the meta keywords. The number can be either at the end or at the beginning of the meta keywords. You can also disable the output of the pager in the meta keywords.
  • Remove Default Title Prefix/Suffix - this setting allows you to remove Magento 2 default title prefix/suffix (CONTENT ⟶ Design Configuration ⟶ your current theme ⟶ HTML Head). If you enable this setting, the Pages block where the store owner can provide the list of the pages where the default suffix/prefix should be omitted. You can use catalog_category_view action name for all categories and catalog_product_view for all products. The wildcards are supported.
  • Enable Extended Meta Title On Category LN Pages - this setting allows you to change the meta title of the category page dynamically when your customers choose the attribute filters in the layered navigation. The selected attributes will be added to the end of the meta title.
  • Enable Extended Meta Description On Category LN Pages - this setting allows you to change the meta description of the category page dynamically when your customers choose the attribute filters in the layered navigation. The selected attributes will be added to the end of the meta description.
  • Enable Extended Meta Keywords On Category LN Pages - this setting allows you to change the meta keywords of the category page dynamically when your customers choose the attribute filters in the layered navigation. The selected attributes will be added to the end of the meta keywords.
Example
  • Category meta title: Men’s jackets
  • Category meta description*: Check out hot summer deals on men’s jackets! Available throughout July-August. Applied filters: $100.00 - $500.00, Color - Silver.
  • Extended Meta Title: Men’s jackets | Price: $100.00 - $500.00, Color:Silver.
  • Extended Meta Description: Check out hot summer deals on men’s jackets! Available throughout July-August | Price: $100.00 - $500.00, Color:Silver.

Category Filters

This functionality allows you to create SEO templates for category description, H1, and meta tags when a specific attribute or attribute's value is chosen in the layered navigation. It creates the powerful functionality to optimize the layered navigation pages and build SEO-friendly landing pages. You can create these templates for any combination of category + attribute + value, where you can generate the templates for all categories or certain categories, all attribute's values, or specific value.

Example

Let's assume you have the category “Mobile phones” with the filter by brands. The “SEO category filter templates” allow you to generate a different description, category H1 and meta tags if a certain brand is chosen.

  • Enable SEO for Category Filters Functionality - this setting enables the possibility to populate the category description, H1, or meta tags, generated by MageWorx SEO filter templates.
  • SEO Filters for Multiple Filter Selection - this setting determines the extension behavior if multiple filters with SEO parameters, generated by SEO filter templates, are selected. If this setting is enabled, the extension will choose the product attribute with the highest priority and will show the SEO parameters of this filter.

The priority is based on the position of the product attribute. To check the position of the product attribute, go to Stores ⟶ Attributes ⟶ Product, select the desired attribute and click the Storefront Properties tab. The lower the number here, the higher the priority.

SEO Breadcrumbs

Enable SEO Breadcrumbs - this setting enables the advanced breadcrumbs generated by means of our extension and disables the default ones.

Use Category Priority - if enabled, the system will use the priority of the categories to choose the breadcrumbs

Breadcrumbs type - this setting handles the situation when some products are assigned to several categories.

  • Default — to use the default Magento breadcrumbs.
  • Use Shortest — to utilize the shorten version of breadcrumbs (e.g. Store > Category > Product).
  • Use Longest — to utilize the full path of breadcrumbs (e.g. Store > Category > Subcategory 1 > Subcategory 2 > Product).

SEO Markup

Rich Snippets distinguish a website out in the crowd of competitors by means of adding extra details, such as prices, qty, images, etc. to the search results pages.

Rich Snippet is a structured data markup added to your existing website HTML. In fact, these are separate tags that allow the search engines to process information provided on your Magento 2 store. Google confirmed that rich snippets don’t affect rankings directly and, moreover, they do not guarantee that the snippets will actually appear in the search results. Nevertheless, it is quite clear that for the customer the result with the snippets looks more attractive improving CTR.

The search engines support several types of snippets such as recipes and reviews, yet for e-commerce, the most important one is the product. Please, bear in mind that adding snippets to your site in the search results may take some time as the search bots do not include this information immediately.

The extension uses the schema.org vocabulary. The rich snippets are added using the JSON-LD method. This method entirely separates the markup data from the HTML code. So one doesn’t need to tweak the actual HTML elements to integrate the snippets.

Product

  • Enable In Rich Snippets - this setting enables the structured data (rich snippets) for the product pages.
  • Show Product microdata for products without offers and rating - this setting allows you to disable the structured data for the products that do not have customers' reviews AND have zero price (free items). It helps to avoid errors because Google requires to have either aggregated rating or price parameters for the pages with the “Offer” type. However, if a product doesn't have any reviews, the aggregating parameter cannot be specified and Google doesn't allow having zero price in the “Offer” markup.
  • Enable for Google Assistant - it enables the speakable markup.
  • CSS Selectors - you can add CSS selectors of the elements of a product page, you want to be added to speakable markup and recognized by Google Assistant.
  • Best Rating - it is the biggest value for the rating. It can be 5, 10 or 100. Leave empty to set the default value (5).
  • Add Review Markup - this setting adds each review to the structured data. It helps to avoid the warnings by Google.
  • Disable Default Review Markup - if enabled, the extension will try to disable the markup added by your theme.

  • Use Multiple Offer for Configurable Product - this setting adds separate Offer markup for each associated product of a configurable product. If disabled, the Offer markup will be added for a main configurable product only.
  • Description Attribute Code - this setting matches a product description attribute in your Magento 2 store and a description property in the markup. You should change it if a custom description attribute is used in your store.
  • Crop HTML tags from Description - this setting allows you to crop the HTML tags from a product description to display plain text in the markup.
  • Add SKU - If enabled, SKU property will be added to the markup.
  • SKU Attribute Code - this setting matches a product SKU attribute in your Magento 2 store and an SKU property in the markup. You should change it if a custom SKU attribute is used in your store.
  • Add Category - this setting assigns a product to a certain category for Google. This category is not shown in the search results, but it lets Google better understand a category, a product belongs.
  • Add Color - If enabled, the color property will be added to the markup.
  • Color Attribute Code - this setting matches a product color attribute in your Magento 2 store and a color property in the markup.
  • Add Manufacturer - If enabled, the manufacturer property will be added to the markup.
  • Manufacturer Attribute Code - this setting matches a product manufacturer attribute in your Magento 2 store and a manufacturer property in the markup.
  • Add Brand - If enabled, the brand property will be added to the markup.
  • Brand Attribute Code - this setting matches a brand manufacturer attribute in your Magento 2 store and a brand property in the markup.
  • Add Model - If enabled, the model property will be added to the markup.

  • Add Gtin - If enabled, the Gtin property will be added to the markup. The GTIN is a globally unique 14-digit number used to identify trade items, products, or services. Please use digits only when you add the GTIN for your products otherwise it will not be shown in the microdata.
  • Add Weight - If enabled, the weight property will be added to the markup.
  • Use Special Price functionality for Price Valid Until - this setting allows you to use “Special price valid to” date from Magento 2 as the price valid date in the markup. This setting works if the products have a special price with a “valid to” date.
  • Price Valid Until Default Value - this setting specifies a default date, which will be used as the price valid until the date in the markup for your products. If Use Special Price functionality for Price Valid Until is enabled, it will be used for the products with special price.
  • Product ID Attribute Code - this setting matches a product ID in your Magento 2 store and a product ID in the markup. This value will be used as productID in the Rich Snippets and as retailer_item_id in the Open Graph tags.
  • Add Condition - If enabled, the “Condition” property will be added to the product markup.
  • Add Custom Properties - this setting allows to add custom properties to the markup.
  • Custom Properties - the custom properties should be added here. They are parsed as
schema_code,magento_attribute_name

where the schema_code is taken from this list and the attribute name can be gathered from the attributes grid in Stores ⟶ Attributes ⟶ Product Attributes.

Category (Product List)

  • Enable In Rich Snippets - this setting enables the structured data (rich snippets) for the category pages.
  • Show Product Offers - this option adds the product offers to the category markup, i.e. each product from the 1st category page will be added as separate offers in the category markup.
  • Enable for Google Assistant - it enables the speakable markup.
  • CSS Selectors - you can add CSS selectors of the elements of a product page, you want to be added to speakable markup and recognized by Google Assistant.
  • Disable for NOINDEX Robots - this setting allows to disable the markup on the pages with NOINDEX meta robots tag (e.g. layered navigation pages with applied filters).

Page

  • Enable for Google Assistant - it enables the speakable markup.
  • CSS Selectors - you can add CSS selectors of the elements of a product page, you want to be added to speakable markup and recognized by Google Assistant.

Website

The option Enable In Rich Snippets is explained previously in this document.

Enable Search Box - This setting adds the sitelinks search box code to the website markup. Note: Google doesn't guarantee that a sitelinks search box will be shown in search results.

Website Name and Website About provide the settings for the appropriate fields in the website section of the schema.org website.

Website Logo - Upload your website logo for the correct sharing on Facebook and using in OpenGraph markup. Allowed file types: PNG, GIF, JPG, JPEG

For the correct sharing of the website on Facebook, the store owner should fill in the Facebook App Id. This Id can be taken from the Facebook for developers website.

Seller

The option Enable In Rich Snippets is explained previously in this document.

The next group of settings lets you markup the seller info. You can select to show your business type (according to schema.org), add a store name, description, and social links.

Additionally, you can add your personal details, such as a telephone number, fax and location (state/region, street, and ZIP code).

If Enabled, Magento 2 breadcrumbs will be visible on the search results page. If SEO Suite Ultimate is installed, the categories chain from MageWorx breadcrumbs will be added.

OpenGraph

These settings let the store owner to deliver the highest quality posts on Facebook or other social networks and sharing the product links in messengers. Adding Open Graph tags to the store pages will help the Facebook Crawler pick up the right title and description for the shared page, as well as supply them with the most suitable preview image. Visit this page to learn more about the way Open Graph tags work.

Enable Product OG - This setting will disable the default Magento Open Graph output if enabled.

Product OG Title - This setting allows you to select what product attribute will be used in OG title for product pages.

Product OG Description - This setting allows you to select what product attribute will be used in OG description for product pages.

Enable Category OG, Enable Page OG, Enable Website OG - Adding these tags helps the Facebook Crawler pick up the correct title, description and the suitable preview image for the shared page.

Category OG Title - This setting allows you to select what category attribute will be used in OG title for category pages.

Category OG Description - This setting allows you to select what category attribute will be used in OG description for category pages.

Twitter Cards

These settings provide a media-rich experience to those who view your Twitter content. If enabled, the standard Tweet with the website URL will be transformed into the Summary Card and accompanied with an additional title, an extra up-to-200 words description, and an image. To enable the feature, make sure you enter Twitter Username. Visit this page to learn more about Twitter Cards.

Enable Product - To enable the feature, make sure you enter Twitter Username.

Product Title - This setting allows you to select what product attribute will be used in Twitter Cards as the title for product pages.

Product Description - This setting allows you to select what product attribute will be used in Twitter Cards as the description for product pages.

Enable Category - To enable the feature, make sure you enter Twitter Username.

Enable Page, Enable Website - Visit this page to learn more about Twitter Cards. To enable the feature, make sure you enter Twitter Username.

Twitter Username - This is the required option for the correct functionality of the Twitter Cards feature.

SEO-friendly URLs

SEO URLs functionality provides the possibility to equip layered navigation pages with SEO and user-friendly URLs.

From here, the store owner can optimize URLs of any page filtered by the layered navigation and any category page. URL Structure is very important for SEO purposes as this creates the link logic for the site. The key solution is the golden mean between being short and neat on one hand yet SEO-friendly and functional on the other. By default, Magento generates URLs for layered navigation pages using the so-called GET-parameters.

Such URLs may have the following structure: www.site.com/category.html?color=49&size=56. The numbers here are the options IDs and it is absolutely impossible for the client to correlate the ID with the specific filter option. The pages with GET-parameters can have lower visibility in search results and a lower CTR. So in order to find and share such links (from the client's side) and be fully presented in the search engine result pages (from the store owner side), LN URLs should be SEO-optimized.

Enable SEO LN URLs - this setting enables the functionality of our SEO-friendly layered navigation URLs. is set to Yes the aforementioned URL will be changed to www.site.com/category/women/l/color=black/size=m.html

Here the /l/ is the SEO LN URLs Identifier. It can be set in to make the layered navigation URLs SEO-friendly by separating the category and the applied filters. You can change it in the “SEO LN URLs Identifier” setting.

Enable for Pager URLs - this setting enables the functionality to change the pager part in the URL to build a more SEO-friendly URL.

The default way to display the pagination in the URLs is using the GET-parameters, e.g., www.site.com/category.html?p=2. Enable for Pager URLs lets you modify the format of the pagination. The Pager Format can be:

The default pager_var is p. You can modify it and change to any other value by editing the field “Pager Var” Parameter.

Enable Redirects from SEO LN URLs to Default URLs provides the possibility to set up the 301 redirects from SEO-friendly Layered Navigation URLs to Magento default URLs. It might be useful if you decide to disable our LN URLs to avoid 404 errors.

SEO crosslinks are the links that connect related site pages, or pages with similar content. Also, these links can connect related subdomains as well as different websites. Such links are used to raise customers' interest in certain products or categories, enhance navigation between related and cross-sell products and increase sales.

Enable - this setting enables the Cross Link functionality. The Cross Links will be inserted on the fly on all the relevant pages. Also, Cross Links can be individually disabled for any Product or Category page.

Total Max Replacement Count for Product Page - this number specifies a maximum number of links added by the extension per each product page.

Total Max Replacement Count for Category Page - this number specifies a maximum number of links added by the extension per each category page.

Total Max Replacement Count for CMS Page - this number specifies a maximum number of links added by the extension per each CMS page.

These settings allow you to limit the number of links, added by our extensions, per page. They help to avoid overloading with the links on a single page because the cross links are added automatically and if a page has many keywords, that are added as the cross links in the extension, it can add too many links per one page.

Use Product/Category Name in the Cross Link's Alt Tag - this setting allows to add a product/category name as the “Alt” tag for the cross links:

  • Don't Use - this value disables this setting.
  • Blank - this value will add the alt tag to the links with link target = “blank”.
  • All - the alt tag will be added to all cross-links.

Replace on Product Page In - this setting allows you to choose a product short and/or long description to add the links on.

Default Link Target - this setting defines the default link target attribute:

  • self - this value will open the cross link in the same browser tab.
  • blank - this value will open the cross link in a new browser tab.

Default Link Reference - this setting just sets the default value for the “Link Reference” setting, when adding new cross links in the back-end. The “Link Reference” can be changed per each cross link separately.

Default Replacement Count - this setting specifies a default number of how many keywords can be replaced as the links per one page. You can set the max replacement count for each cross link separately.

Default Priority - this setting just sets the default value for the “Priority” setting, when adding new cross links in the back-end. You can set the Priority for each cross link separately.

Enable by Default - this setting just sets the default value for the “Is Active” setting, when adding new cross links in the back-end.

Default Values for 'Destination' Tab - this setting just sets the default values for the “Destination” tab, when adding new cross links in the back-end.

To view, edit and add the custom redirects, go to Marketing ⟶ MageWorx SEO Cross Links ⟶ Cross Links.

The columns can be sorted alphabetically by clicking the column title.

The grid supports mass actions. For this, click the checkboxes near the cross links that you wish to modify and click the Edit link on the Actions dropdown. When the edits are done, click the Save Edits button to proceed.

To create a new cross link, click the Add New Crosslink button.

The configuration of the new cross link consists of 2 tabs: Cross Link and Destination.

Keyword - you can enter a keyword or a list of keywords that should be replaced with links. Only one keyword or keyword phrase should be set per one line.

Link Alt/Title - this setting allows you to specify the title attribute for the links.

Link Target - this setting defines the link target attribute:

  • self - this value will open the cross link in the same browser tab.
  • blank - this value will open the cross link in a new browser tab.

Store View - this multi-select allows you to choose the store views, where the current keyword(s) should be replaced.

Reference - in this drop-down you can specify the pages your cross links will be connected to. That can be specified by the 4 options: Custom URL, Product, Category, and Landing Pages.

  • The Custom URL supports both absolute (https://www.site.com/custom/url) and relative (/custom/url) URL values.
  • Product. To select the desired product, click the Choose button.

Once the store owner clicks the Choose button, the products grid appears. You can filter the products by selecting the category from the category tree.

  • Category. To select the desired category, click the Choose button.

Max Replacement Count per Page - this setting specifies a max number of how many keyword can be replaced as the links per one page.

Priority - it defines the order in which the keywords will be replaced; 100 is the highest priority.

Nofollow - this setting allows to add the NOFOLLOW attribute to a cross link.

Is Active - this setting enables/disables a cross link. You can temporarily disable the cross link by putting this setting to No.

Destination Tab

This is the place where you can specify which pages your cross links should appear on. The extension lets you add this type of link on the product, category and CMS pages.

Individual Settings

Additionally, you can exclude any pages from the cross-linking schemes.

  • Categories

For the categories settings, go to Catalog ⟶ Categories, select the desired Category and open the Search Engine Optimization tab. Use in Cross Linking - if is disabled, the crosslinks won't appear in the category's description. This can be done on the Category Grid as well.

  • Products

For the products settings, go to Catalog ⟶ Products, select the desired Product and open the Search Engine Optimization tab. If the Use in Cross Linking is disabled, the crosslinks won't appear in the product's description.

  • CMS Pages

For the CMS pages settings, go to Content ⟶ Elements ⟶ Pages, select the desired CMS page and open the Search Engine Optimization tab. If the Use in Cross Linking is disabled, the crosslinks won't appear on the CMS pages.

SEO Redirects

Under these settings, you can find the initial setup of the extension configuration. It consists of 2 tabs.

Custom Redirects

Here, the store owner can enable/disable all custom redirects at once.

Keep URLs For Removed Entities needs some clarification. For instance, you've redirected a category to a product page. If you decide to delete this category, the extension will use the previous category URL to keep this redirect. Thus, the category-product redirect will be transformed into the custom URL-product, where the custom URL is a deleted category URL. If this setting is off, such redirect will be broken, because the extension won't be able to find the deleted category to build a correct redirect.

Redirects For Deleted Pages

From here, the store owner can enable or disable redirects. Also, under these settings, the store owner can set:

  • Redirect Type — either 301 Moved Permanently or 302 Found pages redirect can be selected here.
  • Time period (in days) to keep redirects on the website — the option is used to set a number of days to keep the set redirect(-s) active. You can set it for the period from 30 to 365 days.
  • Default Redirect To allows selecting the destination of the redirect: product category or priority category.

The difference between product category and priority category can be explained and best understood through an example:

  1. If a product was assigned to a single category A - subcategory A1 and the setting is set to redirect to a product category, the redirect will be created to subcategory A1.
  2. If a product was assigned to both category A - subcategory A1 AND to category B - subcategory B1, and the setting is set to redirect to a product category, the redirects will be created to both subcategory A1 AND to the subcategory B1. The URL such as www.site.com/categoryA/subcategoryA1/product.html will be redirected to www.site.com/categoryA/subcategoryA1/. The URL such as www.site.com/categoryB/subcategoryB1/product.html will be redirected to www.site.com/categoryB/subcategoryB1.

In this case, if the setting is set to redirect to the priority category, the redirects will always be set to the one with the higher priority. The priority of the category can be set up in the Category Configuration. For this go to Catalog ⟶ Categories, select the desired Category, and open the Search Engine Optimization tab.

The category with the higher Product Redirect Priority number will be used if the priority category setting is selected. This can be done on the Category Grid as well.

Manage Custom Redirects

To observe, edit and add the custom redirects, go to Marketing ⟶ MageWorx SEO Redirects ⟶ Custom Redirects.

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title. You can select several redirects and click the Edit button on the Actions dropdown. To create a new redirect, click the Add New Redirect button.

The Status provides the ability to enable the redirects. After that, the store owner should select the desired Redirect Code (either 301 or 302) and adjust Active From and Active To settings.

The Redirect From and Redirect To settings provide similar functionality. It allows selecting the option from the dropdown field. The values can be:

  1. Custom URL

The Redirect From field supports only the relative URLs /custom/url while the Redirect To field supports both absolute https://www.site.com/custom/url and relative /custom/url URL values.

1. Product

To select the desired product, click the Choose button.

Once the store owner clicks the Choose button, the products grid appears. You can filter the products by selecting the category from the category tree and using the search boxes in the column headers.

2. Category

To select the desired category, click the Choose button.

Once the store owner clicks the Choose button, the category tree appears.

3. CMS Page

To select the desired page, click the Choose button.

Once the store owner clicks the Choose button, the page grid appears. You can filter the pages using the search boxes in the column headers.

Redirects For Deleted Pages

To view and edit the redirects for deleted pages, go to Marketing ⟶ MageWorx SEO Redirects ⟶ Redirects For Deleted Pages

Please note that if the website doesn't have the deleted pages, this grid will be empty.

The columns can be sorted alphabetically by clicking the column title. You can select several redirects and click the Edit button on the Actions dropdown.

Here, you can conveniently manage redirects of this type:

  • Enable or disable redirects for certain deleted products;
  • Change the product category or priority category;
  • View the number of hits (clicks) for each redirect;
  • Temporarily disable the redirects using the Edit button on the Actions dropdown.
  • Permanently delete an unneeded product from the ‘Redirects’ grid using the Edit button on the Actions dropdown.

Import/Export SEO Redirects

The extension has the possibility to export the Custom SEO Redirects and import them. Log in to the Magento Admin panel and go to SYSTEM ⟶ Data Transfer ⟶ Import/Export SEO Redirects.

This workspace has 2 separate import/export formats: the simple one and the full format.

Simple Import/Export Format

The simple format supports redirects set from a custom site URL to another URL of the current website or any other one. If added manually without the simple format import, this stands for such configurations combination:

To check the simple format structure of the SEO Redirects CSV file, click the Download example CSV file. The CSV structure is as follows:

"Request Identifier","Target URL","Redirect Code","Store View Code"
"test","http://site.com/test.html","301","default"
"iphone_8","http://site.com/iphone_x","302","second"
"tablets","http://site.com/smartphones","301","all"

I The Request Identifier is the relative URL that is located on the store owner's website that should have the redirect, same as the Redirect From URL field on the previous screenshot.

II The Target URL is the URL that can be located anywhere (it supports absolute URLs) same as the Redirect To URL field on the previous screenshot.

III The Redirect Code supports both 301 and 302 values.

IV The Store View Code can be checked on the Store View Information page. To check this code, go to Stores⟶ Settings ⟶ All Stores. Select the desired store view and check the Code:

To create the redirects for all store views on your Magento installation, use the “all” store view code.

Full Import/Export Format

The full format supports all the possible Custom Redirect Types formats: Custom URLs, Products, Categories, and Pages.

To check the full format structure of the SEO Redirects CSV file, click the Download example CSV file or Export SEO Redirects (Full Format). The CSV structure is as follows:

"Request Entity Type","Request Entity Identifier","Target Entity Type","Target Entity Identifier","Redirect Type","Store ID"
"product_id","1","category_id","5","301","0"
"category_id","2","category_id","6","301","1"
"product_id","3","page_id","6","301","1"
"custom_url",'test.html',"product_id","7","302","2"
"page_id","3","custom_url","http://blog.site.com","301","0"

I The Request Entity Type is the Custom Redirect Type and it can be custom_url, product_id, category_id or page_id.

II The Request Entity Identifier can have different values depending on the Request Entity Type:

  • For the custom_url this is the relative URL that is located on the store owner's website that should have the redirect
  • For the product_id it is the product ID that is visible on the products grid in Catalog ⟶ Products:

  • For the category_id it is the category ID that is shown near the category name when the category is selected on the category workspace in Catalog ⟶ Categories:

  • For the page_id it is the ID of the page that is visible on the pages grid in Content ⟶ Elements ⟶ Pages:

III The Target Entity Type has the same values as the Request Entity Type (I).

IV The Target Entity Identifier has the same values as the Request Entity Identifier (II).

V The Redirect Code supports both 301 and 302 values.

VI The Store ID can be checked on the Store View Information page. To check this code, go to Stores ⟶ Settings ⟶ All Stores. Select the desired store view and check the URL:

SEO Extended Templates

With the extension, the store owner can create templates for any product/category meta information and other important SEO elements, such as product name, product URL key, etc. On top of that, the extension is capable of optimizing the meta information and description for any filtered page, on any store view.

Use Product SEO Name for Product Pages and Use Category SEO Name for Category Pages are the settings that allow using the SEO name of the categories and products instead of the real name. SEO Meta Templates uses the SEO name for both categories and products. They can be populated individually as well: for the products, go to Catalog ⟶ Products, select the desired Product and open the Search Engine Optimization tab; for the categories, go to Catalog ⟶ Categories, select the desired Category and open the Search Engine Optimization tab.

Crop Root Category from Category Template Variable [categories] setting eliminates the possible problem with the [categories] variable. It provides the full path to the product and occasionally includes the technical category (Root Category) as the first one.

Crop Meta Title and Crop Meta Description if enabled, provide the possibility to limit the lengths of the titles and descriptions. This metadata is shown on the search engine results page.

Enable E-mail Error Notification setting allows sending the reports regarding the problems with the templates to the store owner. If enabled, the Error Email Recipient configuration appears with the possibility to add the store owner's email address.

Product Templates

To view, edit and add the product templates, go to Marketing ⟶ MageWorx SEO Templates ⟶ Product Templates.

To create a new product template, click the Add New Product Template button.

The Reference provides the possibility to generate the template for:

  • Product SEO Name (H1)
  • Product URL Key
  • Product Short Description
  • Product Description
  • Product Meta Title
  • Product Meta Description
  • Product Meta Keywords
  • Product Image Titles

Also, from here, the store owner can choose the Store View this template will be applied to.

Hit the Continue button to continue.

Check the name of the template as it provides quick information regarding the conditions selected on the previous step.

Depending on the value of the Assign Type setting, the configuration of the product template may have the second tab or not.

In case the All Products is selected, the tab is hidden.

If the store owner wishes to specify the products and select the Attribute Set value, the Attribute Sets tab appears.

The store owner can select the desired Products attribute set.

In case the store owners wish to specify the exact products to be matched, they can select the Specific Products value. If selected, the Products tab appears.

Here, one can see the default products grid with the possibility to use the standard Magento filters functionality to easily find the necessary products.

The templates settings are the same regardless of the Assign Type value.

The Name settings is the merely informative meaning as it is shown only in the templates grid.

The Template Rule is the main mechanism to specify the desired template pattern.

1. The SEO Name and URL key support the product attributes. The basic structure is [attribute] like

Purchase [color] [year] [make] [model] [engine] for only [price].

This will be transformed into

Purchase grey 2018 Subaru Outback 2.5-liter for only $24,999.

In case some attribute is not populated for all the products, a structure like [attribute1|attribute2|attribute3|…] is used. For instance, a structure like [manufacturer|brand] is logically parsed as “if the first attribute value is not available for the product, the second will be used and so on until it finds a value”.

If the store owner needs to populate some word structure only in case the product has some attribute, the structure [prefix {attribute} suffix] can be used.

Purchase [this wonderful {color}] [make] [model] for only [price]

means that this structure will be transformed into

Purchase Subaru Outback

or

Purchase this wonderful grey Subaru Outback for only $24999

in case the product has the [color] attribute.

Randomizer feature is available. The construction like [Buy||Order||Purchase] will use a randomly picked word for each next item when applying a template. Also, randomizers can be used within other template variables like [for only||for {price}]. The number of randomizer blocks is not limited within the template.

2. The Description and Meta data support the above-mentioned variables and variables like:

  • [category] - outputs a current category name;
  • [categories] - outputs a current categories chain starting from the first parent category and ending a current category like Electronics - Cell Phones;
  • [website_name] - outputs a current website name;
  • [store_name] - outputs a current store name.

Note that [category] and [categories] variables get populated only in case the category path is added to the product URL. To check this setting, go to Stores ⟶ Configuration ⟶ CATALOG ⟶ Catalog ⟶ Search Engine Optimization.

Use Categories Path for Product URLs is enabled in this example.

[categories] variable outputs a current categories chain starting from the first parent category and ending a current category like Electronics - Cell Phones.

Note that [description] and [short_description] are the product attributes as well and can be used in the templates.

From here, the store owner can choose the values whether to apply the template to All products or to the ones with the Empty values.

The Apply By Cron setting schedules its auto-apply using Magento Cron.

After a template is created, click the Save button.

Select the created template and hit the Test Apply button in the dropdown. Thus, you will test the template before it gets applied.

To apply the template, click the Apply button.

Category Templates

To view, edit and add the category templates, go to Marketing ⟶ MageWorx SEO Templates ⟶ Category Templates.

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title.

The grid supports mass actions. For this, click the checkboxes near the templates that you wish to modify and click the Edit link on the Actions dropdown. When the edits are done, click the Save Edits button to proceed.

To create a new category template, click the Add New Category Template button.

The Reference provides the possibility to automatically optimize Category SEO Name (same as H1 tag), category description (will appear in the frontend) and category meta data.

Also, from here, the store owner can choose the Store View this template will be applied to.

Hit the Continue button.

Check the name of the template as it provides quick information regarding the conditions selected in the previous step.

Depending on the value of the Assign Type setting, the configuration of the category template may have the second tab or not.

In case the All Categories is selected, the tab is hidden.

If the store owner wishes to specify the categories and select the Specific Categories value, the Categories tab appears.

The store owner can type the desired categories in the categories field and then select one of the suggested options.

The templates settings are the same regardless of the Assign Type value.

The Name setting is merely informative meaning as it is shown only on the templates grid.

The Template Rule is the main mechanism to specify the desired template pattern.

1. The Category SEO Name and Category Meta Keywords support these attributes:

  • [category] - outputs a current category name;
  • [categories] - outputs a current categories chain starting from the first parent category and ending a current category like Electronics - Cell Phones;
  • [website_name] - outputs a current website name;
  • [store_name] - outputs a current store name;
  • [store_view_name] - outputs a current store view name;

Randomizer feature is available. The construction like [Buy||Order||Purchase] will use a randomly picked word for each next item when applying a template. The number of randomizer blocks is not limited within the template.

2. The Category Description, Category Meta Title and Category Meta Description support the above-mentioned variables and variables like:

  • [parent_category] - outputs a parent category name;
  • [parent_category_1] - outputs the first parent category name. It equals to [parent_category].
  • [parent_category_2] - outputs the second parent category name, etc.
  • [filter_all] - inserts all chosen filter attributes on the category page. For instance:
  • [category][ – parameters: {filter_all}]. If “color”, “occasion”, and “shoe size” attributes are chosen, on the frontend you will see: “Shoes – parameters: Color Red, Occasion Casual, Shoe Size 6.5”. If no attributes are chosen, you will see: “Shoes”.
  • [filter_attribute_code] inserts attribute value if exists. For instance:
  • [category] in [filter_color] will translate to “Shoes in Red” on the frontend.
  • [filter_attribute_code_label] - inserts mentioned product attribute label on the frontend. For instance:
  • [category] filtered by [filter_color_label] will be parsed as “Shoes filtered by color” on the frontend.
  • [filter_attribute_code_value] - inserts mentioned product attribute value on the frontend. For instance:
  • [filter_color_value] [category] will be parsed as “Red Shoes”.

From here, the store owner can choose the values whether to apply the template to All categories or to the ones with the Empty values.

The Apply By Cron setting schedules its auto-apply using Magento Cron.

After a template is created, click the Save button.

Select the created template in the grid of category templates. Hit the Test Apply button in the dropdown. Thus, you will test the template before it gets applied.

To apply the template, click the Apply button.

Category Filter Templates

With SEO Meta Templates, the store owner can turn pages filtered by Layered Navigation into regular store pages with SEO value.

To view, edit and add the category filter templates, go to Marketing ⟶ MageWorx SEO Templates ⟶ Category Templates.

Please note that during the initial setup this grid will be empty.

The columns can be sorted alphabetically by clicking the column title.

The grid supports mass actions. For this, click the checkboxes near the templates that you wish to modify and click the Edit link on the Actions dropdown. When the edits are done, click the Save Edits button to proceed.

To create a new category filter template, click the Add New Category Filter Template button.

The Reference provides the possibility to automatically optimize category description (will appear in the frontend) and category metadata.

Then, it is possible to select the desired filter (Attribute) that will work as the condition for the template to be applied. On the frontend, once the user selects this filter (Material filter on the screenshot), the template will be applied and shown.

Also, from here, the store owner can choose the Store View this template will be applied to.

Hit the Continue button.

Check the name of the template as it provides quick information regarding the conditions selected on the previous step.

Depending on the value of the Assign Type setting, the configuration of the category filter template may have the second tab or not.

In case the All Categories is selected, the tab is hidden.

If the store owner wishes to specify the categories and select the Specific Categories value, the Categories tab appears.

The store owner can type the desired categories in the categories field and then select one of the suggested options.

The templates settings are the same regardless of the Assign Type value.

You can select the desired Attribute Value for the corresponding attribute.

The Name setting is merely informative meaning as it is shown only on the templates grid.

The Template Rule is the main mechanism to specify the desired template pattern.

Category Filter Meta Keywords support the same attributes, as those, supported by Category templates and described previously.

After a template is created, click the Save button. The template can be Test Applied or Applied the same way as it was described previously.

Please note that it’s generally advised to create 1 type of category filter template (e.g. a template for Category Meta Title) for one layered navigation attribute filter at a time. If you have a page with multiple filter attributes, like /color/size/shape.html, you should create an appropriate type of SEO meta template only for the main attribute.

The store owner may specify the priority for different layered navigation attributes for the same template type. Thus, if the same template type gets associated with a number of different attributes, the extension will pick up the one that has the biggest priority.

The priority is based on the position of the product attribute. To check the position of the product attribute, go to Stores ⟶ Attributes ⟶ Product, select the desired attribute and click the Storefront Properties tab. The lower the number here, the higher the priority.

Generating the Templates Via Console

It is possible to generate the templates via console. Currently, both category templates and product templates can be executed.

For this, via SSH, navigate to the root Magento folder and perform the command:

php bin/magento xtemplate:category:apply {id} 

or

php bin/magento xtemplate:product:apply {id}

Here the {id} variable is the ID of the product or category templates. It can be found on the product and category template grid. Alternatively, to obtain the sitemap's ID it is possible to execute the commands without the {id} variable like:

php bin/magento xtemplate:category:apply

or

php bin/magento xtemplate:product:apply

The list of the corresponding product/category templates will be shown with their appropriate IDs.

HTML Sitemap

By means of this extension, the store owner can create separate HTML sitemaps for different Store Views, split all store links by categories, include CMS pages and any extra links, set the product sorting order, etc.

To tweak the general HTML Sitemap settings, go to Stores ⟶ Configuration ⟶ MageWorx ⟶ SEO ⟶ HTML Sitemap.

To include Store Views links into the main HTML sitemap, enable the Show Stores setting.

The Store Views showing on the Sitemap page. The French Store View is the current one.

Show Categories option switches on/off links display of the catalog categories.

If the categories are enabled, the setting Maximum category depth level appears. It manages the maximum depth of the categories to show. This setting may be important for websites with a difficult category structure. The default (empty) value shows all subcategories.

Show Products option switches on/off links display of the catalog products in a hierarchical structure so that every product is being displayed under the appropriate category.

If the products are enabled, the setting According to the category display mode appears. It handles the situation when the category has the display mode Static Block Only.

In this case, the products that are assigned to this category won't be shown on the Sitemap page.

Product URL setting handles the URL structure of the product pages. If Use Categories Path is selected, then the URL will be formed like http://www.site.com/category1/subcategoryA1/product.html. Otherwise, the URLs will be like http://www.site.com/product.html.

Categories/Products Sort Order specifies the way how the products are handled in the Sitemap. It can be either by Name (alphabetically) or by Position. The Position of the products is defined in the category settings. Go to Catalog ⟶ Categories, select the desired category, and proceed to the Products in Category tab.

If the Show CMS Pages setting is enabled, the sitemap will include the CMS pages on the Sitemap page.

The view of the CMS pages on the Sitemap page.

If the Show Additional Links setting is enabled, the extra field Additional Links appear below this setting. This field supports the comma-delimited list of links and link labels like http://www.mageworx.com,MageWorx.

The way how the extra links are shown on the Sitemap page.

If Allow Thirdparty Links setting is enabled, then the third-party extensions that are compartible to our extension will be able to add their pages (like blogs, etc.) to the Mageworx Sitemap.

Next, the store owner can specify the Meta Title, Meta Description and Meta Keywords. This may be useful in case you have separate store views as the setting allows to provide different meta information per different store.

Additionally, the store owner can tweak both HTML sitemap settings for each product and category individually in the required product or category settings.

XML Sitemap

To tweak the general XML Sitemap settings, go to Stores ⟶ Configuration ⟶ Mageworx ⟶ SEO ⟶ XML Sitemap.

  • Homepage Optimization - this feature allows to crop the identifier (like /home/) from the homepage URL and send its priority to the highest (1.0).
  • Source for Product Images Links - this setting defines the image source in an XML sitemap. The images can be taken either from Magento cache or added in the original sizes.
  • Add Product Videos - this setting allows adding the product videos to XML sitemap.
  • Add Category Images - this setting allows adding the category's image to XML sitemap.
  • Enable Additional Links - if this setting is enabled, the extra field Additional Links appear below this setting, where you can add any custom links that should be added to the XML sitemap. This section is essential for the third-party extensions that generate some links (i.e. blog extensions, Store Locators, or such)
  • Frequency and Priority - these settings set the frequency and priority for the additional links.
  • Exclude “Out of Stock” - this setting excludes the products that are currently out of stock.

  • Meta Robots Exclusion - it allows you to hide the products with specific meta robots tag in XML sitemap.
  • Enable Validate URL - it should be disabled in case the URLs have specific literal characters. This setting enables the URLs in XML sitemap validation.
  • Enable Checking URLs Availability - this setting enables the XML sitemap validation before generating it. If this validation fails, the native Magento XML sitemap will be used.
  • Alternate Hreflang URLs - this setting adds the alternate URLs to XML sitemap.
  • Enable a user-friendly XML Sitemap Preview - this setting enables the user-friendly preview of XML sitemap in the browser if the alternate URLs are added.

Magento 2 provides the built-in basic settings for the XML Sitemaps. They can be found in Stores ⟶ Configuration ⟶ Catalog ⟶ XML Sitemap. The settings are described in this document. The Sitemaps generated by means of Seo Suite share the same settings.

Additionally, the store owner can tweak both XML sitemap settings for each product and category individually in the required product or category settings.

Common Settings For Sitemaps

The Common Section for Sitemaps allows tweaking the links in the sitemaps. To edit them, please go to Stores ⟶ Configuration ⟶ MAGEWORX ⟶ SEO ⟶ Common Section for Sitemaps.

These settings provide the possibility to crop or add the Trailing slash for home page and for other URLs.

The trailing slash can be added only in case the page doesn't have the .htm or .html setting.

Individual Settings

Additionally, the store owner can tweak SEO parameters for each product, category, and CMS page individually.

Categories

For the categories settings, go to Catalog ⟶ Categories, select the desired Category and open the Search Engine Optimization tab.

  • SEO Name - the value field is shown in H1 tag on a category page on the front-end.
  • URL Key - the URL key of a category page. The selected “Create Permanent Redirect for old URL” option will create 301 redirects each time you change the URL key.
  • Meta title - the title of a category page, shown in search engine results.
  • Meta description - the meta description of a category page, shown in search engine results.
  • Meta keywords - the meta keywords of a category page.
  • Meta robots - this setting allows you to set the meta robots for a certain category.
  • Use in cross linking - this setting allows you to either use a category in the cross linking scheme or not. If disabled, the found keywords on the category page won't be replaced with the links, added in our Cross Links part.
  • Include in HTML sitemap - this setting allows you to either display or hide a certain category in HTML sitemap by MageWorx.
  • Include in XML sitemap - this setting allows you to either add or hide a certain category in XML sitemap by MageWorx.
  • Canonical URL - this setting allows you to use the canonical tag for a certain category, generated by SEO Suite extension or set a custom canonical tag.
  • Product Redirect Priority - this setting specifies a category's priority, which is used for creating redirects for deleted products if the setting “Default Redirect To” (Configuration ⟶ MAGEWORX ⟶ SEO ⟶ SEO Redirects) is set to “Product Priority”.
  • Breadcrumbs Priority - this setting specifies a category's priority, which is used to create correct SEO breadcrumbs if the setting “Use Category Priority” (Configuration ⟶ MAGEWORX ⟶ SEO ⟶ SEO Breadcrumbs) is set to “Yes”.

Products

For the products settings, go to Catalog ⟶ Products, select the desired Product and open the Search Engine Optimization tab.

  • URL Key - the URL key of a product page. The selected “Create Permanent Redirect for old URL” option will create 301 redirects each time you change the URL key.
  • SEO Name - the value field is shown in H1 tag on a product page on the front-end.
  • Meta title - the title of a product page, shown in search engine results.
  • Meta description - the meta description of a product page, shown in search engine results.
  • Meta keywords - the meta keywords of a product page.
  • Meta robots - this setting allows you to set the meta robots for a certain product.
  • Use in cross linking - this setting allows you to either use a product in the cross linking scheme or not. If disabled, the found keywords on the product page won't be replaced with the links, added in our Cross Links part.
  • Include in HTML sitemap - this setting allows you to either display or hide a certain product in HTML sitemap by MageWorx.
  • Include in XML sitemap - this setting allows you to either add or hide a certain product in XML sitemap by MageWorx.
  • Canonical URL - this setting allows you to use the canonical tag for a product, generated by SEO Suite extension or set a custom canonical tag.

The Cross Domain Store and Cross Domain URL are added to define the main website using a Cross Domain Canonical Tag. It can be either selected from the dropdown that contains the list of the Store URLs or by adding the custom URL. If you select e.g. domain1, the canonical tags for other websites will be domain1/product.html.

CMS Pages

For the CMS pages settings, go to Content ⟶ Elements ⟶ Pages, select the desired CMS page and open the Search Engine Optimization tab.

  • URL Key - the URL key of a CMS page.
  • Meta title - the title of a CMS page, shown in search engine results.
  • Meta description - the meta description of a CMS page, shown in search engine results.
  • Meta keywords - the meta keywords of a CMS page.
  • Meta robots - this setting allows you to set the meta robots for a certain CMS page.
  • Use in cross linking - this setting allows you to either use a CMS page in the cross linking scheme or not. If disabled, the found keywords on the CMS page won't be replaced with the links, added in our Cross Links part.
  • Include in HTML sitemap - this setting allows you to either display or hide a certain CMS page in HTML sitemap by MageWorx.
  • Include in XML sitemap - this setting allows you to either add or hide a certain CMS page in XML sitemap by MageWorx.
  • Canonical URL - this setting allows you to use the canonical tag for a CMS page, generated by SEO Suite extension or set a custom canonical tag.

The Hreflang Identifier is used if the setting Multi-stores CMS pages relation (Configuration ⟶ MageWorx ⟶ SEO ⟶ SEO Base ⟶ Hreflang URLs Settings) is set to “By Hreflang Identifier”. The pages with identical hreflang identifiers will be used as the alternate URLs for each other.

Custom Canonical URLs

To observe, edit and add the custom canonical URLs, go to Marketing ⟶ MageWorx Canonical URLs ⟶ Custom Canonical URLs.

Please note that during the initial setup this grid will be empty.

This grid shows all the canonicals that have been created here or individually for products, categories or CMS pages. To create a new canonical, click the Add New Custom Canonical URL button.

The Canonical Form workspace is the initial page that should have the custom canonical. You can create custom canonicals for products, categories, and CMS pages. The Canonical To handles the page that should be used as the canonical URL.

First, the store owner should select the Store View. Then, the Type should be specified.

  • Custom URL

The URL field supports both absolute http://www.site.com/custom/url and relative /custom/url URL values.

  • Product

To select the desired product, click the Choose button and select the desired product.

  • Category

This type shows the category tree. You can filter the products by using the search box.

  • CMS

This type shows the list of the CMS pages. You can filter the pages by using the search box.

When the edits are done, click the Save Custom Canonical URL button.

SEO Category Filters

The SEO Suite Ultimate extension allows turning the pages filtered by Layered Navigation into regular store pages with SEO value. That can be beneficial in various ways:

  1. If there are no sub-categories in the store, such pages can successfully perform their role.
  2. These pages can be fully optimized for any specific search queries; thus, shoppers who are searching for brand new red Ferrari will land on a page with highly relevant results.
  3. The optimized pages of this type can extend and strengthen your website architecture.

To check or modify SEO Category Filters, go to Marketing ⟶ MageWorx SEO Extended ⟶ Manage SEO Category Filters.

Please note that during the initial setup this grid will be empty. The columns can be sorted alphabetically by clicking the column title. To create a new category Filter, click the Add New SEO Category Filter button.

Here, the store owner can select the appropriate Product Attribute and the Store View (so actually, it is possible to make different pages for different store views).

The merchant can choose the desired attribute value and the category where this filter should be applied.

From here, the store owner can specify the Meta Title, Meta Description, Meta Keywords, and Description. The Description is the text visible on the frontend.

SEO Name setting, if populated, will be displayed instead of the default name on the frontend.

The dynamic variables and randomizers are supported.

Variables and Randomizers

Here is the list of the variables that can be used:

  • [category] - Outputs a current category name.
  • [categories] - Outputs a current categories chain starting from the first parent category and ending a current category.
  • [parent_category] - Outputs a parent category name only.
  • [parent_category_N] - N is the number such as 1, 2, 3 etc. The orders of the parent categories is as follows: site.com/parent_category_3/parent_category_2/parent_category_1/category.html.
  • [website_name] - Outputs a current website name.
  • [store_name] - Outputs a current store name.
  • [store_view_name] - Outputs a current store view name.
  • [filter_all] - Inserts all the chosen attributes names. The structure is “Label1 Value1, Label2 Value2” like “Color Red, Size M”.
  • [filter_attribute_code] - Inserts the attribute value (if exists). E.g., [category] in [filter_color] will be parsed as “Shoes in Color Red”.
  • [filter_attribute_code_label] - Inserts the product attribute label. E.g., [category] filtered by [filter_color_label] will be parsed as “Shoes filtered by color”.
  • [filter_attribute_code_value] - Inserts the product attribute value. E.g., [filter_color_value] [category] will be parsed as “Red Shoes”.

Randomizer feature allows the store owner to randomly pick the values on every page refresh. The construction like [Buy||Order||Purchase] will use a randomly picked word. Randomizers can be used within other template variables. In this case, variables should be put inside the braces { } not brackets [ ]. Only one variable can be used inside the construction.

Category Grid (Mass Edit)

The grid provides the possibility to apply mass edits for the category pages. All the settings added by our extension for the categories individually can be assigned in bulk. To observe the category grid and apply the edits, log into the Magento Admin panel and go to Marketing ⟶ MageWorx SEO Category Grid ⟶ SEO Category Grid.

From here, you can select any category and change the corresponding values in the meta sections (meta title, meta description, meta keywords), apply the desired meta robots, handle the breadcrumbs priority, choose whether you should allow the usage of the categories in the crosslinks, specify the redirects priority, add the special SEO Name (it replaces the default Category name), and decide whether you should add the category to the XML and HTML sitemaps.

To select several categories in the grid at the same time, click the checkbox in the first column. To apply the changes, hit the Save Edits button.

You can mass apply some value to all the categories selected by choosing it in the yellow row above the categories. Click the Apply button for such an operation.

Manage SEO Breadcrumbs

A breadcrumb is a graphical element that reveals the user’s location on a website. A breadcrumb trail shows each page viewed by a visitor of a website, either in the order the pages were viewed, or in other definitions, displaying a hierarchy of the current page in relation to the website's structure. The breadcrumbs can usually be found in websites that have a large amount of content organized in a hierarchical manner.

Magento 2 default breadcrumbs are generated dynamically according to the user path to a targeted page. This is the main disadvantage of Magento 2 native breadcrumbs because the breadcrumbs are always changed.

To manage SEO Breadcrumbs priority for categories, go to Marketing ⟶ MageWorx SEO Breadcrumbs ⟶ Breadcrumbs Priority

Breadcrumbs priority for categories is used when a product is assigned to multiple categories. The category with a higher priority will be shown in the breadcrumbs hierarchy, while the categories with a lower or not specified priority will be excluded from the breadcrumbs chain. This page allows specifying the priority for each category. The grid supports Actions. For this, click the checkboxes near the categories that you wish to modify and click the Edit link on the Actions dropdown. Click the Save Edits button to proceed.

The breadcrumbs' priority of certain category can be set up when editing the Category as well. For this go to Catalog ⟶ Categories, select the desired Category and open the Search Engine Optimization tab. The setting is called Breadcrumbs Priority.

The category with the higher Breadcrumbs Priority number will be used to generate the breadcrumbs.

This can be done on the Category Grid as well.

GraphQL API Support

SeoBaseGraphQL module extends existing Output attributes for Product, Category, CmsPage queries and includes:

  • canonical_url
  • meta_robots
  • mw_hreflangs (items, URL, code)

Other attributes are defined according to the guide.

Product, Category, CmsPage queries have syntax similar to the Magento user guide.

For example, product query has the following syntax:

products(
  search: String
  filter: ProductAttributeFilterInput
  pageSize: Int
  currentPage: Int
  sort: ProductAttributeSortInput
): Products

Request:

{
  products(filter: {sku: {eq: "24-WG02"}}) {
    total_count
    items {
      canonical_url
      meta_robots
      mw_hreflangs {
        items {
          url
          code
        }
      }
      name
      sku
        }
      }
    }
 

Response:

{
  "data": {
    "products": {
      "items": [
        {
          "canonical_url": "https://store_url/default/didi-sport-watch.html",
          "meta_robots": null,
          "mw_hreflangs": {
            "items": null
          },
          "name": "Didi Sport Watch",
          "sku": "24-WG02"
        }
      ]
    }
  }
}

HTMLSitemapGraphQL module allows displaying the HTML sitemap:

Syntax:

products(
  search: String
  filter: ProductAttributeFilterInput
  pageSize: Int
  currentPage: Int
  sort: ProductAttributeSortInput
): Products

The query includes the following attributes:

  • meta_description
  • meta_keywords
  • categories
  • cms_pages
  • additional_links
  • custom_links

Request:

{mwHtmlSitemap (storeId: 1) {
  categories {
    items {
      title
      url
      level
    }
  }
}
}

Response:

{
  "data": {
    "mwHtmlSitemap": {
      "categories": {
        "items": [
          {
            "title": "What's New",
            "url": "https://store_url/default/what-is-new.html",
            "level": 2
          },
          {
            "title": "test",
            "url": "https://store_url/default/test.html",
            "level": 2
          }
        ]
      }
    }
  }
}

The SeoXTemplatesGraphQl and the SeoCrossLinksGraphQl modify the necessary attributes of the entities of Product, categories, and CMS pages, when you call these entities using the standard GraphQL requests.

SeoMarkupGraphQl extends existing Output attributes for Product, Category, CmsPage queries and includes:

1) For Product

mw_seo_markup

  • social_markup
  • rich_snippets (website, seller, product)

2) For Category

mw_seo_markup

  • social_markup
  • rich_snippets (website, seller)

3) For CMS Page

mw_seo_markup

  • social_markup
  • rich_snippets (website, seller, webpage)

Other attributes are defined according to the guide.

Product, Category, CmsPage queries have syntax similar to the Magento user guide.

For example, product query has the following syntax:

products(
  search: String
  filter: ProductAttributeFilterInput
  pageSize: Int
  currentPage: Int
  sort: ProductAttributeSortInput
): Products

Request:

{
  products(filter: {sku: {eq: "24-WB04"}}) {
    items {
      name
      sku
      mw_seo_markup {
        social_markup
        rich_snippets {
          website
          seller
          product
      }
    }
    }
  }
}

Response:

{
  "data": {
    "products": {
      "items": [
        {
          "name": "Overnight Duffle",
          "sku": "24-WB07",
          "mw_seo_markup": {
            "social_markup": "\n<meta property=\"og:type\" content=\"product.item\"/>\n<meta property=\"og:title\" content=\"Overnight Duffle\"/>\n<meta property=\"og:description\" content=\"\"/>\n<meta property=\"og:url\" content=\"https://store_url/default/overnight-duffle.html\"/>\n<meta property=\"product:price:amount\" content=\"45\"/>\n<meta property=\"product:price:currency\" content=\"USD\"/>\n<meta property=\"og:image\" content=\"https://store_url/media/catalog/product/cache/c52db06da6f0de78fc16c7b26d943b31/w/b/wb07-brown-0.jpg\"/>\n<meta property=\"og:image:width\" content=\"265\"/>\n<meta property=\"og:image:height\" content=\"265\"/>\n<meta property=\"product:availability\" content=\"in stock\"/>\n<meta name=\"twitter:site\" content=\"111222333\"/>\n<meta name=\"twitter:creator\" content=\"111222333\"/>\n<meta name=\"twitter:card\" content=\"summary\"/>\n<meta name=\"twitter:title\" content=\"Overnight Duffle\"/>\n<meta name=\"twitter:description\" content=\"\"/>\n<meta name=\"twitter:image\" content=\"https://store_url/media/catalog/product/cache/c52db06da6f0de78fc16c7b26d943b31/w/b/wb07-brown-0.jpg\"/>\n<meta name=\"twitter:url\" content=\"https://store_url/default/overnight-duffle.html\"/>\n<meta name=\"twitter:label1\" content=\"Price\"/>\n<meta name=\"twitter:data1\" content=\"45\"/>\n<meta name=\"twitter:label2\" content=\"Availability\"/>\n<meta name=\"twitter:data2\" content=\"in stock\"/>\n",
            "rich_snippets": {
              "website": "<script type=\"application/ld+json\">{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"WebSite\",\"url\":\"https:\\/\\/store_url\\/\"}</script>",
              "seller": "<script type=\"application/ld+json\">{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"LocalBusiness\",\"name\":\"Name For Seller\",\"description\":\"Description For Seller\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"\",\"addressRegion\":\"\",\"streetAddress\":\"Street For Seller\",\"postalCode\":\"\"},\"image\":\"https:\\/\\/store_url\\/media\\/seller_image\\/default\\/best-seller-gold-sign-label-template-vector-1356860.jpg\",\"url\":\"https:\\/\\/store_url\\/\"}</script>",
              "product": "<script type=\"application/ld+json\">{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"Product\",\"name\":\"Overnight Duffle\",\"description\":null,\"image\":\"https:\\/\\/store_url\\/media\\/catalog\\/product\\/cache\\/c52db06da6f0de78fc16c7b26d943b31\\/w\\/b\\/wb07-brown-0.jpg\",\"offers\":{\"@type\":\"http:\\/\\/schema.org\\/Offer\",\"price\":45,\"url\":\"https:\\/\\/store_url\\/default\\/overnight-duffle.html\",\"priceCurrency\":\"USD\",\"availability\":\"http:\\/\\/schema.org\\/InStock\"},\"aggregateRating\":{\"ratingValue\":\"60\",\"reviewCount\":\"3\",\"bestRating\":100,\"worstRating\":0,\"@type\":\"AggregateRating\"}}</script><script type=\"application/ld+json\">{\"@context\":\"http:\\/\\/schema.org\\/\",\"@type\":\"WebPage\",\"speakable\":{\"@type\":\"SpeakableSpecification\",\"cssSelector\":[\".description\"],\"xpath\":[\"\\/html\\/head\\/title\"]}}</script>"
            }
          }
        }
      ]
    }

SeoRedirectsGraphQl module modifies the current values of the existing Output attributes for urlResolver query if there is at least 1 Mageworx redirect for the 'requested URL' entity.

This module is compatible with:

  • redirects for deleted products
  • custom redirects with Request Entity Type and Target Entity Type equal to Product, Category or CMS Page

For example, urlResolver query has the following syntax:

{urlResolver(url: String!): EntityUrl}

Request:

{
  urlResolver(url: "savvy-shoulder-tote.html") {
    id
    relative_url
    redirectCode
    type
  }
}

Response:

{
  "data": {
    "urlResolver": {
      "id": 2047,
      "relative_url": "erika-running-short.html",
      "redirectCode": 301,
      "type": "PRODUCT"
    }
  }
}

Find out how to install the SEO Suite Ultimate extension for Magento 2 via Composer.

Rate the user guide
 stars  from 2 votes (Details)
magento_2/seo_suite_ultimate.txt · Last modified: 2021/07/23 10:58 by asemenova