WP-PostURL 2.1.0发布

WP-PostURL插件2.1.0正式发布,欢迎大家使用。2.x系列版本主要增加了一个新功能,允许用户针对单篇文章进行控制,决定哪篇文章显示/不显示Header及Footer文本。这一功能在转载文章会比较有用。你在新建或编辑文章时,会看到“是否添加链接?”选项,设置此选项为“是”,则为此篇文章添加Header及Footer文本;反之,则不显示。这个选项会为你的文章增加一个名为”posturl_add_url”的自定义字段,其值是”yes”或”no”。

对那些以前发表的文章,由于没有这个自定义字段,所以在2.1.0版本新增了一个名为“给以前发表的文章添加自定义文本”的选项。如果你选中此选项,那么所有未定义”posturl_add_url”字段的文章,都会显示Header/Footer文本。如果你不想为其中的某些文章显示Header/Footer文本,你需要手动设置一下这些文章的“是否添加链接?”选项。如果你没有选中“给以前发表的文章添加自定义文本”选项,那么没有”posturl_add_url”的自定义字段的文章,都不会显示Header/Footer,如果你想用其中的某些文章显示,也需要手动设置一下该文章的“是否添加链接?”选项。

由于WordPress在最近的修改中,升级插件时不再调用Activation Hook,导致整个2.0.x版本中,“给以前发表的文章添加自定义文本”这一选项的值未设定,这也是很多人升级后发现链接显示不出来的原因。如果你遇到了这个问题,请尽快升级到最新的2.1.0版本。另外一个解决办法是,你可以先停用“添加文章链接”插件,然后再次手动激活;或者直接修改插件的配置,选中“给以前发表的文章添加自定义文本”选项(在2.0和2.0.1中,这一选项的名称为“缺省添加文章链接”)。

如果大家还有什么新的需求,请在Add Post URL插件主页上留言。如果在使用中有什么疑惑,也请留言。

有兴趣大家可以阅读一下这两篇文章,充分发挥Add Post URL的强大功能这篇文章介绍了如何用Add Post URL插件来为你的文章添加一个订阅地址,利用WP-PostURL插件对博客添加多语言支持则巧用Add Port URL插件,利用Google的在线翻译,为文章添加多种语言的支持。

另外,对大家帮助推广WP-PostURL插件表示感谢,希望大家喜欢这个插件。

顺祝大家新年快乐,龙年吉祥!

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/add-post-url-2-1-0-published/

文章的脚注信息由WordPress的wp-posturl插件自动生成

WP-PostURL 1.1发布:在文章尾部增加版本声明和站点/文章链接

WP-PostURL 1.1其实在一周前就已经上传了,一直没有时间更新博客上描述。今天终于抽时间更新了一下。

这个版本主要更正了1.0里的一个Bug。在WP-PostURL 1.0中,用户自定义的文字只能显示在单篇文章中,不能显示在首页、分类页面、TAG页面或者Feed中。在1.1中,允许用户定义这段文字在哪些页面中显示。

另外1.1中也允许用户同时在文章头部和尾部显示两段不同的文字。这样对用户使用会更灵活一些。

如果以前安装1.0,那么升级到1.1后,原来1.0中的配置仍会保持,也就是说,在首页、分类页面、TAG页面或者Feed中仍不会显示自定义的文字。用户需要自行使能这些功能。

本来想在1.1版本中增加在文章中间显示版权信息的功能,后来没有合上去。主要原因是实现方式不够成熟,在禁用WP-PostURL插件后用户文章中的内容会遗留一些垃圾。不过此功能的需求也不强烈,就先不管了。

如果在使用中遇到什么问题,请及时反馈。

另外,对大家帮助推广WP-PostURL插件表示感谢。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/wp-posturl-release-1-1-is-published/

文章的脚注信息由WordPress的wp-posturl插件自动生成

解决Google中短的元说明问题

今天在Google的网站管理员工具里看到有三个”短的元说明”的提示,点进去一看,有三个页面的元说明的确都很短,不超过20个字。可以仔细一看文章链接,应该这些文章的元说明不会这么短才是呀?

这里解释一下什么说”元说明”,元说明其实是一段描述性信息,主要用来简要描述一个页面的内容。当其它人在Google搜索到你的页面时,如果你提供了元说明文字,则Google会把你提供的元说明显示给用户。因此,元说明其实对用户决定是否造访你的网站有很大影响,如果元说明和用户所搜索的内容不符时,或者对用户吸引力不够时,用户当然不会访问你的网页。

在我WordPress的主题里,如果文章提供了摘要文本的话,会自动把这段摘要文本作为元说明放在页面中。例如,在我的主题模板中,有类似下面这样的话:

<?php
if ($post->post_excerpt) {
    $description     = $post->post_excerpt;
} else {
    $description = substr(strip_tags($post->post_content),0,220);
} ?>
<meta name="description" content="<?php echo $description; ?>" /> 

这段话的意思如果本文的摘要存在,就把搞要作为本文的元说明,否则就把该文章的前220个字符作为元说明。

检查一下那三篇提示”短元说明”的文章,在它们的摘要里,都出现了字符,看来是这个干扰了Google,它遇到第一个双引号时,就以为content属性的内容结束了。

知道了原因,改起来就容易了,只需要把这句话改一下:

<meta name="description" content="<?php echo htmlspecialchars($description, ENT_QUOTES); ?>" /> 

函数htmlspecialchars()会把摘要信息中的HTML特殊字符,例如<, >, "等都转换HTML中的entity名称,避免它们扰乱HTML文本。

这个问题,其实在我写wp-posturl插件时就遇到过了,现在又遇到了一次。看来以后在HTML属性内部使用PHP代码时,一定要记得转换特殊HTML字符。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/fix_short_meta_descriptions/

文章的脚注信息由WordPress的wp-posturl插件自动生成

WordPress博客中feed的使用技巧

前几天在设置Easwy博客的分类输出时,在网上查阅了很多关于WordPress博客feed的文章,发现WordPress博客对feed的支持其实很强大,只不过不太为人所知。

Easwy博客的分类输出,是通过使用Enhanced Categories插件实现的,这个插件实际上也只是利用了WordPress自身提供的wp_list_cats函数来实现分类feed输出。在文尾的参考文档中查阅wp_list_cats函数的用法,网上也有文章介绍。

除了使用wp_list_cats函数来实现对分类的feed输出外,我们还可以输出某个标签(tag)中的全部文章的feed、或者输出某篇文章的feed,甚至可以把属于几个标签的文章都用同一个feed输出出来。

我们做一个这样的实验,我以Easwy博客上vim标签为例,这个标签的链接是http://easwy.com/blog/archives/tag/vim/,我们在其后面加上feed/后缀,试着点一下这个链接:http://easwy.com/blog/archives/tag/vim/feed/,呵呵,你的浏览器会提示你订阅Easwy博客的vim分类。

是不是很神奇,在tag的链接后加上feed/后缀,你得到的就是这个tag的feed。

那么这个规则对分类也适用吗?让我们试一下Easwy博客上的建站手记分类,在它的链接后加上feed/,点一下试试:http://easwy.com/blog/archives/category/website/feed/。呵呵,同样适合。

好了,我想得到一篇文章的feed,我以vim使用进阶: 目录这篇文章为例,这篇文章的链接是http://easwy.com/blog/archives/advanced-vim-skills-catalog/,我们在这篇文章的链接后面加上feed/,看看会是什么结果,试着点一下http://easwy.com/blog/archives/advanced-vim-skills-catalog/feed/。哦,不,这不是你想要的,这里提示你订阅的是这篇文章的评论。不过,你通常不会去订阅单个文章吧?

其实,在我的博客上我启用了永久链接,对于没有启用永久链接的博客,则可以用下面的方法。

还是以我博客的文章为例,同样是vim分类,你也可以用下面的链接来访问:http://easwy.com/blog/?tag=vim。那么,你只要在此链接后加上&feed=rss2,就可以得到分类的feed了,例如:http://easwy.com/blog/?tag=vim&feed=rss2。对于分类也是一样,例如,下面的链接让你订阅Easwy博客上的建站手记分类:http://easwy.com/blog/?cat=5&feed=rss2。这里你必须要知道分类的ID才可以。

下面我们看个更有趣的,点击下面的链接:http://easwy.com/blog/?tag=vim,linux,你会看到所有打了Linux标签或vim标签的文章都被列出来了。如果在上面的链接后面再加上&feed=rss2呢?你试试:http://easwy.com/blog/?tag=vim,linux&feed=rss2。虽然tag是vim或Linux的标签都被列出来了,不过页面标题显示的却只是标签vim,文尾的第三篇参考文档给出一个插件来修正这个问题。这个插件甚至允许你列出指定分类下特定tag的文章。

相信你看了这篇文章以后,不会再要求我输出tag的feed了吧,你完全可以自己选择你想订阅的tag。

上面介绍了WordPressfeed输出的一些技巧,现在,你应该能更轻松的定阅你想看的文章了吧,不会有太多你不喜欢的内容出现。如果想了解更多,看看文尾的参考文档吧,你可以定阅同时包含Debian标签和Linux标签的文章(tag1+tag2),或者定阅符合你指定搜索结果的文章(?s=vim&feed=rss2)…

如果你发现本文的例子并不能带给你文中说的那种效果,那可能是我启用了FeedBurner FeedSmith插件,去找个你熟悉的WordPress网站再试上面的例子吧。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/the_advanced_skill_of_wordpress_feed/

文章的脚注信息由WordPress的wp-posturl插件自动生成

在wordpress中为代码自动显示滚动条

在写博客时,有时候添加的代码比较长,超过了一行所能显示的长度时,在WordPress的某些主题中会显示不全,只显示前半截出来,影响阅读。

解决这个问题方法其实很简单,只需要改一下主题的样式表就中可以了。

我以Easwy博客用的iNove主题为例,首先打开主题的样式表style.css,在样式表中搜索一下blockquote和pre。在inove主题里,它们使用相同的样式配置,在它们的样式里加上overflow-x: auto;,完整代码如下:


blockquote, pre {
	background:#F4F5F7 3px 3px no-repeat;
	border:1px dashed #CCC;
	padding:8px 8px 8px 8px;
	margin:5px 0;
	overflow-x:auto
} 

如果你的主题里没有关于blockquote和pre的样式,自己添加一下就行了。

加了这一句话以后,如果在blockquote和pre块的语句超过一行的长度,那么浏览器就会自动显示水平滚动条(scrollbar),让读者滑过去看,很是方便。

比如,我下面这一句话,浏览器就会自动加滚动条:

This a very long text to test the scrollbar of my theme. If you don't see such a scrollbar, please report a bug. my email address is easwy.mail -at- gmail -dot- com. Thanks!  

另外,还可以设置滚动条的样式,使它与你的主题相符,具体实现参考文尾的第二篇参考文档。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/display_scrollbar_in_wordpress/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的博客支持分类订阅了!

其实博客是一个比较个性化的地方,而作为Easwy的博客的作者,我又是个兴趣比较广泛的人,所以写的内容也都比较杂。

现今的社会,人们的时间这么宝贵,信息又是如此的泛滥,实在是不应该用不相干的东西来干扰别人的视听。

一方面是自己兴趣,一方面是读者兴趣,二者不能也不可能完全契合,这就会导致博客中的大部分内容,也许都不是订阅者感兴趣的,订阅者想订阅的,其实只是一小部分内容。

所以为了避免大家看到太多自己不感兴趣的内容,我提供了博客分类的feed,你可以只订阅自己感兴趣的分类。刚刚查看了一下我的订阅读者数,是171人(看来4月2日订阅数36的确是个愚人节玩笑了),相信这中间的大部人都只对vim使用进阶系列文章感兴趣,那么你们可以重新订阅相关的分类。

简单介绍一下我划分分类和tag的原则:在Easwy的博客上,所有文章都被划分为几大分类(目前的分类见下),在每个分类里的不同内容,则使用tag区分。例如,在文本处理分类里,目前主要包括vim、docbook、awk方面的内容,这些内容则分别打上了vim标签docbook标签awk标签;而开源软件分类里,又包括了Linux相关的内容(Linux标签),以及其它的开源软件(也有相应的tag)。

所以,在访问我的博客时,使用tag可以准确找到你所感兴趣的内容。原本我也想加上tag的feed输出,不过在网上没找到相应的插件(好像Simple Tagging插件可以,不过我没配置成功),所以以后再按tag输出feed吧。

下面简要介绍一下我博客上的分类:

  • 嵌入系统easwy.com的分类feed

    这个分类主要讨论嵌入式系统,主要是嵌入式Linux和Android方面的话题

  • 建站手记easwy.com的分类feed

    这个分类包括我的建站笔记,wordpress的配置,以及Web开发编程方面的内容,例如PHP、JSP、MySQL数据库、CSS等

  • 开发编程easwy.com的分类feed

    这个分类讨论开发编程的话题,会包括各种编程语言(以C, C++, Python为主)、UML、设计模式、开发经验等

  • 开源软件easwy.com的分类feed

    本分类主要讨论开源软件,包括Linux操作系统,及各种开源工具。

  • 文本处理easwy.com的分类feed

    本分类讨论文本处理工具,会涉及vim, sed, awk等工具,也包括docbook等

  • 生活点滴easwy.com的分类feed

    本分类记录我的生活点滴。

  • 吾家有女easwy.com的分类feed

    我的宝贝,我的天使,我的小情人……无数个词,都无法形容我对她的爱!

    她就是我的女儿,这一个分类,主要记录她成长的点点滴滴。

  • 百宝箱easwy.com的分类feed

    凡上面分类装不下的内容,都放在此分类中。目前主要是有关easwy.com的新闻。

欢迎根据自己的兴趣,选择上面的分类进行订阅。当然,你也可以继续订阅全站feed,地址是http://feed.easwy.com/

允许分类订阅后,我写文章时也可以少一些顾虑了,不必再担心给大家带来困扰。当然,以后还可能会对分类进行调整,到时再行通知。

分类feed输出由WordPress的Enhanced Categories插件提供支持,感谢其作者。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/categories_feed_for_easwy_com/

文章的脚注信息由WordPress的wp-posturl插件自动生成

WP-PostURL插件发布: 在文章末尾添加版本声明和文章的链接

插件页面链接:http://easwy.com/blog/wordpress/wp-posturl/

前些天写了一篇文章讲述如何在文章末尾添加版本声明和文章的链接,这需要用户自己修改主题的模板文件,比较麻烦。后来就想为什么不能把它做成一个WordPress插件,这样其它人做起来也方便些。

于是利用业余时间写了一个插件,WP-PostURL,来完成上述功能。

这个插件允许你在文章的开头或结尾处插入一段自定义的文字。这段文字可以是你的版权写明,也可以是广告,或者其它文字。

自定义文字允许使用HTML语句,另外,你还可以在自定义字符串中使用下面的变量:

  • %site_url% – 站点的URL链接
  • %site_name% – 站点的名字
  • %post_url% – 显示这段内容的文章的URL链接
  • %post_title% – 显示这段内容的文章的标题

更多使用方法,参见上面的插件介绍页面。

希望大家喜欢!

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/wordpress-wp-posturl-plugin-v10/

文章的脚注信息由WordPress的wp-posturl插件自动生成

使用插件去除评论分页所导致的重复内容

今天在Google网站管理员工具中发现有”重复的标题标记”问题,我的文章中应该没有重复标题呀?是什么造成的呢?

仔细一看,原来和wordpress新加的评论分页功能有关。在wordpress 2.7中支持对评论分页显示,这是一个很好的功能,因为在评论比较多时可以允许用户来翻页查看。不过搜索引擎在收录评论页时,也同时把该评论所在文章收录进去,这就导致出现重复内容、重复标题标记的问题。

因为网站上重复内容较多会产生不好的SERP,甚至会导致你的Page Rank降低,所以这个问题还是要解决一下。在网上搜索了一下,已经有人专门写了个插件来防止评论分页造成的重复内容。可以到Kaizeku Ban下载Avice提供的插件。我也把这个作者的插件放在我的网站上了,如果你访问不了此页面,也可以点击这里下载add_comment_paging_noindex_meta.php。把它上传到wordpress的插件目录,然后到后台页面中激活即可。

另外一个解决办法是干脆关闭评论分页的功能。我的博客上评论还不多,所以暂时关闭了此功能,这个插件也就用不着了。过几天再登录Google网站管理员工具,看看重复标题标记的问题是不是解决了。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/prevent-wordpress-27-duplicate-content/

文章的脚注信息由WordPress的wp-posturl插件自动生成

(译) Sitemap会影响搜索引擎蜘蛛吗?

[ 译注 ]

本文译自Do Sitemaps Affect Crawlers?。由Easwy翻译,转载请注明:转载自Easwy的博客 : http://easwy.com/blog/

看了这篇文章,你也要思考一下是否使用Sitemap生成器来生成Sitemap。对一个wordpress博客来说,它的网站链接结构很好,不会影响搜索引擎蜘蛛自然爬行,所以为了使Google尽快收录,最好使用Google XML Sitemaps Generator(Google XML网站地图生成器)来生成并提交你的Sitemap。我从一开始就使用了这个插件,发现Google收录我的新文章确实非常快,具体时间没有测试,应该在半小时内。

[ 译文 ]

就像其它人一样,我也形成了习惯,好的坏的都有。最近正为一个客户的网站工作,就像我一直以来的做法那样,我创建了一个sitemap,把它提交给了搜索引擎。我开始思考这样做是否真的对网站有帮助,以及当我提交sitemap时的影响是什么。

我联系到我的一个客户,他有一个受欢迎的博客,使用了WordPress和Wordpress的Google XML Sitemaps生成器插件。我请求他给我权限在他们的网站上安装一个监控搜索引擎机器人行踪的脚本。对那些不知道Google XML网站地图生成器的人解释一下,这个插件当你每次在WordProess里编辑或创建文章时,都会生成一个新的Sitemap,并把Sitemap提交给主要的搜索引擎。

我的客户经常在他们的博客上增加原创文章,通常一周2至3篇。我在他们网站上安装的脚本用PHP写的,会把搜索引擎机器人每次访问Sitemap、每次提交Sitemap、以及搜索引擎蜘蛛每次在网站上爬过的网页记录下来。这个脚本会把时间戳信息、IP地址、以及用户客户端记录到一个MySQL数据库中。我也修改了一下Google XML网站地图生成器,加入了给搜索引擎提交Sitemap的时间戳。

看一看数据!

这个实验的目的是看是否提交Sitemap到Google和Yahoo可以缩短Google爬行和收录页面的时间。在这个博客的测试结果让人吃惊!当提交Sitemap时,Google搜索引擎机器人访问新文章页面的平均时间是14分钟,Yahoo是245分钟。当不提交Sitemap时,搜索引擎机器人必须自己爬行到新的文章页面,Google用了1375分钟,而Yahoo用了1773分钟。这个平均值基于12篇文章计算,6篇提交Sitemap,6篇不提交。

当算出这个结果时,我想这应该是一个错误。我回到我的网站(GR Web Designs),然后迅速发表一篇文章并提交Sitemap到Google和Yahoo。30分钟后我检查我的监控脚本,Google已经访问过了,并且新页面已经被收录。Yahoo在Google后不久也这样做了。

看到搜索引擎蜘蛛在没有Sitemap的情况下爬行到新页面后的时间后,我一度以为这个网站的结构有问题,导致搜索引擎蜘蛛不能爬到新页面。但我和其它人都测试了网站的爬行,没有发现问题。我甚至发现搜索引擎蜘蛛已经爬到包含这篇新文章链接的页面,但却没有立即访问这篇新文章,而是后来才访问的。

我正在写这篇文章时,发现了Rand的My Advice on Google Sitemaps – Verify, but Don’t Submit,我由此感到很困惑。我提交Sitemap获得这么多好处,为什么还Rand告诉我不要提交Sitemap?在读完这篇文章后,我发现他对获得有价值的爬行数据更感兴趣。我使用的是WordPress,所有的页面都允许搜索引擎蜘蛛爬,为什么不提交Sitemap呢?特别是提交了有这么大的好处。

对那些和这个试验站点类似的网站,也就是知道自己的网站不存在影响搜索引擎蜘蛛自然爬行的网站,我建议他们提交Sitemap,因为这会使网页更快的被爬行和收录。如果你有一个网站你并不知道网站的结构是否有问题,我建议你不要提交网站地图,这可以帮助你确定你的网站结构是否存在问题。对那些有良好链接结构的网站,为什么不今天就提交Sitemap,那事情进行的更迅速呢?

我很高兴听到SEOmoz社区说他们也在使用网站地图,记住,这个实验只是在一个网站上完成的,如果从你们那获得更多的回馈,我会做更多关于Sitemap的研究。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/do-sitemaps-effect-crawlers/

文章的脚注信息由WordPress的wp-posturl插件自动生成

(译) 5个插件使wordpress更安全

本文译自5 Plugins to Keep WordPress Secure。由Easwy翻译,转载请注明:转载自Easwy的博客 [ http://easwy.com/blog/ ]

本文由Mr. I.供稿

几天前,有读者在他的博客被入侵后寻求Daniel的建议,Daniel给出了一些好的安全措施以保证wordpress的安全。万一你没看到这篇文章,请在这里阅读:What if my WordPress Blog Got Hacked with the Google Redirect?

我应用了Daniel建议的这些安全举措,并找到了一些支持这些功能的插件。

下面是我找到的一些插件,可以使wordpress更安全:

  1. Limit Login Attempts : 这个插件在用户4次(可以修改)输错密码后阻塞该用户20分钟。这是避免暴力破解的一个好方法。
  2. Sabre : 如果你的wordpress博客允许用户注册,并且你看到很多虚假注册,这个插件可以阻止那些由机器人产生的虚假注册。它可以增加图像验证或者算术验证以及其它手段,来保证不会创建虚假注册用户。
  3. Semisecure Login : 这个插件使用公钥对密码进行加密,来增强登录过程的安全性。然后服务器端通过私钥进行解密。需要Javascript和PHP的支持。
  4. Bad Behavior : 这个插件通过密罐项目(Project Honey Pot)的数据库查询访问者的IP地址,以确定访问者是否是Spammer。如果可疑,它会阻止这个IP访问你的博客。
  5. Secure WordPress : 这个插件提供了一些小功能,检查你的wordpress是否安装安全。它对非管理员用户隐藏wordpress的版本信息,并在plugin目录中放置一个空的index.php文件以防止访问者访问plugin目录。

所有这些插件都是wordpress 2.7兼容的。

深入阅读:Daniel的3 Must Apply Security Tips for WordPress

不要忘记分享你所采用的使wordpress更安全的插件及技巧。

Mr. I是Blogging With Success的发起人之一,也是主要作者之一。如果你喜欢这篇文章,请察看他写的50 Must Have WordPress Plugins for WordPress 2.7

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/5-plugins-to-keep-wordpress-secure/

文章的脚注信息由WordPress的wp-posturl插件自动生成