メインコンテンツに移動

shirane lab

メインナビゲーション

  • ホーム
  • ブログ
  • Drush
  • 検索

パンくず

  • ホーム
  • ブログ
  • Drupal 9 で Tome を動かしてみた

Drupal 9 で Tome を動かしてみた

2020/09/27(日) - 15:13
shirane

Tome モジュールは、Drupal 8 以上で使える静的サイトジェネレータ。Drupal で構築したサイトのコンテンツ一式を静的ファイルに変換し、指定したディレクトリ配下にまとめて出力する。

動的なコンテンツ管理が不要なサイトでは、Tome で生成した静的サイトを本番公開することで、セキュリティやパフォーマンス、安定性等の向上が期待できる。

Drupal 9 にもリリース tome 8.x-1.4 から対応したので、Drupal 9 のテスト環境にインストールして実際に動かしてみた。

いつものように Composer でファイルを取得してから、モジュールを有効化する。

composer require 'drupal/tome'
drush en tome_static

Tome には2つのサブモジュールがあるが、今回は静的サイトの生成を行う Tome Static(とその依存先である Tome Base)モジュールを指定した。

静的サイト生成には Tome Static と Tome Base を使用する

続いて、静的サイトの出力先ディレクトリを settings.php で設定する。

sites/default/settings.php(抜粋):

$settings['tome_static_directory'] = '../html';

ここでは Web ルートの 1 階層上(プロジェクト ディレクトリ)の html サブディレクトリを指定。なお、このディレクトリは生成処理の実行ユーザーが書き込めるようにしておく必要がある。以上で準備完了。

静的サイトの生成は、drush コマンドか管理画面から実行できる。後者では生成処理が長時間になると Web サーバーや PHP のタイムアウトが発生することがあるので要注意。今回は drush コマンドを使用した。

drush tome:static --uri=http://d9tome.local

Tome Static モジュールをインストールすると tome:static という drush コマンドが使えるようになり、ホストするドメインを --uri オプションに指定して実行すると、先に設定したディレクトリ下に静的サイトが生成される。

ローカルの仮想マシン上で動作するノード数 1000 件のブログサイトで実行したところ、約 20 分で 4000 ページ強の静的ページが生成された。タグ別の記事一覧や、時系列の記事一覧をフルページャ付きで生成していることもあり、ページ数がノード数の4倍に達した。

drush tome:static 実行画面

出力されたページをざっと表示してみたところ、インライン画像や Colorbox の拡大表示、Views のコンテンツ一覧やページャのリンクも問題なく、静的サイトとして再現されていることが確認できた。見た目には違いがわからないと思う。

コンテンツ数が多いサイトでは生成に相応の時間がかかるので、運用に工夫が必要だが、静的サイトの効用が大きいサイトでは Drupal 9 以降も有力な選択肢になりそう。

参考資料:

  • drupal.org の Tome プロジェクトページ
  • Tome ホームページ
  • Tome ドキュメント
  • Tome 関連プロジェクトのリポジトリ一覧(GitHub)
Drupal9
Tome
‹ 前の記事次の記事 ›

書籍

『D9 おいしいレシピ集2』がパワーアップして商業誌に

『D9 おいしいレシピ集2』がパワーアップして商業誌に

 書籍の一覧はこちら

 

タグ一覧

DrushDrupal9Drupal6ffdsmVagrant開発環境VirtualBoxDrupal7ComposerコミュニティDrupal5Migrate勉強会モジュールDocker書籍ubercartWindowsCKEditorArtisteerDrupal ONSENDrupal4MariaDBTwigデバッグthemingTomeテーマH5PインストールAnalytics仮想マシンCentOSMacREPLpsyshDruxtJSデカップルドヘッドレスNuxtQuizVue

サイト運営

シナジークエスト

© shirane lab