練習ページ/1013

Cached: 2025-02-15 21:14:50 Last-modified: 2025-01-11 (土) 18:49:04

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 と同等の機能があります。