Ich arbeite an einer Website, deren Inhalt je nach Bundesland/Bundesstaat des Nutzers unterschiedlich ist.
Ist es gültig, den Unterteilungscode wie unten beschrieben zu hreflang
hinzuzufügen?
<link rel="alternate" hreflang="en-ca-ab" href="https://www.example.com/ca/ab/example/"/>
Wenn nicht, gibt es eine andere Möglichkeit, Suchmaschinen mitzuteilen, dass der Inhalt für eine bestimmte Provinz/ein bestimmtes Bundesland spezifisch ist?
Kurz gesagt, nein. Der Abschnitt "Unterstützte Sprach-/Regionscodes" in Googles Hreflang-Richtlinien ist ziemlich eindeutig:
Der Wert des Attributs hreflang gibt die Sprache (im Format ISO 639-1) und optional die Region (im Format ISO 3166-1 Alpha 2) einer alternativen URL an.
Die Verwendung des Wortes "Region" dort ist vielleicht verwirrend. ISO 3166-1 Alpha 2-Codes kennzeichnen Länder 1.
Was Sie wahrscheinlich tun möchten, ist lokales SEO, das sich mehr auf Inhalte und externe Optimierungen stützt, um Suchanfragen mit lokaler Absicht zu zielen. Es würde den Rahmen Ihrer Frage sprengen, dies hier zu behandeln.
1 Um wirklich pedantisch zu sein, ist selbst dies semantisch problematisch. Beispielsweise haben die Mitgliedsländer des Vereinigten Königreichs keine eigenen Codes, obwohl es sich um Länder handelt (keine Bundesstaaten oder Provinzen).
Die HTML5-Spezifikation definiert hreflang
folgendermaßen:
Das hreflang-Attribut für Elemente, die Hyperlinks erstellen, gibt, falls vorhanden, die Sprache der verknüpften Ressource an. Es ist rein beratend. Der Wert muss ein gültiges BCP 47-Sprachkennzeichen sein. [BCP47] Benutzeragenten dürfen dieses Attribut nicht als maßgeblich betrachten. Beim Abrufen der Ressource dürfen Benutzeragenten nur Sprachinformationen verwenden, die der Ressource zugeordnet sind, um ihre Sprache zu bestimmen, und keine Metadaten, die in der Verknüpfung mit der Ressource enthalten sind.
(siehe https://www.w3.org/TR/html5/links.html#attr-hyperlink-hreflang )
BCP47 ist ein IETF-Dokument " Tags zum Identifizieren von Sprachen ". Es wird detailliert beschrieben, wie ein Sprach-Tag gebildet wird und welcher Inhalt möglich ist.
Das Parsen ist im Grunde genommen language[-script][-region]*("-" variant)*("-" extension)
:
en
aus Ihrem Fall, mit optionalen erweiterten Sprachuntertags.CA
,Also scheint en-ca-ab
für mich nicht gültig zu sein. Der ISO 3166-2-Code für Alberta in Kanada lautet "CA-AB". Sie können ihn jedoch nicht als unveränderte Variante verwenden (aufgrund des Bindestrichs und weil jede Variante in einer Registrierung registriert ist).
Wenn Sie Ihre Zeichenfolge unter http://unicode.org/cldr/utility/languageid.jsp eingeben, werden Sie feststellen, dass sie als ungültig gekennzeichnet ist. Ich sehe auch keine Registrierung für "Alberta" in https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Kurz gesagt, denken Sie wirklich, dass Sie die Sprache Englisch-Kanadisch als in Alberta gesprochen definieren müssen, weil sie sich so stark von der Sprache Englisch-Kanadisch unterscheidet. Dies wäre das gültige Sprachkennzeichen en-CA
?
Denken Sie daran, dass Sie eine Sprache identifizieren, keine Geografie. Wenn Sie angeben möchten, dass ein Teil Ihrer Website nur mit dieser bestimmten Provinz in Zusammenhang steht (z. B. wenn Sie nur dort Dienste bereitstellen), handelt es sich nicht um ein Sprachproblem und sollte daher nichts mit hreflang
zu tun haben.
In Bezug auf hreflang können Sie Ihre Inhalte nicht detaillierter als mit dem Schema der Sprache und des Landes angeben.
Ich würde jedoch dringend empfehlen, strukturierte Daten zu verwenden, insbesondere https://schema.org/audience und https://schema.org/spatialCoverage . Mit beiden Eigenschaften können Sie den abgedeckten Bereich sehr genau kommunizieren.
Die Frage, die mir unbeantwortet bleibt, lautet: Wie liefern Sie technisch unterschiedliche Inhalte in unterschiedliche Regionen? IP-basiert? Funktioniert es genau genug für Sie?