Google优化圣经
a)准备工作和建立内容
在你注册域名之前,你就应该记录下你的想法,应该准备足够100个网页的内容。请注意是至少。这100个网页应该是真正的内容,而不是链接页,关于我们页,联系我们或者版权声明等等杂七杂八的网页。
b)域名
你应该选择一个很容易建立品牌的域名,你要的是Google.com,而不是关键词.com。充斥关键词的域名应该被丢弃,易于建立品牌的和容易辩识的域名才是最好的。
域名当中所包含的关键词作用现在非常之小。为什么goto.com改名为overture.com,那次改名是我所见过的,最大胆的策略之一。这个改名的策略摧毁了几年时间所建立的品牌。
全文阅读 »
WordPress 自定义侧边栏部件
想在博客的侧边栏显示随机文章,使用了“中文 WordPress 工具箱”插件,功能介绍里说是可以显示随机文章的,但是这个插件比较老了,不支持 widget,便想到了改造一下这个插件。查了一下部件的语法。其语法如下:
- <?php
- function widget_mywidget($args) {
- extract($args);
- ?>
- <?php echo $before_widget; ?>
- <?php echo $before_title . 'My Widget' . $after_title; ?>
- My Widget
- <?php echo $after_widget; ?>
- <?php
- }
- register_sidebar_widget('My Widget', 'widget_mywidget');
- ?>
register_sidebar_widget 注册函数之后,输出部件标题 "My Widget" 及內容 "My Widget"。
又从 WordPress Widgets 文档中知道:不能在插件导入之后执行任何代码,要使用 plugins_loaded 这个 hook,所以 add_action 的对象即是 plugins_loaded。
最后,在插件程序文件 mulberrykit.php 后增加了如下代码:
- function widget_random_posts_init() {
- if ( !function_exists('register_sidebar_widget') || !function_exists('register_widget_control') )
- return;
- function random_posts_sidebar_module($args) {
- extract($args);
- echo $before_widget . $before_title . $title . $after_title;
- echo "<h2>随机文章</h2><ul>";
- random_posts();
- echo "</ul>";
- echo $after_widget;
- }
- register_sidebar_widget('Random Posts module', 'random_posts_sidebar_module');
- }
- add_action('plugins_loaded', 'widget_random_posts_init');
在管理后台的 外观 -> Widgets 中就可以找到 Random Posts module 这个部件了。
ExtMail 列表邮件名乱码
用 php 程序通过 smtp 发邮件,发现使用 ExtMail 列表中文邮件时邮件名是乱码,而且邮件被 Amavisd-new 打上了垃圾邮件的标签,且在邮件头中有以下提示:
X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data
而在其它邮件系统中显示是正常的,在 Foxmail 中也是正常的。
对比接收到的正常邮件,发现邮件名是 base64 编码了的,于是在发送邮件时进行编码:
$subject = "=?GB2312?B?".base64_encode($subject)."?=";
这时候邮件不被标记为垃圾邮件了,但是邮件名列表时还是乱码。仔细对比后发现,是程序中 Subject: 后少了个空格。
看来,程序书写不够仔细;ExtMail 提取非规范书写的 Subject 内容时有点问题。
Linux 备份时排除目录
tar 备份 Linux 系统的时候用了这样的命令:
tar -cjpvf /mnt/winh/linux.tar.bz2 / --exclude=/mnt --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/tmp
恢复的时候:
tar -xjpvf /mnt/winh/linux.tar.bz2 -C /
使用 rsync 备份目录时也用 --exclude="/sourcedir/tmp" 发现并没有排除掉呢。
还是得用 --exclude "tmp",路径为相对路径。
rsync -a --exclude "tmp" --exclude "temp" /sourcedir/ /backup/$(date +%Y%m%d --date='1 days ago')