Ενότητα 3 · 3.6
Πολύγλωσσα sites και hreflang
Ενότητα 3: Η τεχνική βάση μιας σελίδας · Χρόνος ανάγνωσης: 12 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα μπορείτε να ρυθμίσετε σωστά το hreflang για ένα site σε πολλές γλώσσες ή για πολλές χώρες και να ελέγξετε αν οι παραπομπές είναι αμοιβαίες.
Βασικές έννοιες: γλωσσική έκδοση, hreflang, κωδικός γλώσσας (ISO 639-1), κωδικός χώρας (ISO 3166-1 alpha-2), κωδικός γραφής (ISO 15924), x-default, αμοιβαιότητα (αντίστροφη παραπομπή), παραπομπή στον εαυτό της, HTML, κεφαλίδα HTTP ή sitemap, ξεχωριστές διευθύνσεις ανά γλώσσα, όχι αυτόματη ανακατεύθυνση βάσει γλώσσας, χαρακτηριστικό lang
Το πρόβλημα: ποια έκδοση εμφανίζεται;
Το Bloemenatelier Lotte μεγαλώνει. Δημιουργείται μια αγγλική έκδοση του site για τουρίστες και expats, και μια γερμανική για πελάτες ακριβώς πέρα από τα σύνορα. Η ίδια σελίδα με νυφικές ανθοδέσμες υπάρχει πλέον τρεις φορές:
https://www.example.com/bruidsboeketten (Ολλανδικά)
https://www.example.com/en/bridal-bouquets (Αγγλικά)
https://www.example.com/de/brautstraeusse (Γερμανικά)Σε κάθε αναζήτηση, μια μηχανή αναζήτησης πρέπει να επιλέξει ποια από τις τρεις θα εμφανίσει. Κάποιος στην Κολωνία που αναζητά στα γερμανικά πρέπει να δει τη γερμανική έκδοση, όχι την ολλανδική. Με το hreflang λέτε στη μηχανή αναζήτησης ποιες σελίδες είναι γλωσσικές εκδόσεις η μία της άλλης και για ποια γλώσσα ή ποια χώρα προορίζεται κάθε έκδοση.
Το hreflang δεν είναι κόλπο για την κατάταξη. Απλώς φροντίζει να εμφανίζεται η σωστή έκδοση στη σωστή θέση. Ούτε αναγνωρίζει τη γλώσσα: η Google αναφέρει ότι δεν χρησιμοποιεί το hreflang ούτε το χαρακτηριστικό lang της HTML για να προσδιορίσει τη γλώσσα μιας σελίδας· αυτό το κάνει μόνη της, από το κείμενο. Ρυθμίστε όμως σωστά το χαρακτηριστικό lang (<html lang="nl">), για τους browsers, τα προγράμματα μετάφρασης και τους αναγνώστες οθόνης.
Πρώτα η βάση: ξεχωριστές διευθύνσεις
Η Google συνιστά ξεχωριστή διεύθυνση για κάθε γλωσσική έκδοση και αποθαρρύνει την εναλλαγή γλώσσας με cookies ή ρυθμίσεις του browser στην ίδια διεύθυνση. Ο λόγος είναι πρακτικός: το Googlebot κάνει crawling συνήθως από τις Ηνωμένες Πολιτείες. Αν το περιεχόμενο σε μία διεύθυνση αλλάζει ανάλογα με το ποιος την επισκέπτεται, το Googlebot ίσως βλέπει μόνο μία έκδοση.
Για τον ίδιο λόγο: μην ανακατευθύνετε αυτόματα τους επισκέπτες σε άλλη γλωσσική έκδοση με βάση τη γλώσσα ή την τοποθεσία τους. Η Google το αποθαρρύνει ρητά. Ένας Ολλανδός σε διακοπές στη Γερμανία θέλει το ολλανδικό site· προτιμήστε μια σαφή επιλογή γλώσσας στη σελίδα και αφήστε όλους να έχουν πρόσβαση σε όλες τις εκδόσεις.
Αν χρησιμοποιείτε χώρες αντί για γλώσσες, με ξεχωριστά domains όπως example.de και example.nl, ισχύει το ίδιο. Οι εκδόσεις δεν χρειάζεται να βρίσκονται στο ίδιο domain.
Πώς μοιάζει το hreflang
Στο <head> κάθε γλωσσικής έκδοσης υπάρχει το ίδιο σύνολο γραμμών:
<link rel="alternate" hreflang="nl" href="https://www.example.com/bruidsboeketten">
<link rel="alternate" hreflang="en" href="https://www.example.com/en/bridal-bouquets">
<link rel="alternate" hreflang="de" href="https://www.example.com/de/brautstraeusse">
<link rel="alternate" hreflang="x-default" href="https://www.example.com/bruidsboeketten">Τέσσερις κανόνες που πρέπει να γνωρίζετε:
- Κάθε έκδοση αναφέρει τον εαυτό της και όλες τις άλλες. Η αγγλική σελίδα έχει λοιπόν ακριβώς τις ίδιες τέσσερις γραμμές, μαζί με τη γραμμή για το
enπου δείχνει στον εαυτό της. - Οι παραπομπές πρέπει να είναι αμοιβαίες. Αν η ολλανδική σελίδα δείχνει στη γερμανική, η γερμανική πρέπει να δείχνει πίσω στην ολλανδική. Η Google αναφέρει: αν δύο σελίδες δεν δείχνουν η μία στην άλλη, οι παραπομπές αγνοούνται. Αυτό είναι το πιο συχνό λάθος, και γι' αυτό το ελέγχει η άσκηση αυτού του μαθήματος.
- Πλήρεις διευθύνσεις. Με το
https://. Μια διαδρομή όπως/en/bridal-bouquetsή//www.example.com/en/...δεν μετράει. - Σε ένα σωστό
<head>. Οι γραμμές βρίσκονται στο<head>της HTML. Αν κάτι διακόψει νωρίτερα το head, για παράδειγμα ένα μεμονωμένο<img>ή<div>που δεν ανήκει εκεί, μια μηχανή αναζήτησης μπορεί να θεωρήσει ότι το head έκλεισε και να χάσει τα υπόλοιπα.
Οι κωδικοί
Η τιμή του hreflang είναι ένας κωδικός γλώσσας, προαιρετικά με έναν κωδικό χώρας μετά:
| Κωδικός | Σημασία |
|---|---|
nl | Ολλανδικά, για όποιον μιλά ολλανδικά |
nl-BE | Ολλανδικά για το Βέλγιο |
de-AT | Γερμανικά για την Αυστρία |
en-GB | Αγγλικά για το Ηνωμένο Βασίλειο |
zh-Hant | Κινεζικά σε παραδοσιακή γραφή (κωδικός γραφής ISO 15924) |
x-default | Η σελίδα εναλλακτικής επιλογής: για όλους όσους δεν ταιριάζει καμία άλλη έκδοση |
Ο κωδικός γλώσσας προέρχεται από το ISO 639-1 (δύο γράμματα), ο κωδικός χώρας από το ISO 3166-1 alpha-2. Τα κεφαλαία δεν έχουν σημασία, αλλά η συνήθεια είναι η γλώσσα με πεζά και η χώρα με κεφαλαία. Τρεις παγίδες:
- Μόνο χώρα δεν γίνεται. Το
hreflang="be"σημαίνει λευκορωσικά (ο κωδικός γλώσσαςbe), όχι Βέλγιο. Η χώρα μπαίνει πάντα μετά από μια γλώσσα:nl-BEήfr-BE. - Το
en-UKδεν υπάρχει. Ο κωδικός χώρας του Ηνωμένου Βασιλείου είναιGB. Η Google αναφέρει ότι κωδικοί όπωςEU,UNήUKδεν έχουν κανένα αποτέλεσμα. - Χρησιμοποιήστε χώρα μόνο αν οι εκδόσεις διαφέρουν πραγματικά (άλλες τιμές, νόμισμα, παράδοση, ορθογραφία). Αν έχετε μία γερμανική έκδοση για όλους, χρησιμοποιήστε απλώς
de.
x-default
Το x-default είναι προαιρετικό. Με αυτό ορίζετε τη σελίδα για επισκέπτες στους οποίους δεν ταιριάζει καμία από τις εκδόσεις σας, για παράδειγμα κάποιον που μιλά γαλλικά. Συχνά είναι η κύρια γλώσσα σας ή μια σελίδα όπου ο επισκέπτης επιλέγει ο ίδιος γλώσσα.
Τρεις τρόποι, επιλέξτε έναν
Η Google αναγνωρίζει τρεις ισοδύναμους τρόπους για να δηλώσετε το hreflang:
- Στην HTML, με γραμμές
<link>στο head, όπως παραπάνω. Ο πιο διαδεδομένος. Ως κεφαλίδα HTTP
Link, χρήσιμο για αρχεία χωρίς HTML, όπως ένα pdf:Link: <https://www.example.com/en/price-list.pdf>; rel="alternate"; hreflang="en"- Στο sitemap, με γραμμές
xhtml:linkανά<url>. Χρήσιμο για μεγάλα sites, επειδή οι σελίδες δεν γίνονται βαρύτερες.
Δεν χρειάζεται να τους συνδυάσετε. Αν χρησιμοποιείτε περισσότερους από έναν, πρέπει να λένε ακριβώς το ίδιο.
hreflang και canonical μαζί
Το hreflang και το canonical (μάθημα 3.5) συνεργάζονται, αλλά μην τα μπερδεύετε:
- Κάθε γλωσσική έκδοση έχει ένα canonical προς τον εαυτό της. Η αγγλική σελίδα δεν είναι αντίγραφο της ολλανδικής, άρα δεν δείχνει στην ολλανδική ως κανονική διεύθυνση. Αν το κάνετε, λέτε ουσιαστικά "η αγγλική σελίδα δεν υπάρχει στην πραγματικότητα", και η σελίδα βγαίνει από το ευρετήριο.
- Οι διευθύνσεις στο hreflang είναι οι κανονικές διευθύνσεις των εκδόσεων. Αν το hreflang δείχνει σε μια διεύθυνση που ανακατευθύνει, επιστρέφει 404, έχει noindex ή έχει canonical αλλού, η ομάδα σπάει.
Όταν η Google επιλέγει την κανονική διεύθυνση, προτιμά διευθύνσεις που ανήκουν σε μια ομάδα hreflang. Μια σωστή ομάδα βοηθά λοιπόν και την κανονικοποίηση (canonicalization) του site σας.
Στην πράξη: αφήστε το σύστημα να το κάνει
Η χειροκίνητη συντήρηση του hreflang είναι επιρρεπής σε λάθη: με δέκα γλώσσες και εκατό σελίδες, πρόκειται για χίλιες γραμμές που πρέπει όλες να είναι σωστές. Αφήστε το σύστημα του site σας να το κάνει. Ο AI Builder της WebOké, σε ένα πολύγλωσσο site, τοποθετεί σε κάθε σελίδα παραπομπές hreflang προς την ίδια σελίδα στις άλλες γλώσσες, καθώς και ένα x-default προς την κύρια γλώσσα, και αφήνει σκόπιμα εκτός ομάδας μια σελίδα που δεν έχει μεταφρασμένη αντίστοιχη. Στο WordPress το ίδιο κάνουν τα πολύγλωσσα plugins. Σε άλλα εργαλεία δημιουργίας ιστοσελίδων θα το βρείτε με ονόματα όπως "γλώσσες" ή "διεθνές". Στη συνέχεια ελέγξτε μόνοι σας αν οι παραπομπές είναι σωστές προς τις δύο κατευθύνσεις· αυτό κάνει η άσκηση.
Σύνοψη
- Το hreflang δηλώνει ποιες σελίδες είναι γλωσσικές ή εθνικές εκδόσεις η μία της άλλης· δεν αναγνωρίζει γλώσσα και δεν είναι κόλπο για την κατάταξη.
- Κάθε έκδοση έχει δική της διεύθυνση, χωρίς αυτόματη ανακατεύθυνση βάσει γλώσσας ή τοποθεσίας.
- Κάθε έκδοση αναφέρει τον εαυτό της και όλες τις άλλες, με πλήρεις διευθύνσεις, και κάθε παραπομπή πρέπει να επιστρέφει· διαφορετικά η Google την αγνοεί.
- Κωδικοί: γλώσσα από το ISO 639-1, προαιρετικά με χώρα από το ISO 3166-1 alpha-2 (
en-GB, όχιen-UK)·x-defaultγια όλους τους υπόλοιπους. - Κάθε έκδοση έχει canonical προς τον εαυτό της· το hreflang δείχνει μόνο σε κανονικές διευθύνσεις που επιστρέφουν 200.
Κουίζ
Άσκηση
Άσκηση A3.6: Είναι αμοιβαίες οι παραπομπές hreflang σας; Εισαγάγετε τη διεύθυνση μιας σελίδας που υπάρχει σε περισσότερες γλώσσες. Το πρόγραμμα συλλέγει τις παραπομπές hreflang από το head και από την κεφαλίδα Link, ελέγχει τους κωδικούς και την παραπομπή στον εαυτό της, ανακτά κάθε άλλη γλωσσική έκδοση και εξετάζει αν αυτή δείχνει πίσω, επιστρέφει 200, δεν έχει noindex και έχει canonical προς τον εαυτό της. Δεν έχετε δικό σας πολύγλωσσο site; Χρησιμοποιήστε το https://european-union.europa.eu/index_nl.
Περαιτέρω ανάγνωση
- Google Search Central, Ενημέρωση της Google για τοπικές εκδόσεις της σελίδας σας: https://developers.google.com/search/docs/specialty/international/localized-versions
- Google Search Central, Διαχείριση πολύγλωσσων και διεθνών ιστοτόπων: https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites
- Google Search Central, Ενοποίηση διπλότυπων URL: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Κωδικοί γλώσσας ISO 639 (Library of Congress): https://www.loc.gov/standards/iso639-2/php/code_list.php
