動的URLが多数ある

dtn.jpにはPHPで作成したページが多数あり、それらのPHPにパラメータを付けて渡す必要があるためGETパラメータをつけた動的URLが多数存在しています。

動的URLとは

URLの末尾に「?」を付け、その後に送信したい情報を「項目名=値」で追加して値をPHP側に渡します。

https://www.xxx.jp/test.php?mode=view&type=entry&blog_id=1

PHP側ではPHPで定義されたスーパーグローバル変数の$_GETに連想配列としてデータがセットされます。

先ほどのクエリであれば、test.php側ではこのように連想配列がセットされます。

$_GET["mode"];                      //viewが入っています
$_GET["type"];                      //entryが入っています
$_GET["blog_id"];                   //1が入っています

動的URLにはPageRankが付与されにくい

ブラウザツールバーのPageRankをみていると、この動的URLにはGoogle PageRankが付与されにくい印象があります。そこで、一部の動的URLを静的URLに変更して様子をみてみることにしました。

動的URLの静的URL化

テスト的に今回URLを変更したものは、画像の赤丸部分のリンク、dtn.jpのアクセスランキング、人気サイトランキングのURLです。

access_ninki_ranking.png
ランキングページでテスト実施

静的URL化の方法

PHPで定義されたスーパーグローバル変数の$_SERVERのひとつ、$_SERVER[‘PATH_INFO’]を利用して実現します。

①静的URLの形にパラメータを埋め込む

②PHPで$_SERVER[‘PATH_INFO’]からパラメータを取得

①静的URLの形にパラメータを埋め込む

このようにパラメータ丸出しになっているURLを変更します。

https://www.xxx.jp/member/check.php?mode=LOGIN

このような形であれば静的URLらしい雰囲気となりました。

https://www.xxx.jp/member/check/LOGIN

②$_SERVER[‘PATH_INFO’]からパラメータを取得

.htaccessで拡張子無しでもphpでファイル実行させる

checkと指定したものをcheck.phpとして開かせたいので、.htaccessでapacheに設定を入れます。

<Files check>
ForceType application/x-httpd-php
</Files>

$_SERVER[‘PATH_INFO’]から値を取得

$_SERVER[‘PATH_INFO’]の中には/LOGINが入ってますので、ここからLOGINだけ抜き出せば$_GET[“mode”]と同じようにLOGINととりだすことができます。

$params = explode("/",$_SERVER['PATH_INFO']);
$MODE = $params[1];                          //LOGINが入っています

おわりに

これでアクセスランキング人気ランキングにもPageRankが付くかもしれません。

追記:

一ヶ月たった頃、これらのランキングにもPageRankが付与されるようになっていました。

PHPが学べるおすすめプログラミングスクール

この運営ブログをみて、もしdtn.jp管理人のようにサイトをゼロから作ってみたいという思いに駆られた方は、サイト開発やプログラミングをオンラインで受講できるプログラミングスクールの活用をしてみてはいかがでしょうか。サーバ/WordPress/HTML/CSS/JS/PHP/SQLなどの基本さえ分かれば、ゼロからサイト立ち上げもポンポンできるようになって、今なら仕事や転職にも役立つのでオススメです。

PHPも学べるオンラインスクール

  • CodeCampAWS Cloud9を使ったクラウド上のIDEが用意されているので、ネットにつながればスタート開始可能というゴージャスなスクールです。講師も選べて、Webマスターコースならプログラミング経験0でも一気にフロントエンドからバックエンドまでマスターできます。
  • ウェブカツJava言語やRuby言語なんぞ教えん!という、初心者にありがちな挫折ポイントがよく分かってるスクールです。フロントエンドエンジニアに必要なスキルセット&PHPがマスターできます。
  • フリークス HTML/CSSから始まり、MySQLやLinuxからPHPの変数や分岐やループ、クラスやPDOに最後はMVCまで教えてくれるので、そこまで分かればなんでもできそうです。メンターに質問もし放題がいいですね。
  • テックアカデミー法人のIT研修もやってる業界最大手・受講者数No.1のスクールです。メンターとの定期オンライン面談やチャットサポートなどもあり、大手ならではインフラ環境がウリです。PHPと合わせてjQueryもマスターできる、PHP/Laravelとフロントエンドコースがおすすめです。

オンラインスクールのデメリット

孤独になりがちなサイト制作も、優しいメンターがそばにいてくれれば凄い楽しそうですが、もちろんデメリットもあります。お金がかかるという点です。ひたすらググって、本を読んでよりは確実にコストがかかってしまいます。とはいえ、多少の余裕があるなら、こんなご時世なので時間と労力を買った方が良いと思います。