web-dev-qa-db-ja.com

HTML:多言語のメタディスクリプション?

2つの言語のメタディスクリプションを自分のWebサイトに設定するにはどうすればよいですか?

このコードはグーグル有効ですか?

<meta name="description" lang="en" content="english blablabla" />
<meta name="description" lang="hu" content="hungary blablabla" />
10
Zsolt Janes

Googleウェブマスターセントラルブログからのこの投稿を確認してください: http://googlewebmastercentral.blogspot.com.es/2010/03/working-with-multilingual-websites.html

"Googleは、各ページの主要言語を特定しようとします。ページごとに1つの言語のみに固執し、並べて翻訳しないようにすると、言語認識が容易になります。ただし、Googleページが複数の言語であると認識できる場合は、ページのすべての要素(ヘッダー、サイドバー、メニューなど)に同じ言語を使用することをお勧めしますGoogleはすべてのコードを無視することに注意してください「lang」属性からドキュメントタイプ定義(DTD)までのレベルの言語情報一部のWeb編集プログラムはこれらの属性を自動的に作成するため、言語を決定しようとするときに信頼性が低くなります。ウェブページの。

多言語のウェブサイトに関するいくつかの情報:

Htmlの「lang」属性では複数の言語を定義できず、言語を指定するためのメタ属性は廃止されているため、W3の推奨事項によれば、HTTPヘッダーで言語を指定することをお勧めします。

HTTP/1.1·200·OK
Date:·Sat,·23·Jul·2011·07:28:50·GMT
Server:·Apache/2
Content-Location:·qa-http-and-lang.en.php
Vary:·negotiate,accept-language,Accept-Encoding
TCN:·choice
P3P:·policyref="http://www.w3.org/2001/05/P3P/p3p.xml"
Connection:·close
Transfer-Encoding:·chunked
Content-Type:·text/html; charset=utf-8
Content-Language:·en

Http-equiv属性がContent-Languageに設定されているメタ要素と同様に、HTTPヘッダーの値は言語タグのコンマ区切りリストにすることができます

参照: http://tools.ietf.org/html/rfc2616#section-14.12

RFC2616が言うように:

Multiple languages MAY be listed for content that is intended for
   multiple audiences. For example, a rendition of the "Treaty of
   Waitangi," presented simultaneously in the original Maori and English
   versions, would call for

       Content-Language: mi, en

http://validator.w3.org/check にアクセスして、これを検証しようとすると、次のようになります。

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Language" content="en,hu">
<meta charset="UTF-8">
</head>
<body>
<p>Test</p>
</body>
</html>

W3バリデータツールによると:

Line 5, Column 52: Using the meta element to specify the document-wide default language is obsolete. Consider specifying the language on the root element instead.

次に、htmlタグのlang属性で複数の言語が許可されていない場合は、HTTPヘッダーで指定することをお勧めします。

6
exoddus

lang属性は、ルートhtml要素またはmeta name="description"だけでなく、任意の要素に配置できます。したがって、<html lang="en"><body>The Chinese translation of Stack Overflow is <span lang="zh-Hans">堆叠溢位</span></body></html>を記述でき、視覚障害者が正しい音声を選択するためのビジュアルブラウザとオーディオブラウザが正しいフォントを選択するのに役立つため、これらのlang属性を入れるとよいでしょう。

一部のGoogle以外の検索エンジンは、廃止された<meta http-equiv="content-language">マークアップを引き続き必要としています(特に、BingとBaiduはまだこれらを必要としていると報告されています)が、それらの実装がhttp-equiv="content-language"にリストされている2つ以上の言語に対応するのに十分な標準準拠であるかどうかはわかりません(試してみてください見る)。

検索エンジンが複数の言語で(適切なlang属性を使用して)meta name="description"の複数のインスタンスを受け入れるかどうかについては、検索エンジンによって異なります。グーグルは、彼らが並べて翻訳するのが好きではないことを示しました、それは外国語を議論している私たちにとって残念です。

2
Silas S. Brown