优化wordpress的robots.txt

SitePoint里的一个贴子针对wordpress的SEO优化做了讨论。讨论中cyrillsneer7关于robots.txt的优化给出了一个实例,感觉不错,贴出来跟大家分享下:

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */comments
Disallow: /*?*
Disallow: /*?
Allow: /wp-content/uploads

# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

# Google AdSense
User-agent: Mediapartners-Google*
Disallow:
Allow: /*

# Internet Archiver Wayback Machine
User-agent: ia_archiver
Disallow: /

# digg mirror
User-agent: duggmirror
Disallow: /

# Does anyone care I love Google Apache htaccess
Sitemap: https://bingu.net/sitemap.xml #改为你的sitemap地址

BTW:SitePoint里有很多关于网站方面的文章,他的论坛也很热闹。(3-5-8比例运用在网页设计中就是在SitePoint的邮件列表中看到的)推荐喜欢网站建设的xdjm去看看。 :mrgreen:

WPhone简体中文包

WPhone的确是个很不错的用手机管理blog的插件
我参照现在网上流行的wordpress中文版做了WPhone简体中文包,方便大家操作。
Wphone简体包是这样使用的:
1. 下载WPhone简体包
2. 解压后将wphone-zh_CN.mo和wphone-zh_CN.po放到wphone插件的localization文件夹中;
3. 如果你的wordpress进行了汉化(wp-config.php中define (’WPLANG’, ‘zh_CN’);),这时WPhone就已进行了汉化。

latin1_swedish_ci to utf8_general_ci

从旧主机搬到新主机最烦人的就是乱码问题。这也是个由来已久的问题了。
wordpress 2.2开始,wordpress提供DB_CHARSET和DB_COLLATE这两个参数以便我们更好地解决这个问题。但似乎这些并不够,仍旧会产生这样那样的问题,如Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\wordpress\wp-includes\classes.php on line 88。最根本的解决应该还是把数据库里的数据由latin1_swedish_ci格式转换成utf8_general_ci格式。
wordpress官方的论坛就像wordpress那样,很有人气。你遇到的问题,很可能里面已经有人讨论过并已经解决了。乱码问题这个很热门的问题,当然也是完美地解决了地。
以下方法涉及数据库修改,请在备份数据库后操作!
解决的方法是这样的:
1. 下载g30rg3_x提供的这个plugin;
2. 确保你的wordpress是2.2.x或2.1.x,因为这个plugin只支持这两个系列的版本;
3. 上传到plugins文件夹并激活;
4. 到’UTF-8 Database Converter’菜单中按照提示进行剩余操作即可。

上面的办法多了不少的限制,如wordpress的版本需是2.2.x或2.1.x,并能保证你的wordpress还能登录!(是的,很可能你的wordpress这时已经不能登录了。)
这时我们可以借用一下g30rg3_x提供的UTF8_DB_Converter_DoIt()函数:

<?php
define('DB_NAME', 'putyourdbnamehere');    // 数据库名
define('DB_USER', 'usernamehere');     // MySQL用户名
define('DB_PASSWORD', 'yourpasswordhere'); // 密码
define('DB_HOST', 'localhost');    // 很大可能你无需修改此项

function UTF8_DB_Converter_DoIt() {
	$tables = array();
	$tables_with_fields = array();

	// Since we cannot use the WordPress Database Abstraction Class (wp-db.php),
	// we have to make an a stand-alone/direct connection to the database.
	$link_id = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Error establishing a database connection');
	mysql_select_db(DB_NAME, $link_id);

	// Gathering information about tables and all the text/string fields that can be affected
	// during the conversion to UTF-8.
	$resource = mysql_query("SHOW TABLES", $link_id);
	while ( $result = mysql_fetch_row($resource) )
		$tables[] = $result[0];

	if ( !empty($tables) ) {
		foreach ( (array) $tables as $table ) {
			$resource = mysql_query("EXPLAIN $table", $link_id);
			while ( $result = mysql_fetch_assoc($resource) ) {
				if ( preg_match('/(char)|(text)|(enum)|(set)/', $result['Type']) )
					$tables_with_fields[$table][$result['Field']] = $result['Type'] . " " . ( "YES" == $result['Null'] ? "" : "NOT " ) . "NULL " .  ( !is_null($result['Default']) ? "DEFAULT '". $result['Default'] ."'" : "" );
			}
		}

		// Change all text/string fields of the tables to their corresponding binary text/string representations.
		foreach ( (array) $tables as $table )
			mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET binary", $link_id);

		// Change database and tables to UTF-8 Character set.
		mysql_query("ALTER DATABASE " . DB_NAME . " CHARACTER SET utf8", $link_id);
		foreach ( (array) $tables as $table )
			mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET utf8", $link_id);

		// Return all binary text/string fields previously changed to their original representations.
		foreach ( (array) $tables_with_fields as $table => $fields ) {
			foreach ( (array) $fields as $field_type => $field_options ) {
				mysql_query("ALTER TABLE $table MODIFY $field_type $field_options", $link_id);
			}
		}

		// Optimize tables and finally close the mysql link.
		foreach ( (array) $tables as $table )
			mysql_query("OPTIMIZE TABLE $table", $link_id);
		mysql_close($link_id);
	} else {
		die('<strong>There are no tables?</strong>');
	}

	return true;
}
UTF8_DB_Converter_DoIt();
?>

现在你把上面代码保存到一个php文件中,上传至空间并运行,如无意外你的数据已经完成了latin1_swedish_ci到utf8_general_ci转换。

wordpress 2.3.3

数个钟头前,wordpress正式更新到2.3.3。
原因嘛就是XML-RPC出现了漏洞,它可能使某一用户修改别人的文章(当然那个用户是没有权限修改别人的文章的)。当然2.3.3也不只是修补了这个漏洞,它还修正了其他几个小臭虫。
如果你只是关心那个比较大的XML-RPC漏洞,你只需下载这个修正版的xmlrpc.php文件覆盖原文件即可,如果你担心那几个小臭虫,下载最新的wordpress,升级你的wordpress吧。

称此机会把theme换成Design Disease的Dilectio了。很好看的一个theme。 😛

WPhone,用手机管理blog

在九月份时,终于决定把用了四年的手机飞利浦530淘汰,买了当时刚出的号称最小巧的智能机NOKIA 6120c。当时广州地区的gprs包月最便宜的一个套餐只需五元(现在广州此套餐已“优惠”到十五元了,幸好我早开通,我还能享受“不优惠”的价格。)。也正因为如此,当时不方便上网的我,可想而知有多么希望能有一个插件能实现用手机来写blog。就在昨天我在一个blog的plugin used页中看到了这款插件—WPhone。一试之下,果然是多日寻找那种插件。WPhone的功能—齐。我刚看了一下菜单栏,write、manage、comments、plugin和users一样都不少。我重点看了一下写作这个部份,很多选项都有了,例如:tags、categories、password、plug等都有。但似乎少了时间编辑(现在是深夜三点多的床上)。但还等齐全吧。WPhone的作者应该是iPhone的使用者,插件的预览图都是截自iPhone。但不用担心,不是只有iPhone才能使用,至少我的nokia 6120c(s60)也是可以使用的。这可真的能随时blog了,不试用一下?

更新至wordpress2.3.2

此前一直由于没有怎么上网,冰古blog一直都是在使用wordpress2.2.2。最近上网有了保证,所以把冰古blog升级到发布已经有三个多月的wordpress2.3

这次升级显得异常困难,估计是空间和plugin的问题吧,在本地升级并且把UTW的tag转换成wordpress本身的tag已经是成功的,但移到空间上时就出现问题了(表现为后台里的Plugins页打不开)。好吧,来个”一不做二不休“ 😈 趁这个机会把冰古blog的数据库好好清理一下。就这样删掉很多东西,只留下了posts相关的数据表、options表和comments表等,其他的什么tag和早已经不忍看的categories都删光。

此外,使用的插件也进行了更新很添加。添加的插件就是WP Super Cache,它是WP Cache的一个分支,据称比WP Cache好。具体是怎样呢? 🙂 去看看WP Super Cache的描述吧。这次更新,发现wordpress官方的plugin站有了质的变化,作者们很多都把plugin的更新发布到那里。

最后还是模板的问题,想自己做个。再搞搞吧。 😉 这篇可以参考参考哦, 2008年的blog設計趨勢

wordpress 2.3

数天前,wordpress 2.3也出来了。而我也是昨天碰巧上网看到了这个消息,没办法,已经两三个月没有怎么上网了。(blog也没有怎么认真更新,留言和email都没有怎么回复, 😐 )

面对2.3真的不知该从哪里下手,上网看看能不能找到升级的文章。(关键是tags的转换比较棘手)

BTW,科幻美剧《HEROES》第二季也出来了, :mrgreen: ,不知道有没有追的呢?

wordpress 2.2.2与2.0.11更新

数天前,wordpress更新了2.2.2和2.0.11

我也趁机出来冒个泡。