Drupalで組まれたサイト

海外

The White House | whitehouse.gov

LADY GAGA | OFFICIAL WEBSITE

University of Oxford

Johnson & Johnson Homepage | Johnson & Johnson

ルーヴル美術館の公式ウェブサイト

Docker - Build, Ship, and Run Any App, Anywhere

日本

NTT Communications APIs | NTT Communications Developer Portal

テスラ | プレミアムEVセダンとSUV

政府CIOポータル

京都市オープンデータポータルサイト |

梅田MAG

Homepage | Ubuntu Japanese Team

小学館

アニマックス

CodeIQ|ITエンジニアのための実務スキル評価サービス

九州大学附属図書館

Think IT(シンクイット) | オープンソース技術の実践活用メディア

カレントアウェアネス・ポータル | 国立国会図書館

トップ | 奈良県立図書情報館

沖縄科学技術大学院大学 OIST

WordPressには古さを感じる

私はWordPress(wpXクラウドで運用)の動作が遅すぎると感じたので、 静的サイトジェネレーターHugoに乗り換えました。

この「ゆきんこの勉強法 | 自修人」はHugoで作られているのです。 サーバーはXSERVER X10プランです。

WordPressは、ページを遷移するごとにPHPがデータベースと手続きをするらしく、WordPressのページの表示が遅いのは、そのせいらしいのです。 WordPressはキャッシュを駆使するなど工夫を凝らさないと、普通の静的サイトに近い使い心地にはなりませんし、サーバーにも一定以上のスペックを要求します。

さくらインターネットのレンタルサーバは、WordPressをわざと遅くして、WordPressユーザを追い出す政策のようですから、さくらのレンサバのWordPressは、ほんとうに遅くて困ります。 低スペックのサーバー、あるいは、キャッシュを駆使するなど特別の工夫がないサーバーでは、WordPressの運用は避けたほうが安全です。 WordPressならXSERVERまたはwpXクラウドにしたほうがいいと思います。

さて、異様に重たいソフトウェアであるWordPressですけれども、WordPressが取り扱っているのは単なるブログ記事です。 100~300記事ぐらい(少量)でも、重たい動作しかしません。

ショボい結果を出すだけのために、大仰なシステムを使っており、動作がたいへん鈍くさい。 それがWordPressの印象です。

同じスペックのサーバーなら、「Hugoで生成した静的サイト」だと一瞬で表示されるけれども、「WordPressという動的サイト」だと一拍・二拍ぐらい必ず遅れるものです。 しかもwpXクラウドという「WordPressに最適化された高速なサーバー」でも、そうでした。 WordPressは、コアの設計がダメなのではないでしょうか? 

WordPressは、MySQLというデータベースを使って記事などを管理します。 データベースを使うのは、「記事の件数が多いと、データベースを使わないと、取り扱えないから」といわれます。

かといってWordPressでは、数万件の記事など、極度に大きなデータまでは扱えないようです。 たとえ扱えても、サーバーの引っ越しのとき、MySQLの内容が無事にダウンロードできるかどうか不安。

数万件の記事などのレベルになるとDrupal(ドゥルーパル)が適しているようです。

(1)個人のブログの範囲ではHugoで十分。 FTP(FileZillaなど)にいったんサーバーの設定をしておけば、WordPressのように、毎回手動でログインして記事をいじる必要がない。 この点だけでもHugoは更新がラク。 WordPressの遅さ・面倒臭さ(本体/テーマ/プラグインなどに頻繁に更新があるなど)に辟易している人にはHugoをオススメします。

(2)Hugoには、ローカル(手元のPC)でサーバーのエミュレーションをするソフトウェアが入っているので、自分のPCのブラウザから  http://localhost:1313/  にアクセスすれば、出来上がりのサイトの姿が確認できます。 私の場合、この「良さ」をまったく利用しておらず、誤植・ミスも含めてそのままサーバーにアップロードしてしまいますけれども、 慎重な方の場合、ローカルのブラウザで記事を確認してから、サーバーにアップロードすることもできます。 Hugoの場合、こういうやり方ですので、常にローカル(手元)にはバックアップが残るわけで、サーバーの不具合でサイトが吹き飛んでも、すぐに回復できます。 ってか、Hugoの場合、そのサイトの全ファイル・全フォルダーを、毎度・毎度、上書きしているんですよ。 だからセキュリティ的には最強なわけで、「セキュリティでメシを食おう」としている連中からすると、Hugoは「敵」でしょうね。 システムが「ログインして編集できる」という機構をもたなければ、フォルダ/ファイルのパーミッションを644などに固定することができるわけです。 そうすると、悪意をもった人・ボットなどが付け入る隙がない。

(3)逆に考えれば、個人ブログごときにMySQL/PHPとかを使わせるのは、「WordPressは脆弱性をわざわざ仕込んでいる・作り込んでいる」「WordPressは闇の勢力の下部組織である」と解釈すれば辻褄が合うんですね。 そしてWordPressの場合、JetPackやAkismetなど、ほぼ必須のプラグインでも、WordPress本体(コア)には、絶対に採り入れないんです。 WordPressの開発者は、何らかのネライがあってやってるんだろうけど、じつに迷惑なんだよね。 Drupalの場合、必須モジュールと思われるものは、Drupal本体(コア)に採り入れてゆくんです。 さらにWordPressの場合、Googleアカウント、または、メールアドレスを使って、WordPress.comにアカウントを取って、JetPackやAkismetのAPI keyを取得しないと、JetPackやAkismetが使えないようにしてある。 たぶんWordPressの記事の書き手(個人・法人など)を特定したいのでしょうね、WordPress.comが。 さらにキショいのは、WordPress.comはアカウント消去ができないのですよ。 どんなに工夫しても、WordPress.comのアカウントがGoogleアカウントに紐付けられていれば、死ぬまでGmailが届くんですよ、WordPress.comから。 このクソ仕様は、何とかならないのか?  WordPress.comもそうだけど、Feedlyとかも、アカウントが消せないんだよね。 最悪。

(4)不動産サイト、求人サイト、商品比較サイト、ネットショップなど、複数のチェックボックスをONにしたり、数値の範囲を指定したりして「この条件で検索する」で検索する、いわゆる「複合検索(絞り込み検索)」を必要とするコンテンツの場合、WordPressよりもDrupalが向いているようです。 下記の引用によると、Drupal 7でFieldモジュールがコアに取り込まれ、Drupal 8からViewsモジュールがコアに取り込まれる予定(現在では実際に取り込まれている)とのこと。

Drupal7でFieldモジュールが標準に組み入れられ、Drupal8ではViewsモジュールが標準になります。

引用元: DRUPAL VIEWSモジュール | Drupal 開発.保守

Drupal8 入門の入門(Viewsモジュール) - Qiita

DRUPAL VIEWSモジュール | Drupal 開発.保守

Drupal 8からViewsモジュールがコア(Drupal本体)に組み込まれたのだから、Drupal 8を導入することによって、WordPressを拡張して複合検索(絞り込み検索)をする有料プラグインとかは必要なくなったんですね。

WordPress用絞り込み検索プラグイン「FE Advanced Search」

WordPress 不動産プラグインで不動産ホームページ 

もう一度、繰り返しておきますよ。複数のチェックボックスをONにしたり、数値の範囲を指定したりして「この条件で検索する」で検索する、複合検索(絞り込み検索)を 実現したい場合、もはやWordPressに有料プラグインを導入したりする必要はなく、Drupal 8を導入すればいいのです。 ただしDrupal 8を導入した場合、REINSとの連携などの環境が整えられているか否かわかりません。 自分で工夫して実装するとか、業者に頼むなどする必要があるかもしれません。 そこからわかることは、「PHPでプログラミングできる知識が必要になる」ということです。 個人でウェブ屋さんをする場合、HTML、CSS、JavaScriptとともに、PHPとMySQLの知識が必要であることがわかります。 情報処理系の大学・専門学校への進学を考えておられる生徒の皆さんは、これをご参考になさってください。 2019年に東日本が終了するとしたら、西日本への民族大移動が発生して、不動産サイトの周辺が賑わう可能性があります。

不動産物件サイトのつくり方 | CMS自由自在!

Drupal で不動産物件サイト構築(1/4) ※ コンテンツタイプの作成、フィールドの設定。 - YouTube

Drupal で不動産物件サイト構築(2/4) ※ コンテンツの追加、表示のカスタマイズ、他 - YouTube

Drupal で不動産物件サイト構築(3/4) ※ Views モジュールによる物件一覧リストの作成。 - YouTube

Drupal で不動産物件サイト構築(4/4) ※ 物件の条件絞り込みフォームの設置、他 - YouTube

Drupal 8 入門 : Drupal 7 から 8 に変わって使えるようになる PHP の新機能まとめ | Drupal

Drupalの場合、複数の人(かなりの人数)がデータを入力しても耐えられる設計らしいので、不動産物件サイトを分業で管理するときに、Drupalだと、かなり取り組みやすいことが考えられます。

このような「共同作業ができる」ということは、Drupalそのものがグループウェアとしても利用できることを物語っています。

NetCommonsは「ネット上の学校」という用途に限定された「グループウェア的なもの」であるようです。 ただしNetCommonsそれ自体がマイナーであり、開発のスピードが遅く、NetCommonsそれ自体が立ち消えになる危険性もある。

NetCommons3.0.0リリース - NetCommons2公式サイト

Issues · NetCommons3/NetCommons3 · GitHub

「グループウェア的なもの」を目指す場合でも、NetCommonsよりも、Drupal 8のほうが、ずっと有望でしょう。

単に「複数の更新者がウェブサイトを分業で更新することができるCMS」ということであれば、NetCommonsよりもconcrete5 のほうが完成されていると思います。 NetCommonsには「教育」という縛りがかかっており、しかも国の予算? が関わっているせいなのか、何だかパッとしない感じを受けます。

Hugoだと記事ぜんぶを一斉に修正するなどができる

テキストエディタMIFESのグローバル置換を正規表現で使うと、広範囲の修正が高速で行えます。

Hugoの記事は、「/content/post/」というフォルダーに格納するわけですけれども、このフォルダとその下位フォルダに存在する「.md」ファイル(Hugoの記事はマークダウンファイルとして記述する) について、「グローバル置換を正規表現で使う」ということを、私は頻繁に行っています。

こうして置換処理が完了した記事は、Hugoの場合、2~3秒以内にビルドする(htmlファイルを生成する)ことができます。 サイト(記事の集合体+アルファ)のビルドが、極度に高速なのがHugoの特長です。

「テキストエディタを使って記事を書く」「grep(文字列検索ソフト)機能を利用した置換を頻繁に行う」など、「テキストファイルベースの高速な情報処理」 を実現したかったら、WordPressなどのCMSではなく、Hugoなどの静的サイトジェネレーターを使ったほうが圧倒的に有利です。

Hugoでは、カテゴリー、トピック、タグなどのタクソノミーを記事に付加することができます。 そして、サーバーを借りなくても、「ソフトウェアによるサーバーのエミュレーター」がHugoの機能として付いていますので、 自分のPCの中で「サーバーを立ち上げた状態もどき」を作ることができるのです。 いいかえれば、ブラウザさえあれば、自がHugoで作った記事を利用することができるのです。

コレの何がスゴいのかというと、勉強のノートなどをHugoの記事として書いておけば、カテゴリー、トピック、タグなどのタクソノミーを利用することで、即座に情報検索ができるのです。 ただしHugoが静的サイトであるがゆえに、事実上、複合検索(絞り込み検索)ができないわけです。

Hugoでは、「あるカテゴリーを含む記事一覧」「あるトピックを含む記事一覧」「あるタグを含む記事一覧」のリストアップ行為を、サイト(記事の集合体+アルファ)のビルドの段階で一括して行っています。

つまり、その場で動的に「ある●●を含む記事一覧」を生成している(それがPHPを通じてMySQLを検索するなどの動的サイト)わけではないのです。 バッチファイルのアイコンをクリックしてから数秒間で、「記事」も「ある●●を含む記事一覧」も「RSSの.xmlファイル」も「サイトマップ」も、一気に高速に生成してしまう。 それがHugoなどの静的サイトジェネレーターなのです。

Hugoを使うと、MySQLやPHPがNGの安いサーバーでも、ブログをアップロードすることができるわけです。 スゴいでしょ? 

また「.md」ファイルというのは、中身は単なるテキストファイルですから、grep(文字列検索ソフト)で検索・置換ができるわけです。

そうすると、復習にも便利だし、何よりも記事を「事典」のようにして「引く」ことができるのです。

WordPressは重たいし、システムとして古いから、Hugoにしたほうがいいよ。

Drupal関係の本

これらを買いました。

洋書では、Drupal 8向けの解説書がいくつか出ています。

 
comments powered by Disqus