模板建站对于seo是否有影响?

模板建站对于seo是否有影响?,第1张

有的企业没有重视外贸网站的价值,就随便选择了外贸建站公司,建立一个便宜的模板站。殊不知模板站还是存在很多弊端的,无论是站内优化还是后期的海外整合营销推广。 第一、模板建站容易被搜索引擎判断为站群 因为模板建站系统归类都比较简单,比如学校网站、热泵行业网站等等,每个分类当中都只有那么几套模板,然后,同行业的客户都采用大量相似的模板,建大量相似的网站,这样的情况很容易被搜索引擎判断为站群,站群又恰恰是SEO的大忌。 第二、模板建站容易被搜索引擎连同同类网站被惩罚 模板建站的规划不同于其他的服务器,他们都是在同一目录下面,具有很大的连带性,如果建站系统当中出现seo作弊现象,很容易导致你的网站也连带被惩罚。 第三、模板建站无法很好的进行内部优化,在seo存在较大劣势 模板建站是自动生成的网站,没有更好的编辑权限,不能合理的规划和更改网站内容和结构,在当今高竞争度的网络环境当中,模板建站存在较大的seo劣势,在同等的其他seo技术情况下,模板建站具有绝对的劣势。 第四、模板建站存在大量相似性 毕竟在一个建站系统当中,供我们选择的模板总是有限的,而且里面的大体结构都有较大的相似性,如果是比较流行的模板建站系统,可能一套模板存在的相似性网站就是成千上万,大家都知道,任何一个搜索引擎都是反对镜像网站的,也就是反对相似度太高的网站,这样的网站很难得到搜索引擎的重视。

用模板搭建的网站是可以SEO的。

一个网站SEO的效果如何,和网站是怎么做出来的,并没有太大关系。

但网站的访问速度,是否可以正常的在PC,手机,平板上正常访问,这个有很大关系。

除了正常的访问,网站的内容还要符合用户的需求,能够解决用户的问题,让用户愿意对你有一个更深入的了解,这才是SEO的关键!

模板引擎这个词,咋听起来,有点高大上的意味。

实际上,模板引擎是非常平易近人的技术。譬如大家可能都比较熟悉的 JSP ,就是一种比较典型的模板引擎。

当浏览器将请求抛给控制器,控制器处理好数据后,就跳转 JSP 等模板引擎页面。注意在跳转的同时,还会将数据组装好,也交给模板引擎处理。

模板引擎会根据数据,和模板引擎的规则,动态生成 HTML 页面,最后返回给浏览器显示。

我们使用 Spring Boot 开发 Web 项目,大体上有两种方式。

第一种方式,是后端服务化的方式,也是当前的主流方式。前端是静态的 HTML 页面,通过 Ajax 请求 Spring Boot 的后端接口。 Spring Boot 返回数据一般采用 JSON 格式,前端接收后将数据显示。

第二种方式,是采取模板引擎的方式。前端的请求,到达 Spring Boot 的控制器后,控制器处理请求,然后将返回数据交给模板引擎。模板引擎负责根据数据生成 HTML 页面,最后将 HTML 返回给浏览器。

我个人比较推荐第一种方式,说一下该方式的几个优点:

本篇是讲模板引擎,也得说说模板引擎的优点,王婆卖瓜不能光夸草莓啊。模板引擎开发的页面,对搜索引擎 SEO 比较友好;还有就是简单的页面,如果用模板引擎开发速度比较快,毕竟模板化的方法,目的就是减少重复提高效率。

Spring Boot 支持的模板引擎种类很多,常见的有 FreeMarker 、 Thymeleaf 、 JSP 。

因为这些模板引擎使用的用户都不少,所以我们逐一介绍下其实现过程。

至于孰优孰劣,请各位看官自行评价。正所谓:尺有所短,寸有所长,各取所爱,万物生长!

本篇我们开发一个商品浏览项目实例

此处说一个我个人的经验:在做一个项目或一个模块的时候,不要一开始就动手写代码,最好是谋定而后动。

我们作为程序员,实际上是整个程序世界的总指挥。应该先整体规划,再实现局部。这种总分型的开发方法便于我们理顺思路,提高编码效率!

好的,我们来思考下,实现商品浏览项目实例的整体流程:

整体流程

可以看到,我们是先建立了控制器方法和页面,再去实现其中的具体细节。这样可以让我们的思维保持连贯性和整体性,在做一些页面和方法较多的项目时,会感觉更加顺畅。

我们按整体流程,使用 FreeMarker 模板引擎,来实现商品浏览功能。

使用 Spring Initializr 创建项目,Spring Boot 版本选择 2.2.5 , Group 为com.imooc, Artifact 为spring-boot-freemarker,生成项目后导入 Eclipse 开发环境。

引入 Web 项目及 FreeMarker 模板相关的依赖项,代码如下:

实例:

创建控制器类,由于是商品相关的控制器,所以命名为 GoodsController ,代码如下:

实例:

我们具体解释下该类的作用。

我们resource/templates目录下新建商品页面goods.ftl,先不必实现具体功能,代码如下:

实例:

此时我们启动项目,然后访问http://127.0.0.1:8080/goods,即可显示对应页面内容。

定义商品类 GoodsDo 用来描述商品信息,注意 Do 表示数据模型对象(Data Object),代码如下:

实例:

然后我们编写服务类 GoodsService ,提供获取商品列表的方法。注意此处仅仅是演示模板引擎,并不需要访问数据库,直接返回一个指定内容的商品列表。

实例:

此时,我们的控制器就可以注入 GoodsService 类型的组件,然后调用其方法了。

实例:

注意model.addAttribute("goodsList", goodsService.getGoodsList()) ,我们将商品列表相关的数据交给模板引擎去处理。

此时我们可以根据 FreeMarker 模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过 FreeMarker 的模板语法,输出了商品列表信息。关于 FreeMarker 模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问http://127.0.0.1:8080/goods,即可查看输出结果。

Thymeleaf 和 FreeMarker ,都是模板引擎,使用方法基本类似。此处我们仅仅是给出一个范例,不再做过多的解释。

使用 Spring Initializr 创建项目, Spring Boot 版本选择 2.2.5 , Group 为com.imooc, Artifact 为spring-boot-thymeleaf,生成项目后导入 Eclipse 开发环境。

引入 Web 项目及 Thymeleaf 模板相关的依赖项。

实例:

创建控制器类, GoodsController , Thymeleaf 直接使用 HTML 作为模板页面,故代码如下:

实例:

我们在resource/templates目录下新建商品页面goods.html,先不必实现具体功能,代码如下:

实例:

此时我们启动项目,然后访问http://127.0.0.1:8080/goods,即可显示对应页面内容。

商品类 GoodsDo ,服务类 GoodsService ,这两个类与上面没有区别直接放出代码。

实例:

实例:

好的,此时我们的控制器就可以注入 GoodsService 类型的组件,然后调用其方法了。

实例:

此时我们可以根据 Thymeleaf 模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过 Thymeleaf 的模板语法,输出了商品列表信息。关于 Thymeleaf 模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问http://127.0.0.1:8080/goods,即可查看输出结果。

到此,大家基本上也能发现,这两种方式除了模板页面文件内容不同,其他地方基本都是一模一样的。

也就是说,模板引擎主要负责通过一些模板标签,将控制器返回的数据解析为网页。

注意 Spring Boot 官方已经不推荐使用 JSP 了,确实操作起来也比较麻烦。但是由于 JSP 用户体量还是比较大的,所以此处还是简单演示下,开发步骤与 FreeMarker / Thymeleaf 基本一致。

使用 Spring Initializr 创建项目, Spring Boot 版本选择 2.2.5 , Group 为com.imooc, Artifact 为spring-boot-jsp,生成项目后导入 Eclipse 开发环境。

引入 Web 项目及 JSP 模板相关的依赖项。

实例:

创建控制器类, GoodsController ,代码如下:

实例:

手工添加src/main/webapp及子目录如下,同时目录下放一个 goods.jsp 用于测试。注意该目录是一个 Source Folder 源代码目录,不是普通文件夹目录。

spring-boot-jsp 项目结构

实例:

注意,我们还需要添加一个视图解析器,实现 JSP 页面往指定目录跳转。

实例:

此时我们启动项目,然后访问http://127.0.0.1:8080/goods,即可显示对应页面内容。

商品类 GoodsDo ,服务类 GoodsService ,这两个类与上面没有区别直接放出代码。

实例:

实例:

好的,此时我们的控制器就可以注入 GoodsService 类型的组件,然后调用其方法了。

实例:

此时我们可以根据 JSP 模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过 JSP 的模板语法,输出了商品列表信息。关于 JSP 模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问http://127.0.0.1:8080/goods,即可查看输出结果。

最后大家应该也发现了, FreeMarker 和 Thymeleaf 的用法几乎是一模一样的,而 JSP 还需要手工添加一些目录和配置。

三种方式各有优劣, FreeMarker 模板语法比较简洁, Thymeleaf 可以直接使用 HTML 作为模板文件, JSP 用户群体广泛。

但是三种方式,都是一种模板引擎而已,将控制器返回数据转化为 HTML 页面显示,本质上没啥区别,大家对模板引擎有一个了解即可。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/732949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-11
下一篇2023-08-11

发表评论

登录后才能评论

评论列表(0条)

    保存