个人网站5-网站SEO优化推广和增加百度谷歌收录
文章目录
- 博客推广
- 判断是否被收录
- SEO
- 百度收录 密钥
- 必应收录 密钥
- google收录 密钥(这部分弃用,跳过)
- 配置hexo
- 配置deploy
- 返回信息
- 配置谷歌站点地图
- 小结
博客推广
博客网站搭建好了,内容也慢慢充实起来,接着就是网站的推广,希望自己的文章能被他人看到,也希望能够为困惑的路人提供一份思路。
一般推广方式:在别人的博客评论或者一些回答区里并留下你的爪子(博客地址),但太繁琐了,只能一条条复制。
在目前搜索引擎推广是互联网上寻找资源的重要手段,如何让常见的搜索引擎收录自己的文章。
小牛的博客网站是用 hexo+github page搭建的,而github拒绝百度爬虫,所以托管在其上的博客就无法被搜索引擎收录,需要我们手动提交。同时个人博客没有依托于知名的博客平台,如CSDN,知乎,简书,博客园等,那么搜索权重就不高(对于新站基本没有),所以为了更多的人能看到我们的文章,我们需要SEO优化。
判断是否被收录
如何判断自己的博客有没被百度收录很简单,搜索site:域名
,比如site:www.xiaoniuhululu.com
如果搜索出结果,则表明被百度收录了,很明显搜索小牛的网站啥也没显示。
SEO
SEO(Search Engine Optimization):搜索引擎优化
为了提高浏览器收录几率一般可以下面2方面入手:
网站自身优化 和 主动向搜索引擎推送
这边以讨论百度主动推送
为例(不管怎么黑,国内市场属它最大),其他的搜索引擎类似。百度提供了自动提交和手动提交两种方式,其中自动提交又分为主动推送、自动推送和 sitemap 三种方式:
手动提交:一次性提交链接给百度,可以使用此种方式。(,提交量太低,而且太麻烦)自动提交(顾名思义):(1) 主动推送(实时):最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。(2) 自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。(3) sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
个人推荐:主动推送 和 sitemap的两种方式。(但github是屏蔽百度爬虫的,而且百度对 github 托管的 sitemap 不友好,动不动抓取失败,影响网站权重。所以后来决定删除。)
使用站长工具抓取自己的网页,然后请求搜索引擎收录,但是想几个搜索引擎收录,我需要一个个的去提交,这也太麻烦了。
笔者发现网上有人为hexo写了个自动提交的插件hexo-submit-urls-to-search-engine
作者这样说的能够达到效果 文章有时刚发布 5 分钟,即可在必应搜索到
(扒了一下源码,发现作者采用采用的是主动推送的方式)
决定试试,下面是踩坑的过程,让小牛一一道来。
百度收录 密钥
注册、登陆百度搜索资源平台
点击用户中心,站点管理,添加网站
- 验证网站,采用的是html标签验证
直接将标签复制到source\_data\head.swig
中即可(作者使用的是NEXT主题,其他主题可以自己摸索),格式如下:
{% if theme.baidu_site_verification %}<meta name="baidu-site-verification" content="你的token" />
{% endif %}
同时将 主题的_config.yml中,搜索SEO.setting,修改如下
# Baidu Webmaster tools verification.
# See: https://ziyuan.baidu.com/site
baidu_site_verification: true# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO.
baidu_push: true
(当然也可以直接在主题的_config.yml的baidu_site_verification
填写token就行,不必先赋值true再去模板里边填,在下不想改了= =)
- 最后编译发布博客,在博客首页按F12,如果在head标签中看到了验证标签则成功了,如下:
- 验证通过后,在site一下:
- 这里补充一个自动推送的方式(#发现next已经集成了,百度收录的自动推送方式,就是上面这个配置
baidu_push: true
)
接着修改themes\next\layout\_scripts\baidu_push.swig
(没有这个文件则创建),添加以下代码:
{% if theme.baidu_push %}
<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>
{% endif %}
这样子的话每次访问博客中的页面会自动向百度提交。(和我们接下来讲的主动推送,没有冲突)。
- 当然我们需要的是百度提交的秘钥:
在搜索服务,普通收录,API提交,记下下方接口调用地址的【百度站长平台中注册的域名,密匙】
将秘钥复制下来,后面会用到
必应收录 密钥
- 注册、登陆必应新站长平台
添加网站
跟百度一样,选择HTML Meta 标记
将标签复制到source\_data\head.swig
中即可(作者使用的是NEXT主题,其他主题可以自己摸索),格式如下:
{% if theme.bing_site_verification %}<meta name="msvalidate.01" content="你的token" />
{% endif %}
同时将 主题的_config.yml中,搜索seo.setting,修改如下
# Bing Webmaster tools verification.
# See: https://www.bing.com/webmaster
bing_site_verification: true
验证通过后site一下
- 点击URL提交,然后点击设置图标,API 访问,API 密钥 ,记下 API 密匙
将密钥复制下来,后面会用到。
google收录 密钥(这部分弃用,跳过)
这部分比较繁琐,弄了半天,全配置好了,可惜在国内挂着代理也无法提交。插件作者用cl来解决这个问题,但个人感觉没必要,这部分功能弃用,转用谷歌站点地图了,等待作者更新更好的解决方案!
参照google developers 谷歌开发平台的官方文档
- 在 Google API 控制台中创建项目、启用 Indexing API 以及创建凭据。
- 按提示创建项目、创建服务帐号。只需要按提示在网站进行配置操作即可,不需要完成获取访问令牌等后续操作
创建服务帐号
创建密钥,选择json格式的
授予 G Suite 全网域委派权限(这步不操作,跳过)
在 Search Console 中验证网站所有权
选择网域资源验证方式比较好,只需要一个域名就可以匹配到多种格式的 URL,之后会给你一个 TXT 的记录值,复制它到你域名DNS增加一个 TXT 记录,点击验证即可
(小牛域名是在阿里云上买的,所以去阿里云上DNS里添加一下TXT记录即可)
然后回到google站长网站上验证即可。
选择用户和权限。点击添加所有者
邮箱地址是:您在创建项目时下载的 JSON 私钥中的 client_email
字段
电子邮件地址的格式类似如下:
my-service-account@project-name.google.com.iam.gserviceaccount.com
获取访问令牌及后面的不需要操作。
- 您仅按谷歌官方文档在 Google 新的搜索控制台 中添加权限邮箱还是会提示无权限。请转到 旧的网站站长工具 ,点击您的网站,把邮箱地址添加到其中
- 将获取到的 json 密匙文件放于 hexo 根目录(与hexo _config.yml文件位置相同)
配置hexo
- 下载插件(我这里已经换成淘宝源)
cnpm install --save hexo-submit-urls-to-search-engine
- 修改站点的配置文件(编辑hexo的_config.yml)
hexo_submit_urls_to_search_engine:submit_condition: count #链接被提交的条件,可选值:count | period 现仅支持countcount: 10 # 提交最新的10个链接period: 900 # 提交修改时间在 900 秒内的链接google: 0 # 是否向Google提交,可选值:1 | 0(0:否;1:是)bing: 1 # 是否向bing提交,可选值:1 | 0(0:否;1:是)baidu: 1 # 是否向baidu提交,可选值:1 | 0(0:否;1:是)txt_path: submit_urls.txt ## 文本文档名, 需要推送的链接会保存在此文本文档里baidu_host: https://cjh0613.github.io ## 在百度站长平台中注册的域名baidu_token: 请按照文档说明获取 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!bing_host: https://cjh0613.github.io ## 在bing站长平台中注册的域名bing_token: 请按照文档说明获取 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!google_host: https://cjh0613.github.io ## 在google站长平台中注册的域名google_key_file: Project.json #存放google key的json文件,放于网站根目录(与hexo _config.yml文件位置相同),请不要把json文件内容直接发布在公众仓库里!replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是)find_what: http://cjh0613.github.io/blogreplace_with: https://cjh0613.com
- 完成上述配置后,你在 Hexo 根目录下运行
hexo g
指令时,会生成一个 .txt 文件来存储要推送的链接。
发现报错:
看了3秒,发现罪魁祸首是冒号复制成中文的了,改成英文的即可
运行成功
发现submit_urls.txt
找不到,最后搜索了一下才找到,在public
目录下
您可以打开此文件查看链接是否正确,如不正确,请访问 hexo 的 _config.yml 进行配置。您也可以手动修改此 .txt 文件后再推送链接。
一切正常
配置deploy
修改站点文件的_config.yml
,找到deploy
deploy:
- type: git ##注意这个前面也要加 -repo: git@xxxbranch: master #添加本插件的配置项:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
这样执行hexo d
,会运行这个插件,推送博客。
我们再次依次执行黄金3命令:
hexo clean
hexo g
hexo d
解决方案:上面每个 type: 前都有 -
若部分链接推送失败请人工处理:根据反馈来修改保存提交链接的 txt (一般把成功推送的链接去掉),然后只运行 hexo deploy 重新推送,不必重新生成网站。
返回信息
成功推送的返回信息格式如下:
- 必应
Bing response: { d: null }
- 百度
Baidu response: {"remain":2999,"success":1}
- 谷歌
Google response: { urlNotificationMetadata:{ url:'https://cjh0613.github.io',latestUpdate:{ url:'https://cjh0613.github.io',type: 'URL_UPDATED',notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
经过测试,百度,bing都可以,但是google不行,一直报错:
插件作者原话:
想了想没必要用cl,谷歌转用站点地图,因为谷歌收录速度比百度快多了,问题不大。
配置谷歌站点地图
- 下载插件
cnpm install hexo-generator-sitemap --save
- 配置Hexo的_config.yml
sitemap:path: sitemap.xml
同时注意一下,将根目录的 _config.yml 文件,大约第 17 行处,url 改为在百度站长平台添加的域名,也就是你网站的首页地址:
# URL
url: https://www.xiaoniuhululu.com
执行hexo g
重新生成,会在public目录下生成sitemap.xml文件,发布后,就可以在google控制台提交这个sitemap了。
再执行hexo d
将网站部署上去,然后访问 你的首页/sitemap.xml, 就可以看到网站地图了。
比如我的是:
https://xiaoniuhululu.com/sitemap.xml
- 谷歌站长平台(这部分需要 科学上网)
进入谷歌站长平台,登录你的谷歌账号之后会让你验证网站所有权:
选择网域资源验证方式比较好,只需要一个域名就可以匹配到多种格式的 URL,之后会给你一个 TXT 的记录值,复制它到你域名DNS增加一个 TXT 记录,点击验证即可
(小牛域名是在阿里云上买的,所以去阿里云上DNS里添加一下TXT记录即可)
然后回到google站长网站上验证即可。
- 提交谷歌收录,选择站点地图
再site一下:
建议顺便把百度和必应(bing)站点地图提交一下,反正也不冲突。
小结
百度站长平台:https://ziyuan.baidu.com/
谷歌站长平台:https://search.google.com/search-console/links
必应站长平台:https://www.bing.com/webmasters
里面有各种功能,能看到网站提交或者收录的相关数据,耐心等待搜索引擎的收录。
网站推广固然重要,当然要想留得住网上冲浪的哥哥姐姐们,还得文章内容过硬。
参考文档:https://cjh0613.com/20200603HexoSubmitUrlsToSearchEngine.html#%E7%99%BE%E5%BA%A6
本篇文章到这里就结束啦,如果喜欢的话,多多支持,欢迎关注!
个人网站5-网站SEO优化推广和增加百度谷歌收录相关推荐
- 新做的网站怎么做seo优化推广,让搜索引擎快速收录的方法
新做的网站怎么seo优化推广,这是每一位网站主最关注的一个问题.针对新网站的优化小编在这里给大家出以下几个建议,希望对站长们有一定的借鉴作用. 一.大量空短内容 空短内容在网站内容中,是比较常见的现象 ...
- 旅游网站的主页代码_山西太原网站SEO优化推广联系电话
山西太原网站SEO优化推广联系电话.选择一家网站建设公司并不容易,每家公司都有各有的优势,一般来说,企业在做出***终选择之前都应该至少联系3到5个网站.但是大多数人不知道在网站建设中应该注意哪些方面 ...
- 中小型网站 seo 优化推广策略
中小型网站 seo 优化推广策略 互联网的发展造就了无数成功的案例, 在大洋彼岸的美国上市的中国互联网企业作为行业的 前辈一直是中小企业的榜样和目标, 同时也犹如三座大山般占据了巨大的市场和竞争, 在 ...
- AI人工智能技术可以应用在网站seo优化推广上吗?
AI人工智能被认为是二十一世纪的尖端技术之一,近些年来得到飞速发展.并在很多学科领域都得到了广泛的应用,利用数据和算法方便了我们的生活. 因此,有人提出AI人工智能技术可以应用在网站seo优化推广上吗 ...
- 玉米社:seo优化推广 网站收录一直不太好什么原因?
网站做了好几个月,内容一直不收录? 内容收录速度参差不齐,有的当天收录,有的几天后才收录? 文章开始有收录,怎么突然不收录了? seo优化推广 网站收录一直不太好什么原因? 1.内容重复 (1)模板重 ...
- 外贸行业网站的seo优化推广怎么做?优化技巧详解
从事外贸行业的人员相信经常能听到,"外贸行业不行啦,不要轻易踏进外贸行业".但是据数据显示,"2021年1月至4月,我国外贸进出口.出口.进口同比分别增长28.5%.33 ...
- 网站seo优化推广方式有哪些?如何提高网站排名?
1.高质量的内容建设 在网络推广当中网站seo优化的内容是很重要的,高质量的文章更容易受到搜索引擎的青睐,而且对于用户来说,提供有价值的信息也能提高用户的体验感,给网站带来流量. 2.保持网站的更新频 ...
- phphstudy运行不了网站_【SEO优化】企业网站进行SEO优化优那些小技巧
点击蓝字关注我哦 关键字没有排名就意味着什么都没有,如何做好企业网站关键字排名是困扰大多数SEO从业者的难题.搜索是一套程序,会根据程序的设置来判断一个网站的排序结果,从这个角度来说,任何网站的优点都 ...
- 一个网站完整的SEO优化方案
希望对SEO优化有点帮助,深咖直接跳过... 一个完整的SEO优化方案主要由四个小组组成: 前端/页编人员 内容编辑人员 推广人员 数据分析人员 接下来,我们就对这四个小组分配工作. No.1 首先, ...
最新文章
- Android APP测试的日志文件抓取
- 张一鸣的微博世界-产品篇二
- Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
- python hexdigest,Java方法,可以为Hex中的HMAC-SHA256提供与Python方法相同的输出
- vue mint-ui 弹出框
- 手把手教程:用Python开发一个自然语言处理模型,并用Flask进行部署
- php document.getel,javascript 密码强弱度检测万能插件_javascript技巧
- python学习—python中的引用本质
- py2neo 数据类型
- 11.springcloud的springconfig配置
- STM32工作笔记0011---认识跳线帽
- 九度OJ-1112-导弹拦截-最长不增子序列
- 毕业从事汽车行业,转行测试工程师,3个月完成了蜕变,我很满意...
- AIR-Android开发外部数据访问与存储
- 通信原理实践(四)——模拟通信系统性能分析
- 应用程序正常初始化(0xc015002)失败解决方法
- 前端开发所需基本环境和软件配置
- 免费在线 Logo生成器
- 用python爬取链家的租房信息
- 2022-2028年中国手机银行行业市场竞争态势及未来前景分析报告