Product support

Get help in the plugin support forum.


With support for CMS Pages, RainLab.Pages and RainLab.Blog; You can add dynamic meta and Open Graph tags, structured data, and generate a sitemap.xml automatically, for all your pages and models from the backend area with just a few clicks and a few lines of code.

⭐ Dynamic meta tags

SEO Title

You will be able to use twig syntax inside the SEO fields of CMS/static pages and blog posts, to dynamically generate the value of those meta tags.

⭐ Automatic sitemap.xml

Automatically generate a sitemap.xml for all your CMS/static pages, posts and custom models with the flip of a switch!

⭐ Structured Data (schema.org)


Enhance the display of your site in Google search results with schema.org structured data. Add it to any page using individual components or snippets.

Supported types:

  • Article
  • Product
  • VideoObject

⭐ Open Graph & Twitter cards

open graph example

Engage more people in social media with enhanced links, using Open Graph and Twitter card tags.

Currently supported:

  • og:title and twitter:title
  • og:description and twitter:description
  • og:image and twitter:image
  • og:type
  • og:site_name

⭐ Configure your robots.txt

Convenient way to enable/disable and setup the content of the robots.txt in the settings page.

⭐ Multilingual support for SEO tags

The power of twig inside meta tags enables seamless support for multilingual SEO tags using the RainLab.Translate plugin.

For more information on these features and how to use them, please feel free to read the plugin documentation; is not that long or complicated.

For free support, please use the plugin forum and help will be on the way as fast as possible.


The seo component

This component is the head of all other components, from it, all the meta tags and JSON-LD scripts (for structured data) are rendered. If you want to use this plugin for CMS, static and blog post pages; then you must to place this component inside the head tag of each layout that will render SEO meta tags and structured data.

seo component screenshot example

Dynamic SEO meta tags

SEO meta tag fields support twig syntax, this makes them more flexible when you have a website with many records and you need to display their attributes in search results, or generate the title or description of the page from a model field for example.

seo fields screenshot fields showing twig syntax screenshot

RainLab.Translate support

The twig syntax is very helpful, it allows you to do something like this:

{{ "This is the meta title of my page" | _ }}

After rendering the page the first time, the string will be registered by the RainLab.Translate's _ filter as a translation message. This means that these meta tags can become multilingual.


  • All SEO fields, all OG fields and all schema.org component fields support dynamic fields.

  • Sitemap.xml fields don't use dynamic fields.

  • If using twig strings the whole value must begin with {{ and terminate with }} and you should not use anything outside.

  • Now you can use multiple {{ }}. For example: {{ post.title }} ~ {{ post.category }}

Automating the sitemap.xml

To automatically generate the sitemap.xml, follow the steps below:

  1. Make sure you have the sitemap.xml enabled in the settings page.

    enable sitemap.xml in settings page screenshot

  2. Go to the editor page of your CMS, static or blog post page, and on the "SEO" tab check the "Enable in the sitemap.xml" checkbox.

    sitemap checkbox screenshot

  3. Visit: http(s)://yourdomain.tld/sitemap.xml.

Note: The fields in the "Sitemap" section are not dynamic.

Custom models

If you have a custom model that you want to generate the links from, add the full class name of your model in the "Settings" tab of the CMS page. If the page has the blogPost component, you don't need to set the Model class.

model class field screenshot

Important: The URL parameters of the page, for example: /post/:slug, will be replaced by the attribute values of the model with the same name, so you must ensure the model has an attribute called slug in this case.

Adding structured data (schema.org)

The plugin comes with components that define some schema.org objects (Article, Product and VideoObject). These components are also available as snippets for RainLab.Pages and their properties support twig syntax.

It's highly recommended that you read the Google guidelines if you're not familiar with structured data.

To use these components, all you need to do is drag the ones you need from the inspector to the page editor. Do not place them inside the page as they are rendered by the seo component.

structured data component screenshot

Important: component field values enclosed in {{ }} are automatically interpreted by October as external properties (https://octobercms.com/docs/cms/components#external-property-values). If you have only one brace pair, then the output will be an empty string if October can't find the external property. As a workaround, You must add a trailing space like this:

trailing space at the end of the value

However, if using multiple braces you won't need to add any space.

Open Graph & Twitter cards

The configuration is done via the Open Graph tab. If you don't know about these tags read the guide for Open Graph from Facebook and the guide for Twitter cards from Twitter.

Note: Twitter cards are automatically set from the OG * fields.

open graph tab screenshot

Currently supported tags are:

  • og:titledefaults to page meta_title | page title
  • og:description defaults to page meta_description | site description in the Settings page
  • og:image defaults to page image|site image in Settings page - Open Graph tab
  • og:type defaults to "website"
  • og:site_name set in the settings page.
  • twitter:title from og:title
  • twitter:description from og:description
  • twitter:image from og:image

Note: read the guidelines from Facebook and Twitter linked above for recommended values on these tags.


Although we don't implement redirection, there is a plugin better suited for the job called Redirect, with many (and powerful) features to handle any possible use case.


schema.org components won't need to check "enable twig syntax". Must use twig braces {{ }}.

Mar 23, 2019


!!! Minor breaking changes

Mar 23, 2019


Bug fixes and README.md update

Dec 11, 2018


Added arcane_seo_options column to rainlab_blog_posts

Dec 07, 2018


Plugin initialized

Dec 05, 2018