сохранять параметры URL с партнерских сайтов

Вопрос или проблема

Пожалуйста, помогите,

Я использую сайт на wp как посредника между, например, новостным сайтом, давайте назовем его A, и фактическим сайтом, который, например, продает определенный продукт, давайте назовем его B.

A —- посреднический сайт — B

новостной сайт —- wp — сайт продукта

Что мне нужно, так это сохранить 2 URL-параметра с сайта A на сайт B. Хорошим примером, который иллюстрирует вышеизложенное, является новостной сайт, который имеет статью о НБА на сайте A. Одна из ссылок является рекламой, например, баскетбольных кроссовок. Если клиент щелкает по ней, он попадает на сайт wp-посредника, где он может выбрать цвет, стиль и т.д. Затем, если он решает что-то купить, его перенаправляют на сайт B.

Что мне нужно, и это крайне важно, так это то, чтобы сайт wp передавал 2 URL-параметра с исходной ссылки на сайте A.

Я думал, что для сайта wp, когда он видит “a href”, добавить параметры из переменной 1 и переменной 2, чтобы все ссылки имели эти 2 параметра и передавали их.

Могу ли я использовать следующий скрипт?

function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {}, tokens, re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
    params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
} return params;}

var query = getQueryParams(document.location.search);
$('a').each(function () {
var href = $(this).attr('href');
if (href) {
    href += (href.match(/\?/) ? '&' : '?') + 'affiliate=" + query.affiliate + "&pname=" + query.pname;
    $(this).attr("href', href);
}

});

1-я часть делает все URL-тексты в utf8, а не закодированными в %%, и вторая часть должна передавать 2 переменные, о которых идет речь.

Пожалуйста, помогите, где мне это разместить и как мне это вызвать?

На случай, если у кого-то еще есть похожая проблема, я сумел решить ее, используя этот плагин

https://offers.sportingblog.gr/wp-admin/plugin-install.php?tab=plugin-information&plugin=header-and-footer-scripts

и затем я добавил в нижний колонтитул следующий код

<script type="text/javascript">
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {}, tokens,   
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}

var query = getQueryParams(document.location.search);
jQuery('a').each(function () {
var href = jQuery(this).attr('href');
if (href) {
href += (href.match(/\?/) ? '&' : '?') + 'affiliate=" + query.affiliate + "&pname=" + query.pname;
jQuery(this).attr("href', href);
}
});
</script>

Ответ или решение

Для того чтобы успешно передать URL-параметры от сайта A к сайту B через ваш промежуточный сайт на WordPress (сайт WP), вы правильно выбрали подход с использованием JavaScript. Он позволяет динамически добавлять параметры к ссылкам на вашем сайте, что является эффективным решением для сохранения важной информации. Давайте подробно разберем вашу ситуацию и предложенные решения.

Цель

Вашей целью является передача двух параметров URL (например, affiliate и pname) с сайта A на сайт B через промежуточный сайт WP. Это позволяет отслеживать источник трафика и другие важные данные.

Решение

Ваш первоначальный код, который вы предложили, выглядит достаточно функционально, но требует некоторых доработок и правильного расположения для выполнения. Вот измененный вариант вашего кода с учетом некоторых исправлений:

<script type="text/javascript">
function getQueryParams(qs) {
    qs = qs.split("+").join(" ");
    var params = {}, tokens, re = /[?&]?([^=]+)=([^&]*)/g;
    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
    }
    return params;
}

var query = getQueryParams(document.location.search);
jQuery('a').each(function () {
    var href = jQuery(this).attr('href');
    if (href && query.affiliate && query.pname) {
        href += (href.match(/\?/) ? '&' : '?') + 'affiliate=' + encodeURIComponent(query.affiliate) + '&pname=' + encodeURIComponent(query.pname);
        jQuery(this).attr('href', href);
    }
});
</script>

Куда разместить код?

Вы можете использовать плагин для добавления скриптов в определенные области вашего сайта, как вы уже сделали. Плагин "Header and Footer Scripts" — это хорошее решение для включения вашего JavaScript.

  1. Установите плагин: Если вы еще не сделали это, установите плагин через админку WordPress по указанной вами ссылке.
  2. Добавьте код: Перейдите в настройки плагина и вставьте ваш JavaScript код в раздел, предназначенный для скриптов в футере. Это гарантирует, что код будет выполнен после загрузки всех ссылок на странице.
  3. Сохраните изменения: Не забудьте сохранить настройки плагина после добавления скрипта.

Объяснение кода

  • Функция getQueryParams: Это функция разбирает строку запроса (query string) и возвращает объект с параметрами. Она заменяет знаки + на пробелы и правильно декодирует URL.
  • Цикл each: Для каждого элемента <a> на странице, код проверяет наличие параметров affiliate и pname. Если они присутствуют, к значению href добавляются необходимые параметры.
  • Использование encodeURIComponent: Это важно для безопасной передачи значений параметров в URL.

Заключение

Данное решение должно помочь вам сохранить нужные параметры URL на вашем сайте WP. Убедитесь, что все ссылки действительно корректно обновляются, и протестируйте переходы между страницами, чтобы подтвердить, что данные передаются успешно.

Рекомендации по SEO

  • Убедитесь, что на вашем сайте нет устаревших или битых ссылок, так как это может негативно сказаться на SEO.
  • Включите мета-теги и описания на страницах вашего сайта WP, чтобы улучшить ранжирование в поисковых системах.

Следуя данному руководству, вы сможете эффективно передавать параметры URL между сайтами, что будет полезно для отслеживания affiliate-контента и повышения конверсии.

Оцените материал
Добавить комментарий

Капча загружается...