3

我目前维护一个网站的后端 php 代码,它允许我们的销售代表销售产品和服务。如果销售代表处于活动状态,他/她将获得一个“自定义”网站 URL,该 URL 基本上将该特定站点上的任何活动标记给该代表。销售仅在代表性网站上收集(我们这样做是为了“保护”我们的员工并确保他们觉得我们没有在开放的父网站上背后销售)。

例如:

  • www.site.com可能会突出显示所有可用的产品和服务,但不会让客户能够购买

  • www.site.com/SOMEREPCODE SOMEREPCODE 是特定代理的唯一标识符,提供相同的选项,但可以销售该产品。这些销售代表有数千名,因此有数千个链接指向相同的页面和内容。

最近,关于我们是否应该将网站也开放给前端销售存在很多争论。我们的行业非常具体,因此我们不太担心网络购物者的销售损失,但我确实相信它们存在。我们的一些前端开发人员在页面上有“noindex,nofollow”代码,我们被告知这是为了防止 Google 和其他人将网站“列入黑名单”,因为它试图让多个链接都指向相同的内容(想想 SOMEREPCODE 代表1000 名销售代表,页面几乎完全相同,但显示的姓名和联系电话相同)。

编辑 - 显示 htaccess 文件

#if file or directory do not exist, try as an repid
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z-]+)$ index?Rep=$1 [QSA,NC,L]

上面的 htaccess 逻辑检查以确保输入的代码不是现有文件或目录。如果不是,则将 SOMEREPCODE 作为变量存储到 index?Rep=SOMEREPCODE。

在我的索引页面的顶部,我包含一个函数,用于检查Rep的值是否是有效的销售代表以及它们是否处于活动状态。如果无效或不活动,页面将被重定向到给出错误的登录页面。如果代表处于活动状态并且存在,则在设置适当的 SESSION 变量后页面继续加载。

索引包括

<?php
if(isset($_GET['Rep']) && $_GET['Rep'] != NULL) {

    //DB connectors called
    $sql = "SELECT * FROM reps WHERE repcode = ? AND status = 'Active' LIMIT 1";
    $stmt = $db->prepare($sql);
    $stmt->execute(array($_GET['Rep']));

    while ($row = $stmt->fetch()) {
        $_SESSION['repname'] = $row['repname'];
        //collect other rep information
    }

    if( !isset($_SESSION['repname']) && empty($_SESSION['repname']) ) {
        header("Location: unavailable");
        exit;
    } else {

        $_SESSION['sales'] = "Y";
    }

} elseif( !isset($_SESSION['sales']) && !isset($_GET['Rep']) ) {
    $_SESSION['sales'] = "N";
}
?>

在这种情况下,索引页面根本不会改变,只有在 $_SESSION['open'] == 'Y' 存在的情况下“显示”的站点区域。

这是真的吗?有没有办法处理这种情况,让我们也可以打开网站进行网络销售?

4

3 回答 3

3

如果它不是完整的镜像,那么这不是一个大问题。

最佳做法是

www.site.com/SOMEREPCODE -> 设置销售 cookie -> HTTP 301 重定向 -> www.site.com

基本上所有 /SOMEREPCODE 都重定向到 URL 的规范版本,只有 URL 的规范版本被传达给谷歌。如果您无法执行 HTTP 301 重定向,请尝试规范元素http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394

使用规范元素,流程看起来像这样

www.site.com/SOMEREPCODE -> 设置销售 cookie -> HTTP 200(传送页面内容) -> 页面<link rel="canonical" href="http://www.site.com/"/>在 HEAD 部分

摆脱"nofollow"它没有意义,并贬低从这些页面指向其他页面的所有链接。如果您使用 HTTP 301 重定向(或规范元素),则这noindex是不必要的(但不会造成伤害)。

但事实上:如果你不知道锅的销量是多少。您失踪了并且不确定如何处理这种情况(+ 显然您的开发人员不了解 SEO,但认为他们这样做是因为他们使用"nofolow"并谈论“黑名单”)您应该考虑咨询认真的 SEO。任何好的 SEO 都可以为您提供所有这些问题的足够好的答案。

于 2012-01-31T02:20:24.303 回答
2

如果我对您的理解正确,www.site.com/SOMEREPCODE 是 www.site.com 的精确镜像,唯一的区别是购买能力。

这里对 SEO 的主要关注是不同网址上的重复数据 http://googlewebmastercentral.blogspot.com/2008/09/demystifying-duplicate-content-penalty.html

例如:www.site.com/producta.html 包含与 www.site.com/SOMEREPCODE/producta.html 相同的数据

所有指向 www.site.com 或 www.site.com/page.html(而不是 www.site.com/SOMEREPCODE/page.html)的链接都不应设置 noindex nofollow。所有指向镜像 (www.site.com/SOMEREPCODE/.../) 的链接都应设置 noindex nofollow。

如果您允许在主站点上销售,请让 /SOMEREPCODE/ 页面放置一个 cookie,这样如果有人稍后购买但仅导航到主站点,您的代表仍然可以获得信用。

于 2012-01-30T06:02:20.327 回答
2

总而言之:每个销售代表都有他们使用的一组不同的 URL(就搜索引擎而言,基本上是每个代表的网站副本)并且没有“规范”网站(没有没有销售的通用网站代表,并且您不是在玩收藏夹并选择一个销售代表的站点作为规范站点)。

我可以看到两个问题:

  1. 根据您网站上的页面数量 (n) 和销售代表的数量 (m),搜索机器人将不得不进行大量爬网来索引您的整个网站 (nxm)。这可能会给您的服务器带来额外的负载,或者这可能意味着搜索机器人将放弃并且不会抓取您的整个网站
  2. 您将遇到搜索引擎重复的内容问题。Googlebot 不会对同一内容的多个副本进行排名。这可能会也可能不会导致您的网站受到处罚,但它会削弱您网站的力量,因为任何指向您内容的入站链接都将在您的每个销售代表的“网站”之间传播。

据我所知,您的选择是:

保持原样

  • 搜索引擎将不得不自己整理重复的内容(他们可能做得不错)
  • 您将需要监控搜索机器人不会使您的服务器超载
  • 由于重复的内容,您的自然排名不会像可能的那样高

使用 robots.txt 屏蔽该网站

  • 您的服务器上的搜索机器人负载将受到控制
  • 您将几乎没有排名,只需要依靠您的销售代表

启动非销售代表网站并将所有流量规范化

  • 您表示您的代表可能不喜欢这样

偏爱一位销售代表作为规范的销售代表

  • 您必须选择一个受欢迎的销售代表(或创建一个假的)
  • 销售代表可能会也可能不会注意到他们网站上存在指向另一个销售代表网站的规范标签
  • 其他受青睐的销售代表将失去任何自然搜索流量以及他们目前获得的销售。
于 2012-02-08T16:26:39.347 回答