Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.


Module of the Month: SEO improvements

SilverStripe SEO is this months Module of the Month. Clients love to ask about SilverStripe and its Search Engine Optimisation capabilities, as it's an important factor to take into consideration before starting a new web project. Read what Simon has to say about the module.

Read post

Most developers hate it. SEO. That dirty word. The stereotypical “SEO Experts” that actually don’t do anything useful, et cetera. But, SEO is actually something that does matter. Unlike those spam emails that promise to get you on the first page of Google for every search someone will ever do.

What does matter, is content and the quality of the meta tags on a site. The better the descriptions are, the better a search engine can index your site.

The module

SilverStripe SEO is designed to help the CMS Editor.

composer require vulcandigital/silverstripe-seo

It will help editors improve their pages to be better findable and more importantly, better visible. By adding the right OG tags to pages, links on Facebook and Twitter will become a lot more informative.

Analysing your content

The module makes it easier to view how a page scores in SEO optimisation. It gives recommendations on how to improve the content and meta titles. Or you can create your own analyser, to add certain checks. This will help in creating useful content and meta tags.

SEO health

SEO Health Analysis in the Page Editor - CMS view

If, like many, you are not using the standard Content field, but a Block system like Elemental, the content analyser will at first break. This is easily averted by configuring the right fields in your Page class to analyse:

public function seoContentFields()
return [

OpenGraph meta tags

By default, the generated OG tags are populated from the content or from the media specific items. But an extra for twitter, is the ability to have the author tag added. Members are given an extra field in the database to save their twitter handle. If the author has a twitter handle, it will be added to the twitter OpenGraph tag as the author of the page.
If you want, this feature can be disabled via the YML configuration like so:

enable_creator_tag: false

An example of how the right open graph tags change the looks can be found on the SilverStripe Facebook page.

SEO fb

Automatic Facebook OpenGraph meta-tag generation (can override) - CMS view

Additional features

In addition to the meta tags and content analysing, the module comes with the text target length module, which helps create long enough and useful titles and descriptions for several fields.

And if you didn’t have it installed yet, the sitemaps module comes with this module as well, giving you a sitemap to submit to the search engines for better indexation of all the pages.


Currently, it is not possible to validate the status of a page through many_many relations. This is a known issue, so if you feel like helping out, it’s a nice starting point to fix.

Help your CMS editors overcome the myths of SEO, by giving the power to get their content noticed.

As per usual, give it a try, contribute and enjoy!

About the author
Simon Erkelens

Simon is a developer at SilverStripe. When not at work, he's writing other programs or focusses on one of his modules he wrote or co-wrote. Or writing new things.

As a real backend developer, he's usually staring at a dark screen with code only. Although every now and then, he can be convinced to work on some frontend things or testing.

In real life, he looks nothing like the cow in his avatar, but he does love cows (both alive and medium rare)

Post your comment


No one has commented on this page yet.

RSS feed for comments on this page | RSS feed for all comments