WIKIWIKI.jp*運営チームです。
お借りします。
課題
1ページに情報を詰め込み過ぎることにより、以下の問題があります。
- サーバー負荷
- 転送量の増加(少量を見るために大量のデータ通信)
- スマホのメモリ不足
- 低速回線環境でのタイムアウト
- サイバー攻撃のセキュリティーホールになる可能性
- 探したい記事がすぐに見つからない
対策
基本は記事を分割してそれぞれにリンク、または検索からアクセスしてもらう。
foldはページ内記事の整理ができる反面、アクセスが悪くなるので多用しない。
また、転送量は減らない。
foldでまとめたページも用意したい場合がある。
fold内を空で出力し展開時に読み込む方式を検討する。
lazy_fold プラグイン
影響範囲が大きいので、既存の fold とは別プラグインとして提供。
お試しプラグイン、β版ですが、検証済みプラグインです。
最後に実際に本番環境で試すフェーズです。
lazy_fold は、通常の fold と同じように折りたたみ機能を提供しますが、以下の点で異なります。
- 非同期読み込み
閉じられた状態の内容は、ユーザーがクリックして展開するまでHTMLが読み込まれません。この仕組みにより、ページの初期読み込み時には見えない部分のデータが展開されず、サーバーからのデータ転送量が削減されます。
- ページの軽量化
非表示部分のHTMLデータが非同期で初めて読み込まれるため、大量のデータが含まれるページでも初期表示が速くなります。
- ダイナミックレンダリング対応
検索エンジンなどのクローラーからは、通常の fold と同じようにサーバーからHTMLを出力しているため、SEO(検索エンジン最適化)への影響を心配する必要はありません。
- open* 非対応
lazy_fold は 第2引数の open* に対応していません。最初から開いている fold は非同期処理を行う必要がないため、この場合は単なる fold のエイリアスとして動作します。
- 第3引数にページで固有のIDを指定する
第3引数には、lazy_fold 内で扱う情報を一意に識別するためのIDを指定してください。
※同じページ内でデータの切り貼りや組み合わせを行うプラグイン(例: 特定のデータを再利用する機能)を使用していない場合、このIDは省略できます。ただし、データの正確性を確保するために、IDの指定を推奨します。#lazy_fold(もっと見る,,see_more01){{ 隠されていたテキスト 複数行 複数行 複数行 複数行 複数行 }}
{{ と }} を使って上下挟みます。
fold と同等の機能があります。