See the way SEO Suite Ultimate Extension for Magento 2 extension works.
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.
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.
The settings in this section allow you to set the max length for:
If specified, these values will be used by SEO Suite to limit the max length of these properties for SEO reports.
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.
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
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.
— 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:
Let's assume a product is assigned to 2 different categories:
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.
— 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.
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.
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 с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.
Сountry code - this setting allows you to add a country code to the hreflang tags.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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:
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:
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:
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.
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.
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.
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.
Additionally, you can exclude any pages from the cross-linking schemes.
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.
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.
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.
Under these settings, you can find the initial setup of the extension configuration. It consists of 2 tabs.
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.
From here, the store owner can enable or disable redirects. Also, under these settings, the store owner can set:
The difference between product category and priority category can be explained and best understood through an example:
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.
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:
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.
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:
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:
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:
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.
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:
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:
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.
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:
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:
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.
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.
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.
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.
To tweak the general XML Sitemap settings, go to Stores ⟶ Configuration ⟶ Mageworx ⟶ SEO ⟶ XML Sitemap.
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.
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.
Additionally, the store owner can tweak SEO parameters for each product, category, and CMS page individually.
For the categories settings, go to Catalog ⟶ Categories, select the desired Category and open the Search Engine Optimization tab.
For the products settings, go to Catalog ⟶ Products, select the desired Product and open the Search Engine Optimization tab.
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.
For the CMS pages settings, go to Content ⟶ Elements ⟶ Pages, select the desired CMS page and open the Search Engine Optimization tab.
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.
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.
The URL field supports both absolute http://www.site.com/custom/url and relative /custom/url URL values.
To select the desired product, click the Choose button and select the desired product.
This type shows the category tree. You can filter the products by using the search box.
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.
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:
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.
Here is the list of the variables that can be used:
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.
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.
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.
SeoBaseGraphQL module extends existing Output attributes for Product, Category, CmsPage queries and includes:
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:
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
2) For Category
mw_seo_markup
3) For CMS Page
mw_seo_markup
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:
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.