Drupal SEO: the five modules that do the work, and how to configure them once
Pathauto, Redirect, Metatag, Simple XML Sitemap and Schema.org Metatag, set up as defaults so every new page is right the day it is published.
Published by AI Knows Us · Updated 21 October 2026
Drupal SEO is mostly a configuration job done once, at the content type level. Drupal core can give a page a readable address, but the SEO work comes from five contributed modules: Pathauto for automatic URL aliases, Redirect for 301s, Metatag for titles, descriptions, canonicals and social tags, Simple XML Sitemap for the sitemap, and Schema.org Metatag for structured data. Set sensible defaults for each content type, let editors override them per page, and every new page publishes with clean SEO basics without anyone remembering a checklist. Then the work moves to content and links, the same as on any other platform.
The module details here come from each project's page on drupal.org, read on 21 October 2026. Versions change often, so check the project page before you install.
The stack at a glance
| Job | Module | What it adds | Works with |
|---|---|---|---|
| Readable addresses | Path (core) plus Pathauto | Aliases such as /services/plumbing instead of /node/123, generated from patterns | Pathauto: Drupal 10.2 and 11 |
| Redirects | Redirect | Manual 301s, with a 404 log in the Redirect 404 submodule | Drupal 10 and 11 |
| Meta tags | Metatag | Title, description, canonical, Open Graph and Twitter Cards, with defaults by type | Version 2.2: Drupal 10.3 and 11 |
| Sitemap | Simple XML Sitemap | XML sitemaps for content, terms, views and custom links, with hreflang and image sitemaps | Version 4.x: Drupal 10.3 and 11 |
| Structured data | Schema.org Metatag | JSON-LD in the page head, built on Metatag | Drupal 9, 10 and 11 |
Pathauto and Metatag both depend on the Token module, which supplies the placeholders, such as [node:title], that the patterns use. Composer installs it with them.
1. Addresses: Pathauto patterns
Core's Path module lets an editor type an alias for a page. That works on a ten page site and fails on a thousand page one, because people forget. Pathauto generates aliases automatically for content, taxonomy terms and users, from token patterns you set per type. Good patterns are short and stable:
- Basic pages:
[node:title] - Articles:
blog/[node:title] - Services:
services/[node:title] - Taxonomy terms:
topics/[term:name]
Avoid dates and IDs in patterns unless the content really is dated, like news. A pattern with the year in it makes every article look old next January, and changing it later means redirecting everything.
2. Redirects: install Redirect before you change anything
Pathauto's own project page recommends the Redirect module, because Pathauto can then create a redirect automatically when an alias changes. Without it, retitling a page silently changes its address and every link to the old one breaks.
Redirect also lets you add 301s by hand, which you need for a migration or a restructure. The Redirect 404 submodule logs the addresses visitors hit that do not exist, grouped together, and lets you create a redirect straight from that list. Check it monthly: it is a free list of broken inbound links you can repair.
3. Meta tags: defaults first, overrides second
Metatag is where titles, descriptions and canonicals are controlled. Its project page describes global defaults, per-entity and per-bundle defaults, and overrides on individual items. Use that order:
- Global. Set the title pattern, for example
[current-page:title] | [site:name], and a canonical of the current URL. - Content type defaults. For articles, set the description to a summary field so every article gets its own description automatically. Do the same for services, events and products.
- Taxonomy terms. Term pages often have no description at all. Add a description field to the vocabulary and map it.
- Per page overrides. Give editors the Metatag field on the edit form for the pages that matter most, so they can write a better title by hand.
Turn on the Open Graph and Twitter Cards submodules too, and map the image tag to the content type's main image field, so shared links get the right picture.
Metatag also supports per-tag permissions through its advanced permissions option. On a site with many editors, that lets you allow description edits for everyone while keeping the canonical and robots tags for administrators, which prevents expensive accidents.
4. Sitemap: Simple XML Sitemap
Simple XML Sitemap builds sitemaps for content entities, taxonomy terms, menu links, views and custom links, and can include entities from other modules, such as commerce products. It supports hreflang for multilingual sites, image sitemaps, and a sitemap index when you have several. Its engines submodule can notify search engines automatically, including through IndexNow, which Bing and Yandex use.
Include only the content types that should be found in search. Leave out landing pages for single campaigns, utility pages and anything set to noindex. A sitemap that lists noindex pages sends search engines mixed instructions. Once it is set up, submit the sitemap address in Google Search Console and Bing Webmaster Tools.
5. Structured data: Schema.org Metatag
Schema.org Metatag outputs structured data as JSON-LD in the head of each page and uses Metatag's default and override system. That means you set it up the same way: an Organization or LocalBusiness block globally, Article on articles, Event on events, Product on products, each filled from tokens. Validate a sample of each type with validator.schema.org after setup and after any field change.
Content scoring, if your editors want it
For editors used to WordPress, the Real-time SEO for Drupal module gives live feedback on the edit form: content length, whether there is a meta description and whether it includes the focus keyword, and use of subheadings. Its project page says it is built on YoastSEO.js but is not affiliated with Yoast, and that it works together with Metatag. Treat its score as a writing aid, not a ranking measure.
Drupal specific checks before launch
- No /node/ addresses in the wild. Pathauto should cover every public type. Search your own site for links containing /node/ and fix them.
- Views pages have titles and descriptions. Listing pages built with Views are easy to forget. Metatag supports custom Views pages, so give each one its own title and description.
- Staging is not indexable. Development and staging copies of a Drupal site are often public. Protect them with a password or a site wide noindex.
- Caching and speed. Use Drupal's page caching and keep the number of front end libraries low. A fast site is part of SEO.
- Old Drupal versions. Drupal.org states that Drupal 7 security support ended on 5 January 2025. A site still on Drupal 7 has a security problem before it has an SEO one, and the upgrade is the moment to set up the modules above properly.
Drupal SEO questions, answered
Is Drupal good for SEO?
Yes. Its structured content and field system make it easy to give every page a correct title, description, canonical and schema from defaults. It needs the contributed modules above to do it, so the result depends on configuration.
What is the Drupal equivalent of Yoast?
There is no single equivalent. Metatag, Pathauto, Redirect and Simple XML Sitemap together cover what Yoast does on WordPress. Real-time SEO for Drupal adds the on-page content checks.
How do I stop Drupal pages showing as /node/123?
Install Pathauto and set a pattern for each content type, then bulk generate aliases for existing content. Install Redirect first so any changed addresses are redirected.
Does Drupal make a sitemap by default?
Use a contributed module. Simple XML Sitemap is a common choice, with multilingual and image support, and it can notify search engines when content changes.
How do I add schema markup in Drupal?
Install Schema.org Metatag, set types and fields as defaults per content type, and validate the output on a few pages of each type.
When the question goes to an assistant instead of a search box
Drupal sites tend to carry a lot of careful, structured content: service pages, programmes, events, policies. That is the material assistants such as ChatGPT and Gemini summarise when someone asks which provider to choose. Structured data and clean addresses help them read it correctly, but ranking well and being named in the answer are different results, and a Search Console report shows only the first. AI Knows Us asks the assistants the questions your audience asks and shows whether your organisation is named, and which sources the answer leaned on, so the content you have already built can be pointed where it is missing.