# SEO Management

In Project Zero under the `/templates/cms/seo` folder, you will see some HTML files to maintain the SEO of your project. You can maintain all SEO on Omnitron.

```
/seo
├── canonical.html
├── category_seo.html
├── list_seo.html
├── product_seo.html
├── seo_default.html
├── seo_generate.html
```

Figure 1. The structure of the/templates/cms/seo folder.

## <mark style="color:red;">canonical.html​</mark> <a href="#canonicalhtml" id="canonicalhtml"></a>

In the canonical.html file, you can maintain your canonical URLs. If you already added a canonical URL to Omnitron it automatically takes the URL from Omnitron.

## <mark style="color:red;">category\_seo.html​</mark> <a href="#category_seohtml" id="category_seohtml"></a>

In the category\_seo.html file, you can maintain your category page’s SEO. For example, if you want to add a static meta description to every category page add this code to category\_seo.html.

```
<!-- other SEO section --->

<meta name="description" content="my static description"/>

<!-- other SEO section --->
```

Figure 2. The static description.

After completing the editing category\_seo.html file, you will see all category pages have a static meta description.

## <mark style="color:red;">list\_seo.html​</mark> <a href="#list_seohtml" id="list_seohtml"></a>

In the list\_seo.html file, you can maintain your list page title, description, and other SEO stuff. In Project Zero default page title of the list page is the category name. For example, if you are listing the sneakers category then the list page title becomes “Sneakers”.

Let’s add the company name to the list page title. Change the title in list\_seo.html with the code below.

```
<title>{{ category.name }} | yourCompanyName</title>
```

Figure 3. Adding compony name to list page.

When you refresh the page you will see the title of the list page become “Sneakers | yourCompanyName”.

## <mark style="color:red;">product\_seo.html​</mark> <a href="#product_seohtml" id="product_seohtml"></a>

In the product\_seo.html file, you will see the four main parts. The default title and description, schema org, twitter card, and open graph data.

## <mark style="color:red;">default\_seo.html​</mark> <a href="#default_seohtml" id="default_seohtml"></a>

In the default\_seo.html file, you will see the default SEO section, and this section can maintain on Omnitron.

## <mark style="color:red;">seo\_generate.html​</mark> <a href="#seo_generatehtml" id="seo_generatehtml"></a>

The seo\_generate is a macro to create an SEO section. The seo\_generate has two types of usage.

In the first one seo\_generate will automatically use the default\_seo.html file to create the SEO section if you have SEO in Omnitron. If you don’t have SEO in Omnitron then the SEO section will contain only an empty title.

```
{% block seo %} {{ seo_generate() }} {% endblock %}
```

Figure 4. The seo\_generate usage 1.

In the second one, the seo\_generate function takes the path of the SEO file as a parameter and creates the SEO section.

```
{% block seo %}
  {{ seo_generate('cms/seo/product_seo.html') }}
{% endblock %}
```

Figure 5. The seo\_generate usage 2.
