Drupal の SEO には、実力以上の評判がついて回ります。周りに聞けば、Drupal は素のままでも検索に強い、という答えが返ってくるでしょう。たいていは、別のプラットフォームについての十五年前の記憶と比べながらの話です。素の Drupal 11 をインストールしても、メタディスクリプションのフィールドはなく、XML サイトマップもなく、URL が変わったときの自動リダイレクトもありません。そして編集者が手でエイリアスを入力するまで、コンテンツは /node/123 で応答し続けます。

これはプロジェクトへの批判ではありません。コアは意図的に自らの守備範囲を小さく保ち、方針の分かれる部分はすべてコントリビュートモジュールへ押し出しています。大規模な Drupal サイトが、たいていのプラットフォームより細かく調整できるのは、まさにそのためです。ただしそれは、素のままで、という言い回しが非常に多くを背負っているということでもあります。つまり Drupal サイトの検索での成績は、初日にどのモジュールを入れ、誰がどう設定したかで、ほぼすべてが決まるのです。

以下は、2026年9月時点でのそのスタックについての記録です。コアが何をするのか、ほかのシステムが無料で手渡してくれるものをどのコントリビュートモジュールが肩代わりするのか、Drupal にしか存在しない失敗の型はどれか、そして最初にこれらが行われなかったサイトを立て直すのにいくらかかるのか、という話です。

Drupal は素のままで SEO に強いのか。 いいえ。コアが与えてくれるのはパスエイリアス、canonical リンクタグ、そして強力な多言語ルーティング層です。一方でメタディスクリプション、XML サイトマップ、リダイレクト処理、構造化データはいずれも提供されません。それらは四つのコントリビュートモジュール、すなわち Pathauto、Metatag、Simple XML Sitemap、Redirect から来ます。それらを欠いた Drupal サイトは、最適化が下手なのではなく、最適化されていないのです。


Drupal コアが実際にやってくれること

コアには重要なものが三つあり、その三つはどれも本当によくできています。

コアの Path モジュールは、任意のルートに人間が読めるエイリアスを結びつけられるようにします。おかげでノードは内部パスの代わりに /services/tax-advice で応答できます。コアはそのエイリアスを保存し、リクエストをそれに対して解決します。コアがやらないのはエイリアスを考え出すことです。ですからノードが 2,000 件あるサイトでは、誰かが 2,000 件のエイリアスを打ち込まなければならず、実際には誰もそれをやり切りません。

コアはエンティティのページにリンク関係も出力します。ノードを表示すると、エイリアス付きの URL を指す rel="canonical" と、エイリアスなしの URL を指す rel="shortlink" が生成されます。プラグインなしではこれができない商用プラットフォームがいくつもあることを思えば、十分すぎるほどです。この一点があるからこそ、後述する重複パスの問題は致命傷ではなく、なんとか生き延びられる程度に収まっています。

三つ目は言語です。コアの多言語スタックはパスのプレフィックス、言語ごとのエイリアス、翻訳済みエンティティの代替言語リンクを扱ってくれます。これは Drupal の検索まわりで最も強い部分です。

それ以外はすべてコントリビュートです。コンテンツタイプにメタディスクリプションのフィールドは、自分で追加するまで存在しません。サイトマップもリダイレクトのテーブルもなく、ノードを削除すれば 404 が残るだけで、それ以上は何もありません。

事実上必須の四つのモジュール

drupal.org には SEO のラベルを掲げたモジュールが何十とあります。そのうち四つは任意ではなく、どれか一つでも省いた Drupal の構築は、競合にはない穴を抱えることになります。

Pathauto

Pathauto はトークンのパターンからエイリアスを生成します。たとえば blog/[node:title] のようなパターンを設定しておけば、ノードを保存した時点でエイリアスが自動的に作られます。Drupal で事実上どこにでも入っているモジュールに最も近い存在で、464,471 サイトが利用を報告しています。現在の安定版は 2026年5月4日の 8.x-1.15 で、Drupal 10.2 と 11 に対応します。依存先として Token モジュールが必要です。

Pathauto が助けになるか害になるかを決める設定は更新アクションです。これはタイトルが変わってパターンが別のエイリアスを生むときに何が起きるかを制御します。Pathauto は何もしないことも、エイリアスをそのまま置き換えることも、新しいエイリアスを作ったうえで古いものからのリダイレクトを残すこともできます。選ぶべきは三つ目で、この選択肢は Redirect モジュールが入っているときにだけ現れます。弱い既定値のまま放置されたサイトは、ノードごとに複数の生きたエイリアスを静かに溜め込んでいきます。

Metatag

Metatag は、Drupal のページがそもそもメタディスクリプションを持てるようにするためのモジュールで、Open Graph と Twitter Card の出力も担います。Damien McKenna が 2012年から保守しており、332,868 サイトが利用を報告しています。2025年9月のリリース 2.2.0 は Drupal 10.3 または 11 を必要とします。

動作の仕組みは、エンティティタイプとバンドルごとにトークンのパターンとして書かれた既定値を置き、その上にノード単位の上書きを重ねるというものです。よくある失敗は、コンテンツタイプ全体で同じ内容に解決されてしまうパターンで、その結果、数百のページが一つのディスクリプションを共有します。これはディスクリプションがない状態よりも悪いことです。それらのページは互いに取り替えがきく、とクローラーに伝えてしまうからです。

Simple XML Sitemap

コアはどんな種類のサイトマップも出力しません。Simple XML Sitemap が定番の答えで、137,418 サイトが利用しており、2025年11月26日のリリース 4.2.3 は Drupal 10.3 または 11 を必要とします。エンティティ、ビュー、任意のリンクを対象にでき、hreflang と画像のエントリーも出力します。これは多言語の構成では大きな意味を持ちます。

設定は全体でまとめてではなく、バンドルごとに行ってください。何でも入れておきたくなるのが既定の誘惑ですが、それをやるとタクソノミーの語ページ、ユーザープロフィール、絞り込みのないビューの一覧までサイトマップに入り込み、最も内容の薄いページこそ優先だと検索エンジンに伝えることになります。

Redirect

Redirect は手動のリダイレクトを提供し、さらに重要なこととして canonical URL の強制を提供します。あるコンテンツに対する canonical でないリクエストをすべて canonical なパスへリダイレクトできるのです。265,749 サイトが使っており、2026年4月24日の 8.x-1.13 が Drupal 10 と 11 に対応します。

一つだけ、はっきり書いておくべき注意点があります。プロジェクトページには現在、共同メンテナーを募集中という告知が出ています。これだけ重要な役割を担うモジュールにとっては、避ける理由というより、見ておくべき保守上のリスクです。Drupal のセキュリティアドバイザリー方針の対象であることに変わりはありません。

ほかのプラットフォームにはない Drupal の SEO の罠

すべてのノードが少なくとも二つの生きた URL を持つ

ほかのシステムから来た人が最も驚くのがこれです。Drupal でエイリアスを追加しても、内部パスは引退しません。/node/123 は 200 と完全なページを返し続けますし、更新アクションが残ることを許していれば、そのノードにかつて与えられたすべてのエイリアスも同じように応答し続けます。

コアの canonical タグは被害を和らげてくれます。Google は canonical の指定を命令ではなく強いシグナルとして扱い、リダイレクトと並ぶ位置づけで、サイトマップへの掲載よりは上に置いています。とはいえ強いシグナルは保証ではありません。堅実な対処は Redirect モジュールの canonical 強制で、重複を恒久リダイレクトへ変換してしまうため、統合すべきものがそもそも残りません。

タクソノミーの語ページが増殖する

コアはタクソノミーの語ごとに一覧ページを生成します。自由タグ付けのボキャブラリーがあるサイトでは、それはタグ一つにつき一ページということで、その多くは一件か二件のノードしか持たず、どれもテンプレートどおりのタイトルで説明文もありません。こうしたページが数百あるというのは、誰も意図して作ったわけではない薄いコンテンツの問題です。

サイト全体でまとめてではなく、ボキャブラリーごとに判断してください。編集上の価値が本当にあるカテゴリーはインデックスさせ、手書きの説明文を与えます。自由タグ付けのボキャブラリーはサイトマップから除外し、多くの場合は noindex を付けます。

ビューのページネーションと ?page= の跡

コアのビューによる一覧はどれも ?page= パラメーターでページ送りをし、その一つひとつが別々の URL になります。Google の指針は、並びの中の各ページはそれぞれ固有の URL と固有の canonical を持つべきであって、一ページ目へ canonical を戻すべきではない、というものです。また rel next と rel prev はもう使われていません。

Drupal に固有の部分は、同じビューの露出フィルターや並べ替えがページャーと掛け算になることです。露出フィルターが三つあり結果が四十ページある一覧は、自分が持っているコンテンツよりはるかに多くのアドレス可能な URL を生み、そのすべてが実際にレンダリングされます。

ファセットとパラメーターの爆発

ファセット検索、たいていは Search API の上に載せた Facets モジュールですが、ここでこの話は散らかっているという段階を超え、クロールバジェットの問題になります。2026年9月1日にリリースされた Facets 3.0.6 は Drupal 10.1 と 11 に対応し、56,746 サイトで使われています。こちらも共同メンテナー募集の告知を掲げています。

Google は、クローラーが膨大な数のファセットナビゲーションの URLを辿ってからでないと、その URL の先に有用なものがないと判断できないこと、そしてそれがあなたのクロールバジェットと Google 側の計算資源の双方を消費することを警告しています。どのファセットの組み合わせをインデックス可能にするかを早い段階で決め、残りはブロックし、同じ絞り込みの組み合わせが常に同じ URL になるようパラメーターの順序を安定させてください。

公開状態の揺れ

非公開で作られ、仮のタイトルを与えられ、一週間後に別のタイトルで公開されたノードは、作成時に一つ、公開時にもう一つエイリアスを生みます。更新アクションの設定を誤れば、その両方が生き続け、両方がクロールされ続けます。これに編集チームと一年分の制作量を掛け合わせれば、エイリアスのテーブルはノードのテーブルより大きくなります。SEO 監査が公開済みのノードに対して生きた URL の数を数えるとき、探しているのはまさにこのパターンです。

Drupal における構造化データ

道は二つあり、その選択は見た目以上に重要です。

Schema.org Metatag は Metatag を拡張し、ページの head に JSON-LD を出力します。対応するスキーマ型は二十五種類を超えます。2026年2月19日のバージョン 3.0.4 は Drupal 9、10、11 に対応し、66,363 サイトが使っています。Redirect や Facets と同じく、こちらも共同メンテナーを募集中です。

利点は、Metatag の継承モデルをまるごと受け継ぐことです。バンドルごとの既定値、フィールドの値を引くトークン、ノード単位の上書き、そして生の JSON を目にすることのない編集者、という具合です。限界は、モジュールがモデル化しているものしか表現できないことです。深く入れ子になったスキーマ、たとえば商品にオファーとレビューと返品ポリシーが絡んでくるときに必要になるようなものは、トークンのフィールドから組み立てるのが厄介です。

Twig テンプレートに JSON-LD を手書きすれば、完全な制御が手に入る代わりに、編集用のインターフェースを失います。テンプレートが数えるほどしかなく、開発者が手近にいるサイトなら、そちらのほうが得な取引であることが多いでしょう。コンテンツタイプが六十あり、コンテンツチームがいるサイトでは、そうはいきません。スキーマを変えるたびにデプロイが必要になるからです。

どちらか一方を選んでください。私たちが最もよく見る失敗は、両方が並行して動き、公開日について互いに食い違う Article ブロックを二つ出力している状態です。

多言語 Drupal と hreflang

ここは Drupal が本当に評判に見合う働きをするところで、この記事の残りが穴の話である以上、はっきり書いておく価値があります。

コアは言語関連のモジュールを同梱しており、コンテンツ翻訳を有効にすれば、Drupal はコントリビュートの助けなしに翻訳済みエンティティへ代替言語リンクを出力します。パスのプレフィックス、言語ごとのエイリアス、言語ごとのメニューはいずれも出荷時のまま動きます。

ローカライズ版についての Google の要件は、どの版も自分自身とほかのすべてを列挙すること、注釈が双方向であること、そしてフォールバックとして x-default が存在することです。Drupal の翻訳モデルは最初の二つを自動的に満たします。代替は編集者が手で入力するのではなく、翻訳セットから生成されるからです。これは hreflang がプラグインのフィールドで、誰かが忘れうるプラットフォームに対する本物の優位です。

それでも二つのことがうまくいきません。x-default の値は自動では設定されないので、Metatag かテンプレートで追加する必要があります。そして翻訳が部分的にしかないセットは、元の言語へフォールバックするページを指す代替を生みます。これは注釈をまったく付けないより悪いシグナルです。

パフォーマンスと Core Web Vitals

Drupal のキャッシュ層はコアの機能で、よくできており、そして誰も終わらせるのを忘れたデバッグ作業のせいで、しばしば切られたままになっています。

レンダーキャッシュはキャッシュ可能性のメタデータとともに断片を保存します。そのメタデータとは、断片が依存するデータを表すキャッシュタグ、何によって出力が変わるかを表すキャッシュコンテキスト、そして最大保持時間です。タグは元になったエンティティが変わると自動的に無効化されます。メタデータを間違えると、古いページを配信するか、まったくキャッシュされないかのどちらかになります。

Internal Page Cache は匿名の訪問者に完成したページを配信します。Dynamic Page Cache は個人向けの部分以外をすべてキャッシュすることで、どのユーザーにもページを配信します。そして BigPipe は、Drupal 8.1 からコアに入り、8.5 から標準のインストールプロファイルに含まれていますが、最初のレスポンスを送り出したあとで、それら個人向けのプレースホルダーをストリーミングします。

Core Web Vitals との関係でいえば、要点は絞られます。BigPipe は体感的な読み込みを改善しますが、埋めるプレースホルダーに場所を確保していないと Cumulative Layout Shift を悪化させかねません。Drupal サイトの Largest Contentful Paint は、たいていレンダーキャッシュではなくヒーロー画像と結合された CSS バンドルで決まります。Drupal 11.4 は、PHP 拡張が使える場合に Brotli で圧縮した CSS と JavaScript のアセットを生成する機能を追加しました。自前でアセットを配信しているサイトにとっては素直な改善です。

メジャーバージョンのアップグレードが壊すもの

Drupal のメジャーアップグレードはプラットフォームの乗り換えではありませんが、検索での見え方を特定の、そして繰り返し起きるやり方で壊します。

原因としてよくあるのはコントリビュートモジュールです。Metatag が移行先のバージョンに対応しておらず、それを外したままサイトが公開されれば、サイト上のメタディスクリプションはいっせいに消え、二週間ほどして表示回数が落ちるまで誰も気づきません。同じことはサイトマップのモジュールにも当てはまり、Redirect の場合はさらに厄介です。Redirect を失うと canonical の強制が止まり、古いエイリアスがすべて息を吹き返すからです。

二つ目の原因は、移行を生き延びない設定です。Metatag の既定値、Pathauto のパターン、サイトマップのバンドル設定はいずれも設定として保存されています。コンテンツは取り込んだのに設定を取り込まなかった再構築サイトは、既定のパターンのまま、同じコンテンツに別の URL を割り当てて戻ってきます。

着手する前に完全なクロールを取り、すべてのページについて URL、ステータスコード、タイトル、ディスクリプション、canonical を記録しておき、作業後に同じクロールと差分を取ってください。当社の Drupal 移行ガイドがバージョンの経路と、それに紐づく期限を扱っています。

Drupal の各バージョンがいま置かれている状況

時期によって、まず何をするのが理にかなうかが変わります。Drupal 11.4.0 は 2026年7月1日に登場し、11.4.x ブランチは 2027年6月までセキュリティサポートを受けます。2022年12月15日にリリースされた Drupal 10 は 2026年12月9日にサポート終了を迎え、Drupal 12 は 2026年12月7日の週に予定されており、ベータは 2026年9月中旬に出る見込みです。

実際上の帰結は、これを書いている時点で Drupal 10 のサイトに残されたセキュリティ対応がおよそ三か月だということです。Drupal 10 のサイトで発注される SEO 作業は、アップグレードの前ではなく後に並べるべきです。逆の順序でやると二度払うことになります。一度はメタデータを直すために、もう一度はモジュールのバージョンが上がって出力が変わるときにです。

Drupal 11.1 から 11.4 は PHP 8.3 と 8.4 で動き、Drupal 10 は少なくとも PHP 8.1 を必要とします。共有ホスティングで本当の障害になるのは、Drupal 側の作業そのものよりも、この PHP の下限であることがとても多いのです。

Drupal の SEO 案件にかかる費用

まず範囲をきちんと決めてください。Drupal の SEO 案件はレポートではなく、特定のコードベースの中で行う設定作業とテンプレート作業であり、納品物は文書ではなく変更されたサイトです。

基本となる監査が対象にするのは、四つのモジュール構成とその設定内容、エイリアスとリダイレクトのテーブル、タクソノミーとビューの露出、サイトマップの中身、構造化データの出力、そしてキャッシュ層です。ノードが数百件のサイトなら、これは三日から五日の作業です。英国のテクニカル SEO の日額はおおむね 600 から 1,200 ポンドなので、この形のテクニカル SEO 監査は、担当者の経験とサイト規模に応じて 2,000 から 5,000 ポンドに収まります。

実装は別で、たいていはもっと大きくなります。既存コンテンツのある稼働中のサイトに Pathauto、Metatag、Simple XML Sitemap、Redirect を導入して設定するというのは、エイリアスを一括生成し、変わるエイリアスすべてについてリダイレクトの対応表を作り、重複に潰れないディスクリプションのパターンを書くということです。この段階には監査費用の一倍から二倍を見込んでください。

ファセット検索を備えた多言語の Drupal サイトは、この帯より上に位置します。英国の制作会社は Drupal の作業におおよそ日額 600 から 900 ポンドを請求します。これは Drupal 開発者の料金についての当社のガイドで扱っているとおりです。翻訳セットが複数あり、ファセットの管理も伴う案件は、現実には十日から二十日というところです。

作業前と作業後のクロールの差分を、名前のついた納品物として要求してください。それがなければ、実際に何かが変わったという証拠はどこにもありません。

順序を正しくする

うまくいく順序は地味です。ほかの何よりも先に四つのモジュールを導入して設定してください。それらを欠いたまま下したコンテンツ上の判断は、あとで手戻りを生みます。次に重複した URL の面を閉じます。これはサイト上のすべてのページに関わるからです。そのあとにタクソノミーとビューの露出、続いて構造化データ、そしてパフォーマンスです。コンテンツとリンクは技術層が安定したあとで、決してその前ではありません。

Mecanik はこの順序を、クロール結果だけでなく Drupal のコードベースと設定に対して実施するテクニカル SEO 監査として進めます。そのあとに続く実装は SEO 監査サービスが受け持ちます。そもそも Drupal が適したプラットフォームなのかをまだ決めかねているなら、当社の Drupal 開発ガイドと、ヘッドレス CMS と従来型 CMS のアーキテクチャの比較のほうが、この記事より出発点として適しています。



よくある質問

Drupal は素のままで SEO に強いのですか? いいえ。Drupal コアはパスエイリアス、canonical リンクタグ、多言語ルーティングを提供しますが、メタディスクリプション、XML サイトマップ、リダイレクト処理、構造化データはいずれも提供しません。それらには Pathauto、Metatag、Simple XML Sitemap、Redirect の各モジュールが必要で、どれもコアではなくコントリビュートです。素のインストールは最適化が下手なのではなく、最適化されていない状態です。

Drupal サイトに実際に必要な SEO モジュールはどれですか? 事実上必須なのは四つです。URL エイリアスを自動生成する Pathauto、メタディスクリプションとソーシャルタグのための Metatag、サイトマップそのもののための Simple XML Sitemap、そしてリダイレクトと canonical URL の強制のための Redirect です。Twig テンプレートに JSON-LD を手書きせずに構造化データを出したいなら、五つ目は通常 Schema.org Metatag になります。

URL エイリアスを追加しても /node/123 が動き続けるのはなぜですか? Drupal のエイリアスは内部パスを引退させないからです。どちらのアドレスも 200 のステータスで完全なページを返します。コアはエイリアスを指す canonical タグを出力しますが、Google はこれを命令ではなく強いシグナルとして扱います。したがって確実な対処は Redirect モジュールの canonical URL 強制で、重複を恒久リダイレクトへ変換します。

Pathauto、Metatag、Simple XML Sitemap は Drupal 11 に対応していますか? はい。中核となる四つはいずれも活発に保守されています。Pathauto 8.x-1.15 は Drupal 10.2 と 11 に対応し、Metatag 2.2.0 は Drupal 10.3 または 11 を必要とし、Simple XML Sitemap 4.2.3 は Drupal 10.3 または 11 を必要とし、Redirect 8.x-1.13 は Drupal 10 と 11 に対応します。四つとも Drupal のセキュリティアドバイザリー方針の対象です。

英国で Drupal の SEO 案件はいくらかかりますか? モジュール構成、エイリアスとリダイレクトのテーブル、タクソノミーの露出、サイトマップ、構造化データを対象とする設定監査は、中規模のサイトで三日から五日かかります。英国のテクニカル SEO の日額 600 から 1,200 ポンドで計算すると、おおよそ 2,000 から 5,000 ポンドです。実装には通常、監査費用のさらに一倍から二倍がかかります。