前面章节我们已经将博客的基本功能做完了,并且实现了在前台简单管理博客文章。但是由于前台管理只包含简单的发布编辑工作,无法实现更复杂的后端管理功能。因此这一节中,我们将介绍如何增加后台功能。

首先我们构思下,博客后台它大概需要哪些功能呢?

一般上,因为博客本身并不算复杂,因此需要用到的功能并不会太多,基本上需要的功能会有:后台登录、管理首页、系统设置、导航设置、内容图片设置、文章管理、分类管理、图片管理、评论管理等。由于我们的博客有符合SEO优化,因此,我们还需要增加一些方便SEO优化操作的功能,比如:Robots管理、SItemap管理、友情链接管理、搜索引擎推送管理等一下针对SEO优化的功能。

后台大概功能差不多有一个大概的思路了,为了开发上方便起见,我们先用xmind思维导图软件,将我们上面构思的功能,用思维导图的方式,勾画出来: 

admin-xmind

通过上面的思维导图,我们可以一目了然的看出,博客后台大致的功能分布。并对部分功能进行深入细致的描述。从思维导图上面看,我们将后台功能分成了四大块:

博客后台首页

这个比较简单。后台登录后,第一个落脚点,就是后台首页了。自然地,我们希望在后台首页显眼的地方,可以方便的进行后台操作,和直观地看到我们的博客数据。因此,博客后台首页上,我们主要放三块内容:

  • 内容数据统计 这部分内容可以直观的看到博客有多少文章、分类、评论等数据。
  • 快捷操作入口 在博客后台首页上,我们放置一些常用操作的功能快捷连接,比如发布文章、查看评论等内容,可以直达具体操作界面
  • 版权信息 版权信息,可以方便告知用户当前软件的版本、是否有升级信息、软件版本功能特性等内容。也可以放一些帮助文档等,让用户在使用过程中遇到问题了,可以方便的获得帮助。

博客系统设置

这部分包含了博客前端、后端的各种设置,比如站点信息、内容设置、SEO设置、导航设置、账号设置等内容。现在我们将它整理为五块。

全局设置

全局设置中包含了网站名称、网站logo、备案号码、版权信息、后台地址、网站状态、闭站提示等信息。

  • 网站名称 网站名称用于前端博客页面的调用,一般上,在SEO功能上,一般用于添加为标题后缀等地方。
  • 网站logo 在后台可以方便的更换logo,网站logo是一个网站的灵魂,当然这不是必须设置的不设置的话,前端header的地方就会用网站名称代替,设置了的话,则会显示logo。
  • 备案号码 最近国内对备案的检查越来越严格了,不备案的网站,不能在国内服务器上上线,备案了,也必须悬挂备案号,并且要连接到备案中心。因此这里添加一个备案号码填写的地方,可以方便的设置备案号。填写了备案号码后,前台调用的时候,会自动添加跳转到备案中心的连接,再也不怕备案被注销了。
  • 版权信息 这里可以自定义版权信息,用于显示在博客的页脚的地方,相当于SEO优化中的一句话导航,这里可以布局关键词,增加首页优化关键词效率。
  • 后台地址 往往一个网站是否容易被入侵,后台地址暴露占了很大的原因。这个功能的优势是,你可以自定义后台地址,再也不担心后台地址被暴露的风险了。
  • 网站状态 当你的博客暂时不想打开了,可以将网站状态设置为关闭,整个网站就不能打开了。当然,除了后台,后台依然是可以被访问的,要不就再也不能打开网站了。
  • 闭站提示 配合网站状态使用,在闭站的时候,想展示的内容。

内容设置

为了让博客更高效使用,内容设置可以帮上很大的忙。内容设置中,我们可以轻松的对内容信息进行批量管理。图片设置等。它的功能有:

  • 自动抓取远程图片 有时候,我们的文章是从别处粘贴过来的,希望图片本地化,自动抓取图片就帮上大忙了。
  • 自动过滤外链 从SEO角度讲,如果我们只有出站连接,没有入站连接,那就是将权重导给别人了,就成了别人的外链池。因此我们有时候需要设置过滤外链,让权重留在站内。
  • 自动缩放大图 上图图片的时候,我们并没有刻意的处理图片尺寸。我们可以在博客后台设置一个统一尺寸,无论上传多大的图片,都会压缩成指定尺寸,可以很好的减少服务器带宽和存储空间需求。
  • 自动缩放到指定尺寸 这个是结合自动缩放大图使用的。用于指定缩放的尺寸,默认宽800像素。
  • 缩略图尺寸 用于设定自动生成的缩略图的尺寸大小,默认会生成250*250像素的缩略图。
  • 缩略图生成方式 提供三种生成方式:等比缩放、按最长边缩放,不足补白、按最短边缩放,中心裁剪。
  • 默认缩略图 当我们列表调用了缩略图的时候,为了统一,我们可以给没有缩略图的文章,添加一个默认的缩略图。
  • 批量生成缩略图 这个功能也非常有用,当我们需要更改缩略图尺寸的时候,可以批量重新生成缩略图,让过去以及生成的缩略图,都变成现在设置的统一尺寸。

SEO设置

暂时想到的是提供方便的首页SEO设置,首页的tdk,即title、description、keywords信息。后台方便快捷的修改SEO信息,随时跟进关键词优化。省去了每次修改首页tdk信息的时候,都需要到代码中修改的烦恼。

导航设置

后台设置导航,同样省去了在代码中添加导航的烦恼。特别是需要频繁更改导航信息的博客,更是有非常大的帮助。我们可以在导航设置中,调整首页、分类页面、外链作为导航信息,也可以增加二级导航等功能。

账号设置

管理员账号设置由于博客过于简单,所以就没有独立出来一个模块来进行存放管理员账号设置的地方。我们可以在这里简单的设置调整账号名称,和修改管理员的密码信息等。实际上,我们这里还可以扩展为管理员分组、权限分配、多管理员等功能,为了简便操作,这里先省略,后面有时间了,我们再对它进行扩展。

内容管理

内容管理模块中,我们有大块功能,分别是文章管理、分类管理、图片资源管理。

文章管理中,可以进行预览文章、编辑文章、删除文章等操作。

分类管理中,可以进行分类增加、删除、设置多级分类等信息。

图片管理中,可以对以及上传的图片进行在线管理,删除、增加、替换等操作。

功能管理

这里的功能管理,主要是存放一些协助SEO优化的功能,比如:Robots管理、Sitemap管理、友情链接管理、搜索引擎推送管理等。

  • 搜索引擎推送管理 目前百度搜索。必应搜索是支持API主动推送的,因此我们针对这2个搜索引擎,编写了主动推送代码,其他搜索引擎只支持JS自动推送,也就是将js代码放到前端页面,用户在访问页面的时候,触发js将连接内容推送给搜索引擎。这里也支持js推送代码添加。
  • Sitemap管理 现在由于所有搜索引擎的Sitemap,都支持Txt格式的Sitemap,因此Sitemap功能,只生成txt格式的Sitemap。后续如果有更多的时间,再扩展支持xml格式的Sitemap。
  • Robots管理 有一些页面,我们是不希望搜索引擎收录的,有时候也不想让某些搜索引擎收录,比如部分用户不希望百度抓取,可以简单快捷的在这里设置Robots规则。
  • 友情链接管理 友情链接是网站SEO优化中不可或缺的一个步骤,后台动态增减友情链接,可以更高效的交换友链。
  • 评论管理 用户的评论在这里显示。由于部分用户可能会拿评论来发广告等各种骚操作,因此默认评论是需要审核的。这里可以预览、审核评论。

上面就是后台功能的大致内容。实现了上面所列的功能后,我们的博客后台就完全达到使用标准了。

下一节我们就将会针对上面列出的功能,逐一去实现,欢迎继续阅读。

完整的项目示例代码托管在GitHub上,需要查看完整的项目代码可以到github.com/fesiong/goblog 上查看,也可以直接fork一份来在上面做修改。欢迎点Star。