WordPressの「疑似静的化」という概念について
こんにちは!web会議で「静的サイト」って言いにくいMizutani(@sirycity)です。これ以上書くとGoogleAdsenseに怒られるのでやめとく
今日はWordPress界隈でたまに見る表現「疑似静的化」についてです。この言葉、WPではたまーに見るけどwebプログラミングの分野では全く見ないのでどういう意味かわりと気になっていたのでざっと調べてみました。
はじめに
前回も書いたんですが、普通のwebプログラミングでいう所の静的ページとWPの静的ページは違う意味で用いられる場合があります。3行でまとめると
- 静的ページはSSRしていないページのこと
- WPは全部SSRしているので全部動的ページ
- ただしWPでは固定ページのことを静的ページと呼ぶことがある
ということです。
疑似静的化とは
Googleの検索結果で出てきたサイトを総括すると
URLパラメータが付いているURLを付いていないURLにすること
のようです。…もう1回書きますね。
擬似静的化とは、URLパラメータが付いているURLを付いていないURLにすること
です。僕は最初にこれを見たときに思わず取り乱してしまいました。曲がりなりにもフロントエンドエンジニアを4年間続け、webについてある程度理解したという自負がありましたが、その自信は完全に打ち砕かれました。全く分からない。自分の愚かさを呪いました。しかし、同時にこれは試練だと考えました。この謎を解き明かした時にエンジニアとしてきっと一歩成長できる。そう思い僕は震える右手をマウスに置き、調査を始めました。
URLパラメータとは
URLパラメータとは ●●●.com?a=b
こういうやつの?a=b
の部分です。つまりURLに?が入ってればURLパラメータが付いているURLということです。ここまでは間違いない。
ここで最初の壁にぶち当たります。URLパラメータがあることと動的ページであることは全く関係がないです。そう。全然関係ないの。愛知県民だからローソンが好きって言ってるようなものです。例えばこのブログは静的ページですが、こんな感じに URLパラメータ付ける事だって勿論できます。
しかしながらこの行為に擬似静的化という名称が付いていることは紛れもない事実であります。となると、こうは考えられないでしょうか?
WPではURLパラメータが付いたURLでレンダリングされるページのことを「動的ページ」と呼ぶ
これについて確かなソースは見つかりませんでしたが、実際URLパラメータを用いるページは殆どがSSRされていることからこのような概念が定着しても不思議ではないはずです。静的ページでもURLパラメータを使う例なんていくらでもありますが(algolia使った検索とか)、比率で言えば少ないはずです。
静的ページとは
しかしここで2つ目の壁にぶち当たります。WPでURLパラメータが出てくるページは投稿ページです。つまり(一般的な定義でもWPの定義でも)動的ページに分類されるはず。しかしながら、擬似静的化を文字のまま取ると静的でないものを擬似的に静的にする技術のような気がします。URLパラメータのあるURLは動的ページ、これは解釈一致です。では擬似静的化してURLパラメータのなくなった投稿ページは動的ページなのでしょうか?それとも静的ページなのでしょうか?
擬似静的ページ?
WP公式の見解では
常に同じ場所にあり内容にもあまり変化がないことが多い
ことをWPでいう所の静的ページとしています。が、擬似静的ページには触れられていません。これらを踏まえると…
WPには「静的」「疑似静的」「動的」の3つの概念がある
と考えるのが自然ではないでしょうか。
推理小説を読んでいるようです。私は動的と静的が対となる概念であるとばかり思っていました。磁石のS極とN極のように。しかし実際は3つの概念があり、それらは独立していたのです。セブンとローソンとファミマのように。
URLパラメータ有りの投稿ページ以外のページはどうなるのか
わかんない。
表
前回の記事にも同じようなことを書きましたが、こういうことでしょうか。
ページ種類 | 一般基準 | WP基準 |
---|---|---|
SSR有パラ有TOP | D | ? |
SSR有パラ有slug無 | D | ? |
SSR有パラ有slug有 | D | D |
SSR有パラ無TOP | D | D |
SSR有パラ無slug無 | D | S |
SSR有パラ無slug有 | D | P |
SSR無パラ有TOP | S | ? |
SSR無パラ有slug無 | S | ? |
SSR無パラ有slug有 | S | D |
SSR無パラ無TOP | S | D |
SSR無パラ無slug無 | S | S |
SSR無パラ無slug有 | S | P |
※Dが動的、Sが静的、Pが擬似静的
さいごに
わからん。
WPは開発人口が多いにも関わらず他のコミュニティから独立しており独自の用語が生まれやすい環境にあると言えるでしょう。意味を正しく把握しておくことで理解が進む…はず。