.NET Frameworkの次期バージョンである4.0では、新たな機能をいくつも含んでいる。InfoQでは、これまでにそのうちのいくつかを取り上げてきた。この記事では、新たに3つの機能、チャートコントロール、SEOサポート、ASP.NET 4.0の拡張出力キャッシュについて調査する。
チャートコントロール
Microsoftは.NET 3.5のASP.NETやWindowsフォームで使うことのできる、フリーのチャートコントロールをいくつか提供してきた。Visual Studio 2008でそれらを使うには、ツールボックスに表示されるアイテムとインテリセンスを提供するアドオンをインストールする必要がある。しかし、これらのチャートコントロールは.NET 4.0に含まれることになったので、コントロールを使うために追加でダウンロードしたりインストールしたりする必要がなくなった。MSチャートコントロールのサンプル環境には、これらのコントロールのサンプルが含まれている。下の図は、サンプルから抜粋したものである。
ASP.NET 4のSEOサポート
Microsoftは、IIS 7に統合され、IISマネージャで実行することができる、SEOツールキットをリリースした。サイトマップやサイトマップインデックスを作成する際、SEOツールキットはSEOの観点からWebサイトを分析し、SEOルール違反レポートを作成する。そのレポートには、エラーの詳細や、それをどうすればよいかを示す情報が含まれる。ルールには、ファイルの重複、タイトルの重複、リンク切れ、大きすぎるコンテンツなどが含まれる。SEOツールキットはパフォーマンスの観点でも分析を行い、遅いページや多くのリソースにアクセスしているページを特定する。また、カスタムルールを追加して、拡張することも可能である。
SEOツールキットはIISマネージャで動かす必要があるが、Webサイトをホストしているサーバにインストールする必要はない。さらに、どんなOSで動いているどんなWebサーバでも分析可能である。
Scott Guthrie氏はSEOをより改善するための、ASP.NET 4の新機能として、以下を挙げている。
- Page.MetaKeywordsプロパティとPage.MetaDescriptionプロパティ
- ASP.NET WebフォームのためのURLルーティングサポート
- Response.RedirectPermanentメソッド
PageクラスのMetaKeywordsプロパティとMetaDescriptionプロパティは、プログラムからkeywords用、description用のmetaタグを設定するためのプロパティである。Guthrie氏はこれらのプロパティの有効性をこのように説明している。
ASP.NET 4のheadサーバコントロールは、ページのheadセクションを出力する際に、これらの値を使用します。これはマスタページを使用している場合、特に有用です。この場合、headセクションは.masterファイル中にあり、ページコンテンツを表す.aspxファイルからは分離していますが、この新しいプロパティ、MetaKeywordsやMetaDescriptionを.aspxで使えば、masterページのheadセクションがレンダリングされる際に、自動的にそれらのプロパティで設定した値が出力されます。
URLルーティングは、外部公開用のURLを内部表現用のURLに変換する機能だ。これにより、WebサイトはSEOフレンドリなURLを公開し、内部的には異なるリンクを使うことができるようになる。これは、恐らくレガシーなWebサイトにとって有用な機能である。
Response.RedirectPermanentメソッドは、Response.Redirectメソッドの代わりに使用すべきメソッドである。なぜなら、Response.Redirectメソッドは、検索エンジンにリダイレクトの複数ホップをさせるような、一時的リダイレクトを生成するが、その結果、ページランクが下がってしまう。Guthrie氏は、RedirectPermanentメソッドがどのように動くかについて、このように話している。
ASP.NET 4では、新たにResponse.RedirectPermanent(string url)メソッドを導入します。これは、HTTP 301(恒久的移動)レスポンスを使用して、リダイレクトを実現するためのヘルパーメソッドです。これにより、検索エンジンや他のユーザエージェントは、恒久的なリダイレクトを認識し、コンテンツに関連している新しいURLを保存したり、使用したりすることができます。その結果、コンテンツはインデックスされ、検索エンジンのページランクが改善することになるでしょう。
ASP.NET 4の出力キャッシュ
ASP.NETはバージョン1.0からずっと、レスポンスをより早く返すために、ページやリソースを保存するための出力キャッシュを持っていた。しかし、それはメモリに保存することしかできなかった。ASP.NET 4では、ローカルディスク、リモートディスク、データベース、velocityやmemcachedのような分散キャッシュエンジン、もしくはクラウドといった、複数の出力キャッシュを構成し、追加することができるようになる。