一、简介

  1、何为SEO?

  SEO(search engine optimization),翻译为搜索引擎优化,是利用搜索引擎的搜索规则来提高在相关搜索引擎的排名以及访问量的方式。

  2、目的

  为了获取更多的流量、排名以及点击率从而实现品牌的推广以及营销,提高影响力。

二、如何在HTML进行代码优化

  1、为什么要进行HTML优化?

  我们做SEO,最直接的目的就是想通过搜索引擎获得好的关键词排名和流量,而搜索引擎工作又是依赖它们的“蜘蛛”程序进行的。所谓搜索引擎蜘蛛只是搜索引擎开发的“机器人”程序,简单来说,它的工作原理就是通过对网站的爬行,抓取网站的相关链接、关键词、内容,然后分配网站的权重和相应的搜索引擎排名。而这个过程,大部分工作都是在网站的HTML代码上进行的。所以,通过HTML优化,可以告诉蜘蛛哪些内容是重要的,哪些内容又是可以忽略的,以达到最佳的SEO效果。下边就开始实际分析。

  2、哪方面可以有效的达到欧优化效果?

  1)title 以及meta的使用。

  这里我把title跟meta放在第一位,说明这是非常重要的部分。

  <title>网站标题</title>

  <meta name="description" content="网站描述" />

  <meta name="keywords" content="网站关键词" />

  在网站的标题以及meta属性上写到需要加强的关键词,这样会加大搜索几率,虽然近些年来很多搜索引擎对网站关键字等没有那么重视,但是写上总比不写的好。

  2)H标签的使用。

  关于H标签的使用也有讲究。对于一个页面来说,H1标签应该是非常重要的,只能出现一次,里边放主要的标题信息,权重最高,对蜘蛛的吸引力也是最强的。其他的H2到H6这些副标题强调的作用也就相应减少,用的次数没有要求。

  3)a标签的使用

  <a href="链接地址" title="链接说明">链接关键词</a>

  站内丰富的超链接会方便蜘蛛爬行,体现网站的深度和广度,这点在SEO中至关重要。“链接地址”特别是栏目的链接地址,最佳的出现形式应该是http://你的域名/固定链接/。现在,链接的理想结构是以“/”结尾。“链接说明”,一般都是链接的关键词或是关键词相关说明文字,这点可能很多人容易忽视,建议还是写好链接说明,尤其是做外部链接的时候,这么做效果还是很不错的,对网站关键词的搜索引擎排名很有帮助。

  注意:如何是一些单页面网站用的是路由跳转,可以在a标签里href放全路径,然后padding-left:-99999px;或者absolute 把这标签扔到页面的外边不被看到就可以,但是可以被搜索到。

  4)图片img标签的使用

  <img src="图片链接地址" alt="图片说明" />

  图片说明比较重要,肯定得加上,这样就可以方便搜索引擎知道这张的图片的内容,方便搜索跟排名。

  5)strong标签的使用

  很多人多这个标签不感冒,觉得没有什么用,其实这标签是非常重要的,标签顾名思义是强调的意思,在里边放一些关键字将会起到很重要的效果。

  6)文章底部版权信息的添加。

  <div id="copyright">版权部分已经网站名称等信息</div>

  网站底部版权部分的权重越来越高了,在版权部分加上网站名称和链接或是强调一些关键词是很有必要的。

三、对单页面进行SEO优化

  单页面应用目前在市场如火如荼,三大框架angular,react,vue的使用越来越受欢迎,虽然使得开发效率提高了,但是也存在某些不足的地方,比如SEO问题,这个问题就需要去解决。

  1、使用服务器端渲染(SSR)

  vue针对SEO的问题已经出了官方SSR文档来专门解决这个问题。https://ssr.vuejs.org/zh/。当然用服务器渲染对于前端后端来说都是个挑战,无论从技术还是写法上都有很大的难度,对于前后端分离的项目而言,实现起来更加困难。有兴趣可以看下官方文档,这里将不做介绍,因为我也没研究过SSR哈哈。下面将介绍另外一种方式。

  2、预渲染

  如何你对少数的几个重要的页面进行SEO优化,预渲染将是个非常重要的操作。预渲染可以在build时对指定的路由生产静态HTML文件。使用 prerender-spa-plugin配置就可以实现预渲染。

// webpack.conf.js
var path = require('path')
var PrerenderSpaPlugin = require('prerender-spa-plugin') module.exports = {
// ...
plugins: [
new PrerenderSpaPlugin(
// 编译后的html需要存放的路径
path.join(__dirname, '../dist'),
// 列出哪些路由需要预渲染
[ '/', '/about', '/contact' ]
)
]
}

渲染出来的目录像这样子:

  3、动态添加meta信息

  有时候我们需要在应用添加一些meta信息来写一些关键字已经描述等,这时候需要到插件vue-meta-info了,这个插件可以动态设置meta的信息。

  1.安装

  npm install vue-meta-info --save

  2.全局使用vue-meta-info

  在main.js里

  import Vue from 'vue'

  import MetaInfo from 'vue-meta-info'

  Vue.use(MetaInfo);

  3、在组件内静态使用

<template>
...
</template> <script>
export default {
metaInfo: {
title: 'My Example App', // set a title
meta: [{ // set meta
name: 'keyWords',
content: 'My Example App'
}]
link: [{ // set link
rel: 'asstes',
href: 'https://assets-cdn.github.com/'
}]
}
}
</script>

  4、如果你的title或者meta是异步加载的,那么你可能需要这样使用:

<template>
...
</template> <script>
export default {
name: 'async',
metaInfo () {
return {
title: this.pageName
}
},
data () {
return {
pageName: 'loading'
}
},
mounted () {
setTimeout(() => {
this.pageName = 'async'
}, 2000)
}
}
</script>

四、就给大家介绍到这里,谢谢。

SEO页面优化以及如何对单页面应用进行SEO优化的更多相关文章

  1. 详解H5中的history单页面,手动实现单页面开发,细说h5单页面原理

    就目前来看,前端的单页面开发占了很大一部分,一方面无刷新的切换增强了体验,并且浏览器记录依然存在,前进后退都没问题,在之前我们通地址栏中的hash改变来触发onhashchange方法来实现单页面应用 ...

  2. .htaccess A网站单页面301到B网站单页面

      .htaccess 301问题 A网站  a.com/a.html 301到 B网站 b.com/b.html   RewriteRule ^a.com/a.html$ http://www.b. ...

  3. vue单页面应用项目优化总结(转载)

    转载自:https://blog.csdn.net/qq_42221334/article/details/81907901这是之前在公司oa项目优化时罗列的优化点,基本都已经完成,当时花了点心思整理 ...

  4. 大型vue单页面项目优化总结

    这是之前在公司oa项目优化时罗列的优化点,基本都已经完成,当时花了点心思整理的,保存在这里,方便以后其他项目用到查漏补缺. 1.打包文件中的app.js文件放入cdn,加快页面首次加载速度 2.提取公 ...

  5. 详细解剖大型H5单页面应用的核心技术点

    项目 Xut.js 阐述下开发中一个比较核心的优化技术点,这是一套平台代码,并非某一个插件功能或者框架可以直接拿来使用,核心代码大概是6万行左右(不包含任何插件) .这也并非一个开源项目,不能商业使用 ...

  6. 使用react-router实现单页面应用路由

    这是Webpack+React系列配置过程记录的第二篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...

  7. Vue单页面应用

    单页面应用指一个系统只加载一次资源,然后下面的操作交互.数据交互是通过router.ajax来进       行,页面并没有刷新:<1>在vue搭建的环境里面怎么有没有公用的css和js? ...

  8. Vue-cli创建项目从单页面到多页面2-history模式

    之前讲过怎样将vue-cli创建的项目改造成多页面(vue-cli创建项目从单页面到多页面),今天说一下怎样在多页面的前提下使用history模式. 如何使用history模式 因为vue默认的has ...

  9. Vue-cli创建项目从单页面到多页面4 - 本地开发服务器设置代理

    前后端分离开发时,有时候会遇到跨域的情况:只在开发的时候存在跨域,项目上线后,由于配置的域名相同,跨域就会不存在. 这个时候,有两种方案可以比较快的解决: 1.利用h5的特性,使用cors,在ngni ...

随机推荐

  1. Codeforces 842A Kirill And The Game【暴力,水】

    A. Kirill And The Game time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...

  2. bzoj:3085: 反质数加强版SAPGAP

    Description 先解释一下SAPGAP=Super AntiPrime, Greatest AntiPrime(真不是网络流),于是你就应该知道本题是一个关于反质数(Antiprime)的问题 ...

  3. HDU 2602 Bone Collector(01背包裸题)

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  4. BZOJ1258: [CQOI2007]三角形tri

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1258 如果最后一位是4,那就改成123就好了. 然后最后一位不是4的话,至多三个答案,然后可以 ...

  5. 2017 ECJTU ACM程序设计竞赛 矩阵快速幂+二分

    矩阵 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission ...

  6. Centos7网络配置-转载

    一. 查看网络地址: centos7取消了ifconfig命令,使用ip addr命令查看IP地址 二.配置网络 用VirtualBox安装的CentOS7,安装完成后,发现无法上网,于是到网上查了一 ...

  7. js BOM DOM

    BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关的动作. 简而言之就是使 JavaScript ...

  8. php的底层原理

    PHP说简单,但是要精通也不是一件简单的事.我们除了会使用之外,还得知道它底层的工作原理. PHP是一种适用于web开发的动态语言.具体点说,就是一个用C语言实现包含大量组件的软件框架.更狭义点看,可 ...

  9. 《并行程序设计导论》——MPI(Microsoft MPI)(1):Hello

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  10. Linux Server release 7.3 更换阿里网络yum源

    查看当前系统下的yum源 [root@localhost ~]# rpm -qa |grep yum yum-3.4.3-150.el7.noarch yum-utils-1.1.31-40.el7. ...