html页面重复的部分,各种重复页面的处理办法

我们在很多案例中都能发现重复页面的问题。网站重复页面产生的原因分几种,但不管是哪一种,对于网站本身都是不利的。重复页面会造成站内竞争,既浪费搜索引擎资源,又不利于页面排名。所以,对于重复页面的处理,是我们优化网站过程中必须要首页解决和考虑到的问题。

一般的,两个或两个以上页面内容完全一致,但URL不同,我们可以说它们是纯粹的重复网页。重复页面的产生,大概可以分为以下几种情况:

1.属性筛选顺序引起的重复页面:

这种情况多见于电商网站,英文站中尤为常见。用户在选购产品进行属性筛选的时候,由于前后选择属性的顺序不同,会导致页面内容重复。

例如:

选择条件顺序1:男鞋 >跑步鞋 > 李宁   URL:/m-paobu-lining.html

选择条件顺序2:男鞋 > 李宁 > 跑步鞋  URL:/m-lining-paobu.html

这样就会产生由于选择的顺序不同而引起重复页面的问题。

一般的,这类问题需要我们重写url规则。将所有属性的属性都固定好位置,这样,就算选择的顺序不一样,也不会造成url的差异。

2.多个url引起的重复;

很多网站由于在规划的时候没有标准化,会导致同一个url会产生多种形式,例如:

www.example.com

example.com

www.example.com/

www.example.com/index.php

这种重复页面的处理,可以用301重定向,在服务器端对标准url进行定义。将不标准的url都301重定向至标准的url即可。

3.跟踪代码等引起的重复

很多网站会在url上做跟踪代码,以便于统计。这类带跟踪代码的url也会造成重复的页面,对主页面产生竞争危机。例如:

http://www.pandahallstock.com/special-offer.html?home=BN01_20120515

http://www.pandahallstock.com/b-12-bracelet-bangle-p1-s1843.html?showMode=2&sortIndex=4&home=BN03_20120515

针对类似这种情况,我们不能做301跳转,要不就没办法实现跟踪统计的功能了。一般的,我们可以采取以下几种方式来解决这个问题:

URL中跟踪代码开头的?用#代替。搜索引擎在识别url的时候,遇到#就不往后读取了,所以带#的跟踪代码对于搜索引擎来说,就是一个正常的url. 但同时需要注意的是,#的出现也可能给统计带来障碍。所以,针对不同的网站,这个需要不同对待。

针对google,我们可以在非标准的页面(即重复页面)的meta head之间增加canonical属性,执行标准的url。

http://www.example.com/products

http://www.example.com/products?sessionid=123456

http://www.example.com/products?trackingid=feed

可以在head meta部分加入如下代码:

后两个页面的内容会被搜索引擎认为是重复内容,就是告知搜索引擎把相关的搜索信号都传递到第一个网址。

可以在robots文件中定义不让搜索引擎抓取这些带跟踪代码的链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果要控制不同页面重复部分,可以使用iframe来引入公共的HTML、CSS和JavaScript,以下是使用iframe来控制不同页面重复部分的具体步骤: 1. 创建一个公共的HTML文件,例如`common.html`,其中包含重复部分,例如导航栏、页脚等。 2. 在`common.html`文件中,定义公共的CSS样式,例如: ```html <head> <link rel="stylesheet" type="text/css" href="common.css"> </head> ``` 3. 在子页面中,在需要插入公共部分的位置,使用`<iframe>`标签来引入`common.html`,例如: ```html <iframe src="common.html" width="100%" height="100%" frameborder="0"></iframe> ``` 4. 在`common.html`文件中,定义公共的JavaScript脚本,例如: ```html <script src="common.js"></script> ``` 5. 在子页面的`<head>`标签中,也要引入公共的CSS样式,例如: ```html <head> <link rel="stylesheet" type="text/css" href="common.css"> </head> ``` 6. 在子页面的`<body>`标签中,可以直接使用公共部分HTML代码,例如: ```html <body> <header> <iframe src="common.html#header" frameborder="0"></iframe> </header> <main> <!-- 子页面的内容 --> </main> <footer> <iframe src="common.html#footer" frameborder="0"></iframe> </footer> </body> ``` 其中`#header`和`#footer`是`common.html`文件中标识公共部分的ID,可以使用锚点来定位公共部分的位置。这样,在子页面中,只需要使用`<iframe>`标签来引入公共的HTML、CSS和JavaScript,就可以控制不同页面重复部分了。需要注意的是,通过iframe引入的公共部分可能会受到浏览器的限制,例如无法在父页面中操作子页面的元素或变量,需要使用JavaScript来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值