Google Search zawiera kilka funkcji związanych z tłumaczeniem, które umożliwiają użytkownikom dostęp do przetłumaczonej treści. Jeśli Twoja sieć reklamowa nie działa poprawnie na przetłumaczonych stronach internetowych, musisz postępować zgodnie z zaleceniami podanymi w niniejszej instrukcji, aby Twoje reklamy były poprawnie wyświetlane, a atrybuty były poprawnie dołączone.
Gdy użytkownicy zwracają się do przetłumaczonej treści dostarczonej przez Google Translate z wyników wyszukiwania, Google odbiera stronę od wydawcy, zmienia adres URL źródłowego i tłumaczy stronę internetową po kliknięciu użytkownika do przetłumaczonego wyniku.
Jeśli Twoja sieć reklamowa zależy od pierwszego wydawcy URL, musisz przekonwertować URL Tłumacz Google, aby reklamy były wyświetlane poprawnie. Wykonaj następujące kroki, aby zdekodować nazwę hosta wydawcy:
function decodeHostname(proxyUrl) {
const parsedProxyUrl = new URL(proxyUrl);
const fullHost = parsedProxyUrl.hostname;
// 1. Извлеките префикс домена из имени хоста, удалив суффикс ".translate.goog"
let domainPrefix = fullHost.substring(0, fullHost.indexOf('.'));
// 2. Разделите параметр _x_tr_enc на части, используя запятую, и сохраните как encodingList
const encodingList = parsedProxyUrl.searchParams.has('_x_tr_enc') ?
parsedProxyUrl.searchParams.get('_x_tr_enc').split(',') : [];
// 3. Добавьте значение параметра _x_tr_hp к префиксу домена, если оно существует
if (parsedProxyUrl.searchParams.has('_x_tr_hp')) {
domainPrefix = parsedProxyUrl.searchParams.get('_x_tr_hp') + domainPrefix;
}
// 4. Удалите префикс '1-' из результата шага 2, если encodingList содержит '1' и результат начинается с '1-'.
if (encodingList.includes('1') && domainPrefix.startsWith('1-')) {
domainPrefix = domainPrefix.substring(2);
}
// 5. Удалите префикс '0-' из результата шага 3, если encodingList содержит '0' и результат начинается с '0-'.
// Установите isIdn в true, если префикс был удален, в false в противном случае.
let isIdn = false;
if (encodingList.includes('0') && domainPrefix.startsWith('0-')) {
isIdn = true;
domainPrefix = domainPrefix.substring(2);
}
// 6. Замените /-/ на точку (.)
// 7. Замените двойное тире на одно тире.
let decodedSegment = domainPrefix.replaceAll(/-/g, '.').replaceAll('--', '-');
// 8. Если isIdn равно true, добавьте префикс 'xn--'.
if (isIdn) {
decodedSegment = 'xn--' + decodedSegment;
}
return decodedSegment;
}
Możesz utworzyć testy jednostkowe dla swojego kodu za pomocą następnej tabeli. Podczas przesyłania proxyurl funkcja dekodehostname powinna zwrócić wartość oczekiwaną.
Poniższa tabela jest używana tylko do przetestowania nazwy hosta. Konieczne jest upewnienie się, że ścieżka, fragment i oryginalne parametry URL pozostają niezmienione.
| Proxyurl | Dekodehostname |
|---|---|
| Https: // przykład-kom. Tłumacz. Hogo | przykład.com |
| Https: // fo-example-kom. Tłumacz. Hogog | Fu. Przykład.Kom |
| Https: // fo --- przykład-kom. Tłumacz. Hogog | Fooo-example.kom |
| Https: //0-57xh060o-oko.salyt. Goog/? _C_TR_ents = 0 | HN-57XH060O.K. |
| https: // 1-en --us-example-com/? _x_tr_enc = 1 | En-usa exmple.k. |
| https: //lanfairpwlgwyngylgogogogorychwyrndrobwllantyogogogocho-co-uk.translate .Goog/? _ x_tr_hp = lllanfairpwlgwyngylgogogOndrobwllantysiliogogogoch.co.uk | LlLANFIREPVLGVALGOGERTHARTYCHYRORDROVLEARDILELIGOGOGOGOCHCH.SO.UK |
Jeśli masz pytania dotyczące integracji transferów w witrynie i prawidłowym wyświetlaniu reklamy, możesz skontaktować się z firmą SEO.Coles info@seo.computer Lub w WhatsApp +79202044461.
ID 168