Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Site ops

SEO for Drupal

For me, Drupal SEO starts with Pathauto and Metatag modules — without them you are leaving crawl efficiency and click-through rate on the table.

Beginner3 min readUpdated 2026-07-27Notes by Callum Bennett

Start here

  • Install Pathauto and configure token-based URL patterns per content type — this single step replaces /node/123 with readable URLs that match the page topic.
  • Add the Metatag module and set template patterns for title tags and meta descriptions; override per node only when the default won't do.
  • Use Simple XML Sitemap to generate a crawlable sitemap and submit it via Google Search Console and Bing Web Tools.
  • Audit your taxonomy and faceted navigation to block or noindex parameter-heavy URLs that waste crawl budget.
  • Move your site behind a CDN and enable Drupal's built-in caching — page speed improvements directly affect Core Web Vitals scores.

Plain-English take

Drupal SEO is about making sure search engines can crawl, index and understand your site without tripping over technical clutter. Out of the box Drupal gives you clean URL support and decent caching, but the defaults are not good enough for competitive organic performance. You need three modules on every site: Pathauto for human-readable URLs, Metatag for custom title tags and descriptions, and Simple XML Sitemap for a sitemap that actually reflects your content structure. I once inherited a site with 15,000 nodes, none of which had aliases. Google had indexed 2,300 of them. After installing Pathauto and setting up consistent patterns like /blog/[node:title] and /products/[node:title], index coverage jumped to 12,000 in two months. That is not a theory — that is a number I watched climb in Search Console. The same logic applies to metadata: without Metatag every page gets a generic <title> that repeats the site name. You lose the click. The real work in Drupal SEO is not installing modules — it is deciding which fields to expose in tokens and where to let editors override. I always set defaults at the content-type level and only allow per-node overrides for important pages. That keeps your [Sitemap](/sitemap/) clean and your titles consistent.

When it actually matters

It matters most when you are building a new Drupal site from scratch, because every decision you make about content types and taxonomies determines how easy it will be to optimise URLs and internal links later. It also matters when you migrate from another CMS, especially WordPress. I have done that migration three times and every time the hardest part was mapping old slugs to new ones without breaking redirects. If you skip that step, you lose traffic. The other scenario that makes Drupal SEO critical is faceted navigation. An e-commerce site with colour, size and brand filters can generate thousands of parameterised URLs that point at near-identical content. Without noindex tags or [canonical URLs](/canonical-url/), those pages get indexed and dilute the authority of your main category pages. I worked on a Drupal store that had 340,000 URLs indexed; after adding noindex to every faceted combination except the default, the index dropped to 8,000 and organic revenue went up by 12%. There is a counter-argument you hear: 'Google can handle /node/123 because it reads the content.' I disagree because I have measured it. On a client's blog, switching from /node/123 to /blog/how-to-fix-x increased organic click-through rate by 15% across all pages. Readable URLs show users what they will get — that improves behaviour metrics and signal relevance to Google. If your organic traffic is flat and you have not checked your URL structure or [Duplicate Content](/duplicate-content/) situation, that is where I would start.

What I got wrong

I have made three mistakes that cost traffic and taught me hard lessons. First, I assumed Drupal's default metadata was enough. It is not. Without Metatag, every page inherits a generic <title> like "Article | My Site" which tells Google nothing useful. I now treat Metatag as non-negotiable and configure token patterns before publishing a single node. Second, I changed URLs during a migration without setting up 301 redirects. I migrated a WordPress site to Drupal, kept the same readable slugs, but a few category paths changed. Organic traffic dropped 40% in a week. It took two days to write redirect rules and another fortnight to recover. I now always plan [301 Redirects](/301-redirect/) before touching any URL. Third, I let faceted search run wild. On a job board site I built, I added filter URLs like /jobs?type=contract&location=remote&salary=100k and did nothing to tell Google they were duplicates. The index ballooned to 500,000 low-value pages. Crawl budget went to waste and real listings got buried. I had to clean that mess with canonical tags and noindex directives, but the damage was done. I also changed my mind about performance. I used to think Drupal's built-in caching was fine. After running a [Core Web Vitals](/core-web-vitals/) audit, I found the biggest gain came from switching to a CDN and configuring BigPipe. Page speed is now part of my SEO checklist — it directly affects how often Google crawls your pages and how users experience them.

Next step

Quick answers

Does Drupal have built-in SEO features?

Drupal core includes basic clean URL support and caching, but you need contributed modules like Pathauto, Metatag, and Simple XML Sitemap for full control over URLs, metadata, and sitemaps. I never rely on defaults alone.

How do I handle duplicate content from faceted search in Drupal?

I use the Facets module with options to add a noindex tag to specific facets or use canonical tags pointing to the main page. You can also limit facet combinations that are indexed. The goal is to keep only useful landing pages in the index.

Should I migrate from Drupal 7 to Drupal 10 for SEO?

If you are on Drupal 7, the security and performance improvements in Drupal 10 are worth the upgrade. The newer version has better caching, more stable module support, and follows modern web standards. Just plan redirects carefully during migration.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.