解説

実例で学ぶASP.NETプログラミング

第14回 ショッピング・サイト全体の最終調整と連載のまとめ

小田原 貴樹(うりゅう)
2004/07/31
Page1 Page2 Page3

SEO対策として文字コードを変更する

 ショッピング・サイト構築の最後の作業として、サイトの文字コードを変更しよう。ASP.NETでは、標準で文字コードとして「UTF-8」が利用されるようになっている。この文字コードは、国際化・国際標準として推奨されており、文字コードをUTF-8にすること自体は有意義なことだと思う。実際に文字コードがUTF-8で出力されていても、IEなどのブラウザでページを表示する際にはブラウザ側で自動的に調整されるので、見栄え上はまったく問題ない。

 しかし、Googleなどの検索エンジンのページ収集ロボットは必ずしもそうはいかず、ロボットによっては、文字コードがUTF-8のままだとサイトの内容は拾えても、検索結果で表示される日本語部分の文字は完全に化けて表示されてしまうことがある。そんな検索結果の文字が化けているサイトには誰もアクセスしてくれず、アクセス数が減ってしまうことになるので、ショッピング・サイトや普通のホームページなど、見られることを前提にしたサイトでは大きな問題になるだろう。

 SEO(Search Engine Optimization)対策というほどのこともないのだが、検索エンジンを意識して、ここでは出力する文字コードを「EUC」か「SHIFT-JIS」に変更しよう。これまでまったく触れたことがなかったが、ソリューション・エクスプローラには「Web.config」というXMLファイルが存在するので、これを開いてほしい。

 「Web.config」は、Web構成ファイルという位置付けにあり、ASP.NETで作成したサイトの既定の構成情報が格納されている。ここで変更しようとしているサイトの文字コードの設定は「グローバリゼーション<globalization>要素)」で行うことができる。

 この<globalization>要素は、通常ならファイルの最後に位置している。<globalization>要素は、標準では以下のようになっているはずだ。

<!--  グローバリゼーション
  このセクションはアプリケーションのグローバリゼーション設定を行います。
-->

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
Web構成ファイル「Web.config」にある<globalization>要素
サイトの文字コードを変更するには、この「グローバリゼーション<globalization>要素)」を変更すればよい。

 <globalization>要素のrequestEncoding属性とresponseEncoding属性で指定されている文字コード「utf-8」を、一般的な日本語サイトで利用されている文字コードである「euc」か「shift_jis」に変更すれば、検索エンジンのロボットもきちんと日本語部分を拾ってくれる。例えば「shift_jis」に変更したいならば、以下のように記述する。

<!--  グローバリゼーション
  このセクションはアプリケーションのグローバリゼーション設定を行います。
-->

<globalization requestEncoding="shift_jis" responseEncoding="shift_jis" />
<globalization>要素でサイト文字コードの指定
この設定では、サイトの文字コードを「utf-8」から「shift_jis」に変更している。

 変更後、ファイルを保存すれば、サイトの出力する文字コードが変更されることになる。文字コードについては、各ページ・ファイルのDocumentオブジェクトにもCharsetプロパティが存在するのだが、そこで指定しても「Web.config」内の上記の設定が標準のままだと、そちらが優先されてしまう。SEO対策を意識したサイトを作成する必要がある場合には、必須の設定なので覚えておいていただきたい。

 これで、サイトの構築はすべて完了した。最後に、サイト全体の遷移や、各ページの動作などいろいろとテストしておくとよいだろう。

Visual Studio .NET 2003について

 この連載ではVS.NET 2002を利用して解説を行ってきたが、連載中にVS.NET 2003が発売されているので、そちらを使われている方も多いだろう。この連載で作成したソースは、VS.NET 2003でもそのまま動作するので、特に書き直す必要はない。

 VS.NET 2002とVS.NET 2003の違いは、カタログ的にはいろいろな機能が改善されているということだが、実際に利用してみた立場からいわせてもらえば、何といっても「速い・安定している」という点に尽きる。VS.NETはアプリケーションとしては、とんでもなく重たい部類に入ると思うが、VS.NET 2002に比べれば、VS.NET 2003ははるかに軽くなっている。

 また、VS.NET 2002で見られたいくつかの場面での不安定さが軽減して、どんな使い方をしていても問題なく安定して動作するようになったと思う。これはユーザーにとっては機能の追加などより、はるかに重要なことだろう。筆者も実際の開発業務にはVS.NET 2003を発売直後から利用している。もし、まだVS.NET 2002をメインで使われているならば、可能であればVS.NET 2003に切り替えることをお勧めする。

 VB.NET言語仕様の変更点は多岐にわたるが、実際に筆者が利用しているのは、「制御文の中で変数の宣言ができるようになった」くらいだろう。例えば、「For I as Integer = 1 to 10」という記述が許されるようになったのだが、これで構文がすっきりするし、自然な表現に思えるので気に入っている。

 すでに次期バージョンであるVisual Studio 2005(コード名:Whidbey)ベータ版の提供が始まっており、大変興味深い。新しもの好きの筆者は、間違いなく日本語版が出た段階で使い始めるだろう。これは筆者の持論だが、OSやアプリケーション、開発ツールなどは「よっぽどのことがなければ新しいバージョンの方が絶対によい」と思っている。操作感が変わったりする煩わしさもあるかもしれないが、それを帳消しにするほどの改善がなされているはずであるからだ。

連載の最後に

 長らくご愛読いただいた本連載だが、今回で最終回とさせていただく。途中長く間が空いたりしてしまったせいで、1つのショッピング・サイトを構築するのに約2年もかかってしまった。筆者の不徳の致すところである。

 連載開始から2年もたってしまったが、ASP.NETで構築された実際のサイトはまだまだ少なく、本格的な普及はこれからなのだろうと思っている。もちろん筆者は現在もASP.NETだけを利用してWeb系システムの開発を行っており、これまでにショッピング・サイトだけではなくいろいろな種類のサイトを、ASP.NETだけで40以上は開発してきた。そのうえで感じるのはASP.NETの奥の深さ・キャパシティの広さで、やればやるほどできることが増えていくという実感を持っている。

 ショッピング・サイト構築に関する解説は完了したが、また別の題材でお会いするチャンスがあればと期待しつつ、いろいろな面でつたない部分のある連載に、最後までお付き合いいただいた読者の方々に感謝したい。End of Article

 

 INDEX
  実例で学ぶASP.NETプログラミング
  第14回 ショッピング・サイト全体の最終調整と連載のまとめ
    1.問い合わせページの作成
    2.そのほかの残りページの作成
  3.文字コード変更によるSEO対策と連載のまとめ
 
インデックス・ページヘ  「解説 :実例で学ぶASP.NETプログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間