As a popular CMS, Drupal is a great platform for making the most of a site’s SEO value. However, it’s also a complex beast, with its ability to create customized experiences both elevating its popularity and complicating its implementation. For this reason, creating the best possible SEO experience with Drupal means paying attention to details you may not have to with alternative CMS.
Yet don’t think that this makes Drupal any less of a powerful CMS in terms of SEO value. In fact, Drupal’s need for advanced tweaks affords it unrivaled versatility in delivering nuanced experiences that can truly narrow in on user experiences and journeys. If implemented correctly, Drupal can offer users of your site an organic search experience you won’t find elsewhere.
To help you avoid some of the most common pitfalls, this article takes a look at some Drupal SEO best practices, providing a good template for the knowledge that helps Drupal developers deliver organic search experiences that truly exemplify the platform.
What You Need to Know
SEO begins with an understanding of how sites are read and indexed by search engines. For different CMS, this process changes as they create pages and store data differently.
So it goes to reason that the more widespread a CMS is, the more likely search engine crawlers are going to be optimized to understand it.
According to Builtwith, Drupal is used by 5% of CMS users. This positions Drupal comfortably as the second most popular CMS after WordPress. So it should come as no surprise that Drupal is one of the better platforms available for those looking to optimize organic discoverability of their site.
However, as mentioned previously, the platform is also complex. Proper SEO means a deeper understanding of what SEO best practices have been set by search engines, and how to make sure they are implemented from both technical and on-page perspectives.
This is especially important with Drupal due to its focus on near-unlimited functionality and the caveats that can quickly arise when implementing advanced features.
Don’t forget, Drupal SEO also means knowing which Drupal version your site is running on. Drupal 7, for instance, requires users to implement clean URLs for a better SEO experience. Drupal 8, though, comes with clean URLs by default. Different versions require different implementations.
Currently, Drupal 7 is still used by the majority of Drupal site owners. Over 69% of sites still run Drupal 7, while just over 26% of sites run Drupal 8. While much of this guide will also apply to previous versions, it is primarily aimed at Drupal 8 users. If you’re just starting out in the Drupal space, we recommend starting with Drupal 8.
Drupal SEO: Best Practices
Instead of delving into a general list of SEO tactics like most blog posts on Drupal SEO do, we’re going to take this opportunity to look at SEO specific to Drupal.
By language, we mean coding language. Each language causes web elements to interact differently. From an SEO perspective, this can have a huge effect on how your site is crawled and how users interact with it.
Content Parsing With Structured Data (Schema)
Structured data from schema.org’s microdata vocabulary improves how search engines understand the content of your website. It does this by allowing you to highlight content and define its context.
For instance, if you are running a cooking website, recipe schema will allow you to define and publish specific elements and their properties such as cooking time, nutrition data, the ingredients list, direction, and more.
By telling search engines the context of individual pieces of content, they are more likely to show it in featured snippets (the famed rank zero). Below is an example of this done with a recipe for apple pie.
There are two ways to get started with Drupal schema. You can either begin the markup process manually, or you can implement it automatically by installing a module.
If you want to get started with Schema manually, get ready for a lot of HTML code tagging with schema properties. Start by inserting the following HTML at the top of your page and defining a relevant schema.org page. In the example below, we use the recipe schema page.
<div itemscope itemtype=”https://schema.org/recipe”>
You can then define individual elements by inserting one of the properties you find on that page into existing tags. For example:
<h3 itemprop=”cookTime”>30 minutes</h3> <h3 itemprop=”nutrition”>100 calories<h3>
For a more detailed look at schema markup and how to implement it on your Drupal site, check out the Search Engine Journal’s informative article on how to get started with schema.
If you would rather implement schema automatically, you can install the Schema.org Metatag module. This module allows for content creators to add schema values as JSON LD in the head of web pages. It currently offers full support for Drupal 8.
A Properly Configured Sitemap
In order for all of your content to be found by search engines, it’s important to have a properly configured site map. To do this, we recommend installing a Durpal module. At the time of writing, the most popular sitemap module available is the XML sitemap module.
The XML sitemap module allows you to automatically update and submit a sitemap to ASK, Google, Bing, and Yahoo. Moreover, it follows specifications outlined at sitemaps.org.
Perhaps because it is still in alpha for Drupal 8, the XML sitemap module has not seen as high an adoption rate with Drupal 8 users as it has with 7 users. Almost 90% of sites that run the XML sitemap module are still running Drupal 7, just 6% are running on Drupal 8.
If you’re running Drupal 8, we recommend opting for the less well known simple XML sitemap. This module is able to generate multilingual hreflang and image sitemaps. It supports Drupal content types out of the box and is a great replacement for site owners looking to stay up to date.
Simple XML sitemap’s ability to provide multilingual sitemaps is also vital for modern sites that cater to multiple regions. As of 2019, Drupal is available in over 100 languages. Appearing in searches for as many of those as possible can make a huge difference to the user experience.
While simple XML sitemap is used by just 41,000 websites, 100% of those are running Drupal 8.
Site Speed Is Important
Site speed has been a ranking factor since April 2010. It is something you should be considering. From an SEO perspective, there are three main areas that can lead to quick and quantifiable site speed increases.
- On-page asset delivery
- Page design
- Hosting infrastructure
We previously looked at some of these in more detail, and provided a series of simple website optimizations anyone can do.
However, with hosting, it’s becoming increasingly important to have a competent system operations admin behind your infrastructure to get the most out of it.
Take, for instance, the importance of caching in speeding up page delivery. Applications like NGINX and Varnish can speed up asset delivery, yet can be tricky to configure. We offer a hosting infrastructure with these caching techniques enabled and configured by default.
Remember, a lot of hosting providers offer seemingly impossible Time To First Byte (TTFB) speeds. However, if you’re worried about SEO, TTFB isn’t the metric you want to look at.
Instead, you should be looking at time to render and time to activity. These provide you with the metrics that really affect user experience.
Understanding Drupal Views and Duplicate Content
(Drupal 7 and lower only)
Views are one of Drupal’s strengths. They allow you to easily manage, view, and sort lists of content from a single location. In fact, they have been deemed so useful that they became a part of core with Drupal 8.
Yet while views provide a powerful interface for organizing and managing content, the way in which they are generated can cause problems with duplicate content. SEO 101: duplicate content isn’t good.
The reason views can easily lead to duplicate content is due to exposed filters, which can lead to several URL paths directing towards similar content. These URLs can be read as individual pages, with their on-page content only being minorly different from one another.
If you’re still working in Drupal 7 or earlier, it’s important to implement a simple fix. Simply pull up your Robots.txt file and add the lines below:
#Disallow page variables Disallow: /*& Disallow: /*page=0
You can find more on editing for views here.
Note that Drupal 8 installs clean URLs by default and it can not be disabled.
The Bottom Line: Is Drupal SEO Friendly?
In terms of SEO value, Drupal still stands as one of the best CMS to operate within. That being said, it does require some clear optimizations and tweaks. This will help ensure that all content is being read properly by search engines.
What’s great about Drupal is the ability to install additional modules that will handle all of this for you. We identified several great examples above that gives Drupal the versatility and power it needs to perform better.