技巧:网站优化必备的经验有哪些?
优采云 发布时间: 2022-12-12 07:44技巧:网站优化必备的经验有哪些?
只有经过长时间的优化工作,才能明白一些道理。为了有一个好的排名,企业会尝试几乎所有的优化方法。但是如果不懂得总结经验,发现问题,再坚持下去也不会进步。那么哪些课程可以让网站更好地优化呢?
1. 选择 关键词
可以说,在一个行业中,基本上只有几个词可以输入,找到自己想要的内容,客户搜索的也就那么几个。很多公司在优化网站时犯了一个误区,就是选择一个词后编辑文章。而不是考虑这个词是否有一定的搜索量,是否与他们的行业或产品相关,只是根据一时的想法写的。这样得到的文章大多不具备优化潜力,即使能得到收录,也未必会有客户去搜索。因为选择准确有效的词是优化的基础,这也是一种经验:
1. 问问自己
关键词 与您的 网站 内容相关吗?当搜索使用这些 关键词 时,搜索者会在您的 网站 上找到他们需要的答案吗?他们会对自己的发现感到满意吗?这种流量或访问者是否为我们创造价值或订单?
2. 关键词竞品分析,关键词难度分析
我们在主搜索引擎上输入我们想要的关键词,然后查看搜索引擎给出的结果。在首页我们可以看到结果页有多少付费广告。一般来说,付费广告越多,关键词值越大,关键词转化率越高。这种关键词的优化难度也比较大,所以很多人选择付费竞价的方式来获取排名。
3.测试关键词的转化率
如果我们的关键词没有在搜索引擎上排名,我们可以通过付费广告让我们的关键词获得排名,在竞价后台使用精准的流量方式。我们通过200-300的点击次数,来查看这个关键词的转化率,来判断关键词的价值。
4. 根据采集到的数据,确定每个 关键词 的确切值
例如,假设您的搜索广告在一天内产生了 5,000 次展示,100 名访问者访问了您的 网站,还有 3 名客户关闭了。关键词 的值为 3%/5000。我们选择关键词是为了选择转化率高的关键词,而不是展示量高的关键词。
2. 质量 文章
关键词主要在文章中使用,而网站主要在文章中进行优化。质量文章是吸引搜索引擎抓取收录的重要标准,基本上任何优化都需要大量的文章。随着文章的积累,很容易被客户搜索到。而文章质量是企业需要考虑的前提。根据经验,选择采集 或伪原创 并不是一个好的方法。也许表面上可以被一些无知的客户看出来,但是用这种文章来提高排名是比较困难的。搜索引擎有自己的判断方式文章,是采集还是伪原创。原创在站点中的比例越低,优化效果越差,不被搜索引擎看好,更新再多也没用。因此,企业应该明白只有原创才是优化的源头:
1. 在 关键词 周围写上 文章
关键词 是你要表达的观点和论点。确认关键词后,就可以开始积累素材,围绕关键词描述相关论据。如果合适的话,为了让读者更容易理解,还准备了一些相关的图片进行装饰。
2、做好文章内容建设
文章内容主要围绕主题展开,但内容的构建也有讲究。正确的做法是:在写作材料积累完成后,最好列出文章的写作分点,围绕每一个分点进行阐述,让分点成为写作的支撑主题,内容是分点细化的内容,这样环环相扣的方式,让内容只围绕主题展开,杜绝了随便写写跑题的现象,读者层次感强,很容易理解作者表达的意思。
3. 细化网站内容元素
内容不仅包括副标题和论证支持的阐述,文章也不仅仅是文字的表达,我们往往需要考虑用户的阅读和理解,那么,这个时候,我们就需要丰富我们的内容文章对于难以理解或生动的论点,可以用插图或其他元素补充内容。作为内容建设者,我们必须尽最大努力丰富用户的阅读体验。细节和不明白的概念或排名,可以做一个专门的介绍。这些详细的写作材料应该在你列出题目和大纲之前准备好。到时候,随着观点的推进,只需要及时插入内容即可。
3.推广
选择网站优化主要是因为它节省了成本,而不是时间。一些大公司会转而推广,即通过搜索引擎营销来快速提升排名。在提升的同时进行优化到底,两种方式结合使用可以使优化更快达到效果。基本上大家都知道,做SEO至少需要三五个月才能看到初步效果,也就是排名上升的时期,但不是前几页。要加快这个速度,促销就可以起到这个作用。毕竟,推广的主要方式是付费,单价最高的就会获得排名。网站点击率越高,效果越好,所以企业可以考虑两者一起操作,让优化更快。
总结:关于网站优化的必要经验,我们还有很多细节需要讨论,以上内容仅供参考。
技巧:大数据平台介绍——大数据开发初学者快速入门
更多免费大数据学习资源,请访问北京尚学堂官网。
指导:
第 1 章:了解 Hadoop
第 2 章:更高效的 WordCount
第 3 章:从其他地方获取数据到 Hadoop
第 4 章:从其他地方的 Hadoop 获取数据
第 5 章:来吧,我的 SQL
第6章:一夫多妻制
第 7 章:越来越多的分析任务
第 8 章:我的数据需要实时
第 9 章:我的数据将是外部的
第 10 章:高层次的机器学习
初学者经常会问,如果想往大数据方向发展,应该学什么技术,学习路线是什么,他们觉得大数据很吃香,就业好,薪水高。。。首先总之,如果你确定要往这方面发展,首先要考虑你过去的经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?
其实这是告诉大家大数据的三个发展方向,平台建设/优化/运维/监控,大数据开发/设计/架构,数据分析/挖掘。
首先说说大数据的4V特性:
数据量大,TB->PB数据类型,结构化、非结构化文本、日志、视频、图片、地理位置等;商业价值高,但这种价值需要建立在海量数据的基础上,通过数据分析和机器学习可以更快地挖掘出来;处理时间高,海量数据的处理需求不再局限于离线计算。
现在为了应对大数据的这些特点,开源的大数据框架越来越多,而且越来越强大。先列举一些常见的:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
流式、实时计算:Storm、Spark Streaming、S4、Heron
KV、NOSQL 数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志采集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理和监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
······
第 1 章:了解 Hadoop
1.1 学习百度和谷歌
无论您遇到什么问题,请先尝试搜索并自行解决。
谷歌首选,*敏*感*词*就用百度。
1.2 参考资料优先使用官方文档
尤其是入门,官方文档永远是首选。
相信从事这方面的大部分都是文化人,英语还可以。如果实在受不了,请参考第一步。
1.3 让Hadoop先跑起来
Hadoop可以说是大数据存储和计算的鼻祖。现在大多数开源大数据框架都依赖于Hadoop或者很好地兼容它。
关于Hadoop,你至少需要搞清楚以下几点:
Hadoop 1.0, Hadoop 2.0MapReduce, HDFSNameNode, DataNodeJobTracker, TaskTrackerYarn, ResourceManager, NodeManager
自己搭建Hadoop,请使用第一步和第二步使其运行起来。
建议先使用安装包命令行安装,不要使用管理工具安装。
另外:Hadoop1.0都知道,现在我们用的是Hadoop 2.0。
1.4 试用 Hadoop
HDFS目录操作命令;上传和下载文件命令;提交并运行MapReduce示例程序;打开Hadoop WEB界面,查看作业运行状态,查看作业运行日志。知道 Hadoop 的系统日志在哪里。
1.5 了解它们的原理
MapReduce:如何分而治之;
HDFS:数据在哪里,什么是副本;
Yarn 到底是什么,它能做什么;
NameNode 到底在做什么;
ResourceManager 到底在做什么;
1.6 自己写一个MapReduce程序
仿照WordCount的例子,自己写一个WordCount程序(也可以照搬),
打包提交给Hadoop运行。
如果您不懂 Java,可以使用 Shell 或 Python。有一种叫做 Hadoop Streaming 的东西。
如果你能认真完成以上步骤,恭喜你,你的一只脚已经进来了。
第 2 章:更高效的 WordCount
2.1 学习一些SQL
不懂数据库的童鞋,先学会使用SQL语句。
2.2 SQL 的 WordCount
1.6,你写(或抄)WordCount多少行代码?
如果使用 SQL:
SELECT word,COUNT(1) FROM wordcount GROUP BY word;
这就是SQL的魅力。编程需要几十行甚至上百行代码,SQL一句话就搞定;使用SQL在Hadoop上处理和分析数据,方便、高效、易用,更是新潮。无论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。
2.3 安装配置Hive
Hive 是一个数据仓库工具。安装并不难。网上有很多教程。配置完成后,即可正常进入Hive命令行。
2.4 尝试使用蜂巢
尝试在Hive中创建一个wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面找到刚才运行的SQL任务。查看SQL查询结果与1.4中MapReduce中的结果是否一致。
明明是用SQL写的,为什么在Hadoop WEB界面看到MapReduce任务呢?
2.5 学习Hive的基本命令
创建和删除表;将数据加载到表中;从 Hive 表下载数据;并了解有关 Hive 语法和命令的更多信息。
如果您认真完整地按照第 1 章和第 2 章中的步骤进行操作,您应该已经具备以下技能和知识点:
0和Hadoop2.0的区别
MapReduce原理(还是经典题,10G文件,给定1G内存,如何用Java程序统计出现次数最多的10个词及其次数);
HDFS读写数据的过程;PUT数据到HDFS;从 HDFS 下载数据;
我可以自己写一个简单的MapReduce程序,如果运行有问题,我知道去哪里查看日志;
能编写简单的SELECT、WHERE、GROUP BY等SQL语句;
Hive SQL转MapReduce的一般过程;
Hive中常用语句:建表、删表、加载数据入表、分区、下载表中数据到本地;
通过上面的学习,大家了解到HDFS是Hadoop提供的分布式存储框架,可以用来存储海量数据,而MapReduce是Hadoop提供的分布式计算框架,可以用来对海量数据进行统计分析。 HDFS,而 Hive 是 SQL On Hadoop。Hive 提供了一个 SQL 接口。开发者只需要编写简单易用的SQL语句即可。Hive负责将SQL翻译成MapReduce并提交运行。
此时,你认知中的“大数据平台”是这样的:
那么问题来了,海量数据如何获取到HDFS呢?
第 3 章:从其他地方获取数据到 Hadoop
这里也可以叫data采集,把各个数据源的data采集传给Hadoop。
3.1 HDFS PUT命令
put命令在实际环境中也比较常用,通常与shell、python等脚本语言配合使用。建议熟练。
3.2 HDFS API
HDFS 提供了一个用于写入数据的 API。您可以使用编程语言将数据写入 HDFS。put 命令本身也使用 API。
在实际环境中,一般很少会自己写程序,使用API向HDFS写入数据。通常是其他框架封装的方法。例如:Hive中的INSERT语句,Spark中的saveAsTextfile等。
大家可以试着理解原理,试着写几个demo。
3.3 勺子
Sqoop是一个开源框架,主要用于Hadoop/Hive与Oracle/MySQL/S等传统关系型数据库之间的数据交换。
就像Hive将SQL翻译成MapReduce一样,Sqoop将你指定的参数翻译成MapReduce,提交给Hadoop运行,完成Hadoop与其他数据库的数据交换。
自己下载并配置Sqoop(建议先用Sqoop1,Sqoop2比较复杂)。
了解Sqoop的常用配置参数和方法。
使用Sqoop完成MySQL到HDFS的数据同步;
使用Sqoop完成MySQL到Hive表的数据同步;
PS:如果在后续选型中决定使用Sqoop作为数据交换工具,建议熟练掌握,否则只需要了解并会用Demo即可。
3.4 水槽
Flume是一个分布式海量日志采集和传输框架。因为“采集和传输框架”,不适合关系型数据库数据采集和传输。Flume可以将网络协议、消息系统、文件系统采集的日志实时传输到HDFS。因此,如果您的企业拥有来自这些来源的数据并且需要实时 采集,您应该考虑使用 Flume。
下载并配置 Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;
PS:Flume的配置和使用比较复杂。如果你没有足够的兴趣和耐心,可以先跳过Flume。
3.5 阿里开源DataX
之所以介绍这个是因为目前某公司客户使用的Hadoop和关系型数据库数据交换工具是基于DataX开发的,个人感觉非常好用。DataX 现在是 3.0 版本,支持很多数据源。也可以在其上进行二次开发。
PS:有兴趣的可以学习使用,和Sqoop对比一下。
到目前为止,你的“大数据平台”应该是这样的:
第 4 章:从其他地方的 Hadoop 获取数据
上一节介绍了如何将数据采集从数据源传输到Hadoop。数据上传到Hadoop后,可以使用Hive和MapReduce进行分析。那么接下来的问题是,如何将Hadoop的分析结果同步到其他系统和应用中呢?
其实这里的方法和第三章的方法基本一样。
4.1 HDFS GET 命令
GET HDFS上的文件到本地。精通是必需的。
4.2 HDFS API
原理同3.2。
4.3 斯库普
原理同3.3。
使用Sqoop完成HDFS上文件到MySQL的同步;
使用Sqoop将Hive表中的数据同步到MySQL;
4.4 数据交换
原理同3.4
此时,“你的大数据平台”应该是这样的:
完成第3章和第4章的过程后,你应该已经具备以下技能和知识点:
了解如何将现有数据采集传输到HDFS,包括离线采集和实时采集;知道sqoop(或DataX)是HDFS与其他数据源之间的数据交换工具;知道flume可以作为实时日志采集;
至此,对于大数据平台,你应该已经掌握了如何搭建Hadoop集群,将数据采集传输到Hadoop,使用Hive和MapReduce对数据进行分析,以及将分析结果同步到其他数据源。
接下来的问题是,随着Hive用的越来越多,你会发现很多不爽的地方,尤其是速度慢,
大多数情况下,很明显我的数据量小,需要申请资源,启动MapReduce执行。
第 5 章:来吧,我的 SQL
其实大家已经发现,Hive后台使用MapReduce作为执行引擎,确实有点慢。因此,SQL On Hadoop 框架越来越多。据我了解,最常用的依次是SparkSQL、Impala、Presto。这三个框架都是基于半内存或者全内存的,都提供了SQL接口来快速查询和分析Hadoop。在数据上。
目前,我们的解决方案使用的是SparkSQL。至于为什么使用SparkSQL,原因如下:
我用Spark做了其他的事情,不想介绍太多的框架;Impala对内存要求太大,没有太多的资源部署;
5.1 关于Spark和SparkSQL
什么是 Spark,什么是 SparkSQL。
Spark 有核心概念和名词解释。
SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。
为什么 SparkSQL 运行速度比 Hive 快。
供参考:SparkSQL 与 Hive on Spark 的比较
5.2 如何部署和运行SparkSQL
Spark有哪些部署方式?
如何在 Yarn 上运行 SparkSQL?
使用 SparkSQL 查询 Hive 中的表。
参考:Spark - lxw的大数据领域
PS:Spark不是短时间内可以掌握的技术,所以建议大家了解Spark之后,可以从SparkSQL入手,循序渐进。
如果你认真完成了以上的学习和实践,此时,你的“大数据平台”应该是这样的:
第6章:一夫多妻制
其实我想说的是一个采集,数据的多次消费。
在实际的业务场景中,尤其是一些监控日志,想从日志中实时了解一些指标(关于实时计算,下一章会介绍)。此时从HDFS分析太慢,即使通过Flume采集,但是Flume不能以很短的间隔将文件roll到HDFS,会导致小文件过多。
为了满足一个采集和多个消费数据的需求,这里要说的就是Kafka。
6.1 关于卡夫卡
Kafka 是一个高吞吐量的分布式发布-订阅消息系统,可以处理消费者规模的所有动作流数据网站。此类操作(页面浏览、搜索和其他用户操作)是现代网络上许多社交功能的关键因素。由于吞吐量要求,这些数据通常通过处理日志和日志聚合来处理。
6.2 如何部署和使用Kafka
在单机上部署Kafka,并成功运行内置的生产者和消费者示例。
使用 Java 程序自己编写和运行生产者和消费者程序。
Flume与Kafka的集成利用Flume监控日志,实时将日志数据发送给Kafka。
关于Kafka,可以参考:Kafka - lxw的大数据领域
此时,“大数据平台”应该扩展如下:
这时候使用Flume采集的数据并不是直接去HDFS,而是先去Kafka。Kafka中的数据可以同时被多个消费者消费,其中一个消费者将数据同步到HDFS。
总结:
为什么 Spark 比 MapReduce 更快。
使用 SparkSQL 而不是 Hive 来更快地运行 SQL。
使用Kafka一次完成数据采集,多次消费架构。
可以编写程序来完成Kafka的生产者和消费者。
前面的学习掌握了大数据平台中数据采集、数据存储和计算、数据交换的大部分技能,每一步都需要一个任务(程序)来完成。它们之间存在一定的依赖关系。例如,数据计算任务只有在数据采集任务成功完成后才能开始运行。如果任务执行失败,需要向开发和维护人员发送告警,并提供完整的日志,方便故障排除。
第 7 章:越来越多的分析任务
不仅仅是分析任务,数据采集,数据交换也是一项一项的任务。其中一些任务是定期触发的,而另一些则需要由其他任务触发。当平台中有成百上千个任务需要维护和运行时,光靠crontab是远远不够的。这时候就需要一个调度和监控系统来完成这个任务。调度监控系统是整个数据平台的中心系统,类似于AppMaster,负责任务的分配和监控。
7.1 阿帕奇奥齐
1.什么是Oozie?有哪些功能?
2、Oozie可以调度哪些类型的任务(程序)?
3、Oozie支持哪些任务触发方式?
4.安装并配置Oozie。
7.2 其他开源任务调度系统
阿兹卡班
轻任务调度程序
阿里巴巴/宙斯
...
此时:
第 8 章:数据需要实时
在第6章介绍Kafka时,提到了一些需要实时指标的业务场景。实时基本上可以分为绝对实时和准实时。绝对实时时延要求一般在毫秒级,准实时时延要求一般在秒、分级别。. 对于要求绝对实时的业务场景,经常会用到Storm。对于其他准实时业务场景,可以是Storm或者Spark Streaming。当然,如果可能的话,你也可以自己写一个程序来做。
8.1风暴
1.什么是风暴?可能的应用场景有哪些?
2、Storm的核心组件有哪些,分别起到什么作用?
3. Storm的简单安装部署。
4、自己编写demo程序,使用Storm完成实时数据流计算。
8.2 火花流
1、什么是Spark Streaming,它和Spark有什么关系?
2、Spark Streaming和Storm的优缺点是什么?
3.使用Kafka + Spark Streaming完成实时计算的Demo程序。
此时:
至此,大数据平台的底层架构已经形成,包括数据采集、数据存储和计算(离线和实时)、数据同步、任务调度和监控。接下来就是考虑如何更好的对外提供数据了。
第 9 章:数据应该是外部的
数据访问通常由外部(业务)提供,一般包括以下几个方面:
离线:比如每天将前一天的数据提供给指定的数据源(DB、FILE、FTP);
可以使用Sqoop、DataX等离线数据交换工具提供离线数据。
实时性:比如在线网站推荐系统需要实时从数据平台获取用户的推荐数据,这要求延迟非常低(50毫秒以内)。
根据延迟要求和实时数据查询需求,可能的解决方案包括:HBase、Redis、MongoDB、ElasticSearch等。
OLAP分析:除了需要更规范的底层数据模型,OLAP还需要越来越高的查询响应速度。可能的解决方案包括:Impala、Presto、SparkSQL 和 Kylin。如果你的数据模型比较大,那么 Kylin 是最好的选择。
即席查询:即席查询的数据比较随机,一般很难建立通用的数据模型,所以可能的方案有:Impala、Presto、SparkSQL。
有这么多成熟的框架和解决方案,您需要根据自己的业务需求和数据平台技术架构选择合适的。原则只有一个:越简单越稳定越好。
如果你已经掌握了如何对外提供数据(业务),那么你的“大数据平台”应该是这样的:
第 10 章:高层次的机器学习
我在这里接触不多。下面说说我们的业务场景应用。机器学习可以解决的问题大致分为三类:
分类问题:包括二分类和多分类。二分类解决了预测的问题,就像预测一封邮件是否是垃圾邮件一样;多分类解决文本的分类;
聚类问题:从用户搜索过的关键词中粗略的对用户进行分类。