谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

如何优化WordPress文章摘要以吸引读者?

96SEO 2026-02-20 04:06 21


1.路径#xff1a;自己定义

2.参数#xff1a;根据需求考虑#xff0c;我们这个接口功能完成需要哪些信息。

如何优化WordPress文章摘要以吸引读者?

3.返回结果#xff1a;考虑我们能为对方提供什么。

站在对方角度考虑。

1.路径自己定义

用户登录添加图书显示图书列表更新图书删除图书批量删除图书强制登录引入统一功能

做这个管理系统首先我们需要考虑到什么呢

jdbc:mysql://127.0.0.1:3306/book_test?characterEncodingutf8useSSLfalseusername:

rootpassword:

com.mysql.cj.jdbc.Drivermybatis:configuration:log-impl:

org.apache.ibatis.logging.stdout.StdOutImpl

配置打印

MyBatis?志map-underscore-to-camel-case:

true

xml的?件路径在resources/mapper创建所有表的xml?件#

classpath对应resources这个目录接下来说明在mapper这个文件夹下面以Mapper.xml结束的都可以被加载#

logging:file:name:

spring-book.log我们新建一个book_test数据库。

DROP

com.qiyangyang.springbook.demos.model;import

lombok.Data;

com.qiyangyang.springbook.demos.model;

import

application/x-www-form-urlencoded;

charsetUTF-8[参数]

从数据库查询用户名和密码如果可以查到并且密码一致就认为登录成功。

创建UserController

com.qiyangyang.springbook.demos.controller;import

com.qiyangyang.springbook.demos.model.UserInfo;

import

com.qiyangyang.springbook.demos.service.UserService;

import

org.springframework.beans.factory.annotation.Autowired;

import

org.springframework.util.StringUtils;

import

org.springframework.web.bind.annotation.RequestMapping;

import

org.springframework.web.bind.annotation.RestController;

import

javax.servlet.http.HttpSession;Slf4j

RestController

userService;RequestMapping(/login)public

boolean

校验参数*/if(!StringUtils.hasLength(userName)

!StringUtils.hasLength(password)){return

false;}//判断用户输入的密码和用户输入的密码是否一致//我们需要查询数据库得到数据库的密码UserInfo

userInfo

userService.queryByName(userName);if(userInfo

null){//用户不存在return

false;}if(password.equals(userInfo.getPassword())){//将密码置为空不置为空也可以因为Session是在服务器上的数据客户端也看不到//session也是占内存的因此不需要的不存。

/***

如果密码正确*

存Session*///由于密码信息是没用的用不到。

我们设置成空。

不设置成空也行因为存在服务器。

客户端是看不到的userInfo.setPassword();session.setAttribute(user_session,userInfo);return

true;}return

com.qiyangyang.springbook.demos.controller;import

com.qiyangyang.springbook.demos.model.UserInfo;

import

com.qiyangyang.springbook.demos.service.UserService;

import

org.springframework.beans.factory.annotation.Autowired;

import

org.springframework.util.StringUtils;

import

org.springframework.web.bind.annotation.RequestMapping;

import

org.springframework.web.bind.annotation.RestController;

import

javax.servlet.http.HttpSession;Slf4j

RestController

userService;RequestMapping(/login)public

boolean

校验参数*/if(!StringUtils.hasLength(userName)

!StringUtils.hasLength(password)){return

false;}//判断用户输入的密码和用户输入的密码是否一致//我们需要查询数据库得到数据库的密码UserInfo

userInfo

userService.queryByName(userName);if(userInfo

null){//用户不存在return

false;}if(password.equals(userInfo.getPassword())){//将密码置为空不置为空也可以因为Session是在服务器上的数据客户端也看不到//session也是占内存的因此不需要的不存。

/***

如果密码正确*

存Session*///由于密码信息是没用的用不到。

我们设置成空。

不设置成空也行因为存在服务器。

客户端是看不到的userInfo.setPassword();session.setAttribute(user_session,userInfo);return

true;}return

存的是根据SessionId获取的Session对象每一个sessionId对应一个session对象。

*

会根据客户端等等判断是新用户还是老用户。

服务器里面存了很多session。

*

Cookie

发送给客户端。

**/**/问题1每次我们存的Session都一样。

后面用户。

存的Session会覆盖前面用户的Session吗

HttpSession

存的是根据SessionId获取的Session对象每一个sessionId对应一个session对象。

会根据客户端等等判断是新用户还是老用户。

服务器里面存了很多session。

Cookie

什么时候才去做多线程呢比如程序里面用到了线程池。

才考虑多线程。

每个用户进来login函数。

信息存放在栈里面栈是线程私有的。

堆是线程公有的。

这些成员变量存储在栈里面因此每个用户的信息之间没有关系。

分别对应不同的对象。

在我们需要进行优化的时候考虑多线程。

比如要查询两次数据。

第一次得到了密码可以因为业务需要还要查询一次。

这时候串行查询觉得太慢了。

这时候考虑多线程。

就可以进行并行查询。

加了多线程我们就要考虑线程安全的情况。

代码里用到多线程才考虑多线程。

校验密码我们推荐在业务逻辑层来写由于这里比较简单。

我们就写在Controller中

3.2.2

com.qiyangyang.springbook.demos.service;import

com.qiyangyang.springbook.demos.mapper.UserInfoMapper;

import

com.qiyangyang.springbook.demos.model.UserInfo;

import

org.springframework.beans.factory.annotation.Autowired;

import

org.springframework.stereotype.Service;Service

public

userInfoMapper.queryByName(userName);}

}3.2.3数据层

com.qiyangyang.springbook.demos.mapper;import

com.qiyangyang.springbook.demos.model.UserInfo;

import

org.apache.ibatis.annotations.Mapper;

import

org.apache.ibatis.annotations.Select;Mapper

public

使用Postman校验。

多次实验发现校验成功。

然后我们再去写前端的代码。

3.4实现前端代码

srcjs/jquery.min.js/scriptscriptfunction

login()

{$.ajax({type:post,url:/user/login,data:{userName:$(#userName).val(),password:$(#password).val()},success:function

(result)

{if(resulttrue){//验证成功location.href

book_list.html;}else

{alert(登录失败用户名不存在或密码错误);}}});}/script3.4.2完整前端登录代码

!DOCTYPE

initial-scale1.0titleDocument/titlelink

relstylesheet

onclicklogin()登录/button/div/div/divscript

srcjs/jquery.min.js/scriptscriptfunction

login()

{$.ajax({type:post,url:/user/login,data:{userName:$(#userName).val(),password:$(#password).val()},success:function

(result)

{if(resulttrue){//验证成功location.href

book_list.html;}else

{alert(登录失败用户名不存在或密码错误);}}});}/script

输入正确用户名和密码

输入错误用户名和密码。

登录失败。

弹框显示用户名不存在或密码错误。

四、实现添加图书接口

application/x-www-form-urlencoded;

charsetUTF-8

bookName图书1author作者1count23price36publish出版社1status1

[响应]

form表单的形式来提交数据。

服务器返回处理结果。

返回“”表示图书添加成功。

否则返回失败信息。

4.2实现后端服务器代码

bookService;RequestMapping(/addBook)public

String

bookInfo){log.info(添加图书bookInfo:{},bookInfo);/***

参数校验*/if(!StringUtils.hasLength(bookInfo.getBookName())||

!StringUtils.hasLength(bookInfo.getAuthor())||

!StringUtils.hasLength(bookInfo.getPublish())||

bookInfo.getCount()

bookInfo.getPrice()null){return

参数错误;}/***

出现错误比如参数错误。

添加过程出现异常因为MySQL会出现一些异常*

{bookService.insertBook(bookInfo);}catch

(Exception

bookInfoMapper.insertBook(bookInfo);}

}4.2.3

book_info(book_name,author,count,price,publish)

values

(#{bookName},#{author},#{count},#{price},#{publish}))Integer

insertBook(BookInfo

在前端显示页面并没有什么作用。

主要是搭配后端来进行前后端交互。

整个表单内容需要提交的话我们可以借助form标签来提交整个表单

data:

//序列化//这个函数会把整个表单的所有的input框…等等输入的项目都会提交

value

forbookName图书名称:/labelinputtypetextclassform-controlplaceholder请输入图书名称idbookNamenamebookName//divform

idaddBook

value2不可借阅/option/select/divdiv

classform-group

onclickjavascript:history.back()返回/button/div/formajax部分

script

srcjs/jquery.min.js/scriptscriptfunction

add()

{$.ajax({type:post,url:/book/addBook,

//整个表单内容需要提交的话我们可以借助form标签来提交整个表单搭配后端做一些交互来使用的。

data:

//这个函数会把整个表单的所有的input框..等等输入的项目都会提交success:function

(result)

成功添加图书){alert(添加成功);location.href

book_list.html;}else

{alert(result);}}});}/script4.4.2完整前端添加图书代码

!DOCTYPE

10pxsvgxmlnshttp://www.w3.org/2000/svgwidth40fill#17a2b8classbi

bi-book-halfviewBox0

3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8

1.783C7.015.936

4.287.94c-1.514.153-3.042.672-3.994

1.105A.5.5

0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809

8.985.936

1.783z//svgspan添加图书/span/h2/divform

idaddBookdiv

forbookName图书名称:/labelinputtypetextclassform-controlplaceholder请输入图书名称idbookNamenamebookName//divdiv

classform-grouplabel

forbookAuthor图书作者/labelinputtypetextclassform-controlplaceholder请输入图书作者idbookAuthornameauthor//divdiv

classform-grouplabel

forbookStock图书库存/labelinputtypetextclassform-controlplaceholder请输入图书库存idbookStocknamecount//divdiv

classform-grouplabel

forbookPrice图书定价/labelinputtypenumberclassform-controlplaceholder请输入价格idbookPricenameprice//divdiv

classform-grouplabel

forbookPublisher出版社/labelinputtypetextidbookPublisherclassform-controlplaceholder请输入图书出版社namepublish//divdiv

classform-grouplabel

value2不可借阅/option/select/divdiv

classform-group

onclickadd()确定/buttonbuttontypebuttonclassbtn

btn-secondary

btn-lgonclickjavascript:history.back()返回/button/div/form/divscript

typetext/javascript

srcjs/jquery.min.js/scriptscriptfunction

add()

/book/addBook,//整个表单内容需要提交的话我们可以借助form标签来提交整个表单搭配后端做一些交互来使用的。

data:

//序列化//这个函数会把整个表单的所有的input框..等等输入的项目都会提交success:

function

{alert(result);}},});}/script/body

/html4.5完整校验前后端交互



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback