Was ist der Unterschied zwischen den folgenden zwei HTML-Meta-Tags zur Angabe des Inhalts spanischer Webseiten:
<meta name="language" content="Spanish">
und
<meta http-equiv="content-language" content="es">
Antworten:
<meta name="language" content="Spanish">
Dies ist in keiner Spezifikation definiert (einschließlich des HTML5-Entwurfs ).
<meta http-equiv="content-language" content="es">
Dies ist die Version eines echten HTTP-Headers für arme Männer und sollte wirklich in den Headern ausgedrückt werden. Zum Beispiel:
Content-language: es
Content-type: text/html;charset=UTF-8
Es heißt, dass das Dokument für spanischsprachige Personen gedacht ist (dies bedeutet jedoch nicht, dass das Dokument auf Spanisch verfasst ist; es könnte beispielsweise im Rahmen eines Sprachkurses für spanischsprachige Personen auf Englisch verfasst sein).
Das Feld Content-Language-Entity-Header beschreibt die natürliche (n) Sprache (n) der Zielgruppe für die eingeschlossene Entität. Beachten Sie, dass dies möglicherweise nicht allen im Entity-Body verwendeten Sprachen entspricht.
Wenn Sie angeben möchten, dass ein Dokument in Spanisch verfasst ist, verwenden Sie:
<html lang="es">
meta http-equiv
existiert und sollte zusammen mit HTTP-Headern gesetzt werden. Schade, dass es zwei Stellen gibt, an denen Sie Sprache / Codierung angeben können und dass es keine klare Lösung von W3C / IETF gibt.
Sie haben nach Unterschieden gefragt, aber Sie können diese beiden nicht ganz vergleichen.
Beachten Sie, dass dies <meta http-equiv="content-language" content="es">
veraltet ist und in HTML5 entfernt wurde. Es wurde verwendet, um "eine dokumentweite Standardsprache" anzugeben, deren http-equiv
Attribut es zu einer Pragma-Direktive macht (die einen solchen HTTP- Antwortheader simuliert Content-Language
, der nicht vom Server gesendet wurde, da er keinen echten überschreiben kann).
In Bezug darauf <meta name="language" content="Spanish">
finden Sie kaum verlässliche Informationen. Es ist nicht Standard und wurde wahrscheinlich als SEO-Behelf erfunden .
Die HTML5 W3C-Empfehlung fordert die Autoren jedoch auf, das lang
Attribut für html
Stammelemente zu verwenden (Attributwerte müssen gültige BCP 47-Sprach-Tags sein ):
<!DOCTYPE html>
<html lang="es-ES">
<head>
…
Wenn Sie die Inhaltssprache für die Anweisung von Suchmaschinenrobotern angeben möchten, sollten Sie dieses Zitat aus der Hilfe der Google Search Console auf mehrsprachigen Websites berücksichtigen :
Google verwendet nur den sichtbaren Inhalt Ihrer Seite, um deren Sprache zu bestimmen. Wir verwenden keine Sprachinformationen auf Codeebene wie
lang
Attribute.
Google empfiehlt die Verwendung von hreflang. Weitere Informationen finden Sie hier
Beispiele:
<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />
en-ca
und a Seite mit nl-nl
, das en-ca
wird in die Suchergebnisse in Kanada aufgenommen, die Seite mit Alternative nl-nl
kann in den Ergebnissen für die Niederlande gefunden werden ..
HTML5 empfiehlt auch die Verwendung <html lang="es-ES">
des Lang-Tags für Kleinbuchstaben gibt nur Folgendes an: Sprachcode Der Großbuchstabe gibt Folgendes an: Ländercode
Dies ist sehr nützlich für ie.Chrome, wenn der Browser vorschlägt, Webinhalte zu übersetzen (dh Google Übersetzer).
Ein anderes Sprach-Meta-Tag ist og: locale und Sie können das og: locale-Meta-Tag für soziale Medien definieren
<meta property="og:locale" content="en" />