Module Spotlight #3: Yoast Drupal SEO

Yoast Drupal SEO Module: Tested and Reviewed

Yoast SEO is a household name in the WordPress community and as a premium drupal themes shop owner I was jealous of their favorite tool. Yoast SEO gained popularity because it didn't just make SEO finetuning possible in WP, it made it fun.  Important onpage SEO factors are pulled together in a container below the texteditor. Yoast SEO gives you feedback on basic metrics like keyword density and post length, but also more advanced feedback... It will tell you if you remembered to use your keywords in the meta description, and if the length of your page title is optimal for a nice click-through-rate in search results pages.

Yoast Drupal

[[{"fid":"718","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":false,"field_file_image_title_text[und][0][value]":false},"type":"media","field_deltas":{"1":{"format":"default","field_file_image_alt_text[und][0][value]":false,"field_file_image_title_text[und][0][value]":false}},"attributes":{"class":"media-element file-default","data-delta":"1"}}]]

I've been waiting a long time for Yoast to come to the Drupal ecosystem, and I'm excited it's finally here! I was also a little skeptical. I feared they might have done a straight port of all WP code to Drupal, ignoring gems in the Drupal ecosystem like the Metatag module. I was happy to see that my fellow Dutchies at Goalgorilla and Yoast have done a good job and built the module the Drupal way. Yoast Drupal SEO is interoperable with both the Metatag and XMLSitemap modules. 

There are also some new additions to the module, like a Flesch reading test metric that tells you if your text is easy to read. I think this is great because I have a natural tendency to get a little academic with my language. Instead of rewriting my text after proofreading I'm now made aware of my writing style while I'm writing.

First Experiences

After installing Yoast Drupal SEO it attached itself to all content types of my sandbox copy of the Sooperthemes website. This was a little overkill because I don't need SEO feedback on support tickets, contact forms and archive pages. This is easily fixed by disabling Yoast Drupal SEO on  the relevant admin/structure/types/manage/page content type admin pages. 

The next problem was a bit more serious. I use CKEditor on all my sites and alltough the module does come with a CKEditor integration, this had to be the one component that was broken. I did some work on it and submitted a patch. Now the module is working great on blog posts and I'm using it to write the post you're reading right this moment.

Issues with Markup-heavy pages

While the module is now working for my blog posts I cannot say the same for my homepage. The homepage on this site is built with Bootstrap 3 and the Glazed theme drag and drop page builder. If you haven't seen this wondeful tool yet check out my Drupal themes homepage where you'll find a video demonstration. Yoast was reporting a word count of around 600 even though the text is only around 300 words. It looks like the module is counting HTML tags as words.

I verified this by creating a simple drag and drop page with the Glazed Drupal theme page builder: a section with a row and 3 columns with Lorem Ipsum. Upon saving the page, the Yoast Drupal SEO module made a bit of a mess by creating a meta description entry with the following contents:

<p>&lt;div id=&quot;b2&quot; class=&quot;az-element az-section  &quot; style=&quot;&quot; data-az-id=&quot;b2&quot; data-azb=&quot;az_section&quot;&gt;&lt;div class=&quot;az-ctnr container&quot; data-azcnt=&quot;true&quot;&gt;&lt;div class=&quot;az-element az-row row&quot; style=&quot;&quot; data-az-id=&quot;b3&quot; data-azb=&quot;az_row&quot; data-azat-device=&quot;sm&quot; data-azcnt=&quot;true&quot;&gt;&lt;div class=&quot;az-element az-ctnr az-column  col-sm-4&quot; style=&quot;&quot; data-az-id=&quot;b4&quot; data-azb=&quot;az_column&quot; data-azat-width=&quot;1/3&quot; data-azcnt=&quot; 

Limited support for fields

Currently the module only looks at body fields, which is a bit of a shame if you have a homepage with a bunch of peripheral content in blocks, or if you want Yoast to analyze your image fields. The problem is even more real for people using the paragraphs module. It would be neat if Yoast could be more clever with understanding HTML and complete webpages. After all, we're optimizing our content for Google and Google is definitely very advanced at parsing our pages.

Yoast Drupal SEO vs SEO Compliance Checker

I was previously using SEO Compliance checker to get similar SEO metrics on Sooperthemes. SEO Compliance checker has similar goals but it's not as complete and refined as Yoast SEO.  Yoast Drupal SEO is a project in early development and obviously it has a bunch of issues, but it's the clear winner in usability. It surprised me with it's refinement and interoperability. For example, when creating a new blog post it shows a Google search preview snippet and it's prefilled with dummy text that reads "Please click here to alter your page meta title". When you click it you can enter you title/description right in the snippet preview. It will then add your text to the Metatags vertical tab. This is interoperability at its best.

Good Job

Now I'm finishing up this blog post and Yoast Drupal SEO is giving me the green light for "good job". The admin content overview however is still giving me the red light: There is still some work to do before this project is ready for integration in my premium drupal themes product line.