Verwendest du auf deiner Website mehr als eine Sprache oder sprichst Nutzer verschiedener Länder an, die aber dieselbe Sprache sprechen? In diesem Artikel erfährst du alles zum hreflang-Attribut, dass dich in die Lage versetzt, viele SEO-Probleme mehrsprachiger und multinationaler Websites in den Griff zu bekommen.
Ich erkläre dir genau, wie das hreflang-Attribut funktioniert, welchen konkreten Herausforderungen du damit begegnen kannst und außerdem, wann, wo und wie du es einsetzen solltest.
Wozu du das hreflang-Attribut brauchst
Wer eine Website in nur einem Land mit nur einer Sprachversion betreibt, hat ein unangenehmes Thema weniger auf dem Tisch. Er muss sich nämlich nicht mit der multinationalen Ausrichtung seines Projekts auseinandersetzen. Man verzeihe mir diese sperrige Formulierung. Aber der Begriff Mehrsprachigkeit ist nicht ausreichend stark, um das Thema angemessen zu beschreiben.
Warum?
Nun, wenn du einen Webshop betreibst, der Kompressionsbandagen für Pferde in Deutschland, Österreich und der Schweiz verkauft, dann wird dabei nur eine Sprache verwendet. Das aber in gleich drei Ländern. Da dieser Shop aufgrund vieler guter Gründe, auf die ich später noch eingehen werde, in drei Länderversionen existiert, stündest du vor dem Problem, drei inhaltlich weitestgehend identische Websites zu betreiben.
Multinationale Ausrichtung ohne den Einsatz des hreflang-Attributs stellt Google vor ein Problem. Zumindest ist das die landläufige Meinung. Da hört man zum Beispiel solche Sätze wie:
Google hat ohne hreflang-Attribut das Problem, dass es die länderspezifische Ausrichtung der Website nicht einordnen kann.
Hier ist ein Perspektivenwechsel angesagt. Nicht Google hat ein Problem, wenn Mehrsprachigkeit technisch unsauber umgesetzt wurde. Der einzige mit einem Problem ist in diesem Fall der Website-Betreiber.
Was macht Google nämlich, wenn die geografische Ausrichtung einer Website unklar ist? Zuckt mit den Schultern und lässt Rankings zum Beispiel wegen Duplicate-Content schneller einbrechen, als es irgendein SEO auf dieser Welt schön finden könnte.
An dieser Stelle deshalb der wichtige Hinweis: wenn du eine mehrsprachige Website dein Eigen nennst, nimm dieses Thema sehr ernst. Zum Beispiel, indem du diesen Artikel bis zum Ende liest.
Was das hreflang-Attribut eigentlich ist
Zuallererst einmal – und das ist wichtig – ist hreflang kein Tag, sondern ein Attribut. Auch wenn die Bezeichnung „hreflang-Tag“ allerorten verwendet wird, ist diese Beschreibung schlicht falsch.
Ein Tag bezeichnet Start und/oder Ende eines HTML-Elements. Wie in diesem Beispiel, in dem das Element „Überschrift“ ein Tag vom Typ h1 erhalten hat:
<h1>Überschrift</h1>
Ein Attribut beschreibt eine genauere Bestimmung für ein Element und wird durch einen Wert ergänzt. Wie in diesem Beispiel, in dem das Element h1-Tag ein Attribut „class“ mit dem Wert „start“ erhalten hat:
<h1 class="start">Überschrift</h1>
Genau so funktioniert auch das hreflang-Attribut. Hier ein Beispiel:
<link rel="alternate" href="http://deineseite.com/" hreflang="en-uk“ />
In diesem Fall wird eine Website mit alternativer Sprachversion verlinkt. Wie du siehst, wird der Wert der Sprachversion für das Land (en-uk) dem Attribut hreflang zugeordnet.
Damit weißt du jetzt schon etwas, das schätzungsweise 90% aller SEOs nicht wissen oder vertauschen. Ein guter Einstieg, finde ich.
Wie das hreflang-Attribut funktioniert
Setzt man das hreflang-Attribut ein, sagt man Google damit, dass die Inhalte auf der Website auch in anderen Sprachen und – wichtig! – für andere Länder gedacht sind. Denn wie schon gesagt ist die Sprache allein als Unterscheidungsmerkmal nicht immer ausreichend.
hreflang bei gleicher Sprache für unterschiedliche Länder
Es gibt Fälle, in denen eine Website mit weitestgehend identischen Inhalten in ein und derselben Sprache mehrfach existieren muss. Zum Beispiel, weil man für jedes Land eine landestypische Top-Level-Domain verwenden will oder weil in jedem Land unterschiedliche inhaltliche Nuancen den Erfolg bestimmen können. Letzteres könnte in einem Shop vollkommen unterschiedliche Checkout-Prozesse nötig machen.
Hier sind drei Beispiele:
- Eine Website mit Varianten für Nutzer in Australien, England, den USA und Kanada (alle englischsprachig)
- Eine Website mit Varianten für Deutschland, Österreich und die Schweiz (alle deutschsprachig)
- Eine Website mit Varianten für Haiti, die Komoren und Madagaskar (alle französischsprachig)
Mit dem hreflang-Attribut stellst du in diesem Fall klar, dass die unterschiedlichen Länderversionen Teil desselben Konstrukts sind, aber für unterschiedliche Länder gedacht sind. Damit soll vor allem das Problem des Duplicate Content gelöst werden. Denn ganze Websites, die sich wie ein Ei dem anderen gleichen, können verheerende Auswirkungen auf die Rankings haben. Doch dazu später mehr.
hreflang bei unterschiedlichen Sprachen für unterschiedliche Länder
Vielleicht fragst du dich jetzt, wieso man hreflang verwenden sollte, wenn die Sprache sich unterscheidet. Immerhin ist bei unterschiedlichen Sprachversionen einer Website das Problem des Duplicate Contents in weite Ferne gerückt.
Es gibt aber noch eine andere Komponente des hreflang-Attributs.
Nehmen wir einmal an, Zalando wollte in Mexiko Fuß fassen. Eine Website, die sprachliche und rechtliche Rahmenbedingungen berücksichtigt, wäre der erste Schritt.
Leider ist Zalando zwar in Deutschland sehr bekannt, in Mexiko aber nicht. Rankings, wie sie hierzulande vorhanden sind, müssten in Südamerika erst mühsam aufgebaut, eine Relevanz zum Thema „Schuhkauf“ durch einen langwierigen Prozess erst verdient werden.
Das hreflang-Attribut könnte hier einen Autoritäts-Boost bedeuten. Würde also zalando.de auf zalando.mx verweisen, wäre das Signal an Google eindeutig:
Diese Seite gehört zum dir bekannten und von dir geschätzten zalando.de.
Wo du das hreflang-Attribut einbauen musst
Wie so oft gibt es hier mehrere Möglichkeiten. Abhängig vom Umfang deiner Website und den darauf angebotenen Inhalten stehen dir drei Varianten zur Verfügung:
Die hreflang-Einbindung über eine XML-Sitemap
Diese Variante ist die komplizierteste Methode. Damit passt sie sehr gut zu ihrem bevorzugten Einsatzort: große Websites mit vielen, vielen Unterseiten.
Hier ist ein Beispiel für den entsprechenden Teil der XML-Sitemap einer Website, die mehrere Sprachversionen enthält:
Das Code-Snippet enthält das Element für einen URL (Uniform Resource Locator). In diesem Fall die Version für deutschsprachige Kunden aus Deutschland (de-de).
Der rot markierte Teil enthält innerhalb des <loc>-Elements den URL, dem Alternativ-Versionen zugeordnet werden.
Der grün markierte Teil enthält die alternativen Sprach-/Länderversionen mit ihrem jeweiligen URL.
Der blau markierte Teil enthält die Selbstreferenzierung. Also den URL mit seiner Sprach- und Länderkennung, um den es hier eigentlich geht. Das ist übrigens ein wiederkehrendes Muster bei allen Methoden der hreflang-Einbindung. Es müssen immer alle Versionen genannt werden, die existieren, um die bidirektionale oder multidirektionale Verknüpfung zu gewährleisten. Es muss klar werden, zwischen welchen URLs eine Beziehung besteht.
Mit dem oben so schön eingefärbten Code-Snippet ist es nicht getan. Denn du musst den gesamten Block in unserem Beispiel noch 3 Mal wiederholen, um auf insgesamt 4 Sprachversionen zu kommen.
Dabei ändert du im Prinzip nur den URL innerhalb des <loc>-Elements, sodass jeder der weiter unten genannten URLs ein Mal vorkommt. Für die spanische Version würde das so aussehen:
Wie du siehst, hat sich bis auf das -Element nichts geändert. Und die selbstreferenzierende URL ist auch schon drin. So leicht ist das.
Der Vollständigkeit halber nun einmal der – zugegeben lange – Code in Gänze:
Entschuldige die Codewüste. Aber ich will ganz sichergehen, dass über die Funktionsweise keine Missverständnisse entstehen.
Übrigens sollte in der XML der XHTML-Namespace wie im Beispiel oben laut Google immer so angegeben werden:
xmlns:xhtml="http://www.w3.org/1999/xhtml"
Warum diese Methodik besonders für große Websites besonders gut geeignet ist?
Wenn die Auszeichnung zentral über eine XML-Sitemap gelöst wird, müssen keine hreflang-Attribute in jeder Unterseite eingebunden werden. Diese Vorgehensweise kann bei Websites mit tausenden von Sub-Seiten einen beachtlichen Beitrag zum Gesamtseitengewicht (DOM-Länge) bedeuten. Die Folge: ein höherer Page-Speed.
Der zweite Vorteil ist die einfachere Möglichkeit der Bearbeitung. Auch wenn das XML-Markup in diesem Fall recht komplex wirkt – eine weitere Sprachversion einzubinden oder eine zu entfernen kann nun innerhalb einer Datei geschehen. Es muss nicht jeder einzelne deiner vielen Unterseiten bearbeitet werden.
Die hreflang-Einbindung über den HTTP-Header
Wenn du auf deiner Website Inhalte verwendest, die eben nicht im HTML-Format dargestellt werden, kannst du das hreflang-Attribut im HTTP-Header einsetzen.
Das klassische Fallbeispiel für die Verwendung von hreflang im HTTP-Header sind PDF-Dokumente. Wenn du also PDFs für verschiedene Sprachen beziehungsweise Länder anbietest, dann kannst du das auf diese Weise lösen:
Link: <http://www.deinedomain.de/ebook/ebook-deutsch.pdf/>; rel="alternate"; hreflang="de"
Link: <http://www.deinedomain.de/ebook/ebook-spanisch.pdf/>; rel="alternate"; hreflang="es"
Link: <http://www.deinedomain.de/ebook/ebook-englisch.pdf/>; rel="alternate"; hreflang="en"
Solltest du die hreflang-Einbindung über den HTTP-Header deiner Website, also über den der HTML-Dateien lösen, kannst du diese im Chrome-Browser über die Entwickler-Console im Network-Reiter finden. Dort klickst du einfach auf den obersten Eintrag, um dir die entsprechenden HTTP-Header anzusehen.
Die hreflang-Einbindung im HTML-<head> deiner Website
Die simpelste Methode. Du musst im <head> jeder multinationalen Seite einfach alle existierenden Sprachversionen mit ihren URLs integrieren.
Zum Beispiel so:
<link rel="alternate" href="http://www.deinedomain.de/" hreflang="de-de" />
<link rel="alternate" href="http://www.deinedomain.de/at/" hreflang="de-at" />
<link rel="alternate" href="http://www.deinedomain.de/ch/" hreflang="de-ch" />
Auch hier gilt: es muss jede Sprachversion enthalten sein. Also auch die derjenigen Webseite, auf der sich der Code selbst befindet.
Diese Methode ist mein persönlicher Favorit. Weil sie nach meiner Erfahrung für die meisten Projekte absolut ausreichend ist und weil die Einbindung die wenigsten Probleme bereitet.
Wenn du allerdings mehr als 8 oder 10 Sprachen auf deiner Website verwendest und PDFs keine Rolle spielen, solltest du auf die XML-Sitemap-Variante ausweichen. Die Gründe habe ich oben im Detail erklärt.
Was außer hreflang noch einen Einfluss auf die geologische und sprachliche Einordnung hat
Das hreflang-Attribut ist nicht die einzige Möglichkeit, der Suchmaschine zu signalisieren, auf welche Länder und Sprachen deine Website ausgerichtet ist
Von Google zum Beispiel werden auch die folgenden Elemente herangezogen, um festzustellen, an wen deine Inhalte gerichtet sind und wo sich diese Personen befinden:
- Der Standort deines Servers
- Deine ccTLD
- Die Sprache deiner Inhalte
- Die Inhalte deiner Website (Anhaltspunkte wie zum Beispiel Währungen)
Diese Probleme löst das hreflang-Attribut für dich
In einigen der bisher behandelten Punkte klang es schon durch: das hreflang-Attribut ist ein echter Problemlöser. Allerdings auf vielen Ebenen. Ich möchte deshalb an dieser Stelle noch einmal die Effekte hervorheben, die ich für besonders hilfreich und relevant halte.
Bessere Rankingmöglichkeiten in neuen Märkten
Wann immer ein Unternehmen in einen anderen Markt expandiert, betritt es Neuland. Vor allem weil es selbst neu auf dem Markt ist. Demnach ist es dort noch nicht etabliert und vor allem der Suchmaschine nicht als Player in diesem Markt bekannt.
Mit dem hreflang-Attribut kannst du deiner neuen Länder-Website einen Vorteil verschaffen, indem du ihr eine Art Empfehlungsschreiben ausstellst. Ganz einfach mit ein paar Zeilen im, HTTP-Header oder deiner XML-Sitemap.
So signalisierst du eine autoritäre und inhaltliche Verwandtschaft mit deiner bereits etablierten und hoffentlich mit reichlich guten Rankings sowie Relevanz bestückten Ursprungs-Website.
Inhaltliche Kontrolle in den verschiedenen Ländern mit gleicher Sprache
Dieser Punkt ist weniger eine Problemlösung als vielmehr eine Möglichkeit, deine Website noch genauer auf deine ausländischen Zielgruppen auszurichten.
Das Beispiel, das ich in diesem Artikel schon mehrfach bemüht habe, betrifft die DACH-Konstellation. Die Sprache ist formal in Deutschland, Österreich und der Schweiz dieselbe, nämlich Deutsch. Es gibt aber länderspezifische Unterschiede. Und genau dieses sind es, die weitestgehend identische Duplikate deiner Website nötig machen können.
Ob das nun ein anderer Checkout-Prozess im Online-Shop, eine andere Formulierung bei Preisen (Deutschland: „für“, Österreich: „um“) oder rechtliche Vorschriften sind – sie alle können eine Kopie des Projekts mit den jeweiligen Anpassungen nötig machen.
Auch an dieser Stelle geht es mir um einen Perspektivenwechsel. hreflang ermöglicht es dir erst, eine weitere Website anzulegen, die vielleicht zu 80 % identisch mit der Ursprungs-Website ist, um so dem Rechnung zu tragen, was dich in einem anderen Land mit derselben Sprache erfolgreich macht.
Wieso das nicht auch ohne geht, steht im folgenden Absatz.
Kein Duplicate Content in den identischen Sprachen
Wenn du also eine Website betreibst, die sich an Kunden in Deutschland, Österreich und der Schweiz richtet, dann sprichst du zwar unterschiedliche Locations an, aber sprichst mit deinen Kunden in einer Sprache, lieferst ihnen also unter
- verschiedenen Subdomains – zum Beispiel deinedomain.de, at.deinedomain.de, ch.deinedomain.de
- verschiedenen Verzeichnissen – zum Beispiel deinedomain.de, deinedomain.de/at/, deinedomain.de/ch
- verschiedenen ccTLD (Country-Code-Top-Level-Domains ) – zum Beispiel deinedomain.de, deinedomain.at, deinedomain.ch
weitestgehend denselben Content.
Wann immer deine multinationalen und multilingualen Kombinationen Länder-/Sprachkonstellationen beinhalten, die ein und dieselbe Sprache für verschiedene Locations einsetzen, läufst du Gefahr, der Suchmaschine Duplicate Content zu liefern.
Warum das schlecht ist?
Suchmaschinen können so nicht bestimmen, welchen der doppelten Inhalte sie denn nun letztlich indexieren sollen. Es ist außerdem unklar, wie die einzelnen Sprachversionen ranken sollen, weil es einfach kein objektives Unterscheidungsmerkmal gibt.
Ganz grundsätzlich ist das Ziel einer Suchmaschine, die beste Antwort auf die Fragen des Suchenden zu liefern. Aber es ist unmöglich, zu beurteilen, welche von zwei identischen Versionen denn nun die bessere ist.
Es erscheint aus diesen Gründen außerdem für Google und seine Mitbewerber kaum erstrebenswert, auf den besten Plätzen ihrer SERPs (Search Engine Result Pages) eine Batterie an identischen Snippets zu zeigen.
Wenn uns also der richtige Einsatz des hreflang-Attributs davor bewahrt, DC zu erzeugen, dann sollte es in einsprachigen Mehrländerkombinationen unbedingt zum Einsatz kommen.
hreflang und rel=“canonical“
An dieser Stelle möchte ich einen Mythos entlarven. Nämlich den, dass hreflang dich immer vor Duplicate Content schützt. Natürlich kannst du auch weiterhin DC erzeugen, wenn du hreflang verwendest, um deine länderspezifischen Versionen voneinander abzugrenzen.
Wie? Ganz einfach: intern.
hreflang bewahrt dich nicht vor Problemen durch DC, wenn du innerhalb einer Länderversion identische Inhalte verwendest. Hier musst du weiterhin das rel-Attribut „canonical“ verwenden.
Wie du mit Top-Level-Domains, Verzeichnissen und Subdomains umgehen solltest
Die Überschrift verrät es schon: Du kannst das hreflang-Attribut mit ccTLDs (Country-Code-Top-Level-Domains), in Verzeichnissen oder auf Subdomains anwenden. Wenn deine Strategie es nötig macht, kannst du diese Formen auch mischen.
Für eine spanischsprachige Website, die sich an Menschen in Deutschland richtet, bedeutet das:
Verzeichnis
<link rel="alternate" hreflang="es-de" href="http://www.deinedomain.de/es/" />
ccTLD
<link rel="alternate" hreflang="es-de" href="http://www.deinedomain.es" />
Subdomain
<link rel="alternate" hreflang="es-de" href="http://es.deinedomain.de" />
Gemischt
<link rel="alternate" hreflang="es-de" href="http://www.deinedomain.de/en/" />
<link rel="alternate" hreflang="de-at" href="http://www.deinedomain.at" />
<link rel="alternate" hreflang="en-uk" href="http://uk.deinedomain.de" />
<link rel="alternate" hreflang="x" href="http://www.deinedomain.de/international" />
hreflang und x-default
Die letzte Zeile des obigen Beispiels enthält eine Variante, die ich bisher nicht erwähnt habe. Den Wert x-default.
Er ist eine Art Wildcard-Wert, der festlegt, dass die entsprechende Website all denen gezeigt wird, die nicht schon durch eine andere Sprachvariante bedient wurden. Das ist zum Beispiel bei großen Konzernseiten der Fall, die alle Besucher aus Ländern, die keine eigene Sprachvariante enthalten, auf eine Sprachauswahl-Webseite oder eben die Website mit dem größten sprachlichen Konsens – zum Beispiel Englisch – verweisen.
Die richtige Verwendung von ISO-Codes (inkl. ISO-Code-Generator)
Sie scheinen selbsterklärend zu sein. ISO-Codes bezeichnen die Sprache und das Land, für die die jeweilige Webseite gelten soll. Der erste Wert beschreibt immer die Sprache (ISO-639-1-Format). Der zweite Wert beschreibt das Land (ISO-3166-1-Alpha-2-Format).
Ein paar Beispiele:
- de-ch: Deutsch für Besucher aus der Schweiz
- de-de: Deutsch für Besucher aus Deutschland
- de-gb: Deutsch für Besucher aus Großbritannien
Wenn du möchtest, dass das Land eine Rolle spielt, reicht es nicht, einfach nur den ersten Teil des ISO-Codes zu verwenden. In diesem Beispiel „de“. Die entsprechende Seite würde unter Umständen allen angezeigt, die mit einer deutschen Spracheinstellung in ihrem Browser deine Seite besuchen.
Hättest du also einen Online-Shop mit österreichischer Variante, der für österreichische Besucher wichtige Funktionen erfüllen muss und würdest für die deutsche Variante den verkürzten ISO-Code „de“ verwenden, dann würden Kunden aus Österreich unter Umständen auf der Website mit den Inhalten und Preisen für Deutschland landen. Die Folge: Versandkostenprobleme, falsche Ansprache, Chaos.
Kommuniziere also am besten immer unmissverständlich, für welche Sprache und welches Land deine Webseiten gelten sollen, indem du stets die vollen ISO-Codes mit beiden Komponenten verwendest. Es sei denn, das Land spielt wirklich keine Rolle.
ISO-Code-Generator für hreflang
Du möchtest den richtigen ISO-Code für deine Website ermitteln? Dann wähle einfach das Land und die Sprache aus, in der deine Website erscheinen soll:
[hreflang_iso_code_generator]
Wie du Fehler beim Einsatz des hreflang-Attributs erkennst
Das Netz ist voll von Fragen verzweifelter Menschen, die Probleme bei der Einbindung des hreflang-Attributs haben. Häufig werden sie nur bei der Implementierung bemerkt. Manchmal muss aber auch eine bestehende Implementierung geprüft werden. Dazu hast du zwei Möglichkeiten:
Probleme mit hreflang über die Google Search Console feststellen
Damit du in der Search Console überhaupt erkennen kannst, ob etwas im Argen liegt, musst du sie zuerst korrekt einrichten. Zumindest dann, wenn deine Sprachversionen nicht über eine ccTLD (Country Code Top Level Domain) wie .at, .ch oder .de verfügen. Ist das jedoch der Fall, wird die Zuordnung auch durch sie festgelegt.
Klicke dazu zuerst auf Suchanfragen und dann auf Internationale Ausrichtung.
In jedem Fall sollten die unterschiedlichen Sprachvarianten in der Search Console als separate Websites (Properties) angelegt sein.
Ob du oder deine Vorgänger nun bei der Einbindung etwas falsch gemacht haben, siehst du, wenn du dir auf der Suchanfragen-Seite die Impressionen aus den jeweiligen Zielländern ansiehst. Siehst du keine, hast du sehr wahrscheinlich etwas falsch gemacht.
[voice voice_id=“1592″]
Mythen rund um den Einsatz des hreflang-Attributs
Zum Schluss möchte ich noch vier Wandersagen über den Einsatz und die Wirkung des hreflang-Attributs entkräften, die sich hartnäckig halten. Vielleicht spare ich dir damit ein wenig – oder sogar viel – Arbeit und Ärger.
hreflang-Mythos 1: hreflang wird meinem internationalen Content bessere Positionen in den SERPs verschaffen
Ganz einfach: Nein. Wird es nicht. Weil der Einsatz des hreflang-Attributs einfach kein Ranking-Faktor ist.
hreflang-Mythos 2: Auf einer Seite, die das hreflang-Attribut verwendet, brauche ich kein rel=“canonical“ einsetzen
Das stimmt einfach nicht. Solange du rel=“canonical“ auf deiner Website selbstreferentiell anlegst, ist alles gut.
hreflang-Mythos 3: Durch den Einsatz von Auto-Redirects kann ich auf den Einsatz von hreflang verzichten
Der Einsatz von Auto-Redirects auf Basis der IP-Adresse des Website-Besuchers ist eine bequeme Sache. Aber leider ist diese Praxis auch gefährlich. Du kannst damit nämlich auch den Google-Bot in die falsche Richtung schicken.
Nehmen wir einmal an, du leitest den aus Irland kommenden Google-Bot aufgrund deiner Strategie auf deine US-amerikanische Website weiter, weil du denkst, er sei ein englischsprachiger Besucher. Dann kann er deine nicht-englischen Sprachversionen nicht indexieren. Doof.
hreflang-Mythos 4: Beim Einsatz des hreflang-Attributs kann ich die URLs einfach abkürzen
Das kann man machen. Aber dann funktioniert das Ganze vielleicht nicht. Also prüfe am besten genau, ob die Einbindung bei dir vielleicht so aussieht:
<link rel="alternate" hreflang="de-at" href="/at/" />
und korrigiere sie in dieses Format:
<link rel="alternate" hreflang="de-at" href="https://www.deinedomain.de/at/" />
Conclusio
hreflang ist bei weitem nicht so komplex und angsteinflößend, wie es den Anschein hat. Sicher – man muss es erst einmal verstanden haben. Aber sobald der gedankliche Knoten geplatzt ist, sehe ich keinen Grund, warum du es nicht erfolgreich für dich einsetzen könntest.
Egal, was du mit dem hreflang-Attribut anstellen möchtest, beachte dabei vor allem eine Regel: sei so pedantisch, wie es nur geht.
Schreibe deine ISO-Codes also richtig und sei beim Einsetzen deiner Attribute absolut gewissenhaft. Denn die größte Gefahr bei diesem Thema ist nicht die eigentlich überschaubare Komplexität des Themas, sondern eine schludrige Durchführung.
Nimmst du dir die nötige Zeit, kann deinem Projekt nichts passieren.