1

我为通过跟踪合作伙伴的第三方网站链接到合作伙伴的公司工作。因此,例如在我们的网站上会有一个类似这样的传出链接(更改名称以保护我的工作):

<a href="link.php?link=chuckecheese">check it out kids!</a>

如果你进入 link.php,你会看到我在那里定义了链接:

$outlink['chuckecheese'] = "http://partners.linktrackingisprettycool.com/x/212/CD1/$STAMP";

$STAMP 是一个时间戳,在圣诞节中午被替换为“12-25-09-1200”。

当用户点击此链接时,他会访问 www.chuckecheese.com

这一切都很好,但它对于 SEO 的目的并不像它可能的那样好。我想让搜索引擎将其视为指向chuckecheese.com 的链接,这有助于我们的合作伙伴的页面排名并且更诚实。

我在 .htaccess 中试图制定重写规则,但我很困惑,不知道它是如何完成的。我试过:

RewriteRule http://www.chuckecheese.com$ link.php?link=chuckecheese$ [QSA]

但这似乎不起作用。接下来我应该尝试什么?

提前感谢您的帮助。你们这里的人总是很棒,我很欣赏堆栈溢出的好人在我仍然受雇中所发挥的作用。

4

3 回答 3

2

您不能为此使用重写规则来重定向用户。该请求必须由您的网络服务器处理。

您可以尝试做一些 javascript 来实现这一点。所以href是chuckecheese,但是onclick,你将document.location更改为你真正想要做的。

已编辑的赏金问题

您可以做的是根据浏览器的用户代理预处理您的链接。因此,当用户代理是 googlebot(以下字符串之一)时,您会显示http://www.chuckecheese.com的真实网址。

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Googlebot/2.1 (+http://www.googlebot.com/bot.html)
Googlebot/2.1 (+http://www.google.com/bot.html)

当 URL 不是 googlebot 时,您会显示进行流量分析的链接。

您可以在以下 URL 找到用户代理列表:

如果 googlebot 没有显示正确的用户代理(或者将来会发生变化),google 建议您对 IP 地址进行反向查找。这将是一个小的性能损失。

您可以通过使用反向 DNS 查找来验证访问您服务器的机器人确实是 Googlebot,验证该名称是否在 googlebot.com 域中,然后使用该 googlebot 名称进行正向 DNS 查找。如果您担心垃圾邮件发送者或其他麻烦制造者在访问您的网站时声称自己是 Googlebot,这将非常有用。-谷歌

为进一步解释进行了编辑 假设您使用的是 php,您将在运行时生成链接。这是我整理的一些代码。

function getRealURL($url)
{
    // adjust this regex to match the pattern of your traffic analysis urls
    ereg("link=(.+)$",$url,$matches);
    if ($matches[1])
    {
        // adjust this so the urls come out correctly
        return "http://www.".$matches[1].".com";
    }
    else 
    {
        return $url;
    }
}
function isGoogle()
{
    switch ($_SERVER['HTTP_USER_AGENT'])
    {
        case 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)':
        case 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)':
        case 'Googlebot/2.1 (+http://www.google.com/bot.html)':
            return true;
        default:
            return false;
    }       
}
function showlink($url)
{
    $trafficAnalysisUrl = getRealURL($url);

    if (isGoogle())
    {
        return $url;
    }
    else
    {
        return $trafficAnalysisUrl;
    }
}


<html>
...
Come eat pizza at <a href='<?=showLink("link.php?link=chuckecheese")?>'>chuck e cheese!</a>
...
</html>

我怀疑谷歌会关心这样的事情,因为两个链接都指向同一个地方。但请检查 TOS 以确定。 http://www.google.com/accounts/TOS

于 2009-07-17T23:15:47.583 回答
2

你的假设并不好。你说:

我想让搜索引擎将其视为指向chuckecheese.com 的链接,这有助于我们在人们搜索chuck e cheese 时获得评分,因为我们将被视为直接链接到他们。

如果这真的对 SEO 有所帮助,那么每个人都会发送垃圾邮件链接所有伟大的网站,只是为了获得 SEO 页面排名,而游戏就太容易了。链接的受益人是收件人页面/站点,而不是发件人。

于 2009-07-18T08:12:03.207 回答
0

嘿 PG... 链接到其他网站不会给您任何进一步的 PageRank,就像您在 Adwords 中的广告出现在其他一千个网站上不会给您带来 PageRank。是的,您的合作伙伴因与他们建立联系而受益。您所说的从开放中获得的那些好处又如何呢?根据我对您所写内容的理解,这只是另一个花哨的重定向。谷歌知道这一点。

于 2009-07-27T20:13:48.867 回答