百度推出WordPress结构化数据插件的意义

今天百度通过其站长平台发布了针对WordPress博客程序的结构化数据插件,这一消息对于广大使用Wordpress程序的站长来说可谓是一份大礼。因为一直以来众多Wordpress博客的内容更新被百度收录都没有那些CMS或论坛系统快,甚至有人怀疑百度对Wordpress程序的网站存在一些“偏见”。但是现在百度推出这个插件就意外着那些负面猜测都是不存在的。下面是百度对此款插件的介绍:

博客文章收录慢?内容收录不全?马上使用百度WordPress结构化数据插件,轻松解决博客内容的收录问题,同时内容还能够在搜索结果中获得更丰富的展现,提高用户点击率。

百度WordPress结构化数据插件是百度站长平台提供的一款供站长使用的收录插件,安装该插件之后,能够及时将博客内容推送给百度,保证内容快速全面的被收录。安装插件之后,博客的内容还能够在搜索结果中获得更丰富的信息展示,提升用户体验,提高用户点击率。

独特优势:

  1. 安装插件后,能够遍历博客所有文章,自动生成sitemap提交给百度,保证博客历史内容的收录。
  2. 安装插件后,当博客中有新文章发布时,会将新内容实时推送给百度,大大提升博客新内容的收录速度。
  3. 博客内容在百度搜索结果中能获得更丰富的信息展示,提高用户点击率。

百度站长平台下载地址http://zhanzhang.baidu.com/dataplug/index

  • 第一步:下载适合版本的插件,解压文件至WordPress平台目录wp-content/plugins下;
  • 第二步:在管理中心应用页面-插件列表目录下,启用“baidusubmit”插件;
  • 第三步:启用插件后,验证网站网址,验证成功,插件安装完成。

提示:由于是刚刚发布,Wordpress官方插件中心应该还没有上传这个插件,所以无法通过WP后台搜索插件安装。

什么是百度的结构化数据?主要表现就是会在搜索结果展示页面显示回复、发帖时间等。如下图DZ论坛插件的结构化数据:

百度结构化数据

百度结构化数据

还在犹豫吗?赶紧下载去安装吧。如果对Wordpress操作不是很熟练的,可以联系穆童。

通过woredpress windows phone发表博客文章

使用wordpress程序的博客的更新工作现在开始变得更加便捷了,只需要一部智能手机就可以完成平时需要在电脑上完成的更新文章,回复评论了。

如果你有一部wondows phone 8或者安卓,或iphone手机只需要前往官方的应用商店搜索wordpress of phone,然后下载安装即可。就拿笔者所使用的htc 8x来说,由于正常情况下在微软中国商店还没有上架wordpress客户端,需要大家设置手机区域为美国后才可以找到并下载安装。

当然,下载好的是英文,不过对照翻译工具了解了各个主要按钮的意思后照样
使用。

更新:发布的文章可以设置分类,tag标签,添加图片媒体,还可以设置发布时间。只是有一点非常遗憾:不能设置自定义标签,这对于功能稍微复杂一点的主题来说或许是个很不愉快的消息。

还有一点,我发现不能修改自定义连接了,正如你所看见的那样,本文的连接中出现了中文。还有就是不能手动设置文章的摘要。

不过对多数个人生活博客来说,这些都是相应可原的,或者有替代方案解决。

WordPress需要访问您网页服务器的权限,需输入FTP的解决办法

前段时间穆童对博客的服务器进行了更换,同事也重新安装了WordPress程序,然后当我进行插件安装/删除时、安装/删除主题时、升级WordPress程序时,系统总是提示:连接服务器时出错,请检查设置,WordPress需要访问您网页服务器的权限,请输入您的FTP登录凭证的提示。

本以为然的输入FTP主机名、账号、密码项目之后发现依然还是无法连接,刚开始我还以为是FTP主机名、用户名或者密码输入错误了。其实不然,下面就说说我的解决办法。

修改所有者

其实导致这个问题的根本原因还是文件夹权限的问题,而且不是访问、读取、写入这类的777权限,而是所属用户的用户权限,既然如此我们修改用户权限就可以解决了

如果你也是使用的VPS服务器(或者云服务器),那么你完全可以登录到Linux系统中(远程登录就行),按照以下步骤进行操作:

  1. 用root用户远程登录服务器
  2. 找到出问题的这个WordPress网站的安装目录;
  3. 执行代码:chown -R www /home/www/xxx.com(即WordPress安装目录)

以上方法是对大部分LNMP一键环境都是可行的,如果您安装的是其他环境(比如自己的路‎LuManager)只需要修改上面第三修改一下:

  • chown -R zijidelu /home/ftp/1520/xxx_com;
  • -R要大写,zijidelu是所有者(即用户)后面/ftp/1520/xxx_com是WordPress安装目录。

上面的方法是可行的的,只是可能在所有者以及安装目录上会根据每个人的系统设置不同而有所不同,大家举一反三就可以解决。而解决的根本原则依然是:

通过chown命令修改下Wordpress安装目录(就是网站文件所在目录)的所有者

WordPress判断文章所属分类函数in_category,实现文章页自定义

最近自己在修改一个采用Wordpress程序的博客的时候需要用到一个特殊的功能:我需要判断这篇文章是属于哪些分类,如果属于我设定的分类下的文章,则输出一个DIV内容。按道理说实现这个功能应该不算太难,因为印象中wordpress有相关的函数。简单查阅了一些资料后发现is_category和in_category这两个函数,最后是靠in_category函数实现的。具体方法也很简单:

in_category(array( ’1′, ’2′, ’3′)) ) 这段函数的意思是识别分类目录ID为1、2、3这三个分类,可以利用这个功能实现特定分类使用自定义模板或内容等。

这其中还有个小插曲让我纠结了很久,那就是in_category和is_category的差别,它们的差别让我想实现的功能差点就黄掉了。这里贴出来做个记录:

in_category:判断当前文章或指定文章是否属于某个指定类别,只有直属的类别,不包括直属类别的父辈类别;可以在循环内使用,也可以独立使用。

is_category:判断是否正在显示一个类别归档页面。

也就是说,如果你要在wordpress里面判断某个东西是否属于某分类,则用in_category,而如果是想判断某个分类的表现,那就要用is_category函数。

WordPress提示“别名已被其它条目使用”的原因及解决办法

穆童博客就是用的WP程序建的,虽然看起来更像CMS。长期使用WP我也有一些感触,故而最近我心血来潮给准备建一个分类别名为“WordPress”的目录。可是一直提示“别名已被其它条目使用”。我开始就纳闷了,我明明是第一次闯将这个目录的,而且我还特意打开分类目录设置页面搜索我要创建的这个“WordPress”,结果明明没有创建过这个分类目录,怎么会提示“别名已被其它条目使用”呢?

原始与TAG重名

这时我看到分类下有一个“分类与标签转换工具”,莫非WordPress的TAG和分类别名是“共用”的不能一样?这时我看到“分类目录”和“标签”设置页面的URL都是以/wp-admin/edit-tags.php开头的,我就意识到很有可能和我预想的一样:

WordPress的标签别名和分类目录别名是不能重复

解决办法

找到了问题解决办法也不难,我也看到有些人是去修改数据库表实现的,但我觉得没必要这么麻烦。为什么呢?因为我们可以直接在WordPress后台的“标签”和“分类目录”设置页面直接对重复的标签和目录进行调整,只要不出现重复即可。比如我这里之所以出现别名已被其它条目使用的提示,是因为我已经有一个标签的别名被命名为WordPress了。

那么我将这个标签修缩写改成WP不就行了么?的确如此。另外,修改标签后你那些引用了这个标签的文章的URL会随着一起变化的,也就是说不会在文章也出现死链的情况。

后记

随意这样需改标签或分类目录的URL可能直接影响网站的流量情况,对于一个注重SEO的站长应该尽量避免这类情况多次出现。如果出现想要建立的分类或标签其别名已经存在,最好还是另外取一个别面比较稳妥。本文中就是将WordPress缩写成WP作为分类目录别名的。

清理WordPress论坛插件WP-Forum数据库表wp_forum

刚使用WordPress的时候,总会被他众多的插件所吸引,于是这个插件试试那个插件试试。可是长期下来,这些插件便会在数据库中堆积垃圾数据表,当你删除了插件他们还却还被保存在数据库中。而wp_forum就是其一。

WP-Forum是一个WordPress论坛插件,我当时安装这个论坛插件是本期望能实现简要的论坛功能,但后来发现居然不支持URL,所有的帖子居然就是一个地址,故而删除之。但WP-Forum论坛插件的数据会被保存在Wordpress数据库中,我看了看一共8个数据表:

  • wp_forum_forums
  • wp_forum_groups
  • wp_forum_posts
  • wp_forum_reputation_posts
  • wp_forum_threads
  • wp_forum_usergroup2user
  • wp_forum_usergroups

既然插件以及被我删除了,那么这些数据表也就没必要存在了,进入到phpMyAdmin里面删除以上8个数据表减少数据库体积及表数,方便以后管理。

用is_tag()函数实现WordPress不同TAG页面显示不同内容

虽然Wordpress是一个博客系统,但如果利用好也是个强大的CMS(内容管理)系统。在Wordpress的实际使用中往往会创建很多的TAG标签页面,当文章多了一些TAG页面内容也开始丰富起来,但如果当作CMS来用的话这个千篇一律的TAG页面显然无法很好的满足突出当前TAG标签中心内容的用处。

这个时候我们就需要用到一个Wordpress自身具备的条件判断函数is_tag()。我们要想实现不同TAG显示不同内容就可以用它来判断,其用法为:

<?php if ( is_tag() ) { ?>//可以用 is_tag(‘tagname’) 判断具体的TAG页面<?php } ?>

利用上面的is_tag()函数,并在括号中添加TAG标签名称(注意:是链接名,也就是TAG别名),然后在相应的地方插入就可以使Wordpress不同TAG页面显示不同内容了。

WordPress显示当前文章分类的最新完整列表

通过识别当前文章所在的分类然后输出这个分类的最新文章列表,这就是本文所要实现的功能。得益于Wordpress众多的支持者,实现这个功能也不是难事,只需要通过一小段PHP代码就可以实现。

这段代码能实现控制输出文章列表的文章数量,还能对文章的标题进行截断(不然太长就会自动显示两段,这样不美观),如果你愿意还可以修改样式。可能有人会问为什么不用插件?大家都知道Wordpress有众多的插件能实现各种各样的功能,本文所述的这个功能亦是如此,不过个人觉得还是不要用插件的好。因为没那个必要,而且插件往往不灵活。说的有点多了,代码如下:

<?php
if ( is_single() ) :
global $post;
$categories = get_the_category();
foreach ($categories as $category) :
?>
<div class=”widget widget_pages”>
<h3>本分类最近更新</h3>
<ul>
<?php
$posts = get_posts(‘numberposts=15&category=’. $category->term_id);
foreach($posts as $post) :
?>
<li>
<a href=”<?php the_permalink(); ?>”><?php echo mb_strimwidth(get_the_title(), 0, 40, ‘…’); ?></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php
endforeach; endif ; ?>

注意标点符号,然后复制粘贴到你文章页面所想要显示的位置就可以了(主题里面的php文件)。

WordPress评论IP地址显示为127.0.0.1的解决办法

穆童博客使用的是Wordpress程序,上次在更换了服务器之后不知为何所有新评论的IP地址都显示为127.0.0.1。刚开始我还没在意,觉得这也没什么。可是最近越发的觉得有必要解决这个问题。今天算式解决了,不过由于涉及到Wordpress程序文件的修改,所以就写篇日记以防日后升级程序后再次遇到这个问题。

问题原因

于是搜索了下,了解到导致这种情况的大概原因是:

一、启用了Wordpress缓存插件。
二、PHP版本或者Wordpress版本的问题。

我一看,php版本的问题应该不存在,因为wordpress安装环境是有要求的,如果php有问题那么应该安装wordpress的时候就出问题。wordpress版本也没问题,我用的是最新的版本而且这个版本之前是可以正确显示IP地址的。最后就是缓存插件的可能性了,因为我不久前就启用了这个插件,也几乎同时在启用这个插件之后评论IP地址就显示为127.0.0.1了。

解决办法

解决办法也挺简单的,我们只需要修改wordpress主目录下/wp-includes/目录里面的comment.php文件里面的一行代码就可以。首先打开comment.php文件后在里面搜索:$commentdata[‘comment_author_IP’]然后更具下面的提示对应修改(大约在1351行):

在/wp-includes/comment.php文件里找到下列代码:
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );
将其修改为下列代码(可直接复制替换)
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['HTTP_X_FORWARDED_FOR'] );

也就是将$_SERVER[‘REMOTE_ADDR’]替换为$_SERVER[‘HTTP_X_FORWARDED_FOR’]就可以了。我在修改完后进行了测试,评论IP地址可以正常显示了。

用js在网站调用站内文章列表的方法

穆童博客的读者应该看到了博客内容页的侧栏有很长的一块“热门解答及小技巧”的栏目。这个栏目就是通过js调用来显示的。其实很久之前我就希望能通过js代码在wordpress博客上这样显示一块列表了,可一直没时间。前段时间调整布局也就一起弄了。那么如何实现的呢?其实很简单很简单:

首先要弄出你要显示的是什么内容。比如我博客侧栏需要显示的是文章列表,这个列表我已经用html代码写好了。也可以用查看页面源代码的方式复制出你要显示的html代码。

弄到要显示的html代码之后我们需要将html代码转换成js代码(这是关键),站长网的站长在线工具里面就有这个功能。然后我新建一个空白的js文件,将转换好了的js代码复制到里面并对文件重命名(英文数字随便写)然后上传到wordpress主题目录里面。

上传之后就是在需要的地方显示了。通过将以下这段代码插入到相应位置即可:

<script type=”text/javascript” src=”你的地址”></script>

上面的地址改成你自己的就可以了(注意修改英文标点符号),最终效果请看穆童博客内容页侧栏。