Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization a';用户'-基于url的网站是否会与谷歌/搜索引擎产生问题?_Optimization_Seo_Noindex - Fatal编程技术网

Optimization a';用户'-基于url的网站是否会与谷歌/搜索引擎产生问题?

Optimization a';用户'-基于url的网站是否会与谷歌/搜索引擎产生问题?,optimization,seo,noindex,Optimization,Seo,Noindex,我目前维护一个网站的后端php代码,该网站允许我们的销售代表销售产品和服务。如果销售代表是活跃的,他/她将获得一个“自定义”网站URL,该URL主要向该销售代表标记该特定网站上的任何活动。销售仅在代表性网站上收集(我们这样做是为了“保护”我们的员工,并确保他们觉得我们不是在公开的母网站上背着他们进行销售) 例如: www.site.com可能会突出显示所有可用的产品和服务,但不会让客户购买 www.site.com/SOMEREPCODE,其中SOMEREPCODE是特定代理的唯一标识符,提供

我目前维护一个网站的后端php代码,该网站允许我们的销售代表销售产品和服务。如果销售代表是活跃的,他/她将获得一个“自定义”网站URL,该URL主要向该销售代表标记该特定网站上的任何活动。销售仅在代表性网站上收集(我们这样做是为了“保护”我们的员工,并确保他们觉得我们不是在公开的母网站上背着他们进行销售)

例如:

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

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

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

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

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

指数包括
如果我理解正确的话,www.site.com/SOMEREPCODE就是www.site.com的真实写照,唯一的区别就是购买能力

SEO的主要关注点是不同URL上的重复数据

例: 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/pages放置一个cookie,这样,如果有人稍后购买,但只导航到主站点,您的销售代表仍然可以获得信贷。

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

最佳做法是

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

基本上,所有/SOMEREPCODE重定向到URL的规范版本,只有URL的规范版本才能与google通信。如果无法执行HTTP 301重定向,请尝试规范元素

使用规范元素时,流将如下所示

www.site.com/SOMEREPCODE->设置销售cookie->HTTP 200(交付页面内容)->页面的标题部分有

去掉
“nofollow”
它没有意义,会降低从这些页面指向其他页面的所有链接的价值。如果使用HTTP 301重定向(或规范元素),
noindex
是不必要的(但不会造成伤害)


但事实上:如果你不知道有多少销售机会,你的销售机会就少了,也不知道如何处理这种情况(+很明显,你有一些开发人员不懂SEO,但他们认为他们懂,因为他们使用
“nofolow”
,并谈论“黑名单”)你应该考虑咨询一个严肃的SEO。任何一个好的SEO都可以给你所有这些问题足够好的答案。

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

我可以看到两个问题:

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

    一切照旧
    • 搜索引擎将不得不自己清理重复内容(他们可能做得不错)
    • 您需要监控搜索机器人不会使您的服务器过载
    • 由于内容重复,你的有机排名不会像他们可能的那样高
    使用robots.txt阻止站点
    • 服务器上的搜索机器人负载将得到控制
    • 你几乎得不到任何排名,只能依靠你的销售代表
    启动一个非销售代表站点,并规范所有访问该站点的流量
    • 您表示您的销售代表可能不喜欢这样
    选择一名销售代表作为标准销售代表
    • 你必须选择
      #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]
      
      <?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";
      }
      ?>