现在对于网站在搜索引擎上的表现开始多的关注起来,经常有事没事就查网站的收录,网站在seo上也开始暴露出来一些问题,其中就发现了一个问题:搜索引擎收录内容重复的页面,这一点在谷歌搜索上比较明显。

在观察了几个网站的收录情况后,我发现谷歌搜索对于页面收录的要求相较于百度搜索会低一点,也就是更加容易收录。对于一些不必要收录的页面,谷歌会收录。有关注过wordpress站点收录情况的小伙伴应该会发现,一些无意义的图片页谷歌会收录。而对于网站未对seo优化且url仅多出查询字符串部分的重复页面谷歌也同样会收录。

举个博客之前出现过的例子:
一个文章页面
http://www.felixlee.cn/post/18
与文章页点击回复某条评论后的页面
http://www.felixlee.cn/post/18?reply=10#comments

这两个链接中其实只要收录上面那个就好了,而有时候搜索引擎却会收录两个,且不说重复页面对页面权重分散的影响,在用户通过搜索引擎进入带有回复目标查询字符串和位置定位符的url的页面后,若在评论时未发现正在评论的内容是在回复某人时,就可能造成不必要的误解和麻烦。

canonical

告诉搜索引擎哪个页面才是最重要的是非常必要的,所以就引出这篇文章的重点“canonical”,有了canonical属性之后我们就可以告诉搜索引擎,到底哪一个页面才是最重要的那个,写法如下:

<link rel="canonical" href="http://www.felixlee.cn/post/18" />

而对于flask网站来说,由flaskrequest提供的base_url属性就能非常简单地解决这个问题,它会删除查询字符串部分、位置标识符部分,只保留最基本的url部分,在flask中模板可以直接调用request对象,所以就不用在渲染模板的函数中传入参数,直接在模板中调用就可以了。

<link rel="canonical" href="{{ request.base_url }}" />

request是通过客户端的请求头构建的,如果你使用了nginx作为反向代理的话,就需要在nginx的配置文件上加上下面这一段用来传递客户端的请求头部,否则base_url中的域名就会显示为项目的实际监听ip地址。

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;

这些就是我关于canonical的一些分享与实际flask项目的实现啦,这个问题在谷歌比较明显,在百度这种情况比较少见,在添加这个属性之后,谷歌那边还是很快就更新搜索结果了。还有一点建议就是可以在无需收录的入口链接上添加nofollow的属性,比如在回复的按钮上添加nofollow属性。以上就是我对于seo的一些浅显的认识,如果您发现了什么问题或者有什么建议欢迎在评论区留言,我们可以交流一下。

评论

  • 最新随笔

  • 尝试让DALLE生成一些连续的精灵图,让gpt帮忙生成一些提示词,如果能稳定输出的话就很强大了。
    让gpt帮忙生成的DALLE提示词
    "Generate a pixel art sprite sheet of a character walking in four directions (north, south, east, west) in a retro video game style."
    "Create a series of pixel art frames showing a character performing different actions like walking, running, jumping, and attacking in a classic 2D game aesthetic."
  • 路过别人山庄的门口,被一条大黑狗边叫边追过来,幸好骑电动车,不然还不一定跑得过,哈哈哈哈哈哈哈哈哈哈。
  • 最近两周也没咋出去玩,主要也是觉得没啥好玩的(笑哭)。看完布莱恩阿瑟的《复杂经济学》后,里面那个酒吧问题勾起我的兴趣,最近空了就花了些时间实现个python版本,顺便搞了篇博文,很享受这种新知识能和已有知识碰撞的感觉。(配张前段时间拍的图片,梧桐山门口前面那条路,挺漂亮的)
  • 盐田港夜景
  • 为啥这猫总喜欢喝杯子里的水
  • 确实开始冷了,在树林里至少要比人类聚集区低个几度,进出入口就能很明显感觉到。看看深圳水库的风景,貌似后面的视野更开阔。
  • 给随笔加了多图的功能,传一传周末拍的风景图,漫无目的的逛也挺好玩的。
  • 逻辑自洽是一套体系的根基,最根本的因素,最吸引人的地方