Google Search fournit plusieurs fonctions liées à la traduction qui permettent aux utilisateurs d'accéder au contenu traduit. Si votre réseau publicitaire ne fonctionne pas correctement sur les pages Web traduites, vous devez suivre les recommandations données dans ce manuel afin que vos annonces soient correctement affichées et que les attributs soient correctement attachés.
Lorsque les utilisateurs se tournent vers le contenu traduit fourni par Google Translate à partir des résultats de la recherche, Google reçoit une page de l'éditeur, modifie l'URL source et traduit la page Web après que l'utilisateur a cliqué sur le résultat traduit.
Si votre réseau publicitaire dépend de l'éditeur URL initial, vous devez convertir l'URL Google Translate afin que les annonces soient affichées correctement. Suivez ces étapes pour décoder le nom de l'hôte de l'éditeur:
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;
}
Vous pouvez créer des tests unitaires pour votre code à l'aide du tableau suivant. Lors de la soumission de proxyurl, la fonction decodeHostName doit renvoyer la valeur attendue.
Le tableau suivant est utilisé uniquement pour tester le nom de l'hôte. Il est nécessaire de s'assurer que le chemin, le fragment et les paramètres d'URL d'origine sont maintenus inchangés.
| Proxyurlle | Décodehostname |
|---|---|
| Https: // Exemple-kom. Transavite. Hogo | example.com |
| Https: // fo-example-kom. Transavite. Hogg | Fu. Exemple.kom |
| Https: // fo --- Exemple-kom. Transavite. Hogg | 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: //lanfairpwlgwyngylgogogorychwyrndroBwllantyogogocho-co-uk.translate .goog /? _ x_tr_hp = lllanfairpwlgwyngylgogogorndobwllantysiliogogoch.co.uk | Lllanfirepvlgvalgogartychyrndrovlelandiliogogochch.so.uk |
Si vous avez des questions sur l'intégration des transferts sur votre site et le bon affichage de la publicité, vous pouvez contacter la société SEO. Puter SEO pour tout problème de courrier électronique info@seo.computer Ou dans WhatsApp +79202044461.
ID 168