有货WEB站点SEO实践

2017-12-25  本文已影响0人  有货技术

一、SEO优化

下面聊聊seo,何为seo?顾名思义,seo是指在了解搜索引擎自然排名的基础上,对一个网站的站内和站外调整优化的一个过程,进而改进网站在搜索引擎中的关键词排名,来获得更多流量,从而达到网站销售和品牌建设的目标。下面我们从站点url结构,TDK优化,nofollow标签简单的几个方面聊聊。

  1. 网址URL的规范

    • 网址规范是搜索引擎挑选最合适的URL作为真正网址的过程。

      • URL越短越好:对于搜索引擎来说,越简短的URL越容易收录。另外,短的URL更有利于传播和复制。
      • 避免参数太多:在可能情况下尽量使用静态URL,例:https://www.yohobuy.com/product/51704566.html
      • 目录层次尽量少:URL静态化时,尽量使用较少的目录层次,百度尤为青睐目录层次较少的URL。
      • 连词符的使用:目录和文件名单词之间建议使用短横线,不要使用下划线和稀奇古怪的字母。
  2. 页面TDK

    • 页面标题是页面优化最重要的因素
      • 独特不重复:每个页面都要有自己独特的标题标签,标题不能重复,标题是页面优化第一位的因素,是搜索引擎判断页面相关度的重要提示。
      • 准确相关:每个页面都应该准确的描述页面的内容,要很自然很准确的描述内容,必然会在标题中加上关键词,但是要注意的是,不要添加一些搜索次数高,确与页面内容无关的关键词,长期下来会判定为作弊行为。
      • 字数限制:从技术角度说标题标签可以写任意长度的文字,但是搜索结果页面显示的标题有一定的限制,百度约能显示30个字符,超出字符用省略号显示。
      • 简练通顺,不要堆砌关键词:seo不仅要考虑搜索引擎,还要考虑用户体验,不能让用户一看标题就是感觉是为关键词而关键词的页面,需要把标题写成通顺的句子。
      • 关键词出现在最前面:目标关键词应写在标题的最前面,关键词在标题中出现的位置与页面的相关性和页面排名有较大关系,位置靠前,排名通常比较好。
    • 描述标签
      • 描述标签比标题标签的重要性低很多,描述标签不显示在页面的课件内容中,搜索结果列表页中的摘要说明就是来自描述标签。
    • 关键词标签
      • 关键词标签是用来指明页面的主题关键词,现在一些主流搜索引擎都没有将关键词考虑在算法之中。
  3. nofollow标签

    • nofollow标签最初的目的是减少垃圾链接对搜索引擎的影响,标签的意义就是告诉搜索引擎这是一个不被信任的投票,不要跟踪这条链接,也不传递权重。
    • nofolow又一个用途就是用于广告链接,网络广告,告诉搜索引擎这是个广告,不要跟踪。
    • nofollow能够阻止蜘蛛爬行和传递权重,很快被seo用在内部链接,来达到控制内部权重分散的作用。
  4. 语义化标签

    • 语义化的HTML就是正确的标签做正确的事情,能够便于开发者阅读和写出更优雅的代码的同时让网络爬虫很好的解析。常见的语义化标签有,h1-h6、em、ul、ol等;
    标签 作用 备注
    H1-H6 标题 H1一个页面出现一次,从大到小顺序出现
    Strong 强调重要文本 加粗
    em 强调文本 斜体形式
    Ul 列表 无序列表
    ol 列表 有序列表
    a 连接 标签的title属性,方便搜索引擎收录
    img 图片连地址 标签的alt属性,方便搜索引擎收录
  5. 防爬虫:如果有的页面不需要蜘蛛爬取,则须要在根目录下加入robots.txt文件来屏蔽蜘蛛爬虫。如下所示:

User-Agent: *
Disallow: /passport/
Disallow: signin.html  
Disallow: reg.html   
Disallow: /cart/   
Disallow: /home/
Disallow: /shopping/
Disallow: /service/
Disallow: /settled/
Disallow: /3party/ 

二、链接索引、站点地图 提交

搜索引擎的工作原理:

  1. 通过链接爬取网页信息;

  2. 预处理后添加索引库;

  3. 通过用户输入关键词,从索引数据库中查找相关内容;

所以对于一个网站来说,想要在搜索引擎中获得好的排名,通过搜索引擎带来更多的流量,索引量是前提,索引量越多,展示机会越多。要提高索引量主要有两个方法:

  1. 搜索引擎蜘蛛主动抓取网页链接

    • 做好网页内链建设,可以让搜索引擎蜘蛛更好的抓取网页链接;
    • 首页展示更多内页链接(首页最新上架商品直出),商品详情推荐其他相关商品;
  2. sitemap

    • 按照站长平台的sitemap文件格式制作sitemap文件,每个文件最多5000个链接,可制作多个(sitemap1.xml,sitemap2.xml,...)文件,制作一个sitemap.xml(包含其他sitemap文件),在站长后台提交sitemap.xml。
  3. 手工提交

    • 百度站长平台也提供了手工提交的入口,有些单独的专题页可以通过这种方式提交。
  4. 主动向搜索引擎推送链接

    • 主动推送

      • 通过接口调用的方式提交链接,每次最多2000,每天最多100w,http://data.zz.baidu.com/urls;我们通过定时任务,每天将最新的100篇逛文章链接和1000个商品详情页推送到百度接口。
    • 自动推送

      • 在页面当中添加如下js代码,当用户访问时,页面自动执行js脚本,向百度提交网页链接。
      <script>
      (function(){
          var bp = document.createElement('script');
          var curProtocol = window.location.protocol.split(':')[0];
      
          if (curProtocol === 'https') {
              bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
          } else {
              bp.src = 'http://push.zhanzhang.baidu.com/push.js';
          }
      
          var s = document.getElementsByTagName("script")[0];
      
          s.parentNode.insertBefore(bp, s);
      })();
      </script>
      

三、移动优先

四、搜索词的采集

想必大家都知道,排名和点击什么的都是和关键词挂钩,关键词如果没有做好,则产品的排名就无从谈起,更不用说点击率和询盘了。关键词的采集需要结合自身产品的定位,去拓展相应的联想词。常见的关键词来源,XX推广后台,XX商城推荐词,XX搜索下拉框,XX关键词指数排行等等。
有了关键词来源,就可以写代码去采集这些关键词了。首先要准备一下我们要联想的关键词,即词根。通过词根去拓展我们的关键词,这样采集的数据相似度就会大大的提高。下面一个DEMO,keywords文件里是一些词根,然后通过循环词根就可以采集到大量的关键词。

// keywords.txt文件内容
鞋
袜
裤
cat keywords.txt|while read key;do curl -s "https://URL?ie=utf-8&wd=$key|awk -F"[" '{print $2}'|awk -F"]" '{print $1}'>>data.txt;done;

循环keywords文件内容,采集第三方关键词,处理想要的格式,存入data文件里。

// data.txt文件内容
"鞋柜","鞋码","鞋柜装修效果图","鞋带的系法图解","鞋子品牌","鞋码对照表","鞋柜尺寸","鞋子","鞋底"
"袜子","袜圈","袜子鞋","袜子批发网","袜子品牌","袜子的简笔画大全","袜套","袜带","袜机"
"裤子尺码对照表","裤子","裤裆藏雷","裤子尺码","裤带面","裤腰尺寸换算","裤子l码是多大","裤裙","裤长"

把采集的数据,处理一下,作为词根,再次联想其它的关键词。重复几次,则关键词就会以成倍的数量增多。

五、搜索词的关联

在把搜索词关联之前,结合自身产品的需要,建立一张表,来管理这些关键词。比如:有货商品关联了分类和品牌,以后可以通过分类推荐这些搜索词也可以通过品牌联想出这些搜索词。这样就可以提高分类和品牌在搜索引擎的排名又可以提高用户的点击率。然而众多的搜索词里面,一定会有一些垃圾词,这是不可避免的。但我们可以通过一些规则,把这些词过滤掉。比如:过滤一些敏感词,拿剩下的词,分别去调用有货的搜索。过滤一些商品不存在或者商品数较少的词。通过分析搜索返回来的信息,关联分类和品牌及搜索出来的商品总数等信息入库。

搜索词关联流程图

六、搜索词生成页面

有了搜索词表,我们就可以把商城销量较高的相关的搜索词筛选出来。生成一个关键词页面,这样可以提高商城在搜索引擎的收录率。有货WEB是这样做的:

成品效果,请参照有货WEB产品页相关推荐一栏 https://www.yohobuy.com/chanpin/608135.html

成品效果,请参照有货WEB产品大全页 https://www.yohobuy.com/cpdq

成品效果,请参照有货WEB商品详情页相关推荐一栏 https://www.yohobuy.com/product/51748494.html

七、搜索词和分词

把有货相关文章里面的内容经过分词和搜索词库对比分析,筛选出一些较高质量的词,嵌入文章里面。当用户看到文章的同时,正好有好的商品词,就会勾起用户的点击欲望,从而提高我们的PV,同时也可以提高搜索引擎的收录率。下面就重点阐述一下有货WEB文章分词。

  1. 分别获取有货商城品牌和分类,写入一个文件里。 // 这一步就是做好分词词典,结合自身实际需求,定制分词词典。
  2. 循环获取文章详情,提取文章内容,通过分词词典提取文章内容的关键词。
  3. 提取出来的关键词通过搜索词表筛选,再一次提取较高质量的关键词。
  4. 遍历关键词,正则替换文章出现的词,并加入链接,链到chanpin页。

内链完成后的文章,通过Key存入Redis,方便前端调用。这一步放在后台处理,如果放在前端处理,势必会延长页面的展现,给服务器造成压力。 前端只需要通过Key调用Redis,这样既可以减轻服务器的压力又可以带来用户体验。

下面一个DEMO,来阐述关键词的提取(分词工具有好多,根据自身需求择取,下面用jieba来举例):

// 自定义词典, n表示词性中的名词
adidas Originals  n
VANS  n
外套  n
运动鞋  n
夹克 n

这个可以匹配词性 http://ictclas.nlpir.org/nlpir/

const nodejieba = require('nodejieba');

nodejieba.load({
    userDict: `./userDictKeyword.txt` // 载入自定义词典
});

let result = nodejieba.extract('我打算去adidas旗舰店买件运动外套和一双休闲运动鞋', 8);

[
  { word: '买件', weight: 11.739204307083542 },
  { word: 'adidas', weight: 11.739204307083542 },
  { word: '运动鞋', weight: 10.7226238216 },
  { word: '旗舰店', weight: 9.89334446674 },
  { word: '外套', weight: 9.20932976975 },
  { word: '休闲', weight: 8.51160592216 },
  { word: '一双', weight: 6.79653355899 },
  { word: '打算', weight: 6.19902528933 }
]

"结巴"中文分词网址:https://github.com/yanyiwu/nodejieba

提取的关键词有‘adidas’、‘运动鞋’, ‘外套’等一些词,很显然有些词不是我们想要的,然后通过这些词和搜索词库筛选,就可以得到我们想要的词。

八、搜索词和内链架构

如果把搜索词的采集和筛选入库,看作一部分,再把搜索词关联和展现看作一部分,然后启动二个定时器,隔一段时间执行一次。那么搜索词采集和展现一套完整的架构就完美的体现出来,只需要维护词根的录入,就可以完美的展现高质量的搜索词了。下面就是处理逻辑和大体过程如下:

采集和展现

九、SEO的后台管理配置

针对以上优化内容,我们还开发了相应的管理后台,方便SEO运营灵活调整。

至此,SEO优化、搜索词采集和展现以及后台管理一整套架构流程分享完毕!

上一篇 下一篇

猜你喜欢

热点阅读