The SEO template module in the Horoshop allows you to generate unique text values using templates for the following tags:
· <title>
· <h1>
· <meta name="keywords">
· <meta name="description">
Filling in tags by templates is available for the following types of pages:
· Category page
· Category page with filter
· Brand page
· Product page
· News page (articles, blog posts)
SEO templates for images
It is also possible to fill in the title and alt attributes for some types of images:
· Product preview on the category page
· Main photo on the product page
· Photo preview in the gallery on the category page
· Section preview on the category list page
· News image on the news list page and on the news page
· Brand logo on the brand page
· For the website logo – alt tag
The title and alt attributes are filled in according to different templates.
How to create SEO templates
To customize SEO templates, go to SEO → SEO templates in the admin panel.
To create a new template, click +Add.
Name | Template name for identification in the admin panel |
Template | Text of the template is filled separately for each active version |
Template type | Determines for what types of pages and tags the template will work |
Enable | Specify the activity of the template |
Section | Define for which sections of the site structure we will use the template. It is possible to choose several sections. Note: leave the field empty if the template should work for an entire website. Note. The template is not used by default in all sections. If you need to apply the template to all subsections, you need to select them on the list. |
Template filling format
The template can contain any text and inclusions of necessary variables:
Buy {title} {volume} in Kyiv
Variables available for SEO templates
For product pages
{title} | Title |
{mod_title} | Name of the modification; if it is not set for an item, the general name of the item is displayed |
{article} | Item number |
{article_for_display} | Model item number |
{short_description} | Brief description |
{brand} | Brand |
{price} | Price |
{price_old} | Old price |
{quantity} | Quantity |
{color} | Color |
{currency} | Currency |
{parent} | Name of the parent section |
{site} | Website domain |
{phone_number} | The first phone number from Settings → Contact information block, the value to display on the site is used |
The price in the templates is always displayed in the default front-end currency, regardless of which currency the site user has selected.
Besides, it is possible to display any product characteristics by product templates.
{char.paramName} | paramName – the name of the required parameter |
{paramName} | paramName – the name of the required option |
You can see the name of the parameter/option required to create a SEO template in Settings → Product templates by selecting the appropriate template and characteristic - the corresponding value will be contained in the Name field.
For category, filter, brand, news pages
{title} | Title |
{parent} | Name of the parent section |
{Page: [pageNumber]} | Display of page numbers if pagination is enabled |
{price_min} | The minimum price of the product in stock in the section, displayed with a currency For example, 999 UAH. |
{volume} | Total number of item numbers in the section, including modifications |
{site} | Website domain |
{phone_number} | The first phone number from the Settings → Contact information block, the value for display on the site is used |
The extended format is also available for pagination output
{
"type": "pagination",
"template": {
"numeric": "Page {pageNumber} from {pagesCount}",
"all": "Al pages"
},
"showOnFirstPage" : true,
"showOnPageAll": true
}
The format of this template is json. Make sure the json is correct with the validator, an incorrect SEO template can lead to incorrect operation of the site.
Explanation for the template
type | Template Type. Mandatory parameter. The value for the filter must be pagination |
template | String templates that will be displayed on the page. Mandatory parameter. There must be at least one string template. numeric - for pages with a numeric number, all - for pages with "all" number (i.e. "show all"). The same parameters as in the section – {pageNumber} and {pagesCount} – are available in such templates. If one of the string templates is not specified, the default one specified in the code will be used instead. |
showOnFirstPage | Whether to show the template on the first page. If true, the numeric template will be displayed on the first page too. |
showOnPageAll | If true, the string template "all" will be displayed when all products are displayed. |
For images in the gallery on the product page
{gallery.sortorder} | The sortorder number of the photo |
{gallery.count} | The total number of photos in the gallery |
For filter pages
{filter[name(:) value](,)} | Display of names and values of the current filters |
{filter[value](,)} | Display of values on the category page only |
This template allows you to display all enabled filters. You can use the following template format for a more precise setup:
{
"type": "filter",
"filter": "ALL",
"paramSeparator": ";",
"valueSeparator": ",",
"paramValueSeparator": ":",
"showParams": true,
"showValues": true
}
Make sure the json is correct with the help of validator, incorrect SEO template can result in incorrect operation of the site.
Explanation for the template
type | Template type. Mandatory parameter. The value for filters must be filter |
filter | Determines which filters to display in the template. The parameter is mandatory. Available variants: · ALL - all filters will be displayed. · "filter": ["color", "volume"] – you can also specify a set of parameters that can be displayed in the template. To do this, you need to set the value of the filter parameter in the specified form, where color is the name of the parameter color in the database, volume is the name of the parameter Memory volume in the database. These names can be viewed in the address bar on the page with filtering enabled. |
paramSeparator | Parameter separator (for example, in the line "Color: yellow; Memory capacity: 8 GB", the separator is ";") |
valueSeparator | Separator between the values (for example, in the line "Color: yellow, gray", the separator is ",") |
paramValueSeparator | Separator between parameter and value, separating the parameter name from the selected values by this parameter (for example, "Color: yellow, gray", the separator here is ":") |
showParams | Whether to display the names of the parameters in the SEO template: · true - names are displayed (e.g., "Color: yellow, gray") · false - names are not displayed (e.g., "Yellow, gray") |
showValues | Whether to display parameter values: · true - values are displayed (e.g., "Color: yellow; Memory capacity: 8 GB") · false - values are not displayed (e.g. "Color; Memory capacity") |
Please note: for the parameter "Icons" (Novelty, Sale, Hit, etc.), the name of the parameter is not displayed, i.e. the line for this filter will always consist of the selected values.
Basic SEO Template Package
Beginning in June 2022, new websites will have a package of basic SEO templates installed and activated by default, which can be used as ready-made templates, modified to suit your needs, or used as a template for creating your own templates.
Basic SEO templates are located in SEO → SEO Templates.
Title | Type | Template {ru} | Tepmlate [ua] |
Category: meta title | Category: meta title | {parent} {title} — buy in online store {site} | {parent} {title} — buy in online store {site} |
Category: meta description | Category: meta description | 【Buy {parent} {title}】 — in online store {site} ✅ Available items: {volume} from {price_min} ✈ Delivery ✅ Reviews | 【Buy {parent} {title}】 — in online store {site} ✅ Available items: {volume} from {price_min} ✈ Delivery ✅ Reviews |
Category: h1 | Category: h1 | {parent} {title} | {parent} {title} |
Filter: meta title | Filter: meta title | {parent} {title} {filter[name(:) value](,)} — buy in online store {site} | {parent} {title} {filter[name(:) value](,)} — buy in online store {site} |
Filter: meta description | Filter: meta description | Order {parent} {title} {filter[name(:) value](,)} in online store {site} ✅ Wide selection ✈ Delivery ✅ Reviews | Order {parent} {title} {filter[name(:) value](,)} in online store {site} ✅ Wide selection ✈ Delivery ✅ Reviews |
Filter: h1 | Filter: h1 | {parent} {title} {filter[name(:) value](,)} | {parent} {title} {filter[name(:) value](,)} |
Product: title of the main photo | Product: title of the main photo | {mod_title} {article_for_display} photo | {mod_title} {article_for_display} photo |
Product: title photo in the gallery | Product: title photo in the gallery | {title} {article_for_display} photo {gallery.sortorder} | {title} {article_for_display} photo {gallery.sortorder} |
Brand: meta title | Brand: meta title | All items {title} - in online store {site} | All items {title} - in online store {site} |
Brand: meta description | Brand: meta description | Product catalog {title} | Available items: {volume} - buy at a price of {price_min} in the online store {site} ✅ Wide selection ✈ Delivery ✅ | Product catalog {title} | Available items: {volume} - buy at a price of {price_min} in the online store {site} ✅ Wide selection ✈ Delivery ✅ |
Brand: h1 | Brand: h1 | {title} | {title} |
Product: meta title | Product: meta title | Buy {mod_title} {article_for_display} in online store {site} | Buy {mod_title} {article_for_display} in online store {site} |
Product: meta description | Product: meta description | 【{mod_title}】 - Buy at the best price in the online store {site} ✈ Delivery ✅ Reviews ☎ {phone_number} | 【{mod_title}】 - Buy at the best price in the online store {site} ✈ Delivery ✅ Reviews ☎ {phone_number} |
Product: alt main photo | Product: alt main photo | {mod_title} {article_for_display} photo | {mod_title} {article_for_display} photo |
Product: alt photo in gallery | Product: alt photo in gallery | {mod_title} {article_for_display} photo {gallery.sortorder} | {title} {article_for_display} photo {gallery.sortorder} |
News: meta title | News: meta title | {title} | {site} | {title} | {site} |
News: meta description | News: meta description | 【Online store {site}】— {parent} {title} | 【Online store {site}】— {parent} {title} |
News: alt images | News: alt images | {title} photo | {title} photo |
In all templates of the standard package, the Section value is not selected. Also, in the standard package, ready-made templates for common Brand and News pages have been added.
Title | Type | Template {ru} | Template [ua] | Section |
Homepage News: meta title | Category: meta title | {title} online store {site} | {title} online store {site} | Blog |
Homepage News: meta description | Category: meta description | Read {title} online store {site} | Read {title} online store {site} | Blog |
Homepage Brand: meta title | Category: meta title | Brands presented in online store {site} | Brands presented in online store {site} | Brands |
Homepage Brand: meta description | Category: meta description | List of brands whose products can be purchased on the site【{site} Use the shopping cart or call {phone_number} to place your order. | List of brands whose products can be purchased on the site【{site} Use the shopping cart or call {phone_number} to place your order. | Brands |
If you want to use any template from this package on your sites created before June 2022, create a new template with the appropriate name and type and copy the value for the Template field from the table above.
Recommendations for creating SEO templates
When building templates, take note of Google's recommendations: