Помогите с 301 перенаправлениями на исходящие ссылки с моего сайта - PullRequest
1 голос
/ 18 июля 2009

Я работаю в компании, которая связывается с партнерами через сторонний веб-сайт, который отслеживает их. Так, например, на нашем сайте будет исходящая ссылка примерно такая (имена изменены, чтобы защитить мою работу):

<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]

Но, похоже, это не работает. Что я должен попробовать дальше?

Заранее спасибо за любую помощь. Вы, ребята, здесь всегда потрясающие, и я ценю роль, которую хорошие люди в переполнении стека играют во мне, оставаясь занятыми.

Ответы [ 3 ]

2 голосов
/ 18 июля 2009

Ваше предположение не хорошо. Вы говорите:

Я хочу сделать так, чтобы поиск двигатели увидят это как ссылку на chuckecheese.com, который помогает нашим забить, когда люди ищут Чака е сыр, потому что мы будем рассматриваться как ссылка прямо на них.

Если бы это действительно помогло в SEO, каждый мог бы спамить ссылки на все замечательные сайты, просто чтобы получить SEO-страничку, и игра была бы слишком простой. Получателем ссылки является страница / сайт получателя, а не отправитель.

2 голосов
/ 18 июля 2009

Вы не можете использовать правило перезаписи, чтобы перенаправить пользователя для этого.Запрос должен быть обработан вашим веб-сервером.

Вы можете попробовать сделать некоторый JavaScript для достижения этой цели.так что дело в том, чтобы бросить курить, но по щелчку вы измените document.location на то, что вы действительно хотите сделать.

Отредактированный вопрос для награды

Что вы можете сделатьпредварительно обрабатывает ваши ссылки на основе пользовательского агента браузера.Поэтому, когда агентом пользователя является googlebot (одна из следующих строк), вы отображаете реальный URL-адрес 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-адресу,Это будет небольшой удар по производительности.

Вы можете проверить, что бот, обращающийся к вашему серверу, действительно является роботом Google, используя обратный поиск DNS, проверив, что имя находится в домене googlebot.com, а затем выполнивпереслать DNS посмотреть с помощью этого имени GoogleBot.Это полезно, если вы обеспокоены тем, что спамеры или другие нарушители прав доступа получают доступ к вашему сайту, утверждая, что они являются роботом Google.- Google

Отредактировано для дальнейшего объяснения Предполагая, что вы используете 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>

Я сомневаюсь, что Google позаботится о чем-то подобном, поскольку обе ссылки ведут в одно и то же место.Но проверьте TOS, чтобы быть уверенным.http://www.google.com/accounts/TOS

0 голосов
/ 28 июля 2009

Привет, PG ... ссылки на другие сайты не дадут вам больше PageRank, точно так же, как показ ваших объявлений в Adwords на тысячах других сайтов не даст вам PageRank. И да, ваши партнеры получают выгоду от того, что вы связаны с ними. А как насчет тех выгод, о которых вы говорите, будучи открытыми? Исходя из моего понимания того, что вы написали, это просто еще один модный редирект. Google знает это.

...