Google Search biedt verschillende functies met betrekking tot de vertaling waarmee gebruikers toegang hebben tot de vertaalde inhoud. Als uw advertentienetwerk niet goed werkt op de vertaalde webpagina's, moet u de aanbevelingen in deze handleiding volgen, zodat uw advertenties correct worden weergegeven en attributen correct zijn aangesloten.
Wanneer gebruikers zich wenden tot de vertaalde inhoud die door Google Translate van zoekresultaten wordt verstrekt, ontvangt Google een pagina van de uitgever, wijzigt de bron -URL en vertaalt de webpagina nadat de gebruiker op het vertaalde resultaat heeft geklikt.
Als uw advertentienetwerk afhankelijk is van de initiële URL -uitgever, moet u de URL Google Translate converteren zodat de advertenties correct worden weergegeven. Volg deze stappen om de naam van de publisherhost te decoderen:
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;
}
U kunt eenheidstests maken voor uw code met behulp van de volgende tabel. Bij het indienen van proxyurl moet de functie DecodeHOSTNAME de verwachte waarde retourneren.
De volgende tabel wordt alleen gebruikt om de naam van de host te testen. Het is noodzakelijk om ervoor te zorgen dat het pad-, fragment- en originele URL -parameters ongewijzigd worden gehouden.
| Proxyurl | DecodeHostName |
|---|---|
| Https: // Voorbeeld-kom. Translavite. Limiet | Voorbeeld.com |
| Https: // fo-example-kom. Translavite. Hogog | Fu. Voorbeeld. |
| Https: // fo --- voorbeeld-kom. Translavite. 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: //lanfairpwlgwyngylgogogogoGorychwyrnDroBllantyogogocho-uk.translate .goog/? _ X_TR_HP = LLLANFAIRPWLGWYNGYLGOGOGOGORNDROBLLANTYSILIOGOGOCH.CO.UK | LllanfirePVlgValgogGartychyrndrovlelandiliogogogchch.so.uk |
Als u vragen heeft over de integratie van transfers op uw site en de juiste weergave van advertenties, kunt u contact opnemen info@seo.computer Of in whatsapp +79202044461.
ID 168