- ベストアンサー
<title>はどこに置けばいいのでしょう
<title>って<head>の一番下に置いてましたが、 上手な人のコードをみていると 先頭の方に多く書かかれている気がします。 ひょっとして、SEO上の理由からでしょうか。 それとも、なるべく前に書くべきなのでしょうか。 書く位置は<head>内の最後でもいいのですか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ブラウザの解釈の問題とSEO(検索エンジン最適化)の混同、そしてSEOへの誤解があるようです。 とても古いブラウザは、文字コードの指定が無い場合は日本語が登場することで文字コードを解釈していましたが、現在使用しているブラウザはその問題はありません。ただし、<meta>による文字コードの指定は<title>より前に存在することは必要です。 また、XHTMLで記述するときは <?xml version="1.0" encoding="UTF-8"?> と書くので文字コードを間違うことはありません。 これが無いときは、サーバーのHTTP応答ヘッダに文字コードが含まれるようにしましょう。 SEOは、検索エンジン最適化の意味で、HTMLの内容が検索エンジンに正しく伝わるように、文書構造をきちんとマークアップしろ・・・と言うことであって、検索エンジンの検索結果の上位に表示されることと誤解されている人がとても多いですが、これは誤りです。 検索エンジン対して、どの部分がヘッダであり、どの部分がフッタであり、どの部分が本文であるか、あるいはどの部分がナビゲーションであるかをきちんと伝わるようにマークアップすることです。 <body> <header> <h1>タイトル</h1><!-- 基本titleと同じ --> <div class="abstract"> <p>要約</p> </div> <nav><!-- ナビゲーション --> <ol> <li><a href=""></a></li> ・・・・・・・・ </ol> </nav> </header> <section> <h2>本文見出し</h2> <p>記事</p> <section> <h3>見出し</h3> ・・・・・ </section> </section> <footer> ・・・文書情報・・・ </footer> <body> のように記述する。(HTML5)。HTML4.01でしたら<div class="header"><div class="section">・・・ 【引用】____________ここから DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )]より これだと検索エンジンは、文書構造を理解してそのページに何が書かれているか正確に理解できる。===これがSEOです。その結果、検索されたときにそのキーワードに関するページが、この文書にあると検索結果の上位に表示してくれる。【結果であって目的ではない!!】 まあ、titleは、<meta>でcharsetを指定した直後に記述するのが無難でしょう。合わせてHTTP応答ヘッダも確認しておきましょう。
その他の回答 (2)
<title>を書く位置は<head>内の最後でも良いです。ただし<title>は必ず1つで、複数書くことも省略もできません。厳密な文法に従うなら。 HTMLの文法はDTDという形式で標準化されています。それを見れば、どのタグをどこに書けるかが分かります。ただし人間が読むにはつらい形式なので、調べるときにはDTDをサポートしているエディタを使うと楽です。 XHTMLならXMLの一種なのでXMLエディタが利用できます。少なくとも妥当性検証の機能があるものでないと、DTDをサポートしていないでしょう。 それ以前のHTMLはSGMLの一種なのでSGMLエディタが利用できます。(ですが数が少なく、フリーソフトでDTDをサポートするものは操作の難しい emacs エディタの psgml モードしか知りません)
お礼
どうもご回答有り難うございます。 文法上は必ず必要なんですね。 先頭にあるのは文法以外の目的があるんでしょうか? 後半部分はよく分かりませんでした。。。すみません。
- anmochi
- ベストアンサー率65% (1332/2045)
Webサーバー、Webクライアント(Webブラウザー)がこなれている現在ではあまり意味がありませんが、昔は「可能な限り早めに日本語の文字を置く」事でWebブラウザーの日本語文字コード判定の精度を上げれる(かも知れない)テクニックとして使われていました。IE3とかNetscape Navigator 3.01 Goldとかの時代です。 これ以外にも<html>タグの前に<!-- ほげ -->などとHTMLコメントで日本語文字を入れたり。 現在では主要なほとんどのWebブラウザー(と言ってもIE9、FireFox、Safari、Chromeの4つしか見てないけど)が 1.HTTPレスポンスヘッダーのコンテンツタイプにcharsetの指定があり、かつ引数がIANA文字コード宣言として正しければ信用する。 2.<head>タグ内に<meta>タグがあり、HTTP-EQUIVのcontent-typeにcharsetの指定があり、かつ引数がIANA文字コード宣言として正しければ信用する。 という事実上のお作法(公式なお作法かどうかは調べてません)にほぼ従っているため、今では<title>タグの位置にこだわる必要はないかと。 前述の2により<meta>タグを記述するのであればそれは<title>タグよりも前に持ってくる(つまり、<title>タグは<meta>タグよりも後に記述する)べきでしょう。 SEO的にはほぼ関係ないかと(現在のSEOはかなりインテリジェントなHTML解析を行っているため、メタなタグの順番うんぬんで順位が変わったりしない)。
お礼
ご回答有り難うございます。 <head>内って<meta>が5個ほどズラズラと並んでいます。 前は10個ぐらいありましたけど、ここでのご指導で どうもmeta keyword にいっぱい書いても逆効果だと教わり、 今は5つぐらいに減っています。 SEO的な理由なのかもと思いましたが違うようですね。
お礼
先生にはいつもお世話になります。 今確認しましたが確かにcharasetは<title>より前です。 こういう細かいことが分かっていません。 <meta>でcharsetを指定した直後の方が無難なのですか? <title>は<meta> keyword とかより 前の方が適切なんでしょうか。 ちょっと神経質になりすぎているかもしれませんが ちょうどいい機会なのでお聞きしたいと思います。