CodeGuard 免费为你的网站创建备份

CodeGuard是一个简单方便的网站备份工具,可以用来为网站创建备份,包括网站文件和数据库,并列出完整的备份时间表,方便我们对备份历史进行查看。
CodeGuard 为网站创建备份

免费帐户最多可设置一个备份任务,最大备份空间为2G
http://img.kaychen.cn/2012/codeguard1.jpg

WordPress网站可以通过插件方便的备份网站数据

完整的备份记录,方便我们进行查看
http://img.kaychen.cn/2012/codeguard3.jpg

看下来似乎Wordpress插件是自动来备份数据库的,而非WP则需要手动设置备份的FTP及MySQL数据库,具体内容可以查看官方帮助页面

传送门: CodeGuard官网

wordpress数据库结构揭密

WordPress数据库简介

优秀的WordPress博客系统是构建在10个数据库表的基础之上的,WordPress的官方文档对这10个数据表有一个大概的介绍,具体网址是:WordPress数据库官方文档

WordPress数据库的10个数据表分别是:

表名(点击表名查看详细介绍) 描述
wp_comments 文章评论信息表
wp_links 链接信息表
wp_options 基本配置信息表,通常通过get_option来操作,该表通常作为插件存储数据的一个地方。
wp_postmeat 文章额外数据表,例如文章浏览次数,文章的自定义字段等都存储在这里。
wp_posts 文章信息表,包括了日志、附件、页面等等信息。是WordPress最重要的一个数据表。
wp_terms 文章分类、链接分类、标签的信息表。
wp_term_relationships 分类与文章信息表(wp_posts)、链接表(wp_links)的关联表。
wp_term_taxonomy 分类信息表,区分wp_terms信息的分类类型,有category、link_category和tag三种分类类型。
wp_usermeta 用户额外信息表
wp_users 用户基本信息表。存放系统所有用户基本信息。

WordPress数据库表之间的关系是什么呢?

wordpress使用.htaccessr轻松设置防盗链5 `. ?6 ~; t& O( i# J

要搞明白这个问题以及对WordPress数据表之间的关系有更加深刻的理解,让我们先来想想WordPress博客系统的功能,默认安装的WordPress2.6.2版本博客系统涉及的数据信息主要包括了用户信息、分类信息、链接信息、文章信息、文章评论信息、基本配置信息这6类信息。: G3 S7 U, S& ^! @! ^) N

用户信息:系统中所有注册用户的帐号信息。” i2 _+ s; O* s  w7 s) y

分类信息:包括了文章分类、链接分类、标签这3中分类信息。

链接信息:就是博客系统中的友情链接信息。. b5 c” K( @. w( ]  C& j’ Q

文章信息:博客系统中的日志、日志产生的附件、页面等信息。  s- C+ D9 x& C2 T/ J: V* E0 P  x& Y

文章评论信息:对具体日志或者附件的评论信息。

基本配置信息:系统中的基本配置信息,例如博客名称,博客地址等等。

WordPress数据库的10个数据表就是为了存储以上6类数据信息而设计,这些表之间的总体关系结构如下图所示:

wordpress数据库结构设计图

1

wordpress使用.htaccessr轻松设置防盗链

前几天KayChen用来存放图片的空间流量急剧飙升,空间商索性暂停了我的空间,虽然有些气愤,但也很无奈,于是关于.htaccess设置图片防盗链,和wordpress安全性就显得刻不容缓。

今天就主要介绍下如何让自己的网站防盗链。注:此方法支持独立图床防盗链。

wordpress使用.htaccessr轻松设置防盗链

.htaccess设置图片防盗链
不同的主机由于本身设置上的差异.htaccess上图片防盗链代码写法也不尽相同,在测试了多种写法的时候下面的方法成功。

我的写法:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !kaychen.cn [NC]
RewriteCond %{HTTP_REFERER} !aujer.com [NC]
RewriteRule .(png|jpg|gif)$ http://old.kaychen.cn/logo.gif [R,NC,L]

解释一下:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。

2、 RewriteCond %{HTTP_REFERER} !kaychen.cn [NC]
RewriteCond %{HTTP_REFERER} !aujer.com [NC]
设置允许访问的HTTP来源,包括我们的自身站点(kaychen.cn、aujer.com) Google、Baidu、Bloglines、Feedburner、feedsky等。当然你还可以设定其他网站允许使用你的图片。

3、 重点说一下最后一句:
一般情况下,定义被盗链时替代的图片,让所有盗链 jpg、png 、gif 等图片的网页,显示根目录下的 xxx.xgif 文件(代码是:RewriteRule .(jpg|png)$ /xxx.xgif [R,NC,L]),注意:这里必须有一个“/”,而且xxx.xgif件体积越小越好,越小就越节省流量,为什么图片文件是.xgif?以为前面我们已经禁用了.gif,不改名字盗链我们图片的网站就无法显示我们的警告图片。(这个方法我没成功,似乎这个方法会让浏览器陷入死循环,于是我用下面的方法)
我的写法跟这个不同,我用的是其它服务器上(未设置过防盗链)的图片来替换演示。这样的好处是完全不用自己网站的流量,而又可以达到警告和宣传的目的。完美!

WordPress主题教程电子书PDF版下载

从零开始学主题制作:WordPress主题教程电子书PDF版下载 | 两个博客

WordPress的主题制作,对一般人来说是很神秘的。然而我爱水煮鱼的“从零开始制作WordPress主题教程”让我们有机会了解并掌握上WordPress主题制作的完整过程。它会一步一步、手把手地教你如何来完成WordPress主题的制作。这个教程下载量已过万,实乃经典,不得不分享。

教程截图:
从零开始学主题制作:WordPress主题教程电子书PDF版下载 | 两个博客

传送门:简体中文版|繁体中文版

非常实用的8个WordPress数据库技巧

最近在学习linux平台下的mysql数据库,虽然只会点皮毛,但还是让自己感觉很充实。操作mysql的例子都是拿自己备份站点的数据库来演练的。
下面给大家分享下wordpress中8个很实用的数据库操作和优化:
wordpress数据库技巧
1 备份数据库
问题:尽管本文中所有的技巧都经过测试,但是在尝试前请务必首先备份MySQL数据库。

解决方法:手动备份数据库,请按以下步骤操作:

登陆phpMyAdmin,选中要备份的数据库。
点击水平菜单上的“导出”按钮。
选择压缩方法(我本人使用gzip),然后单击“执行”。
服务器接着会询问你是否下载备份,点击“是”,然后把它存储到硬盘。
注解:使用WP-DB-Backup插件执行数据库备份非常方便。WordPress用户可以安装这个插件并定期备份数据。

2 批量删除日志修订本
问题:日志修订本是2.6的新增功能,虽然十分有用,但这也增加了MySQL数据库的负担。你当然可以手动删除修订本,但这将十分麻烦且耗时过长。

解决方法:这个解决办法非常简单。我们可以使用SQL语句批量删除日志修订本。

登陆phpMyAdmin,选中你的WordPress数据库。
单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:

DELETE FROM wp_posts WHERE post_type = “revision”;

完成了!删除掉的日志为你腾除了大量数据库空间!
注解:wp_posts 表格包含一个名为post_type 的字段。这个字段可被赋予诸如日志,页面,修订本的值。当我们需要删除日志修订本时,只要运行wp_posts表格中相对应的修订本删除语句就行了。

3 快速删除垃圾评论
问题:我的一个朋友前不久开通博客后,一直在网上努力推广他的博客。 在他外出度假归来时,竟发现自己有5000多条评论等待审核!当然,其中多数都是垃圾广告。但他认为自己不得不逐个审核以防删除了正常评论。

解决方法:庆幸的是,他把这个问题告诉了我。当我告诉他可以使用 SQL时,他已经审核45分钟了。

登陆phpMyAdmin,选中你的WordPress数据库。
单击“SQL”按钮。把以下窗口中的命令复制粘贴到SQL命令下:

DELETE from wp_comments WHERE comment_approved = ’0′;

完成了!现在可以享受清洁无污染的数据库环境了!
注解:wp_comments表格中包含名为comment_approved的域,它是一个boolean值(1或0)。通过审核的评论值为1,等待审核的值为0.运行以上语句,其实就是删除还没有通过审核的评论。

此操作要谨慎执行。以上语句不仅能帮我们删除大量垃圾评论,同时也会删除无效的没有通过审核的评论。如果你还没有使用Akismet,现在就安装以打击垃圾评论吧。

4 更改日志属性
问题:管理帐户在安装WordPress时就已创建。但许多博主把这个帐户误以为就是写日志的帐号,以致到后来才发现这不是私人帐号。

解决方法:更改所有日志的作者属性要花费很多时间,但使用SQL就不用这么麻烦了。

登陆phpMyAdmin,选中你的WordPress数据库。
首先,打开SQL语句窗口,执行以下命令以获取正确的作者ID:

SELECT ID, display_name FROM wp_users;

phpMyAdmin会显示许多WordPress用户的ID。其中NEW_AUTHOR_ID是最近写日志的作者的ID, OLD_AUTHOR_ID是原始管理员的ID。
交换NEW_AUTHOR_ID 和 OLD_AUTHOR_ID ID后,运行以下语句:

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

完成了!以前的日志属性现在已改为你刚刚设置的了!
5 手动重设密码
问题:为了增加博客安全性,许多博主选择不易被破解的密码,如u7*KoF5i8_。这当然很好,但问题在于博主自己忘记密码的事情也时常发生啊。

解决方法:密码丢失后,WordPress会给你邮箱发送密码重设链接。但如果你在注册时使用的邮箱现已不可用,或你想使用简单语句执行这个操作的话,可参考以下步骤:

登陆phpMyAdmin,选中你的WordPress数据库并打开SQL窗口。
输入以下语句(假设你的用户名是“admin”):

UPDATE `wp_users` SET `user_pass` = MD5(‘PASSWORD’) WHERE `wp_users`.`user_login` =`admin` LIMIT 1;

完成了!你的密码已更改成功。
注释:用户密码存储在wp_users表格中。当然,WordPress使用了MD5哈希保护密码。

我们要使用“UPDATE” SQL语句和内置的MD5() MySQL函数来把密码转化为MD5算法形式,然后更新。“WHERE”从句使系统只更新管理员的密码。不带有“WHERE”从句会导致系统更新所有的密码。

6 更改域名
问题:虽然我们并不主张这样做,但也许有时你需要在保留博客和数据的同时改变博客的域名。由于WordPress把域名存储在数据库中,所以为了把新域名和博客连接起来,你必须更改数据库。

解决方法:

登陆phpMyAdmin,选中你的WordPress数据库。
点击“SQL”,打开SQL命令窗口,输入以下命令更改URL:

UPDATE wp_options SET option_value = replace(option_value, ‘http://www.oldsite.com’, ‘http://www.newsite.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

使用以下语句替代所有日志的相对URL(guid全局唯一标识符)

UPDATE wp_posts SET guid = replace(guid, ‘http://www.oldsite.com’,’http://www.newsite.com’);

搜索wp_posts表并替代其中的URL,以确保没有老的URL存在了:

UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’);

完成!现在可以使用新URL登陆WordPress控制台了。
注解:为了更快地更改WordPress域名,我选择使用超级有用的MySQL函数“replace,”,这会完全替代所有需要替代的内容。

7 在博客上显示SQL查询数量
问题:了解输入到数据库的查询数量对优化博客载入时间非常重要。为了减少查询,我们首先要知道单个页面的查询数量。

解决方法:

打开主题中的footer.php文件,添加以下代码:

queries in seconds.

保存文件,然后访问博客。在页脚,系统已经显示WordPress数据库的查询数目,及查询所用时间。
注解:许多用户似乎都不了解这个功能。get_num_queries()函数会显示页面载入时执行的查询数目。

以上代码只会对注册用户显示查询数目,因为访客和搜索引擎并不需要知道这些内容。但如果你想公开的话,直接删除if (is_user_logged_in())这个条件语句就可以了。

8 恢复WordPress数据库
问题:如果修改或升级过程或其它原因造成了博客数据的丢失或损坏,希望你有备份的数据库。这样,你可以把备份的数据库导入到数据库中以弥补损失。

解决办法:

登陆phpMyAdmin,选择你的WordPress数据库。
单击水平菜单上的“导入”按钮。
点击“浏览”,选择硬盘上最新备份的数据库。
单击“执行”。如果一切正常的话,你的数据库现在已在运行了!

这文章出自wordpress.la  因为确实很实用,在这里收藏下并分享给大家。

3

WordPress在Windows主机上实现静态化

很多朋友都在为Wordpress如何在Windows主机上去掉影响雅观的index.php而苦恼。今天我在这里把这个方法公布一下。

很多朋友都说利用404页面来实现,我也尝试过许多网上所说的404方法,但终究没有成功。

今天要跟大家分享的是利用httpd.ini规则来实现Wordpress在Windows主机上的固定链接静态化。此方法是至今为止本人发现最有效也最简单的方法。

方法如下:

第一步、建立一个记事本,复制下面的规则代码并保存。

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through

RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

第二步、将记事本名称及格式更改为“httpd.ini”,上传至win主机根目录

第三步,登陆wordpress,设置你的固定连接。

注:本人此博客就是Windows主机,此规则经过30个wordpress网站验证,完全可行。

(原文出处:http://ostnan.com/wordpress-on-windows-host)

8

WordPress添加立体广告位 让你的广告更显眼

之前看到过好多网站的广告位都做过美化,然而让我最喜欢的就是文章上方的立体广告位,曾在搜索引擎上转悠了好几圈,都没找到这种广告位的代码。
幸好这个难不倒我,今天我把这个代码公布出来,以方便他人,此代码适用wordpress、dedecms等任何网站管理系统。
CSS代码如下:

 

.google {
 POSITION: relative; WIDTH: 440px; MARGIN-BOTTOM: 10px; HEIGHT: 260px; MARGIN-LEFT: 43px; _margin-bottom: 20px
}
.adsense {
 Z-INDEX: 1; BORDER-BOTTOM: #d2d2d2 5px solid; POSITION: absolute; BORDER-LEFT: #d2d2d2 5px solid; WIDTH: 300px; HEIGHT: 250px; MARGIN-LEFT: 130px; BORDER-TOP: #d2d2d2 5px solid; BORDER-RIGHT: #d2d2d2 5px solid
}
.adsense:hover {
 BORDER-BOTTOM-COLOR: #565656; BORDER-TOP-COLOR: #565656; BORDER-RIGHT-COLOR: #565656; BORDER-LEFT-COLOR: #565656
}
.shadow {
 BORDER-BOTTOM: #fff 0px solid; POSITION: absolute; BORDER-LEFT: #fff 130px solid; TEXT-INDENT: -1000em; WIDTH: 0px; HEIGHT: 0px; OVERFLOW: hidden; BORDER-TOP: #e9e9e9 130px solid; TOP: 130px; BORDER-RIGHT: #fff 0px solid; LEFT: 0px
}

页面代码如下:

<div class=google>

<div class=shadow> /*300×250*/</div>

<div class=adsense>

广告位

</div></div>

再来看下效果:

其实效果就是本文章上方的样式。