Kilka stron mojej witryny pojawia się w wynikach wyszukiwania z oznaczeniem [Translate this page]
. Gdy kliknę że przenosi mnie do Tłumacza Google i tłumaczy moją stronę „z katalońskiego na angielski”.
Strony są w języku angielskim, ale zawierają kilka obcych słów (w rzeczywistości japońskich romanizacji, a nie katalońskiego), które wydają się potykać Google up.
Kilka tygodni temu ustawiłem tag html na <html lang="en">
, co na podstawie badań wydaje się być najlepszą metodą określenia języka dokumentu. Google zapisał w pamięci podręcznej strony z tym atrybutem, ale nadal oferuje tłumaczenie.
Dalsze badania doprowadziły mnie do atrybutu „notranslate”, który całkowicie uniemożliwia tłumaczenie: <html lang="en" class="notranslate">
. Problem polega teraz na tym, że użytkownicy nie mogą tłumaczyć z języka angielskiego na wybrany język!
Czy są jakieś inne rozwiązania, które zmuszają Google do analizowania mojej witryny tylko jako angielskiej?
Odpowiedź
Google nie Nie używaj metadanych języka, ponieważ odkryliśmy, że są one generalnie niepoprawne. Używanie nagłówków HTTP, metatagów HTML lub atrybutów lang na poziomie elementu nie ma wpływu na rozpoznawanie języków przez Google, więc jeśli nie chcesz tego robić w innych celach (np. Czytniki ekranu), prawdopodobnie możesz to pominąć.
Jedną z rzeczy, o których należy pamiętać, jest to, że Google nie ma problemu z rozpoznawaniem wielu języków na stronie. Więc nawet jeśli powinniśmy rozpoznać, że część strony jest napisana po włosku (być może, gdy piszesz o włoskich hotelach) i pokazujemy link „przetłumacz tę stronę” w wynikach wyszukiwania, prawdopodobnie nadal będziemy w stanie rozpoznać, że jest ona głównie w języku angielskim. Prostym sposobem na sprawdzenie tego jest skorzystanie z zaawansowanych opcji wyszukiwania w celu wybrania określonego język i zrób witrynę: -zapytanie o swoją witrynę.
Komentarze
Odpowiedź
Należy dodać metatag
<meta http-equiv="content-language" content="en" />
Możesz także wysłać nagłówek HTTP Content-Language z serwera, jeśli masz do niego dostęp.
Więcej informacji pod adresem http://www.w3.org/International/questions/qa-http-and-lang
Komentarze
- Lub ustaw nagłówek za pomocą Apache: Header set content-language " pl "
- @John, tak. ( miałem na myśli, że może wysłać nagłówek http z serwera )
- Hmm, podobno użycie
<html lang="en">
jest lepsze niż ten metatag, ale spróbuję i zobaczę, co się stanie 🙂 - Mam ' ten sam problem i ' sprawdziliśmy, że działa u mnie w Chrome 19 dev
-
<html lang=en>
nie naprawiłem tego za mnie, ale ' content-language ' metatag tak.
Odpowiedź
użyj tej meta, aby pominąć tłumaczenie Google
<meta name="google" content="notranslate" />
Komentarze
- To zostało faktycznie przesłane wcześniej jako odpowiedź, a następnie usunięte przez właściciela bez wyjaśnienia.@danlefree. Czy jest powód, dla którego to ' nie jest prawidłowe? nadal pojawia się na niedawno zaktualizowanej stronie pomocy Narzędzi dla webmasterów.
- @Su ' : według webmastera google tłumacz google powinien zostać pominięty. i jego działania w mojej witrynie.
- @krish czy nie ' czy nie robi tego, o czym wspomniałem w pytaniu, i nie uniemożliwia tłumaczenia użytkownikom?
- To może być totalitarne. Jeśli język użytkownika ' jest inny niż metatag content-language, prawdopodobnie potrzebujesz tłumaczenia na język.
- Jeśli klikniesz prawym przyciskiem myszy stronę internetową w chrome, nadal daje Ci możliwość tłumaczenia, nawet jeśli masz ten metatag …
Odpowiedź
Możesz spojrzeć na nagłówek żądania Accept-Language
, aby dynamicznie dodać / usunąć atrybut class="notranslate"
, jeśli ciąg języka zawiera en
.
Zgodnie z Web Master World możesz złożyć wniosek class="notranslate"
tylko na treść, na którą ma wpływ (tj. „kilka obcych słów”) i miejmy nadzieję, że unikniesz pola tłumaczenia na angielski / angielski.
Komentarze
- Ale gdyby chcieli przetłumaczyć z angielskiego na inny język, to zostałoby pobrane przez Google, a nie przez przeglądarkę, i prawdopodobnie Google użyłoby " Engl ish " w nagłówku accept-language.
- Google zwykle używa języka angielskiego w przypadku google.com, google.co.uk itp., ale co z robotem indeksującym google.de itp.? Niemniej jednak, selektywne użycie klasy wydaje się najlepszym wyjściem z tego problemu.
[Translate this page]
? Moje strony są wyświetlane w zaawansowanym tylko języku angielskim szukaj. Mój główny koncert n to użytkownicy – wyświetlenie linku do tłumaczenia oznacza, że cała strona jest w innym języku. Osobiście staram się unikać tych linków, gdy je widzę. Istnieją również inne witryny używające tych samych słów, które nie ' nie otrzymują linku do tłumaczenia …