现在主流的开发方式是前后端分离开发,其中前后端交互是前端通过ajax去访问获得后端数据,但是我们的浏览器渲染页面时不会去运行页面中的js代码,从而搜索引擎排除排除只能拿到我们的模型页面而没有数据渲染,我们的页面关键词搜索引擎拿到的就是很少。
这里有人就会问,那我们就要放弃前后端分离开发吗或者直接写静态页面,不这时候就要用到seo
谷歌爬虫:Googlebot
这是两个主流的爬虫机器人
接下来我给大家讲两个百度搜索引擎的算法
分词算法
内部逻辑:
1)分词处理
搜索引擎会把你页面组合抓取的信息用中文分词算法分割出大量关键词
1)词典处理
词典处理分为有效处理和无效处理也可以叫为有效判断和无效判断。词库对比数据库,这里的词库会随机组合放到数据库,当用户搜索关键字,就会进行匹配会有完全匹配 部分匹配 间接匹配三种情况。
解决方法:
1.确定页面词根
2.寻找精确的需求拓展词 需求定位 品牌定位
3.撰写标题(优化规范)
点击算法
搜索引擎通过用户点击页面的行为,制作的算法,当用户搜索关键词,看到的是页面的标题和网页的快照。只有被点击才会获得流量。
解决方法:
1.标题 关键字 2.公司名称 3.品牌 4.产品词
1.seo是优化网站权重
2.语义性是搜索引擎优化的一部分(前端优化)
3.搜索引擎爬虫评判
1)良好的缩进与规范的格式
2)良好的拓展性(代码量少)
3)合理的标签语义
4)404页面必不可少
一)代码语性
title和meta(源信息,描述信息)
div span h1-h6 p ul ol li dl dt dd a img table (a标签= 外链 title=”关键词”)
特殊属性 : img的alt和title属性 a的title属性
多用标签选择器 .list dt a {} 而不是class=”title”
二)代码可读性
标签嵌套规则
in和del(行内元素)可以包含块状元素或者行内元素,其他任何行内元素都不允许包含块状元素
p h1-h6可以直接包含行内元素和文本信息,但是不允许包含块状元素
dl元素只允许包含dt和dd,同时dt不能包含块状元素,只允许包含行内元素,dd可以包含任何元素
不建议form直接包含input元素
table元素建议直接包含caption colgroup thead tbody tfoot 不建议直接包含tr或者其他任何元素
css代码书写规范
命名采用更简明有语义的英文单词进行组合
针对单词可以进行缩写
采用小写字母加中划线的方法进行,不使用下划线或大写字母
css代码的书写顺序遵循css样式的熏染顺序
显示属性 ——display float position等
自身属性 ——width height margin padding
文本属性 ——font-size line-height text-align
其他 CSS3等
js命名规范
区分大小写
每一个字符必须是一个字母 下划线(_)或一个美元符号($) 其他字符可以是字母 下划线 美元符号或数字
不能包含有空格 不能以关键字或保留字命名
遵循小驼峰命名
变量或属性以名词开头 方法或者函数以动词开头
常量命名 字母全部大写 多个单词之间使用下划线
构造函数函数名 首字母大写 遵循大驼峰命名