πŸ”Œ
Drupal

Drupal Metatag Module

The module that gives Drupal proper control over meta tags, Open Graph, and canonical URLs. We install it on every public Drupal site, alongside Pathauto, Simple XML Sitemap, and Redirect.

Free
CMS: Drupal 9, 10, 11 PHP: 8.1+

Metatag is the module we install on nearly every Drupal site we build, and it is also the one people overrate. Installing it does not “do SEO.” It gives you the fields to control meta tags properly, which Drupal core does not. The work is in configuring it, and in pairing it with two or three sibling modules that handle the parts Metatag does not touch.

Search for “drupal metatag” and almost everything you find is a setup tutorial or the drupal.org project page. Useful if you have already decided to use it. Less useful if you are trying to work out what role it plays in a real Drupal SEO setup. That is what this page is for.

What the Metatag module actually does

Out of the box, Drupal gives you almost no control over meta tags. You get a page title and not much else. The Metatag module adds proper fields for meta description, canonical URL, robots directives, Open Graph, and Twitter card tags. The part that matters: you set defaults per content type using tokens, so an Article inherits a description pattern from its summary field and you are not editing tags node by node.

That token-based default system is the whole point. Configure it once for each content type and every new node gets sensible meta tags automatically. Override individual nodes only when you need to.

The Drupal SEO module stack we install with it

Metatag rarely works alone. On a public Drupal site, our default stack is four modules, and Metatag is one of them:

  • Metatag for the meta and social tags themselves.
  • Pathauto to generate clean URL aliases from patterns, so you get /blog/my-post instead of /node/42. Drupal core does not do this on its own, and people searching “drupal pathauto” are usually missing exactly this piece.
  • Simple XML Sitemap to build and submit a sitemap.
  • Redirect to manage 301s and catch the broken links that happen when a URL alias changes.

For structured data, add the companion Schema.org Metatag project, which outputs JSON-LD in the page head. It is a separate download and easy to miss, which is why so many Drupal sites have meta descriptions but no rich-result markup.

The gotchas worth knowing before you install

Two things trip teams up. First, the defaults inherit in a specific order: global, then content type, then the individual node. If a node shows the wrong description, the override is usually sitting at a level you forgot about. Second, Views pages and custom routes do not get meta tags automatically. You handle those with the Metatag Views submodule or by setting tags on the route directly. This is the single most common “Metatag isn’t working” complaint, and it is not a bug.

When you actually need Metatag

Any Drupal site that cares about search rankings or how it looks when shared on social. For a purely internal intranet, skip it. For everything public, it goes in on day one alongside Pathauto. We install and configure the whole stack as part of our Drupal development services, or as a standalone job if your site is already live. You can also browse the other Drupal modules we recommend.

Search is a separate job from meta tags. For site search, see the Search API module for Drupal.

Key features

Meta tags per content type

Title, description, canonical, and robots directives set once per content type with token defaults, inherited by every node.

Open Graph and Twitter cards

Control how pages look when shared on Facebook, LinkedIn, and X, including the share image.

Token-based defaults

Build description and title patterns from node fields so new content is optimized automatically.

Per-node overrides

Override the defaults on any individual node when a page needs something specific.

Structured data add-on

The Schema.org Metatag companion project outputs JSON-LD for rich results.

An honest look at this plugin

We use this in real client projects β€” here's what we've learned.

βœ“ Strengths

  • +
    It is free and well maintained β€” GPL, hosted on drupal.org, with active maintainers and releases for Drupal 9, 10, and 11. No license, no vendor.
  • +
    Token defaults save real time β€” Configure once per content type and you stop editing meta tags by hand. On a site with hundreds of nodes that is hours back.
  • +
    It is the de facto standard β€” Almost every serious Drupal site uses it, so documentation, examples, and Stack Exchange answers are plentiful.

βˆ’ Weaknesses

  • βˆ’
    Installing it is not configuring it β€” Out of the box it does little. The value comes from setting up the per-content-type defaults, which takes a deliberate pass.
  • βˆ’
    Views and custom routes need extra work β€” Listing pages built with Views do not get meta tags automatically. You add the Metatag Views submodule or set tags on the route.
  • βˆ’
    Structured data is a separate project β€” Schema.org Metatag is a distinct download. Miss it and you have meta tags but no JSON-LD.

Our verdict

Install Metatag on every public Drupal site, on day one, together with Pathauto, Simple XML Sitemap, and Redirect. Add the Schema.org Metatag companion when you want rich results. It is free, maintained, and has no real downside. The only catch is that installing it does nothing on its own. Budget an hour to set up the per-content-type defaults, and remember Views pages need their own handling.

Best for:

  • βœ“ Any public Drupal 9, 10, or 11 site that wants control over search and social metadata
  • βœ“ Content-heavy sites where setting meta tags by hand is not realistic
  • βœ“ Teams that also want rich results, paired with the Schema.org Metatag companion

FAQ

Is the Drupal Metatag module free?

Yes. It is GPL-licensed, hosted on drupal.org, and maintained by the community with stable releases for Drupal 9, 10, and 11. There is no paid tier and no license to buy.

Does Drupal core handle meta tags without Metatag?

Barely. Core gives you a page title and little else. There is no built-in way to set meta descriptions, canonical tags, or Open Graph data per content type. That gap is exactly what Metatag fills, which is why nearly every public Drupal site installs it.

Is there a Yoast equivalent for Drupal?

Drupal has no single all-in-one plugin like Yoast. The closest is a stack: Metatag for the tags, Pathauto for clean URLs, Simple XML Sitemap, and Redirect. There is also a Real-Time SEO module that adds Yoast-style content analysis on top of Metatag, but Metatag is the base layer everyone starts from.

Does Metatag add structured data?

Not by itself. You add the companion Schema.org Metatag project, which extends Metatag to output JSON-LD structured data in the page head. It is a separate download, so it is easy to overlook.

Do I need Pathauto as well?

For clean URLs, yes. Drupal serves node pages at /node/42 by default. Pathauto generates readable aliases like /blog/my-post from a pattern. Metatag and Pathauto solve different problems and we install both on every public site.

Why are my Metatag settings not showing on a Views page?

Views listing pages and custom routes do not pick up Metatag defaults automatically. Add the Metatag Views submodule, or set the tags on the route directly. This is the most common Metatag complaint and it is expected behavior, not a bug.

Need help with this plugin?

We can install, configure, or customize it for you.

Installation help Order installation β€” $150

Don't want to install yourself? Our developer connects via FTP, installs, configures, tests with a real transaction. Usually takes one business day.

Contact Form Demo