ASP.Net 4.0 SEOの改善
検索エンジンの最適化は、公衆向けのWebサイトにとって非常に重要です.ASP.Net 4.0はそのために大量の改造を行った.これらの改善点は次のとおりです.
時間が経つにつれて、ウェブサイトの一部のページアドレスが変化し、検索エンジンが収録したリンクアドレス、ユーザーが所蔵しているアドレスが失効します.Response.Redirect()はこの問題を解決したものです.でもResponse.Redirectには次の問題があります.
Response.Redirect()メソッドは、HTTP 302のジャンプを生成し、ユーザが古いURLにアクセスしようとすると、余分なHTTP往復を招く.また、検索エンジンは一般的に複数のジャンプに追随しません.これは、一時的な転向を使用すると、Webページのランキングに悪影響を与えることを意味します.
私は以前ブログを書いたことがありますが、301ジャンプを実現する方法を紹介しました.「HTTP状態301302200からページジャンプを見て」その時301ジャンプを実現するのは面倒でした.ASP.Net 4.0はこのためにResponseを追加した.RedirectPermanent()メソッドはこの問題を解決するために使用されます.
簡単に言えば、次の表に示します.
HTTP状態
説明する
プログラムコード
301
301は永続的な転送(Permanently Moved)すなわち永続的なリダイレクトを表す
Response.RedirectPermanent("test_2.aspx");
302
302は一時的な移行(Temporarily Moved)を表す
Response.Redirect("test_2.aspx");
MVCにも似たようなコードがあります:Response.RedirectToRoute(string routeName)とResponse.RedirectToRoutePermanent(string routeName)
検索エンジンが不正行為を最適化したため、検索エンジンはこの2つのキーワードの参考作用を薄めている.例えばこのブログでは、「KeywordsとDescription--SEOの達人はなぜ使わないのか」と理由を説明しています.しかし、できれば、この2つのキーワードを設定することをお勧めします.ASP.Net 4.0では、この2つのキーワードを簡単に設定するために最適化されています.次の簡単なコードで動的設定を完了することができます.
上記のコードを完了すると、異なるURLのリクエストでテストできます.
例えば私たちが訪問するhttp://localhost:3215/p/abc?s=1テストの結果は次のとおりです.
this.Page.RouteData.Values key=abc this.Page.Request.QueryString s=1 this.Page.Request.Form
VS 2010と.NET 4.0シリーズの『ASP.NET 4におけるSEO改善』編http://blog.joycode.com/scottgu/archive/2010/01/06/115842.joy
.NET 4の新機能:グラフ、SEOおよび拡張可能な出力キャッシュhttp://www.infoq.com/cn/news/2010/02/.NET-4-Charts-SEO-Cache
Asp.Net4.0/VS 2010新変化(4):SEOの改良http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679235.html
Asp.Net4.0/VS 2010新変化(3):webformで直接urlルーティングも可能http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679140.html
301永続リダイレクト
時間が経つにつれて、ウェブサイトの一部のページアドレスが変化し、検索エンジンが収録したリンクアドレス、ユーザーが所蔵しているアドレスが失効します.Response.Redirect()はこの問題を解決したものです.でもResponse.Redirectには次の問題があります.
Response.Redirect()メソッドは、HTTP 302のジャンプを生成し、ユーザが古いURLにアクセスしようとすると、余分なHTTP往復を招く.また、検索エンジンは一般的に複数のジャンプに追随しません.これは、一時的な転向を使用すると、Webページのランキングに悪影響を与えることを意味します.
私は以前ブログを書いたことがありますが、301ジャンプを実現する方法を紹介しました.「HTTP状態301302200からページジャンプを見て」その時301ジャンプを実現するのは面倒でした.ASP.Net 4.0はこのためにResponseを追加した.RedirectPermanent()メソッドはこの問題を解決するために使用されます.
簡単に言えば、次の表に示します.
HTTP状態
説明する
プログラムコード
301
301は永続的な転送(Permanently Moved)すなわち永続的なリダイレクトを表す
Response.RedirectPermanent("test_2.aspx");
302
302は一時的な移行(Temporarily Moved)を表す
Response.Redirect("test_2.aspx");
MVCにも似たようなコードがあります:Response.RedirectToRoute(string routeName)とResponse.RedirectToRoutePermanent(string routeName)
Headのkeywordsとdescription
検索エンジンが不正行為を最適化したため、検索エンジンはこの2つのキーワードの参考作用を薄めている.例えばこのブログでは、「KeywordsとDescription--SEOの達人はなぜ使わないのか」と理由を説明しています.しかし、できれば、この2つのキーワードを設定することをお勧めします.ASP.Net 4.0では、この2つのキーワードを簡単に設定するために最適化されています.次の簡単なコードで動的設定を完了することができます.
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = " ";
Page.MetaKeywords = " ";
Page.MetaDescription = " ";
}
ASPX :
<%@ Page Language="C#"
Title=" "
MetaKeywords = " , "
MetaDescription = " "
AutoEventWireup="true"
CodeBehind="Test_2.aspx.cs"
Inherits="WebApplication_CacheOutput.Test_2"
%>
Scott , Keywords , Description , MetaKeywords MetaDescription。
ASP.NET Web FormsでもURLガイド対応
、 URL, , 。 ASP.NET 4.0 ,URL Routing ASP.NET MVC , ASP.NET Web Forms 。
, Web Forms MVC , : URL。
:
Global.asax :
void RegisterRouters(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute(
"my-Test-Route", // --
"p/{key}", //
"~/WebForm1.aspx" //
);
// ...... ,
}
void Application_Start(object sender, EventArgs e)
{
RegisterRouters(System.Web.Routing.RouteTable.Routes);
}
, , , , :
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("this.Page.RouteData.Values");
sb.AppendLine("
");
foreach (var item in this.Page.RouteData.Values)
{
sb.AppendFormat("{0}={1}
/r/n", item.Key, item.Value);
}
sb.AppendLine("this.Page.Request.QueryString");
sb.AppendLine("
");
foreach (var item in this.Page.Request.QueryString)
{
sb.AppendFormat("{0}={1}
/r/n", item, this.Page.Request.QueryString[item.ToString()]);
}
sb.AppendLine("this.Page.Request.Form");
sb.AppendLine("
");
foreach (var item in this.Page.Request.Form)
{
sb.AppendFormat("{0}={1}
/r/n", item, this.Page.Request.Form[item.ToString()]);
}
Response.Write(sb.ToString());
}
上記のコードを完了すると、異なるURLのリクエストでテストできます.
例えば私たちが訪問するhttp://localhost:3215/p/abc?s=1テストの結果は次のとおりです.
this.Page.RouteData.Values key=abc this.Page.Request.QueryString s=1 this.Page.Request.Form
参考資料:
VS 2010と.NET 4.0シリーズの『ASP.NET 4におけるSEO改善』編http://blog.joycode.com/scottgu/archive/2010/01/06/115842.joy
.NET 4の新機能:グラフ、SEOおよび拡張可能な出力キャッシュhttp://www.infoq.com/cn/news/2010/02/.NET-4-Charts-SEO-Cache
Asp.Net4.0/VS 2010新変化(4):SEOの改良http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679235.html
Asp.Net4.0/VS 2010新変化(3):webformで直接urlルーティングも可能http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679140.html