3

Product support

Visit this product's website for support.

Categories

Renatio SEO Manager Plugin

Plugin adds SEO functionality to OctoberCMS. It supports CMS Pages, RainLab.Pages, RainLab.Blog out of the box. With one line of code can be attached to any OctoberCMS model. One robust solution for all your SEO needs.

Features

  • Support for CMS Pages, RainLab.Pages, RainLab.Blog
  • Import default values from CMS Pages, RainLab.Pages, RainLab.Blog
  • Open Graph support
  • Robots meta configuration
  • Canonical URLs
  • 301 Redirects
  • Easy edit robots.txt and .htaccess in CMS Settings
  • Easy integration with other plugins

Future plans

  • Favicon Generator
  • Google snippet preview
  • Focus keywords check
  • Page analysis

Support

Please use GitHub Issues Page to report any issues with plugin.

Reviews should not be used for getting support, if you need support please use the Plugin support link.

SEO Fields in CMS Page

Usage

After installation all CMS pages, Static pages, Posts, Categories will now display additional tabs with SEO and Open Graph fields.

To display meta information on frontend page you must only place single SEO component in theme layout head section.

[seoTags]
==
<!DOCTYPE html>
<html>
    <head>
        {% component 'seoTags' %}
    </head>

Settings

Plugin ships with a settings page. Go to Settings and you will see a menu item SEO configuration listed under SEO bookmark.

Settings allow you to specify SEO Title prefix/suffix.

You can write common meta tags used in all pages e.g.

<meta name="author" content="Renatio">
<meta name="viewport" content="width=device-width, initial-scale=1">

You can enable/disable Open Graph tags output, specify Open Graph site name and Facebook Application ID.

You can edit robots.txt file and .htaccess file.

Editing .htaccess file may break your site if not set up properly, so proceed with caution. This can be restricted by setting user permission.

SEO fields

Available SEO fields:

SEO Title

Defines the title of a document. Title tags are often used on search engine results pages (SERPs) to display preview snippets for a given page, and are important both for SEO and social sharing. Read more.

SEO Description

Meta descriptions are HTML attributes that provide concise explanations of the contents of web pages. Meta descriptions are commonly used on search engine result pages (SERPs) to display preview snippets for a given page. Read more.

Meta Keywords

A series of keywords you deem relevant to the page in question.

Meta Robots

The robots meta tag is not the same as the file called robots.txt. You should use these two together. Both are used by the search engines like Yahoo and Google. Read more.

Canonical URL

Canonicalization for SEOs refers to normalizing (redirecting to a single dominant version) multiple URLs. Read more.

301 Redirect

Redirection is the process of forwarding one URL to a different URL. There are three main kinds of redirects: 301, 302, and meta refresh. Read more.

More fields can be added on request.

Open Graph fields

Available Open Graph fields:

OG Title

The title of your object as it should appear within the graph, e.g., "The Rock".

OG Description

A one to two sentence description of your object.

OG Type

The type of your object, e.g., "article".

Og Image

An image URL which should represent your object within the graph.

Read more about Open Graph Protocol.

More fields can be added on request.

Integration with models

SEO fields can be attached to any OctoberCMS model with single line of code. You just need to implement SEO Behavior in your model class like so:

public $implement = ['@Renatio.SeoManager.Behaviors.SeoModel'];

After implementing this behavior to your model class, SEO Manager will extend it with SEO fields and create relation to model.

To allow SEO Manager Plugin to recognize page with specific model attached you must passed it to the page view. This is most often done in component onRun() method like so:

$this->page['album'] = Album::find($id); // pass album record to page view

Extending SEO fields

Plugin will fire seo.extendSeoFields event to allow for extensibility. This can be used to modify or add more SEO fields. You can listen for this event like so:

Event::listen('seo.extendSeoFields', function ($fields) {

    // modify or add more fields

    return $fields; // remember to return modified fields array
});

Similar approach can be used to extend Open Graph fields with seo.extendOgFields event.

Model fields are saved to database, so you must add columns to renatio_seomanager_seo_tags table before you can use them.

Access SEO Tag before rendered on page

Plugin will fire seo.beforeComponentRender event to allow for extensibility. This can be used to access page with associated SEO Tag.

/*
 * Assign new seoTag for product page
 */
Event::listen('seo.beforeComponentRender', function ($component, $page) {
    if ($page->url == '/products/:slug') {
        $component->seoTag = $page->controller->vars['product']->seo_tag;
    }
});

Console commands

Plugin will create three new artisan commands for working with console.

seo:import-cms command will import SEO from CMS pages.

seo:import-static command will import SEO from RainLab Static pages.

seo:import-blog command will import SEO from RainLab Blog posts and categories.

  • Found the plugin useful on 10 Feb, 2020

    Great plugin. But what's going on with the plugin when adding blogs? It is duplicated and takes up the whole page, making it super difficult to scroll and write blogs. Please fix! ?

  • author

    Replied on 10 Feb, 2020

    Thank you for the review. Please update to version 1.3.3.

  • Found the plugin useful on 5 Feb, 2020

    Would recommend keeping it in your standard developer toolbelt for OctoberCMS sites.

  • Found the plugin useful on 25 Jan, 2020

    Hi, is there a solution to have translation?

    Currently commented:

    /*

    • Currently RainLab.Translate Plugin does not support relation fields, waiting for fix. */ //$this->model->translatable = array_merge($this->model->translatable, (new SeoTag)->translatable);

  • Found the plugin useful on 9 May, 2019

    Awesome plugin! However, when I collapse the component to reveal the html markup, the plugin no longer works i.e. the component variables don't pull through any SEO data.

    Any ideas on how to fix this?

    I am running SEO Manager version 1.2.2 and October build 454.

    Cheers,

  • Found the plugin useful on 11 Apr, 2019

    I love this plugin. But somehow in my front page, the seo title get a plus seo title, which comes from blog categories... How can i fix this?

  • author

    Replied on 7 Feb, 2020

    If you still have this problem, than please create an issue on GitHub.

    https://github.com/mplodowski/seomanager-plugin-public/issues

  • Found the plugin useful on 23 Dec, 2018

    Great plugin, easy and intuitive to set up, congratulations !

    However i wonder if this is an issue : why the fields which are translatable into StaticPages context are not translatable into blog post context ? Possible fix please ? :)

    Best regards and happy Xmas

  • Found the plugin useful on 29 Oct, 2018

    This plugin is essential for most of my projects, however I do have my own SEO fields in most of cases in my plugin's models. Using Event::listen beforeComponentRender and injecting my own data to the component. Since almost all my projects are multilingual this is very useful and I'm in full control of my language fields. I also have to rewrite the components default.htm since og:image in a default version can only be taken from Media finder. By adding few IF ELSEs I can use images from any place now.

  • Found the plugin useful on 5 Oct, 2018

    Amazing plugin. Works out of the box and this is how SEO should be in OcotberCMS! Just one tiny problem...

    Meta Robots Index and Meta Robots Follow don't do anything when I change the values to no index and no follow on a static page.

    <meta name="robots" content="{{ seoTag.robots }}">

    outputs:

    <meta name="robots" content="index, follow">

    and I want it to say when I set no index and no follow on the SEO tab of a page:

    <meta name="robots" content="noindex, nofollow">

    Thank you in advance!

  • author

    Replied on 17 Nov, 2018

    This should be fixed in v1.2.2.

  • Found the plugin useful on 10 Aug, 2018

    beautiful

  • Found the plugin useful on 25 Jul, 2018

    It's like magic! But.. can you make the "SEO Title" and "Og Title" just copy/use the same as the "Post title"? The same for the description! It's kinda annoying to write the same thing 3 times.

    Everything else is just wonderful!

    Cheers!

  • author

    Replied on 25 Jul, 2018

    Thanks for the review!

    It is not documented, but just leave SEO Title and Description empty. They will default to your post Title and Excerpt/Description. As for OG Title and Description, they will default to SEO Title and Description if left empty.

    Cheers!

  • Found the plugin useful on 30 Apr, 2018

    I experienced a crash at installation because my meta_description from my blog was too long.

    According to the version.yaml. This is what happens: In 1.0.1: Set meta_description to length of 160 In 1.0.2: Call the import default command which checks that the field does not go over 255 In 1.1.5: Increase the field length to 255

    In my case, I had to remove the line with import_default_values.php, reinstall the plugin and then run manually the import command.

    The call to import_default_values.php should be moved after 1.1.5 in version.yaml.

  • author

    Replied on 12 Jul, 2018

    Thanks for support!

    This should be fixed from version 1.1.10.

  • Found the plugin useful on 25 Aug, 2017

    Absolutely brilliant. Very quick to install and I love the way it works with models.

  • Found the plugin useful on 11 Apr, 2017

    Best SEO plugin. Would be even better if you extended it to JKShop

  • author

    Replied on 12 Jul, 2018

    Thanks for support!

    Please contact JKShop and ask them to add support for my SEO plugin.

    They will only need to add this line of code to models where SEO fields should be available:

    public $implement = ['@Renatio.SeoManager.Behaviors.SeoModel'];

  • Found the plugin useful on 9 Apr, 2017

    Thank you for this nice plugin. You don't need much time to set it up. Everything is self-explanatory.

    It would be nice if the meta title and the description are translatable. Can you add this feature please?

  • Found the plugin useful on 13 Sep, 2016

    Great plugin! Helps a lot!!!

1.3.3

Fix adding SEO fields twice error.

Feb 10, 2020

1.3.2

Fix repeater field error on Static Pages.

Feb 10, 2020

1.3.1

Fix link policy ignored in currentUrl. Thanks @petehalverson.

Feb 07, 2020

1.3.0

Fix CMS pages translation.

Feb 07, 2020

1.2.2

Fix issue with robots and 301 redirect properties.

Nov 17, 2018

1.2.1

Fix issue with extending form fields for models.

Nov 17, 2018

1.2.0

!!! Change event parameters for plugin extension. See upgrade guide.

Nov 17, 2018

1.1.11

Add default value for meta robots tag.

Jul 13, 2018

1.1.10

Fix installation and import issues.

Jul 10, 2018

1.1.9

Fix adding SEO fields to pivot models (edge case).

Feb 25, 2018

1.1.8

Ensure OG image dimensions are set.

Feb 02, 2018

1.1.7

Fix adding SEO fields inside repeater fields.

Feb 02, 2018

1.1.6

Make polymorphic fields nullable.

Feb 02, 2018

1.1.5

Increase meta title and description fields length.

Feb 02, 2018

1.1.4

Fix adding SEO fields for model with pivot

Dec 02, 2017

1.1.3

Fix attaching morphOne relation to model.

Nov 24, 2017

1.1.2

Fix attaching SEO fields to model with empty tab fields.

Nov 24, 2017

1.1.1

Fix RainLab.Blog installation issue.

Nov 24, 2017

1.1.0

!!! Update only for Laravel 5.5 LTS

Aug 14, 2017

1.0.7

Fix showing Seo fields in repeater

Apr 22, 2017

1.0.6

Fix repeater field error in RainLab.Pages plugin

Mar 12, 2017

1.0.5

Fix spaces on prefix/suffix title

Sep 01, 2016

1.0.4

Fix bug for PHP version < 5.6

Aug 31, 2016

1.0.3

Import SeoExtension Settings

Aug 05, 2016

1.0.2

Import data

Jul 30, 2016

1.0.1

First version of Seo Manager

Jul 26, 2016

Upgrading To 1.1.0

Plugin requires OctoberCMS build 420+ with Laravel 5.5 and PHP >=7.0.

Upgrading To 1.2.0

Parameters for seo.beforeComponentRender event were changed. Now the first parameter is $component itself. You can access it seoTag property as in example in README. The second parameter is the $page variable.