网站在站点内链接中重复查询字符串参数

Website duplicates query string parameters in in-site links

本文关键字:查询 字符串 参数 站点 链接 网站      更新时间:2023-09-26

当使用Google URL跟踪代码时,我有IsaFYI.com的问题。

例如,如果一个人进入页面:http://isafyi.com/mom-of-two-covers-college-expenses-with-isagenix-business/then,点击故事底部的识别链接,他们将被带到页面http://isafyi.com/category/recognition/。如果有人点击促销链接,他们将被带到http://isafyi.com/sales-promotions/页面。

However, if tracking code is placed on the first page, (in this case, ?utm_source=test&utm_medium=test&utm_campaign=test,) the first url looks like this:
http://isafyi.com/mom-of-two-covers-college-expenses-with-isagenix-business/?utm_source=test&utm_medium=test&utm_campaign=test

如果点击了这个链接,现在又点击了页面底部的识别链接,他们会被带到

http://isafyi.com/recognition/?utm_source=test&utm_medium=test&utm_campaign=test?utm_source=test&utm_medium=test&utm_campaign=test
If you look carefully, you can see that the tracking code is now on the link twice:
http://isafyi.com/recognition/
?utm_source=test&utm_medium=test&utm_campaign=test
?utm_source=test&utm_medium=test&utm_campaign=test

如果从这个页面点击促销链接,他们将被带到:

    http://isafyi.com/salespromotions/utm_source=test&utm_medium=test&utm_campaign=testutm_source=test&utm_medium=test&utm_campaigtestutm_source=test&utm_medium=test&utm_campaign=testutm_source=test&utm_medium=test&utm_campaign=test

已加倍的代码已再次加倍。每点击一次内部链接,这个数字就会呈指数级增长。

如果用户现在点击指向外部站点的链接,它将被服务器拒绝。出现的消息是:

请求的URL被拒绝。

请咨询您的管理员。

你的support ID是:XXXXXXXXXXXXXXXXXXXXX

你有一个javascript文件"isafy.js"。这里有一段代码:

var curUrl = window.location.href; // Gets the url of the current page
    var qs = curUrl.slice(curUrl.indexOf('?utm_')); // Checks url for Google Analytics Query string and if it exists, it is stored in variable 'qs'
    // If 'qs' has 1 character or less it is cleared out
    if(qs.length <= 1){
        qs = ""
    }
    // Goes through every a link on the page and appends the Google query string to every link
    $('a').each(function() {
        var href = $(this).attr('href');
        href += qs;
        $(this).attr('href', href);
    });

此代码添加utm字符串,但不检查参数是否已经添加。因此,每点击一个链接,你得到的参数添加到url的另一个实例(所以蜡笔的评论是正确的)。

我甚至不知道这是什么-对于谷歌分析它是足够的,如果参数设置在登陆页。如果您需要在页面的其他地方的utm值,您应该考虑使用cookie,如果不删除这段脚本