URLによってインデックス化される速度が違う?
最近SEOを施策していて思うのが、URLのドメイン以下の形式によって、
インデックス化される速度が全然違うということ。
当然、セッションIDとかパラメータがブワーってなっていない静的なURLの方が早いです。
さらにその静的なURLの中でも、.htmlでURLが終わっているサイトは特に、
インデックスされるのが早いような気がします。
ということで、今回はプログラムが入ったサイトのURLを、.html拡張子で終わらせる方法をご紹介します。
フレームワークを導入するとSEOに効果のあるURLが自由自在
いつもサイトを作る時は以下の様に、
ディレクトリ形式でアクションやパラメータを指定する形式を採用しています。
http://example.com/index/hoge/pageid/18/
ディレクトリ形式でも、動的なサイトに比べると全然インデックス化されますし、
インデックス化される速度は早いのですが、.htmlのサイトはもっと早いのではないかということです。
僕がZendFrameworkを使っているのでそれを使った例を示していますが、
何かしらのフレームワークを使っている方でしたら、ルーターの機能を使えば比較的簡単に実現できると思います。
ZendFrameworkの場合、フロントコントローラーを作ったところでルーターのインスタンスも作ります。
先日の当サイトの別記事で、SEO対策としてURLを短縮するエントリーがありましたので、
基本的な構造はそちらを参照して頂いた方が分かりやすいかもしれません。
では、早速。
//使用するファイルを読み込む require_once 'Zend/Controller/Front.php'; require_once 'Zend/Controller/Router/Route/Regex.php'; //このクラスを使います //フロントコントローラーインスタンス $front = Zend_Controller_Front::getInstance(); //ルーター作成 $router = $front->getRouter(); //ルーターにhtmlで機能するように情報をセット $router->addRoute('router1', new Zend_Controller_Router_Route_Regex( 'fukumoto(\d+)\.html', // fukumoto[数字のみtrue].htmlでアクセス可能 array( 'controller' => 'index', 'action' => 'index' ), array(1 => 'pageid') // 第一パラメータはpageidで取得可能 ) ); $front->setParam('noViewRenderer', true); $front->setParam('useDefaultControllerAlways', true); $front->dispatch();
上記の設定を入れると、
http://example.com/fukumoto18.html
でアクセスできるようになります。ちなみに「18」がパラメータです。
かなりすっきりしましたね。
ルーター機能を使えば簡単に実装でき、URLだけでもかなりのSEO対策になりますので、
是非一度導入を検討してみて下さい。