URL に記事のタイトルを表示させる

Drupal

Drupal では記事の一つ一つに /node/1 のような ID が割り当てられて、https://example.com/node/1 でアクセスすると記事が表示される。これを、例えば https://jisaba.life/drupal/2024-04-02-noto-sans-japanese-を使う のように、記事のタイトルを URL に含めて表示させる。

必要なモジュールは Pathauto。あわせて Pathauto の動作に必要なモジュールは Token などもインストールする。

モジュールをインストールして有効化したら、最初に管理画面>環境設定>検索とメタデータ からタブ「設定」で、「URL エイリアスを生成する前に翻訳を行う」のチェックを外しておく(下の画像の赤丸箇所)。

それから、管理画面>環境設定>検索とメタデータ からタブ「パターン」で「+Pathauto パターンを追加」をクリックして変換するパターンを設定する。

Pattern type は、自分の環境だとコンテンツタイプに応じて変換している。
こんな感じ。

[node:content-type:description]/[node:created:html_date]-[node:title]

これで「/proxmox/2024-04-06-ceph-1822-にアップデート」のように変換される。
このサイトではコンテンツタイプの「説明」に「proxmox」を設定して URL に表示するようにしているけど、ラベルを表示させることも可能。
その他、「利用可能なトークンを表示します。」をクリックすると画像右側のとおり色々なトークンを選択できる。

Pathauto

自分はコンテンツタイプを Drupal の記事、Proxmox の記事などに分けているから、それぞれのコンテンツタイプにチェックを入れて URL を変換している。

ラベルは適当な値を入力すれば OK。

最後に、実際に記事を投稿するときに、下画像のとおり「URL エイリアスを自動生成する」にチェックを付ける。

Pathauto

他にも、タクソノミーのタグで記事を表示させたいときは、/taxonomy/term/1 のような URL を /tag1 のように変換することも可能。