看了很多人对lbs ui的讨论([1]),最为一个程序员,从技术的角度来谈谈我修改的过程。
提供和整合其它网络服务,这点是在WEB2.0时代重要的里程碑。
点击这里下载源文件:lbs-fangle20070330.rar
因为休闲时间用完所以只是简单调试,也没提供详细的代码变动情况,暂时停摆。
运行升级数据库程序:
/update_fangle.asp
功能描述:http://www.28star.com/blog/?id=5...
通过这里推荐的方式订阅最新动态:
http://www.28star.com/blog/feed.... ;id=598
Akismet Anti-Spam服务支持
Wordpress中著名的反Spam插件,此插件能主动有效的防御Spam。(我做的一个Demo)
需要去Wordpress官方网站申请Api Key,才能激活此功能。
通过Akismet在线数据中心,验证留言和引用通告是否是Spam。
支持提交Spam OR Not Spam样本。
所有Spam放入临时表中等待管理员人工核实,防过度过滤。
class/antispam.asp
js/wpApiKey.js
Weblog Api支持
支持Blogger, MetaWeblog, Movable Type三套Api
支持RSD(Really Simple Discovery)自动探知blog支持的api体系
xml-rpc.asp
rsd.xml
Google Password Service功能模块
通过gps服务实时提示输入密码的强壮度,结合你输入的username和email一起计算出来。
js/XmlHttp.js
js/password.js
AjaxProxy.asp - 跨域访问数据
Sitemap Class功能模块
使用Google,Yahoo,Microsoft,Ask通用的sitemap0.9版协议
支持sitemap ping,/ping?sitemap=sitemap_url
在发布文章的时候追加sitemap文件后想搜索引擎自动ping
可以在后台全新生成所有sitemap
支持记录过多是,生成sitemap index,也就是索引多个sitemap文件
类可以通用到其它类型的网站。
要想让搜索引擎自动探知sitemap,在robots.txt中添加Sitemap:
class/sitemap.asp - sitemap功能类
ping协议功能模块
和WordPress的Options->Writing管理页最下面有一个“Update Services“功能一样
向其它网站发送更新通知。
支持weblogUpdates.extendedPing和weblogUpdates.Ping两个协议
自动判断,首先使用weblogUpdates.extendedPing,如果对方不支持则使用weblogUpdates.Ping。
class/xml-rpc.asp - 在sic的版本上修改,增加兼容性。
ping服务地址:
http://blogsearch.google.com/pin... - sic原版xml-rpc.asp不兼容
http://rpc.pingomatic.com/
http://rpc.weblogs.com/RPC2
Backlinks功能模块
Google Backlinks是在想减轻服务器负担,提高相应效率的时候,并且被Trackback spam困扰的时候。
需要显示引用你文章的外部页面链接列表的好方法。
因为使用AJAX调用当前页面在Google Blog Search中的反向链接结果。
效果可以看Google 黑板报里的文章页面。
这个模块可以独立运行于其它网站。
js/backlink.js
js/backlink_control.js - 以上两个基本来源于google原版代码
AjaxProxy.asp - 跨域访问数据
backlinkrss.asp - 因为客户端js不能跨域访问,所以只能通过服务端中转
2007-4-25
增加控制Anti-Spam功能开启选项(不开启不能使用和不开启rsd) - admin.asp
因为使用Wordpress中的插件Akismet,所以需要Wordpress Api Key。
增加Wordpress Api Key存储项,以便开启Anti-Spam。
2007-4-17
增加控制Weblog Api功能开启选项(不开启不能使用和不开启rsd) - admin.asp
增加选择Weblog Api引擎(目前支持3种:Blogger, MetaWeblog, Movable Type) - admin.asp
根据选择Weblog Api引擎,自动生成rsd文件 - source/src_admin.asp
2007-4-16
Blogger, MetaWeblog, Movable Type三套Api
增加了rsd自动发现机制
增加了robots.txt中sitemaps的链接
增加了部分中rss的自动发现链接
为Lables标签增加 rel="tag" 属性
增加tab舌签,合并左侧Categories/Lables;3个web2.0服务
2007-4-6
最近主要针对用户体验的修改。
给lables增加了Rss输出 - source/src_feed.asp
搜索结果的RSS输出,针对Yahoo! Alpha等服务 - source/src_feed.asp
去掉了侧栏隐藏分类的Rss图标,因为其他Rss阅读器根本没权限看,减少不必要的选择 - global.asp
倒序排列文章,也是实践我以前讨论的列表显示历史记录方式,不管是出于用户体验还是网络营销的目的,结果都是有益的。
减少页数为5个,很少有人跨度的大的翻页,这样还不如用站内搜索。
2007-3-30
解决了客户端jscript的跨域权限问题(通用Backlinks) - AjaxProxy.asp
增加了Google Password Service功能,验证密码强度。
2007-3-27
修正记录某些搜索引擎无法抓去网站的错误,这个错误在几年前犯下的 - class/user.asp
2007-3-25
修改控制Lables功能开启判断
增强Sitemaps功能,只在类型为全局的新帖子或编辑帖子类型为全局的时候追加。
增强Ping功能,在编辑帖子后也重新Ping。
2007-3-23
增加控制Sitemaps功能开启选项(不开启不会在管理界面菜单里显示) - admin.asp
增加了Sitemap Ping,自动向Google和Yahoo通知sitemap更新(必须同时开启Sitemaps功能和ping功能选项) - class/sitemap.asp
重构了一些代码,因为多个地方使用到了MSXML2.ServerXMLHTTP,所以独立写了func.xmlHttp(url,contentType,data)函数 - class/function.asp
2007-3-22
增加控制Backlinks功能开启选项 - admin.asp
增加了通用ping模块(Update Services) - admin.asp
增加控制ping功能开启选项(不开启不会在管理界面菜单里显示) - admin.asp
发帖时自动ping所有的server - src_article.asp
修改了lbs官方的xml-rpc和标签问题 - xml-rpc.asp
ping优先级weblogUpdates.extendedPing-->weblogUpdates.ping
2007-3-21
抽空把以前为公司写的生成google sitemap class(基于遍历目录),添加到lbs里了(基于数据记录)。
根据google的文档要求:
符合Google,Yahoo和Microsoft通用的sitemap 0.90版。
单个sitemap.xml文件必须小于10M和不多于50000条记录,否则自动分割成多个sitemap.xml文件,通过sitemap_index.xml关联。
支持robots.txt的配置过滤sitemap中的记录。
在admin.asp中增加重新生成全站sitemap功能,提供简单的生成报告。
添加文章的时候自动追加记录到sitemap中。
删除文章之后自动删除sitemap中的记录。(未完成)
sitemap ping。
2007-3-17
继续借鉴一葉千鳥的UI,修改了Recent Comments部分表现方式,不过当回复开始部分出现超长连接的时候就会破相,而且Comments摘要被大段URL串充斥着也不美观。
为此引入了Google Group的方式,在显示摘要的时候用"[link]"替代连接。
其实这样做还有一个好处,就是尽量不要让垃圾链接占据重要页面,因为无法有效防御垃圾评论。
2007-3-16
1.我很想要的是blog API,可是没时间弄到一半就无限期搁置了。
2.加入了Google Backlinks(显示Google Blog Search的Backward Links结果),代替Trackback。(e.g.)
对于Trackback, Pingback & Backlink的讨论已经由来已久。因为Trackback spam让我实在头疼,所以关闭了这个我曾经看好的功能。
3.增加了Tags(这里我还是习惯称为Lables),Relate Articles。
Lables是因为有些网络服务要求RSS包含keywords和优化meta keywords标记。
比如Google Co-op中的Deliver specialized search results。
Relate Articles抱着有加不加猪头三的原则增加的。
基础程序是参照老米甲的,UI参照了一葉千鳥,修改了它的很多问题:
它数据层和UI层的代码没有很好分离;
Relate Articles没有很好的过滤隐藏分类和文章;
增加控制Relate Articles和Lables显示个数的变量 - class/cache.asp;
将程序中 border="0" 替换为 style="border:0;",主要是前者的样式优先级低。一旦图片外层定义了 .cls img{border: 1px;} 内层的所有 border="0" 都会失效。
4.seo优化
要想更好的进行这类优化,最好的方法就是订阅SEO网站的Rss,可以发现很多,甚至是界面优化秘技。
添加meta优化:
meta无引用时显示默认值,默认值定义在 - lang/blog.asp
由于以前SEO们对这部分优化太猛,导致现在搜索引擎不太重视这里。
不过我发现还是有收录这部分内容的,合理优化有百利而无一害。
页面内容优化:
在界面上尽量少使用“name:value”这样的难以联系上下文的描述方式,虽然简短,但不流畅。
而应该使用更符合阅读习惯的语法描述,去掉一些不必要的数据。
去掉了IP显示,反正能发新帖的都是自己或熟人,真的帐号被黑,还是通过日志追查比较详细。
改变了日期显示格式,首页只显示发帖日期,帖子页显示发帖日期和时间。
一直犹豫1 Comments放摘要前还是摘要后,最后选择后一种。
很奇怪的就是发帖者和回复者都希望在上面,其它游览者习惯放下面。
我想身份也决定了游览的方式,发帖者知道帖子的内容,所以游览的重点在于评论的变化。
游览者更注重帖子的内容,看完后才会去注意评论,所以放在下面符合他们的阅读习惯。
没记错的话应该叫“以用户为中心的设计”。
--------------------------
相关资料
1.Sitemaps
http://www.sitemaps.org/protocol...
2.Internationalized Resource Identifiers (IRIs)
http://www.ietf.org/rfc/rfc3987....
http://www.w3.org/International/...
3.Uniform Resource Identifier (URI)
http://asg.web.cmu.edu/rfc/rfc39...
4.Extensible Markup Language (XML)
http://www.w3.org/TR/REC-xml/
5.sitemap ping
http://www.sitemaps.org/faq.html...
http://developer.yahoo.com/searc...
http://www.google.com/webmasters...
http://search.yahooapis.com/Site... ;url=http%3A%2F%2Fwww.28star.com%2Fsitemap.xml
6.Google Password Service
https://www.google.com/accounts/NewAccount
7.Microsoft Live Password strength
http://demo.rexsong.com/200703/l...
8.RSD
http://cyber.law.harvard.edu/blo...
9.Anti-Spam
Akismet http://akismet.com/
10.wordpress api key
http://www.wordpress.com
Submitted by fangle - 2007-04-26 20:21:01
Channels - lbs
Tags - api
ping
lbs
sitemaps
backlinks
akismet-anti-spam




Please log in to post a comment