What makes an SEO Friendly CMS?
Effective Search Engine Optimization (SEO) starts with a strong technical foundation. There are many requirements for SEO, especially when it comes to metadata. You need a platform that makes it easy to set up your content and metadata for SEO success.
Once you're set up, successful SEO requires frequent measurement and improvement. A simple SEO strategy looks something like this:
Analyze > Tweak > Measure > Start Again
SEO is iterative — it requires continuous improvement. So, there's a lot of tweaking involved. An SEO Friendly Content Management System (CMS) empowers users to tweak and optimize their content without requiring extensive coding skills.
But there's more to SEO than tweaking and technical requirements. A solid SEO strategy involves extensive content publishing. You need a platform that simplifies content creation.
Is Drupal SEO Friendly?
Yes! Drupal is SEO Friendly. Here's why:
- It provides a strong foundation for technical SEO
- It empowers content managers and marketing to improve SEO through tweaking
- It simplifies content publishing (and fresh content is critical to SEO)
So we talked to our friends at Digital Third Coast — one of Chicago's top SEO & SEM agencies. They shared their insights on Drupal SEO, and you'll see them quoted throughout this post.
A Drupal SEO Checklist
When we spoke with DTC, they made a great point about SEO in general:
"The biggest shortcoming with any CMS is that it’s too easy to not have certain SEO elements in place unless you know what you’re looking for."
And we agree. Unless you understand effective SEO, even the most powerful CMS won't get you very far.
That's why we created this 7-Point Drupal SEO Checklist. It will guide you through everything you need to set up and tweak your Drupal site for SEO success. In this post, we'll cover these key topics:
- How to set up Google Analytics in Drupal
- How to manage critical metadata like Title Tags, Meta Descriptions, and Image Alt Tags
- How H1s work in Drupal
- URL paths and redirects
- Drupal SEO Innovations
Let's dive in.
Set up the Drupal Google Analytics Module
Google Analytics is a critical first step for Drupal SEO. Proper website planning should include adding and verifying Google Analytics. Already have Google Analytics installed on your Drupal site? Feel free to skip this step.
Drupal supports the Google Analytics module. As one of the most popular Drupal SEO modules, it's actively maintained by the Drupal community. The best part about the Google Analytics module is its simplicity. You can add Google Analytics tracking code without adding any code to your website.
Here's how to add a tracking ID in the Google Analytics module:
1. With the module installed, navigate to Configuration > System > Google Analytics. The URL will be yoursite.com/admin/config/system/googleanalytics
2. Paste your Web Property ID in the required field:
You want to make sure that you're not tracking admin users. If your team works in the site regularly, this can skew your Analytics data. Drupal's Google Analytics module makes it easy to exclude administrators and content editors.
Here's our recommended configuration.
Exclude Admin Pages from Tracking
1. Within the module configuration, go to Tracking Scope > Pages
2. Select "Every page except the listed pages"
3. Add these pages:
Exclude Admin & Content Manager Roles from Tracking
1. Within the module configuration, go to Tracking Scope > Roles
2. Select "Add to every role except the selected ones"
3. Select the roles you wish to exclude. For example, you may exclude all authenticated users. Or you may exclude specific roles. At EDUCO, we exclude any EDUCO team members:
Verify Your Google Analytics Tracking Code
Once you've set up Google Analytics, you're ready to verify that it's working. You can (and should) check this in your Google Analytics Account. We also like to verify it in the website code. Here's how:
1. Open up your website in Chrome or Firefox as an unauthenticated user. Make sure you are not logged in.
2. Right click and choose "View Page Source"
3. Hit "Command + F" to engage the "find text" feature. Search for "UA-" — this will quickly search your code and take you right to the Analytics code
4. Double check by going to Google Analytics > Real Time > Overview. Then pull up your website in another browser. If you see an active new session from the city you're in there's a good chance its you and your code is tracking. To be extra sure go at a time that no one else is likely to be on your site.
Now you're all set with the Drupal Google Analytics module!
Update Title Tags with the Metatag Module
Google highly values the structured metadata of your website. Not all metadata is created equal. But most metadata deserves your attention.
Metadata comes from specific pieces of content. Pages, links, and images have their own metadata. So you'll manage metadata in a few different places throughout your site. You can manage most of your metadata using the Drupal Metatag module.
While there are other Drupal SEO modules for metadata, we recommend Metatag because it's widely adopted and supported. At the time of this article, Metatag has been downloaded 2,277,297 times. It's been installed on 354,441 Drupal sites (and counting).
The trend in Metatag module adoption via Drupal.org — one of the most popular Drupal SEO modules
What is a Title Tag?
The Title Tag — sometimes called the Page Title or Meta Title — is a critical piece of metadata. Title Tags are important because they tell Google what a specific webpage is all about.
Here's what Google has to say about Page Titles:
"Create descriptive page titles... Titles are critical to giving users a quick insight into the content of a result and why it’s relevant to their query. It's often the primary piece of information used to decide which result to click on, so it's important to use high-quality titles on your web pages."
Are you optimizing your website content to align with keywords? The Title Tag is a great place to start.
Let's start by identifying the Title Tag as it appears in search engines. Your page's Title Tag appears as the headline for your Google Search result:
The Title Tag in Google Search Results
It also appears at the top of your browser, if you use Chrome or Firefox:
The Title Tag in your browser
And you can find it in your page source within the <title></title> tags:
The Title Tag in your website code
How to Update Title Tags in Drupal
Drupal makes it easy to change the Title Tag for any specific page. This is available using the Metatag module.
1. Make sure that the Metatag Module is installed in your site
2. Go to the desired page and click "Edit"
3. In the edit menu, select "Metatags"
4. Edit the "Page Title" field — this is your Meta Title
The Metatags menu within a Drupal node; The field to edit your Title Tag
Update Title Tags in Bulk with the EDUCO Metadata Module
Sometimes you want to change Title Tags in bulk — especially if you are doing a Drupal SEO audit. We recommend auditing and revising your title tags once a year.
For Drupal site owners, this used to be a cumbersome process. It's easy to update metadata on a single page. But updating site wide metadata takes a lot of time and effort.
That's why we created the EDUCO Metadata module. An extension of the Metatag module, this enables content managers to update metadata in bulk. It's as easy as updating metadata in a spreadsheet:
The EDUCO Metadata Module — update your Title Tags tags in bulk
Update Meta Descriptions with the Metatag Module
The Meta Description is similar to the Title Tag — it's an important piece of Metadata that doesn't appear on the front end of your site.
Unlike the Title Tag, the Meta Description does not impact your search ranking. In 2009, Google announced that they "don't use the description meta tag" in their search engine ranking.
But the Meta Description is still important. Why? Because it appears in the search result snippets for your page. Think of the Meta Description as the ad copy for your organic search results. It tells visitors what your page is all about:
Meta Description in a Google Search result snippet
Like the Title Tag, you can easily edit your Meta Descriptions using the Drupal Metatag module. The Meta Description field is located just beneath the Page Title field:
The Metatags menu within a Drupal node; The field to edit your Meta Description
"We like that Drupal is fairly clean and relatively self-manageable. We were able to pretty much indicate everything we needed/wanted and it was built in a way that suits our SEO needs."
The H1 is the primary headline on your page. Technically, it's part of the body content of a page. In most cases, the H1 is the page title that displays for front end users:
The H1 is highlighted and shown in the code with the tags <h1></h1>
The H1 is valuable Drupal SEO content — Google bots read the H1 as the most important piece of body content. So, we recommend optimizing H1s for relevant SEO keywords.
Add Image Alt Tags
The image alt tag is a text attribute that accompanies an image tag. We commonly refer to this attribute as the "image alt tag" or "image alt text." Like metadata, the image alt tag doesn't appear on the website front end.
Google bots can only read text — they can't read images. So we use image alt tags to tell Google what each image is about.
It's not just about Drupal SEO — image alt tags are also important for web accessibility. For example, a blind user will browse your site using a screen reader. Like Google bots, screen readers can't read images. So we use image alt tags to describe images for screen readers.
This image has an alt tag. In the code, you'll see alt="User Story Example"
There are a few different ways to add image alt text in Drupal. The process depends on how you're adding images.
Add Alt Text to Images via Image Upload Fields
You can use image upload fields to add images directly to a content type or taxonomy term. For example, on the EDUCO Service pages, we have a field for "Featured Image":
Whenever you add an image in a field, you'll have the option to add image alt text.
You can also change the image alt text at any time by clicking the "Edit" button. This will open up a dialog box with the image alt text field:
Add Alt Text to Inline Images in the WYSIWYG Editor
Sometimes, you want to add images within the WYSIWYG Editor. Let's say you're writing content for a blog post. You want to add an image within the body copy. That's an inline image.
Using CKEditor, you can add alt text to inline images. Simply click the image icon in the WYSIWYG panel. Then, edit content in the Alternative Text field:
Update Image Alt Text in Bulk with the EDUCO Metadata Module
If you're optimizing your site, you may need to update image alt tags in bulk. Let's say content managers have been posting blog posts regularly, but they're not always SEO conscious. You may have some images with no alt text at all.
What's a web marketer to do?
It's cumbersome to search every single image... where would you start?
That's why we created the EDUCO Metadata module. An extension of the Metatag module, this enables content managers to search for missing image alt tags and update image alt tags in bulk. It's as easy as updating content in a spreadsheet.
Optimize Drupal URL Structure with the PathAuto Module
According to Google, "A site's URL structure should be as simple as possible. Consider organizing your content so that URLs are constructed logically and in a manner that is most intelligible to humans (when possible, readable words rather than long ID numbers)."
Simple URLs are good for Google Search bots and good for humans. Use a simple URL structure to indicate relevance to Google and improve navigation for web users.
Drupal makes it easy to manage your URL structure. In Drupal, you can create a custom URL alias for each piece of content.
The URL alias is the part of your URL structure that comes after your primary domain. For example, http://www.your-primary-domain.com/your-URL-alias
URL with the URL alias highlighted
The first step to custom URLs is to enable clean URLs in your Drupal configuration. With clean URLs enabled, editing URL aliases in Drupal is simple. Here's how:
1. Go to the piece of content in question and click "edit"
2. Go to the "URL path settings"
3. Enter your custom URL alias
How to enter a custom URL alias in the URL path settings
Create Automatic URL Aliases Using PathAuto
Creating custom URLs for each piece of content? That's intense.
Thankfully, Drupal makes it easy to create user-friendly URLs automatically. For this, we recommend the PathAuto module — one of the Drupal SEO modules we use on every site. This useful module has 729,940 reported installations (and counting).
The trend in PathAuto adoption via Drupal.org — one of the most popular Drupal SEO modules
PathAuto automatically creates human-readable URLs based on a pattern system. The pattern system uses tokens, so you can easily edit URL patterns in your Drupal CMS. With PathAuto, you'll create SEO-friendly URLs every time you publish content:
PathAuto Tokens in the Drupal CMS
"You can install modules that allow the end user to change urls, which doesn’t seem fancy on its own, but the fact that it will automatically create a 301 redirect, and adjust the canonical tag on that page — that's fancy."
Manage Drupal URL Redirects to Avoid 404 Errors
Editing URL structure? Make sure you understand URL redirects and 404 (page not found) errors.
Let's say Google has indexed a page on your website: http://www.your-primary-domain.com/some-old-alias
Then, you change the URL of that page so it says: http://www.your-primary-domain.com/some-shiny-new-alias
What happens to your old URL? Well... if it no longer exists, your old URL will return a 404 error, meaning "page not found."
To fix this, you need to create a 301 Redirect, so that /some-old-alias redirects to /some-shiny-new-alias
Why It Matters
There's a common misconception that Google will penalize your site for 404 errors. But Google has confirmed that there's no search penalty for 404 errors.
JohnMu to the rescue in Google Forums: Google does not penalize 404s
However, there are some major disadvantages when you lose old URLs to 404 pages:
- It's a bad user experience — if user has those pages bookmarked or you've distributed those URLs
- If there was any SEO value from your old page, that URL no longer exists... so you're starting over with your new URL
That's why it makes sense to create 301 redirects any time there is a URL change.
Fortunately, it's easy to create 301 redirects in your Drupal site. Here's how.
Create Drupal URL Redirects
You can create URL redirects using the Drupal Global Redirect module. It's another one of our recommended Drupal SEO modules.
It's especially useful because it allows you to create a redirect directly from the content in question. At EDUCO, we've had many different versions of our contact form over the years. We've used URL redirects to manage our many URL changes... directly from our contact form:
Pictured: All the URL Redirects
Are you using the PathAuto module to create automatic URL aliases? Then we recommend creating automatic URL redirects, too. Here's why.
If you're creating automatic URL aliases, your URL alias will change every time you change your page title. Let's say a content manager changes the title of a blog post. It's URL alias will change as well. Thus they may (unknowingly) create a 404 error. With automatic URL redirects, Drupal will fix this problem for you.
Beware of URL Redirect Loops
Here's a pro tip for URL management in Drupal: If you have automatic URL aliases and automatic URL redirects, be careful not to create redirect loops.
A redirect loop occurs when you redirect a page to itself. This results in an infinite loop, making the page inaccessible to Google search bots and humans alike.
Here's how this can happen in Drupal: you rename a page, then you decide you like the old page name better, so you change it back. When you do this, you must make sure that you haven't automatically redirected the page to itself. Here's a breakdown of how this happens — and how to avoid it.
Step 1: Changing a Page Name
Suppose I have this page called "Some Old Page." I'm editing content and I rename it to "Some Shiny New Page." Here's what happens:
- https://www.your-primary-domain.com/some-old-page automatically changes to https://www.your-primary-domain.com/some-shiny-new-page
- There's an automatic redirect created from https://www.your-primary-domain.com/some-old-page to https://www.your-primary-domain.com/some-shiny-new-page
Step 2: Changing It Back
Then, as I'm editing, I change my mind. I actually liked the old page title more. So I change it back from "Some Shiny New Page" to "Some Old Page." And here's what happens:
- https://www.your-primary-domain.com/some-shiny-new-page automatically changes back to https://www.your-primary-domain.com/some-old-page
- There's an automatic redirect created from https://www.your-primary-domain.com/some-shiny-new-page to https://www.your-primary-domain.com/some-old-page
And in this process, we have a redirect loop. In Step 1, I automatically created a URL redirect from /some-old-page. In Step 2, I changed the page URL back to /some-old-page.
So I have created a URL redirect loop from /some-old-page to /some-old-page. Whoops.
How to Fix It
To fix this, all you need to do is find the URL redirect from /some-old-page and delete it in Drupal. Make sure to double check this URL as an unauthenticated user. If you're logged in, you won't see this URL redirect loop.
What's Next for Drupal SEO?
SEO is always evolving. Every web marketer is familiar with this pattern:
- New trends in technology and marketing emerge
- Google announces changes in their search algorithm
- SEO experts react and adjust their tactics
- Just when we think we've got it down... Google announces another algorithm change
At first this might seem frustrating. But we like to think of it as an opportunity for positive change. SEO doesn't just encourage continuous improvement — it requires it.
Drupal = Continuous Improvement
We believe in the value of continuous improvement. That's one of the reasons we love Drupal. Since Drupal is open source, the development community is quick to adapt to trends in technology. If there's a cutting edge problem in digital marketing, someone in the Drupal community is thinking about it — and, most likely, working on it.
Do you have a Drupal site? Are you considering Drupal for your website CMS? If so, we'd love to hear from you. We've built over 100 Drupal sites, and we have plenty of stories to share.