Google搜索成最大入口,简单谈下个人博客的SEO
个人静态博客SEO该考虑哪些问题呢?本篇文章给你答案
咖啡君在开始写文章时首选了微信公众号作为发布平台,但公众号在PC端的体验并不好,连最基本的文章列表都没有,所以就搭建了运维咖啡吧的网站,可以通过点击文章底部“阅读原文”访问网站体验
为了方便管理及节约成本,选择了免费的Github Pages作为网站运行平台。用Django写了个管理后台来管理文章,管理后台跑在我的电脑上,它可以将markdown格式的内容生成静态页面并自动上传至Github,管理后台的介绍看这篇文章:利用Django徒手写个静态页面生成工具
由于Github拒绝百度爬虫(这也是为什么在百度里搜索不到Github仓库的原因),且网站没有备案,所以针对百度的SEO优化就直接放弃了,把精力放在了Google搜索上,下图是当前访问网站的用户来源饼图,可以看出优化的效果
目前来自Google的搜索流量已经成了网站用户最大的来源,甚至超过了我的主动分享。达到这样的效果我都做了哪些事情呢?接着往下看
收录
新部署的网站并不能在短时间内被Google自动收录,我们需要手动提交给Google,需要做的是:
为你的站点生成sitemap
登陆Google Search Console,提交你的sitemap
sitemap内记录了整个网站哪些网页可以被搜索引擎所抓取,可以理解为网站所有url的集合,不同的搜索引擎支持不同的sitemap格式,最简单的可以像我一样将网站的所有url逐行记录进一个文本文件内
sitemap提交后搜索引擎蜘蛛并不会立即去抓取,你可以通过上方的搜索框输入你的网页url搜索确认是否编入索引,如果没有则可以手动请求编入索引,这样收录更快速一点
网站被收录之后,就需要考虑如何能尽可能多的展示给搜索的用户,网页能否被搜索引擎展示的最重要原因是网页是否对用户友好,所以所有的SEO都应该是围绕对用户友好展开的,主要包含以下几块的优化:内容、描述、性能、移动端兼容性
内容
内容一定是第一位的,原创的优质的内容能得到更多用户的青睐,同时对于搜索引擎来说也更喜欢,Google搜索出来的内容大多数情况下贴合度都比较高,所以考虑SEO的第一步就应该是内容足够好
搜索引擎如何判定你的内容足够优秀呢?有两个数据很重要:跳出率和会话时长
上图来自与Google的分析工具Analytics(以下简称GA),建议给网站内添加GA检测代码,虽然国内不能访问Google,但是GA检测代码是不受影响的,添加之后可以关注一下这两个值,努力将跳出率降低以及提升用户会话时长
为了降低跳出率和提升用户会话时长,我将博客内原本跳转到微信公众号的链接都给改成了博客内链接,这也是你点击知乎或者简书之类的平台外链时先跳转到本地地址询问你是否跳转站外的一个原因,就是为了降低跳出率,每篇文章底部的相关文章推荐阅读也能降低跳出率,当然这一切的前提是内容质量要够好,对用户有吸引力,对于会话时长也一样,好内容用户更有兴趣读下去,就会停留更长的时间
描述
对于一个网页的描述,主要由以下几部分组成:URL,Title,Keywords,Description,应尽量使用清晰的、能准确说明网页内容的描述
URL应尽量简短且唯一,最好可读性强
不同的页面要有不同的URL,不要使用同一URL去展示不同的内容,这里ajax异步请求替换页面内容是不推荐的,像vue之类的单页面应用也不推荐,这些对SEO都不友好,因为SEO在投放时实际上是按照页面维度进行投放的,如果你所有的内容都只有一个URL,那么你就只能投放一次,正常情况下肯定是投放的地址越多,被搜索到的概率也越大
Title和Description非常重要,title告诉用户和搜索引擎特定的网页主题是什么,description则描述了网页大概的内容,这两个标记直接影响SEO的搜索词和搜索结果的展现
Google的搜索结果会展示Title、URL、Description信息,需要说明的是这里的Description可能跟你html里配置的不一致,这是因为Google觉得你的description描述不准确,会选择能更好的匹配用户查询的内容作为description信息展示给用户
Title、Description和Keywords都应尽量清晰、准确的描述文章的内容,且要保持每个网页唯一,不可重复
准确描述网页的内容有利于蜘蛛更好的理解网页,从而更准确的推送给搜索的用户,带来更高的点击
性能
网页打开速度快也是对用户友好很重要的一个指标,如果你的网页打开很慢很容易被用户关闭,对于搜索引擎的爬虫来说也一样,并且搜索引擎的爬虫对每个网站抓取配额是有限制的,网页打开越快,爬虫抓取效率越高,收录的网页数就会越多,被搜索到的概率就越大,所以应尽量让网页打开的快一点
大多数的爬虫目前仍然是对网页源码进行抓取,并不做渲染,所以让主要内容直接显示在网页源码中非常重要,虽然Google蜘蛛已经能抓取解析简单的JS,但效率偏低,所以Google建议重要内容同步展示,这也是尽量不要用ajax异步加载内容的原因,个人博客因为是生成的静态html页面,所以没有这个问题
由于博客网站数据都存储在github上,所以即便是再优化效果也可能不会太好,但还是有一些优化可以做的,网页本身已经是纯静态文件了,所以加载速度与页面加载的资源有很大的关系,尽量使页面简单,使加载的页面资源尽量少、尽量小,同时将图片等静态资源放在CDN上也可以一定程度上加快网页的加载速度
移动端兼容
随着移动设备的普及,有很多用户会在移动端搜索内容,所以博客的移动端兼容性也非常重要,并且Google已经推出了以移动端网页作为主权重页面的移动网页索引,如果网页在PC端表现很好但对移动端不兼容,那么可能用户通过移动端搜索你的内容就会被过滤不展示
个人感觉技术类的网站移动端流量应该不会很高,但事实是运维咖啡吧网站移动端的流量占比超过16%,并且这个数据还有上升的趋势,所以移动端兼容不可忽视
写在最后
很多小伙伴问咖啡君:既然有了网站,是否还有必要关注公众号呢?
我觉得很有必要,公众号更新粉丝会收到消息通知,可以在上下班路上等碎片时间打开看看,看讲到的知识点,看解决方案,看处理思路,有个印象,这样在自己需要解决一样或相似问题时,即便是不知道准确的处理方法,也大概知道处理思路和关键点,再借助搜索引擎就能很快的搞定
没有头绪可能就是一脸蒙蔽,连搜索都不知道搜什么,这也是为什么大家一样的百度谷歌,有的人能快速找到解决方案,有些人不行,很多时候就在这里,对于网站,可能会收藏,但你真的会主动打开查看吗?
相关文章推荐阅读:
Google搜索成最大入口,简单谈下个人博客的SEO的更多相关文章
- 全栈前端入门必看 koa2+mysql+vue+vant 构建简单版移动端博客
koa2+mysql+vue+vant 构建简单版移动端博客 具体内容展示 开始正文 github地址 <br/> 觉得对你有帮助的话,可以star一下^_^必须安装:<br/> ...
- 用mkdocs在gitee码云上建立一个简单的文档博客
利用mkdocs建立简单的文档博客 一.概述 MkDocs 是一个用于创建项目文档的 快速, 简单 , 完美华丽 的静态站点生成器. 文档源码使用 Markdown 来撰写, 用一个 YAML 文件作 ...
- w10环境下Hexo博客搭建
w10使用hexo+github手把手搭建自己的第一个博客 对一个程序员来说,博客的重要性不言而喻,不但可以积累知识,还可以更好的给别人分享自己的心得.今天就以时下比较流行的hexo博客搭建属于自己的 ...
- .NET作品集:linux下的博客程序
博客程序架构 本博客程序是博主11年的时候参考loachs小泥鳅博客内核开发的.net跨平台博客cms,距今已有6年多了,个人博客网站一直在用,虽然没有wordpress那么强大,但是当时在深究.ne ...
- 从开发到部署,使用django创建一个简单可用的个人博客
本文参考于: 简书-Django搭建简易博客教程:http://www.jianshu.com/p/d15188a74104 自强学堂-Django基础教程:http://www.ziqiangxue ...
- 【简单版】hexo博客搭建流程梳理
前言 本文章会为你梳理一个搭建hexo博客的流程 相关网址: Docs: https://hexo.io/docs/ Themes: https://hexo.io/themes/ 安装hexo 准备 ...
- Word 测试下发布博客
目录 语法. 3 NULL,TRUE,FALSE 3 大小端存储 4 类型转换 4 转义字符 5 运算符的优先级 5 表达式(a=b=c) 7 *pa++=* ...
- TP5中隐藏入口文件的问题 - CSDN博客
使用phpstudy和linux部署的时候 tp5中的官方说明是在入口文件的同级目录下添加一个.htaccess文件 文件内容如下: <IfModule mod_rewrite.c>Opt ...
- Linux 下Wordpress博客搭建
Wordpress # 下载安装文件 cd /usr/local/nginx/html/blog wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN ...
随机推荐
- js 制作分页
如图所示 在html中调用方法 getpage(7, 1, 1, 'URL') 1.page.js文件 代码 function getpage(count, countPage, pageIndex, ...
- [C++] 获取IE代理服务器的账号密码
很多程序需要使用'浏览器设置'的代理服务器,IE设置的代理服务器有可能是需要账号密码的.怎样编程获取浏览器设置的代理服务器的账号密码呢? InternetQueryOption(NULL, INTER ...
- H3C 其他OSPF显示命令
- java TreeSet的排序之定制排序
TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了: 该接口包含int compare(Object o1,Object o2 ...
- java 利用反射创建对象
创建对象: 1.使用Class对象的newInstance()方法创建该Class对象的实例,此时该Class对象必须要有无参数的构造方法. 2.使用Class对象获取指定的Constructor对象 ...
- es6笔记 day3---数组新增东西
Array.from()的作用就是把类数组转成数组.所谓类数组,就是有长度的数组 ----------------------------------------------------------- ...
- 手把手教你用ngrx管理Angular状态
本文将与你一起探讨如何用不可变数据储存的方式进行Angular应用的状态管理 :ngrx/store——Angular的响应式Redux.本文将会完成一个小型简单的Angular应用,最终代码可以在这 ...
- 2019-8-31-C#-匹配可空变量
title author date CreateTime categories C# 匹配可空变量 lindexi 2019-08-31 16:55:58 +0800 2019-06-01 08:40 ...
- mapstatetoprops更新state但props不更新渲染的问题
通过react-redux和redux实现react组件之间的通信,reducer.action.store都编写正确,mapDispatchToProps也能正确传值.唯独mapStateToPro ...
- grep工具
全面搜索正则表达式(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix/Lin ...