前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >模板引擎:第三章:使用Freemark做企业级SEO推广

模板引擎:第三章:使用Freemark做企业级SEO推广

作者头像
马克社区
发布2023-01-04 17:43:20
2160
发布2023-01-04 17:43:20
举报
文章被收录于专栏:高端IT高端IT

为什么做SEO?

当公司项目已接近尾声时,这个时候就需要推广了,这个时候就需要SEO了,那SEO是什么呢?seo中文翻译是搜索引擎优化。它利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移。

常见误区:

在速度方面,一般情况下,静态网页都要快于动态网页。但是很多时候,我们为了SEO将网站全部搞成静态化,有这个必要么?我们知道,现在网站做成纯静态的基本上不太可能,除了一些像维基百乎之类的网站,我们的网站都需要去修改,需要用户去参与互动,还有一大堆的原因让我们的网站都在动态的变化。结果我们就牺牲用户的友好体验来“博得搜索引擎的欢心”。但是你可知道搜索引擎并不是喜欢静态页。

搜索引擎并不是喜欢静态页的起源:

网页静态化这个东西,纯属以讹传讹的事。我们要说说这个事情的起源,在搜索引擎刚刚起步的时候,那个时间动态页面刚刚兴起,很多网页的地址后面都带有一大堆的参数,并且这些参数可能是动态变化的,他会根据用户的操作不同而有不同的参数。对于这样的地址,搜索引擎是不喜欢的,这是为什么呢?我们先看搜索引擎在做什么事,搜索引擎实际上是一个程序,学名叫Spider,放出去之后把某个网站下载进行分析,然后把摘要部分放到自己的数据库,下次用户搜索的时候,就直接搜索到它的数据库了。

搜索引擎的工作原理:

比如说Google要来索引我的网站,它首先会访问http://iove.net这个主域名,而实际上 http://iove.net是定位到http://iove.net/index.php这个页面的。这样spider首先下载index.php当前页的html内容,注意,spider只需要原生的html内容(当然包括文本),不包括iframe中的任何内容,也不包括js等脚本生成的任何内容,也不会包括图片、flash等多媒体的内容,仅仅是对html标签和标签中的内容进行索引。它当你的html是一段文本,然后进行分析,取得其中的文字内容和链接内容,再根据这个链接进行下一个索引。搜索引擎实际就是把文本进行分析,然后放到数据库。注意数据库!有些技术基础的人都知道,只要是数据库,就会有主键,而根据范式理论,数据库应该有一个唯一的主键,那么搜索引擎索引回去的数据,也应该有一个唯一的主键。这个主键是什么?就是我们的网址。

好了,理论说完,开搞

pom.xml引入freemark相关依赖:

代码语言:javascript
复制
<dependency>
                    <groupId>org.freemarker</groupId>
                    <artifactId>freemarker</artifactId>
                    <version>2.3.23</version>
                </dependency>
12345

SpringMvc配置文件:

代码语言:javascript
复制
<!-- 注册freemarker配置类 -->
            <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
                <!-- ftl模版文件路径  -->
                <property name="templateLoaderPath" value="classpath:freemarker/"></property>
                <!-- 页面编码 -->
                <property name="defaultEncoding" value="utf-8" />
                <property name="freemarkerSettings">
                    <props>
                        <!-- 模版缓存刷新时间,不写单位默认为秒 -->
                        <prop key="template_update_delay">0</prop>
                        <!-- 时区 和 时间格式化 -->
                        <prop key="locale">zh_CN</prop>
                        <prop key="datetime_format">yyyy-MM-dd</prop>
                        <prop key="date_format">yyyy-MM-dd</prop>
                        <!-- 数字使用.来分隔 -->
                        <prop key="number_format">#.##</prop>
                    </props>
                </property>
                <!--静态资源访问路径-->
                <property name="freemarkerVariables">
                    <map>
                        <entry key="resPath" value="${resources.server}"/>
                    </map>
                </property>
            </bean>
            <!-- 注册freemarker视图解析器 -->
            <bean id="freeMarkerViewResolver"
                  class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
                <!-- 视图解析顺序,排在其他视图解析器之后 数字越大优先级越低 -->
                <property name="order" value="0" />
                <!-- 开启模版缓存 -->
                <property name="cache" value="true" />
                <!-- 上面已经配了,这里就不用配啦 -->
                <property name="prefix" value="" />
                <!-- 配置文件后缀 -->
                <property name="suffix" value=".ftl" />
                <property name="contentType" value="text/html;charset=UTF-8" />
                <!-- 是否允许session属性覆盖模型数据,默认false -->
                <property name="allowSessionOverride" value="false" />
                <!-- 是否允许request属性覆盖模型数据,默认false -->
                <property name="allowRequestOverride" value="false" />
                <!-- 开启spring提供的宏帮助(macro) -->
                <property name="exposeSpringMacroHelpers" value="true" />
                <!-- 添加request attributes属性到ModelAndView中 -->
                <property name="exposeRequestAttributes" value="true" />
                <!-- 添加session attributes属性到ModelAndView中 -->
                <property name="exposeSessionAttributes" value="true" />
         
                <property name="viewClass"  value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
                <property name="requestContextAttribute" value="request" />
            </bean>
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120534864

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档