Помогите с 301 перенаправлением на исходящие ссылки с моего сайта

StackOverflow https://stackoverflow.com/questions/1146080

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Что вы могли бы сделать, так это предварительно обработать ваши ссылки на основе пользовательского агента браузера.Таким образом, когда пользовательским агентом является 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-адресу.Это будет небольшим снижением производительности.

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top