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

  • Świetna wiedza John, dziękuję. Więc ' mówisz, że ' nie ma sposobu, aby Google nie wyświetlał [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 …
  • That ' jest poprawna – w tej chwili ' nie ma sposobu, aby " Przetłumacz tę stronę " znika ze strony webmastera '. ' przekażę jednak twoją opinię zespołowi, może to ' jest czymś, co mogą wziąć pod uwagę w przyszłości.
  • Dzięki @John. Głównym problemem jest to, że Google uważa, że strony są w języku katalońskim, podczas gdy nie są. ' Jestem zaskoczony, że Google całkowicie ignoruje tag języka – czemu nie użyć go przynajmniej jako wskazówki?
  • Czy jest jakaś aktualizacja, jak widziałem ludzie tu i ówdzie w internecie zadają to samo pytanie i w niektórych przypadkach powodują niekończącą się pętlę – superuser.com/questions/326938/…
  • Anegdotycznie muszę dodać, że osobiście widziałem to (w Chrome dla Windows), kiedy ' mw PHPMyAdmin gdzie Google uważa, że strona jest w języku włoskim, i oferuje tłumaczenie. To ' zawsze wydawało mi się dziwne, biorąc pod uwagę, że ' nigdy nie zauważyłem żadnych nieanglojęzycznych słów w PHPMyAdmin.

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *