動的URLと静的URL

「?」や「=」「&」などのパラメータが付いたURLを見掛けたことがあると思います。

例:http://example.com/?id=xxxx

このようなURLを動的URLといいます。

逆に、これらのパラメータが付いていないURLを静的URLといいます。

※静的URLの例
例:http://example.com/xxxx/
例:http://example.com/xxxx.html

動的URLとは

上記でも説明したように、
「?」や「=」「&」などのパラメータが付いた動的なページのURLを指します。

例えば、
http://sample.com/?id=1
という動的URLのページがあったとします。

これは、「id」が「1」のページを表示しており、この「id」の値によって、表示する内容を変えています。

どうして動的なページにするの?

かというと、
例えば、不動産の検索サイトに1,000件の物件情報を掲載する場合を考えて下さい。

1,000件分の物件ページをコーディングして、静的に作成しますか?
とんでもない時間が掛かるので、ほぼ無理です。

そこで、物件情報はデータベースに保存しておいて、
パラメータ「id」の値を変えてやるだけで、同じ1つHTMLを利用しながらも、表示する物件情報のみを変更するようにページを作成します。

こうすることで、実際には1ページ分のコーディングしか行っていないにもかかわらず、
1,000件の物件ページを簡単に公開することが可能になりますね。

※勿論、物件データをデータベースに登録する手間は発生しますが、
1,000件分の物件ページをコーディングするよりも、遥かに時間短縮できます。

今では、多くのサイトが動的ページとして作成されており、
例えば、WordPressも動的ページを作り出すシステムに分類されます。

ただ、ここで疑問が出てくると思います。
WordPressで構築されたサイトのほとんどが、静的URLになっていますね。

例えば、このページであれば、
https://deepdweb.com/dynamic_url-to-static_url/
というURLになっています。

これは、実際には動的ページですが、URLを偽装して、静的URLに書き換えている為です。

つまり、本当は動的ページであり、動的URLが存在しているのですが、
その動的URLを静的URLに見せ掛けていることになり、
これを「動的ページの擬似静的化」などと言ったりします。

それでは、
どうして静的URLに見せ掛けるのかというと、
・大昔には、動的URLはインデックスされにくかった
・URLに含まれるキーワードも、Googleの検索ランキングに影響する
ことの2点が関係しています。

動的URLはインデックスされにくかった

私がEWB制作の世界に入った頃は、Googleの検索エンジンも、まだ技術的に未熟で、
「?」や「=」「&」などのパラメータが付いたページはインデックスされにくいと言われていました。

その為か、当時、日本国内ではMovable Type(ムーバブル タイプ = MT)という、
静的ページ(HTML)を吐き出してくれるCMSツールがとても流行っていました。
このシステムは素晴らしいのですが、ライセンス料がそこそこ掛かります。

でも、安心して下さい!

大昔の名残で静的ページが好まれるだけで、
今は、検索エンジンもかなり改善されている為、
動的URLのページでも、何の問題もなくインデックスされます。

動的URLだからと言って、静的URLのページよりもインデックスされるのが遅いということも、
全くありません。

その為、動的URLが、SEO上不利になるということはないです。

URLのディレクトリ名やファイル名も、Googleの検索ランキングに影響する

影響は限定的ではありますが、URLに含まれるキーワードも、Googleの検索ランキングに影響すると言われています。

それに、URLにキーワードが入っていると、ユーザーが、そのURLからどのようなページなのかを判断できます。

その為、URLの中に含まれるディレクトリ名やファイル名にも、キーワードを入れておく方がいいです。

ただし、以下のような点には注意して下さい。
・キーワードを詰め込みすぎない
・分かり易く、簡潔なディレクトリ名にする
・日本語を使わない

で、上記のような理由から、
動的URLに関しても、数字のパラメータをそのままにしておくのではなく、
キーワード含めた静的URLに正規化するようにしましょう。

方法は、
例えばWordPressを使っている場合には、
パーマリンクの設定画面から簡単に設定できます。

もし、オリジナルで組んだシステムの場合には、
.htaccessを使って設定するのが手っ取り早いです。

記述するコードについては、
2パターン程、例を記載しておきます。

【パターン①】
http://example.com/?id=1

http://example.com/url-test.html
というURLに偽装する場合は、
RewriteRule ^url-test.html$ /?id=1 [R=301,L]
を、
.htaccessに追記すればおけばOKです
【パターン②】
http://example.com/?id=1

http://example.com/url-test/
というURLに偽装する場合は、
RewriteRule ^url-test/$ /?id=1 [R=301,L]
を、
.htaccessに追記すればおけばOKです

最後に

現在は、
動的ページでも問題なくインデックスされ、
動的URLか静的URLかで、SEOに影響することはないです。

ただ、URLに含まれる文字列も、わずかながらSEOに影響します。
その為、数字のパラメータをそのままにしておくのではなく、
ディレクトリ名やファイル名を付けて、静的URLに疑似的に見せかけることをおすすめします。

ただし、既に動的URLで運用しているサイトに関しては、
無理にURLを静的化する必要はありません。