几款让WordPress成为赚钱利器的广告插件
1、WordPress广告插件 AdSense Now!
AdSense Integrator插件,它可以管理不同的类型的广告,我们可以将其放到不同的页面中,主页、内容页、标签页、分类页显示任你选择,而且如果你感觉广告在文章中的对齐方式怪怪的,那么,你可以再Margins中设置,广告距各边框的距离。
下载地址:http://wordpress.la/wordpress-adsense-integrator.html
2、WordPress广告插件Easy AdSense
Easy AdSense提高了非常简单的方法为你的博客添加谷歌广告,它的功能非常的全面,通过这个插件,可以为你的AdSense找到完整的解决方案,它具有的特点是,强制每页的广告不会超过3块,自定义标题内容广告,链接添加到页眉或页脚,功能还是十分强大的。
下载地址:http://www.wordpress.la/wordpress-easy-adsense.html
3、WordPress 广告插件AdSense Integrator
AdSense Integrator插件,它可以管理不同的类型的广告,我们可以将其放到不同的页面中,主页、内容页、标签页、分类页显示任你选择,而且如果你感觉广告在文章中的对齐方式怪怪的,那么,你可以再Margins中设置,广告距各边框的距离。
下载地址:http://wordpress.la/wordpress-adsense-integrator.html
4、WordPress广告插件 Post Layout
“我不是个程序员,我不会修改模版”
* 如何添加Google Adsense代码到我的文章呢?
* 如何添加HTML/JavaScript代码到文章呢?
* 如何添加代码到特定的位置呢?
* 如何让手机用户也能看到Google Adsense呢?
Post Layout插件可以帮你解决所有的问题,这款插件具有非常强的灵活性,无论你是在文章或者页面中,都可以任意的添加JavaScript和HTML代码,你做的仅需要拷贝、粘贴这些代码,不需你会编程、更没有过多的WordPress主题修改。
下载地址:http://www.wordpress.la/wordpress-post-layout.html
5、WordPress广告插件Max Banner Ads
安装Max Banner Ads 插件后,你可以轻松的在你的WordPress博客的任何地方添加广告,而且也不需要编写代码,不仅如此,Max Banner Ads 还带有广告分析功能,可以帮助你分析广告效果,功能十分的强大。
下载地址:http://wordpress.la/max-banner-ads.html
6、WordPress自定义显示博客广告插件
Smart Ads自定义显示博客广告,可以根据文章的长度、发布时间早晚、分类,甚至文章作者来设置不同的广告。可以使用 [smartads]快捷方式来在文章或者页面调用自定义广告——广告代码直接在插件选项里面设置。如果你使用的是wp2.7版本,删除插件后,插件会自动从Mysql数据库删除相应的设定。
下载地址:http://www.wordpress.la/smart-ads.html
7、WordPress管理 Google Adsense插件
Blog有了很不错的流量后,看到别人博客挂的广告挣$,是否也有挂广告的冲动,那么,去申请个Google Adsense看看吧,这个MightyAdsense插件主要管理各式各样的Google Adsense,将Google Adsense的相关代码从后台加入后,如果以后想要更换不同的广告时,可以透过这个Plugin插件。
下载地址:http://www.wordpress.la/plugin-google-adense.html
8、WP-INSERT插件
WP-INSERT插件安装多了就会出现占用后台资源以及插件冲突等情况,实在让人厌烦,所以,WP-INSERT这款多功能插件就能帮你很大的忙,它集广告、Feed、谷歌统计、编辑、语法高亮等多项插件功能于一身,是博主管理博客的好工具。
下载地址:http://wordpress.la/wordpress-insert.html
9、All in One Adsense and YPN插件
All in One Adsense and YPN是一个开源插件,它能够自动将Google Adsense和Yahoo Publisher Network广告添加到你的文章中。 它可以自定义广告位置,颜色和显示样式。如果你对CSS和HTML很熟悉,你还可以自定更多的内容大家都知道,链接单元的作用是非常显著的,甚至强于展示广告位,对于高手而言,更是用的炉火纯青,将其效果发挥的淋漓尽致,那么对于更多的普通用户而言,我们有更简便的办法,那就是使用All in one AdSense and YPN pro。
下载地址:http://wordpress.la/wordpress-all-in-one-adsense-and-ypn.html
上面的九款插件都是非常不错的广告管理插件,有了这些插件你就不用再为网站添加广告而费心了,而且这些插件使用起来也十分的简单。
10款插件来提高WordPress博客的体验
WordPress是一个质量平台,我们许多人使用。 它是很受欢迎,有很大优势。 事实上,有插件和widget几乎太多的选择,加入到我们的博客。 这可能使我们的网站很好看,我们提供什么价值,但他们缓慢的加载和在生产凌乱的外观和其他问题的时候,他们可以膨胀的博客。
好消息是,有解决这个问题,并提高我们的博客的性能和用户友好的插件。以来最大的利润是基本的可用性,这些都是值得考虑的。 这里有10个插件,一定会提高你的WordPress博客的可用性。
1, Lightbox 2 :图像可以使或打破一个博客,你知道你的经验与自己的博客,从您的其他博客站细读。 这个漂亮的插件使用Colorbox覆盖在灯箱的图像。 一个优势是,用户可以查看较大的图片,没有采取另一页,简化他们的经验,他们肯定会感谢。 有了这个插件,你也有自动lightboxing所有图像的选项。
2, WP-Print :虽然无纸化是一个伟大的想法,有时你的访客将只是想以后打印更容易获得的东西。 这个插件允许他们打打印,然后去到你的博客的其他部分,为他们节省时间,也许鼓励更深的互动与您的网站,可能会导致转换你想要的那种。 这个插件是免费搭乘。
3。 Akismet :垃圾邮件发送者的博客的祸根。 这个插件将驱逐他们和那些读你的博客获得更大的信任。 这是为在成本方面没有什么好。
4。 Smart 404 :当用户得到一个404错误,他或她可能会认为你的网站是旧的,或其他问题时,发生的一切是一个URL类型小姐。 许多这些错误消息在萌芽状态,防止咬点击跳投。 此插件使用请求的URL中的关键字自动重定向页面匹配关系最密切的游客。 它提供了一个非常高的成功率,它是俯拾即是。
5。 WordPress Popular Posts :这会增加页面读取,并把你最好的东西之前,您的访问者,在每一页的一侧特色。 这个免费的widget提供了极大的定制和可用性。
6。 W3 Total Cache:W3的总缓存是最快和最完整的WordPress性能优化插件。 这位天才的插件,为用户创建一个从动态的博客和菜指出,页面静态的HTML页面。 此功能使页面载入更快,因为静态页面比动态页面要轻得多,成本更低。 还有其它更多的这个插件会为你做。
7。 Post Teaser :不是低于倍滚动看到后这个插件可以让他们看到后的预览,并提供了一个链接到完整的职位。 它的成本只是将节省您的访问者的麻烦,他们的升值和赚取你。
8。 Search Everything:让事情顺利和容易为您的访客,他们将继续回来更多。 搜索一切提供额外的搜索功能,这样他们就可以很容易地找到他们想要的内容。 该插件实现加速你的WordPress博客上的默认搜索,使用户可以搜索每一个非密码保护的页面,标签,张贴,评论,分类,分类和更。
9。 Outbound Links :用户不会离开你的网站时,单击“出站链接,因为这个插件将打开一个新窗口留下您的博客开放的窗口和可用。 其洒脱。
10。 Subscribe to Comments:围绕你的博客社区邀请读者选择通过电子邮件通知时,有人添加评论。 它提供量身定制的方法停留在讨论你提意见。 没有下载,并获得相当。
如果你想要做的10件事情,今天给您的博客访问者更好的体验,这些强值得考虑。 每一个将有助于一个更实用的博客,和所有其他条件相同,是什么让你的竞争优势。 价格是正确的和突出的性能升级。
为你的WordPress主题的页脚添加小工具
我想用我的WordPress主题的页脚中的部件,但默认情况下,没有页脚,侧边栏我的wordpress主题。我真的没有想改变的只是因为这个主题。所以,我砍死介绍页脚,侧边栏的WordPress主题。如果您正在寻找一个教程,介绍了如何可以添加侧边栏/部件到你的WordPress主题的页脚,然后继续阅读。
真的有三引入一个页脚,侧边栏的主要部件
1。注册在WordPress主题的侧边
2。插入在WordPress主题的侧边栏
3。把一些边栏样式
1。注册在WordPress主题的侧边
转到WordPress主题编辑器,打开“主题”功能(functions.php文件)文件。现在搜索主题功能(functions.php文件)下面一行
if ( function_exists('register_sidebar') )一旦你找到了上面的行,然后在下一行应该类似于一个侧边栏,你有多少取决于以下的样子:
register_sidebar(array(
或register_sidebars(2,array(
例如说你在你的主题有一个侧边栏,要添加页脚区三排的侧边栏,所以你可以把部件,然后覆盖下面的代码:
register_sidebars(4,array(
上述注册4侧边栏(你已经有三个,你介绍,在你的WordPress主题的页脚区)。
2。插入在WordPress主题的侧边栏
现在让我们插入siderbars的地方,我们希望他们在WordPress主题。在我们的例子中,我们将在页脚区的主题,所以插入打开的页脚(footer.php)文件,并插入下面的代码,上面的“页脚”分裂:
<div id="footer-sidebar" class="secondary">
<div id="footer-sidebar1">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
<?php endif; ?>
</div>
<div id="footer-sidebar2">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(3) ) : ?>
<?php endif; ?>
</div>
<div id="footer-sidebar3">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(4) ) : ?>
<?php endif; ?>
</div>
</div>
<div style="clear-both"></div>
3。投入一些侧边栏样式
最后,让我们把一点点的风格“页脚,侧边栏,我们刚刚推出的分裂。打开样式表(style.css文件)文件,并插入以下CSS(你可能要调整您的需要,取决于您使用的是wordpress主题的CSS)。
#footer-sidebar {
display:block;
height: 250px;
}
#footer-sidebar1 {
float: left;
width: 340px;
margin-left:5px;
margin-right:5px;
}
#footer-sidebar2 {
float: left;
width: 340px;
margin-right:5px;
}
#footer-sidebar3 {
float: left;
width: 340px;
}
希望这有助于你修改自己的博客!现在,你不必改变你心爱的WordPress主题,就可以修改页脚,侧边栏.
8个技巧最大提高wordpress博客转换率
为网站写博客文章或复制内容时,交战规则往往非常不同的印刷或其他媒体。
由于网页内容如何传递电子和视觉的性质,也有关于网络写作和格式,这使得它独特的其他媒介之间的某些因素。
例如像屏幕尺寸和分辨率的事情可以有很大的不同,阅读相同的内容的人,特别是现在有这么多的智能设备和片剂。
还从未有过这样的现象,这是能够提供随时的点播内容,几乎任何人一天互联网。
因此,如果您想增加您的转换或实现自己的预期目标的机会,您的网站内容需要持有人的注意,并在高效率和有效的方式提供您的消息。
最高的转换率往往来自内容是易读易消化
你的方式格式化并写入您的副本或博客文章可以对您的读者的反应如何,他们读什么巨大的影响。
关于人类的在线阅读模式的研究表明,大多数人没有阅读每一个网页上的字 - 而是他们在一个“F”模式扫描页。
因此,复制的内容,很容易被人眼扫描更容易,有效地得到点跨越,是不太讨厌阅读。
当你的读者可以更容易找到他们,他们也将最有可能点击的签约,以你的邮件列表,或者购买你的产品,如适当的行动号召。
下面是一些有用的格式提示,你可以申请到您网站上的网页,这将有助于使您的内容更容易阅读和产生更好的转换:
1)写短的时间不超过4或5线的副本或内容块。
有在互联网上没有严格的规则,当谈到段可以随意分开的长句,如果你发现他们采取了许多线。
您这样写的分裂会增加扫描的能力,降低您的消息字海某处失去的机会。一个好的做法是组句成线不超过4个或5块。
注:即使你能负担得起,以打破在互联网上有很多正统的文学惯例,有一个你不应该违反 - 那就是,始终确保你有适当的拼写。
2)使用一个更大的和易读的字体
印刷术正在迅速成为一个有价值的技能,因为互联网营销和博客使用最佳字体和行距可以是确定您的网站上停留多久读者的关键事情之一。
这是因为您的网站更容易,少厌烦阅读,更好的经验,你的游客将有。因此,它是一个好主意,用一个大的一个易于阅读的字体如果可能的话。
3)使用分组及视觉效果来组织内容
分组是你清楚的内容使用一些视觉效果,如图标或图像列和简洁的标题和消息,部分路段。
这种类型的交货使得它非常便于阅读,并允许你的访问者无需冲刷你的网站访问他们需要的信息。
下面的例子代表了完美的情况下使用苹果iPad的页面上他们的分组。作为一个事实上,你会发现,在苹果网站包含许多例子分组行动。
很多WordPress主题,现在给你的创造能力,它可以帮助你实现上述格式的列和表。
4)使用数字,连字符和其他符号,以缩短标题(或副标题)
这是一个简单而有效的方式传递信息的简洁。例如,下面的例子:
不使用符号和缩写
: “ 挣几百点,并获得独占访问我们的成员特别 “
符号和缩写
: “ 挣100S点及获得独占访问我们的会员特别 “
5)使用粗体突出你想要你的读者看到
简单的一个字或词的行为大胆,可以使消息中脱颖而出。只要你不要过分,这是一个伟大的方式,以方便您的网页容易扫描。
6)使用子弹不超过5或6项清单
- 子弹名单是伟大的打破了单调大量的文字和相关点连接在一起的一种方便的方法。
- 子弹清单应不超过5个左右的项目,以确保你的读者是没有内容不堪重负。
- 你不必使用子弹或点。图标和其他图像有时是最有效的,如果你能保持他们有关您的信息。
- 你的第二个最好的子弹点应放在最后,以便有人扫描你的名单将惊讶和印象深刻,读它,因为人们通常预计至少有用的一点是最后!
7)使用图标和图像,以提高您的消息传递
复制文本周围的有关的图片或图标的位置可以成为一个有用的目的,绘制你的读者的眼睛你的消息。关键是不要过分。
GoDaddy的利用图标以得到他们的消息,整个下面是一个例子:
8)确保您的文本链接是很容易辨认
当您将网页上的链接,你这样做,因为你想你的读者点击。因此,如果某一段文字看起来像一个链接,那么人们会更可能点击它。
大多数WordPress主题已经有一个内置的上色和/或下划线文本链接的能力。有时你可以通过制定你的链接,看的方式,你想他们添加自己的触摸。
例如,我曾经看到一个成功的联盟网站,其中有如下格式的文本链接:
<==点击这里查看特价优惠==>
上述简单的方法是相当有效的,但可能不适合每一个人。你是不是有限的,你如何突出你的文本链接,这一点是 - 只要你做不知何故。
总之,上述提示只是一个手全,你可以做的事情,以优化您的网页的可读性和转换能力。
互联网是一个不同于任何其他在我们的历史惊人的传播媒介,但它也包含了许多杂念,你将有一争高下,赢得读者的注意。
我希望上面的提示将至少给你的东西,以帮助保持您的访客,足够长的时间,让您的讯息。
如何重置我的WordPress的管理员密码?
你有做直接通过WordPress数据库。 最方便的方式来管理数据库是通过在您的phpMyAdmin工具网络托管帐户。
一旦从左侧的下拉菜单选择在phpMyAdmin的WordPress数据库。 页面将刷新和数据库的表将显示它。 打开SQL选项卡 (在顶部导航栏的外观)。
在文本字段中写入下面的SQL查询:
更新`wp_users`设置`user_pass`= MD5的(“new_password_here)WHERE`wp_users`USER_LOGIN`=”admin_username的 “;
“new_password_here” -与您要使用的新密码取代。
“admin_username” -更换密码应更新为用户名。
一旦你准备好了,点击GO按钮来提交查询。 如果一切顺利罚款没有错误,你应该能够用新的密码登录到WordPress。
WordPress插件:Custom Image Sizes 自定义图片尺寸
自定义的图片,是一个WordPress插件 在WordPress默认,当你调用一个 当自定义的图片是积极的,它反而会创建请求的缩略图的大小。Custom Image Sizes
[宽] x [高]。默认情况下,WordPress的不动态创建的缩略图
wp_get_attachment_image_src()中,wp_get_attachment_image(),或image_downsize()如WordPress图像功能,如果不存在请求的大小,WordPress会只是缩小原始图像的完整大小的版本。这并不总是很好看,这是一个浪费带宽。用法
典型的WordPress方式
添加代码 add_image_size('my_custom_thumbnail_name“,220,130,TRUE);在主题的functions.php文件。wp_get_attachment_image($ attachment_id,“my_custom_thumbnail_name');add_image_size()成立。一个更直接的自定义图像大小的方法
wp_get_attachment_image_src()或wp_get_attachment_image()与所需的缩略图“[宽] x [高]尺寸,像这样: 回声wp_get_attachment_image($ attachment_id,'220x80“);
/ **
*上述打印标记,如
* <IMG宽度=“220”高=“80”标题=“”ALT =“”
*类= 220x80“附件”SRC =“http://www.example.com/path-to-file/something-220x80.jpg”/>
* /
下载
WordPress博客首页如何排除指定分类的文章
今天看到有WordPress博主在问“WordPress博客首页如何排除指定分类的文章?”。用户为什么想这样做的原因有很多,也许你不希望在首页上显示上显示自己生活类的文章,而只显示一些新闻类的文章。
要做到这一点,你就需要在 The loop 中更改调用文章的函数。WordPress默认主题 Twenty Ten 和 Twenty Eleven 使用 the_post() 函数来调用所有的博客文章。
<?php while ( have_posts() ) : the_post(); ?>
the_post() 函数使用 WP_Query。我们可以使用 WP_Query 函数本身来自定义哪些文章被调用,或者哪些存档、分类、时间的文章可以显示在主页。
另外,我们还可以使用 query_posts 函数来控制 The Loop 循环。这种方法无疑是最好的,因为它并没有改变你的循环。不过,两种方法我都会讲解,你可以选择一个适合你的。
使用函数WP_Query
如果你想改变你的主页显示效果,你需要编辑你的主题index.php文件。大部分主题使用archive.php文件来作为分类(category)、时间(date)、标签(tag)的的显示页面, 所以你想更改某个存档页面只要修改archive.php文件就可以了。还有一些主题有专门的category.php、date.php、tag.php模板,修改相对应的就好。
大多数主题文件的循环会以“Start the Loop”开始。例如在Twenty Eleven主题中,看起来像这样:
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
你需要替换为以下函数:
// The Query
$query = new WP_Query( $args );
// The Loop
while ( $query->have_posts() ) : $query->the_post();
要控制哪些文章在循环中显示,你需要定义在WP_Query中的参数,即修改
$query = new WP_Query( $args );.
目前有5种参数,比较常用的是参数是 cat 和 category_name 。
若你要显示你的 tech 分类,而它的分类ID是1,那么你可以使用参数cat:
$query = new WP_Query( 'cat=1' );
或者你可以使用参数 category_name 来达到同样的效果:
$query = new WP_Query( 'category_name=tech' );
若想多添加几个分类,则需要用逗号分隔。
$query = new WP_Query( 'cat=1,7,121' );
或
$query = new WP_Query( 'category_name=news,reviews,tutorials' );
在分类ID前加上减号来排除某一类的所有文章。注意,不可以使用category_name 参数来排除类别。
$query = new WP_Query( 'cat=-1' );
在上面说过,有5种参数,我已经讲解了其中两个:cat 和 category_name,都是从你的文章列表中包含或排除某些类别。
其他三个参数是 category_and、category_in和category_not_in。
category_and显示多个分类的文章:
$query = new WP_Query( array( 'category__and' => array( 1, 7 ) ) );
category_in是一个or函数:
$query = new WP_Query( array( 'category__in' => array( 7, 127 ) ) );
排除多个类别:
$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) );
WP Query是一个非常灵活的功能函数。分类只是其中的一个参数而已,还可以使用:
Author Parameters – 显示某个作者或多个作者的文章列表,也可以排除之。
Tag Parameters – 显示或排除某些Tag的文章列表。
Taxonomy Parameters – 显示一个或多个自定义分类的文章列表。
Post & Page Parameters – 使用IDs 或 page slugs显示某些特定的文章。
Type & Status Parameters – 显示某些文章类型的文章或带有附件的文章。
Pagination Parameters – 确定每页显示的文章数量。
Offset Parameter – 文章从某哪开始显示。
Order & Orderby Parameters – 更改文章列表的排列顺序。
Sticky Post Parameters – 显示包括或排除置顶文章的文章列表。
Time Parameters – 显示某些时间段的文章。
Custom Field Parameters – 显示相关自定义字段的文章。
Permission Parameters – 显示发布的或私密的文章。
WP_Query 页面为每个参数都提供了例子,这里就不一一讲解具体用法了。
使用函数query_posts
query_posts可以非常简单的定制你在页面上显示的文章,而且你不必更改现有的循环代码。
query_posts( $args );
要使用它的功能,你就必须在你的loop循环开始之前调用它。例如:
// The Query
query_posts( $args );
// The Loop
while ( have_posts() ) : the_post();
如果你计划调用页面中的第二个循环,请确保你使用了wp_reset_query()来重置你的循环。例如:
// The Query
<?php query_posts( $args ); ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
要显示某些分类的文章,你需要用到 cat 参数:
<?php query_posts( 'cat=1,5,6' ); ?>
同样,要排除某些分类,你需要在前面添加减号:
<?php query_posts( 'cat=-3,-5' ); ?>
还可以用来显示特定的文章:
还可以用来显示特定的文章:
query_posts( 'p=2' );
要定义每页显示文章的数量,你可以使用 posts_per_page 参数:
query_posts( 'posts_per_page=5' );
想要了解更多的信息,请访问query_posts页面。
使用插件来排除某些分类的文章
对于那些对代码不太感冒的朋友,也可以使用WordPress插件。这里建议使用Simply Exclude和Ultimate Category Excluder。
Simply Exclude
Simply Exclude可以让你在首页、归档页、搜索页、RSS中排除或包含某些分类、作者、标签的文章,使用起来也非常简单。
Ultimate Category Excluder
Ultimate Category Excluder,能让你容易的排除某些分类在主页、存档页和RSS中。不同于Simply Exclude的是他只能排除某些分类,不能排除作者、标签等。
总结
虽然Simply Exclude和Ultimate Category Excluder插件都很不错,但如果你有一定的编程基础,那么你还是手动修改吧。
10个.htaccess的WordPress应用技巧
.htaccess是使用UNIX或Linux 搭建的服务器中的一个特殊的文件,这个文件只存在于Linux系统中,Win系列的主机是没有的。那 么.htaccess有什么功能呢?通俗点的讲,就是可以通过编写这个文件中的某些内容,进而实现.htaccess文件所在目录及其子目录的权限与功能 的设置,是自己的站点灵活多变,下面就介绍.htaccess文件关于WordPress的十个应用技巧,举一反三,这些应用技巧同样适用于其它站点程 序。
1. 重定向WordPress的RSS Feed链接地址到Feedburner地址:
除了修改WP的模板文件来定制其输出的RSS Feed链接地址外,还可以使用.htaccess文件来进行设置(替换yourrssfeedlink为自己的Feedburner地址)。
/*
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/catswhocode [R=302,NC,L]
</IfModule>
*/
大家使用时别忘了把代码中的Feedburner地址替换为自己的
参考:How to redirect WordPress rss feeds to feedburner
2. 使用浏览器缓存:
可以修改.htaccess文件让访问者使用浏览器缓存来优化其访问速度。
/*FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch “\.(jpg|gif|png|css|js)$”>
ExpiresActive on
ExpiresDefault “access plus 1 year”
</filesmatch>
</ifmodule>*/
3. 去除WordPress分类链接中的”/category/”:
默认情况下,WordPress的分类链接显示的样式为:
http://e-spacy.com/blog/category/tech
其实其中的category部分没有任何意义,如果想去掉它可以修改.htaccess文件(替换yourblog为自己的网址)。
RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]
参考:How to remove category from your WordPress url
4. 阻止没有referrer来源链接的垃圾评论:
设置.htaccess文件可以阻止大多数无Refferrer来源的垃圾评论机器人Bot Spammer。其会查询访问你网站的来源链接,然后阻止其通过wp-comments-post.php来进行垃圾评论。
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
参考: How to deny comment posting to no referrer requests
5. 重定向日期格式的WP Permalink链接地址为Postname格式:
如 果你目前的Permalink地址为/%year%/%monthnum%/%day%/%postname%/ 的格式,那么我强烈推荐你直接使用/%postname%/ ,这样对搜索引擎要舒服得多。首先你需要在WordPress的后台设置输出的Permalinks格式为/%postname%/ 。然后修改.htaccess文件来重定向旧的链接,不然别人以前收藏你的网址都会转成404哦!(替换yourdomain为自己的网址)
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.yourdomain.com/$4
参考: Redirect day and name permalinks to postname
6. 压缩静态数据:
可以修改.htaccess文件来压缩需要访问的数据(传输后在访问端解压),从而可以减少访问流量和载入时间。
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
7. 阻止指定IP的访问:
如果你想要阻止指定IP的访问,来防止其垃圾评论,那么你可以创建自己的Backlist黑名单。(替换xx.xx.xx.xx为指定的IP地址)
<Limit GET POST>
order allow,deny
deny from xx.xx.xx.xx
allow from all
</Limit>
参考:The easiest way to ban a WordPress spammer
8. 只允许自己的IP访问wp-admin:
如果你不是团队合作Blog,最好设置只有自己能够访问WP的后台。前提是你的IP不是像我一样动态的哦。(替换xx.xx.xx.xx为自己的IP地址)
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “Example Access Control”
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>
参考:Protecting the WordPress wp-admin folder
9. 设置你的WordPress防盗链:
盗链是指其它网站直接使用你自己网站内的资源,从而浪费网站的流量和带宽,比如图片,上传的音乐,电影等文件。(替换mysite为自己的网址和/images/notlink.jpg为自己定制的防盗链声明图片)
RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your “don’t hotlink” image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
参考:How to protect your WordPress blog from hotlinking
10. 定制访问者跳转到维护页面:
当 你进行网站升级,模板修改调试等操作时,最好让访问者临时跳转到一个声明的维护页面(和404错误页面不同),来通知网站暂时无法访问,而不是留下一片 空白或者什么http bad错误。(替换maintenance.html为自己定制的维护页面网址,替换123.123.123.123为自己目前的IP地址,不然你自己访 问也跳转哦)
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]/
参考:Comment faire une page d’accueil pour les internautes
WordPress 15款搜索引擎优化插件
WordPress SEO插件是简单的搜索引擎优化工具,使用SEO插件可以让你无须考虑过多的搜索引擎优化细节和SEO技巧,同时它们能让你的博客构架对搜索引擎更加友好,从而让你的博客文章更快被搜索引擎索引,并获得不错的搜索引擎排名。这里就分享15款免费的WordPress搜索引擎优化插件,希望可以帮助你获得更多的流量和读者。
WordPress SEO by Yoast
All in One SEO Pack
SEO Ultimate
Platinum SEO Pack
SEO Rank Reporter
SEO Content Control
SEO Friendly Images
SEO Smart Links
Google XML Sitemaps
Redirection
SEO Tag Cloud Widget
SEO Title Tag
Simple Tags
Greg’s High Performance SEO
Meta SEO Pack
wordpress插件 WP Minify 的使用
WP Minify 是WordPress中相当实用的一个插件,实质上将minify引擎变为了一个使用更为简便和自动化的插件,其基本原理就是通过压缩JavaScript,CSS,Html中多余的空行和空格等无用代码以减少文件传输的占用空间,更重要的是它能将多个在页面中引用的JS,CSS文件等合并为单一的JS与CSS文件,从而大量减少了HTTP请求,极大地加速了页面载入的速度。
我使用WP Minify也有几个月的时间了,但是纠结于使用html压缩后Meta信息消失的问题,在Google和baidu上搜索均无功而返,最近终于将其解决,于是大概写了一下WP Minify的使用方法,并加上了自己的一点心得。水平有限,文章中有错误的地方,请不吝指教。
WP Minify的最新版本为1.1.8,可以在http://wordpress.org/extend/plugins/wp-minify/下载到最新的版本,也可以直接在WordPress的后台中直接搜索并安装WP Minify。
安装过程:
把WP Minify上传到 "wp-content/plugins/"文件夹内,如果在后台中安装则可跳过此步。
确保"wp-content/plugins/wp-minify/cache"是可写的。 如果插件使用失败,尝试把"wp-content/plugins/wp-minify/cache"的权限改为777。
在后台中激活WP Minify插件。
说明:
WP Minify压缩的JS和CSS一般来自于header.php中的调用,只有在header.php中正确引用的CSS和JS文件才能被WP Minify正确识别处理,比如
//CSS文件的调用
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
//JS文件的调用(注意必须写 type="text/javascript")
<script type="text/javascript" src="http://neverweep.com/wp-content/plugins/nextgen-gallery/js/ngg.js"></script>
//WP头部,一般某些插件的CSS和JS通过这个函数来调用
<?php wp_head(); ?>
Support this plugin! 支持插件作者
Support this plugin
这里建议选择"Do not display "Page optimized by WP Minify" link.",这样博客底部就不会出现使用WP Minify的信息,当然如果有余力可以为作者捐赠。
General Configuration 基本设置
Enable JavaScript Minification,Enable CSS Minification,Enable HTML Minification
这里就是WP Minify中最重要的设置了:决定是否压缩合并JS,CSS,HTML,建议打开JS和CSS的压缩,HTML压缩除非配合缓存类插件,否则个人不推荐打开,如果遇到了开启HTML Minification 致使Meta信息丢失的问题,请参考最下面的一些补充。另外,打开HTML压缩后,页面生成时间在我的博客首页上约慢了0.03秒-0.08秒,在页面生成时间和传输大小上的取舍,就是仁者见仁,智者见智了。简单的测试对比可以参考下面的补充。
Debugging 除错设置
Combine files but do not minify,Show minify errors through FirePHP
这两个选项主要用于JS代码的调试,由于JS代码经常用换行来作为一行代码的结束标记,但是JS在压缩后会去除多余的换行,导致JS不能识别结束标记而出错(养成良好的使用";"作为代码的结束标记的习惯很重要啊),第一个选项可以使JS仅合并而不被压缩,第二个选项可以在FirePHP中显示压缩合并过程中的错误。
Local Files Minification 本地文件压缩
JavaScript / CSS files to exclude from minify (line delimited)
如果不想压缩合并特定的文件,可以在这里填入相关文件的名称,以回车为隔断。
URIs on which WP-Minify parsing will be disabled (line delimited)
可以对特定的路径和文件禁止WP Minify,以回车为隔断。
Non-Local Files Minification 非本地文件压缩
Enable Minification on External Files
允许压缩外部文件,除非需要排除大批量的js或者css文件,作者推荐不打开。
JavaScript / CSS files to include into minify (line delimited)
只在Enable Minification on External Files关闭的情况下有效,如果WP Minify没有侦测到想要压缩合并的文件,可以在这里填入相关文件的路径,这个功能可以压缩合并站外的JS文件到你的服务器。以回车为隔断。(不能强制将当前页面未被调用的JS合并到当前页面调用的JS中)
Caching 缓存设置
Cache expires
设定压缩合并后的文件的过期时间,可以调成较长的一段时间。如果对任何JS,CSS文件进行了改动,一般情况下WP Minify都会根据文件的修改时间自动更新压缩合并文件,并更改请求参数中的m值,不必担心用户客户端的缓存问题。
Manually clear cache
手动清空缓存,如果WP Minify不能自动更新,比如用较旧的文件替换了较新的文件,那么手动清除一下缓存即可。
Tweaking/Tuning 细节调整
Use "pretty" URL
使用短网址,其实很简单,升级到WP Minify最新版本之后,压缩合并后的文件地址可以从http://yoururl.com/wp-minify/min?f=1.js,2.js,3.js变为http://yoururl.com/wp-minify/cache/12345.js。选中这个选项可以使用新式URL,更加美观。
Place Minified JavaScript in footer
是否将压缩合并后的JS移动到博客底部,一般情况下,博客加载的JS最好都不要放在博客底部,这样会影响JS的调用,导致页面的一些效果不能实现或者出现冲突。但是像Google分析或者CNZZ、51la的统计代码等,最好添加到footer.php中的最后位置,以提高页面的加载速度。
Force all JavaScript/CSS calls to be HTTPS on HTTPS pages
强制通过HTTPS协议传输JS/CSS,这个选项对于一般的博客并没有多大用处,如果博客支持HTTPS传输,可以打开,以确保传输过程中的安全性。
Extra arguments to pass to minify engine
为minify引擎加入额外的参数,具体参数可以参考minify引擎的文档。
Automatically set your Minify base per siteurl setting
一般情况下选中即可。
WordPress完美解决文章ID不连续问题
一、禁用文章修订版
所谓的文章修订版就是你每次修改一次文章,它都会自动帮你保存修改之前的文章版本,专业术语叫做版本控制,这样保证了在误修改的情况下可以还原之前的内容,这个在维基文档的维护方面是有很大帮助的,但是作为我们的小博客,似乎没多大用处,而且这个修订版在数据库中是占据一个ID的,这也是导致文章ID不连续的问题之一。要想禁用文章修订版,可以在 wp-config.php文件中添加:
define('WP_POST_REVISIONS', false);二、删除文章修订版
禁用了文章修订版之后,数据库中还是保存着之前已经创建的文章修订版,这些其实已经没多大用处,而且占着ID,我们可以将它删除。至于怎么删除,可以在 phpmyadmin 中执行以下SQL语句(做好备份):
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';
三、删除不必要的附件
相信很多博友在发布文章都会同时上传/插入一些附件,如图像、视频、音乐等,这些附件可以在WordPress管理后台 – 媒体库中看到,不同媒体对应了不同的文章。可是你要注意的是这些媒体也是占据着文章ID的,它们与文章都保存在同一个数据库表wp_posts中。如果你特别追求文章的ID一定要完美无缺地连续,请不要在发布文章的时候上传/插入这些媒体,并请在WordPress管理后台 – 媒体库中,删除之前上传的媒体(注意这个操作不只是删除记录,而且会删除你上传的文件),需要的话请用FTP重新上传这些文件。
四、禁用自动保存
自动保存的好处是你在编辑文章的时候,每隔一小段时间系统会自动帮你保存编辑的文章,防止网页突然关闭,导致之前写的几千字哗啦一下全没了。缺点是每篇都文章都会有一个自动保存的记录,同样占据一个文章ID,也是文章ID不连续的原因之一,如果你不需要这个功能,请在以下两个文件中:
wp-admin/post-new.php
wp-admin/post.php
注释掉这行:
//wp_enqueue_script('autosave');五、重新排列不连续的文章ID
完成以上四步,基本上可以保证以后发布的文章ID都会是连续的了,但是之前已经发布的文章ID还是一片混乱,得把他们重新排列,以保证是ID是连续的。我写了一个PHP脚本,你可以通过以下网址下载,下载后用文本编辑器打开,根据开头的说明修改数据库信息,然后将该PHP文件上传至你的博客空间,运行一下看到OK就可以了,你可以到phpmyadmin中查看wp_posts表中的id是不是连续的了。还是那句话,开始之前请先备份你的数据库。(如果你使用了post id作为固定链接,那么将可能改变所有文章的网址,会影响搜索引擎收录;如果你用的插件建立了新的数据库表,如投票插件等,也将会出现问题;如果你的博客中创建了父子关系的页面,运行了以下脚本将会失去此关系。请慎用!)
下载文件
维翔数据 为Wordpress新老用户提供赞助空间
新年要给力!维翔数据免费为Wordpress新手提供赞助主机。线路:美国凤凰城100M共享。
赞助主机资源如下:
阳光套餐:阳光套餐适合新建站用户(256M,10G)。
缤纷套餐:缤纷套餐适合优秀博客站点(512M,20G)。
申请方法:
先在http://www.weixianghost.net根据您的情况下单并注册(新站选择:阳光套餐,老站选择:缤纷套餐)
然后QQ联系: 申请开通(需要人工审核,防止垃圾用户)
赞助主机只允许放置Wordpress等类型博客,不允许放置任何其它网站类的内容,详情请看“服务条款”。
注意:
免费主机不收取任何费用。为了的减少垃圾站、僵尸站、受攻击站,最大限度的保证空间长期稳定运行,本站设定一定的审核制度,至少需要提供一个有效的联系方式(如QQ或电子邮箱)。
维翔数据承诺:如果有特殊情况需要停止免费空间时,维翔数据会提前一周时间通知各位免费客户备份好数据。
wordpress使用图床还是将图片上传网站目录
使用图床还是将图片上传网站目录?
一起学建站以前也想过这个问题, 这个问题其实不好回答,不过我们可以讨论一下他们的优缺点来进行选择~
首先, 我们需要知道什么是图床? 所谓的图床就是使用第三方的服务托管图片 , 在自己网站上引用这些图片.比如OOXX研究院用的就是微软的LIVE系列~ 那么将图片上传到网站目录是什么意思? 就是用网站自己的目录下的图片文件~的在后台上传图片, 并在网站中使用.
使用图床
周围有很多朋友喜欢使用图床, 特别是有独立博客的朋友. 他,他们为什么喜欢使用图床了?
原因不外乎以下两种:
- 第一、流量不足. 很多人购买虚拟主机写博客, 每个月只有 5G 到 10G 量, 不得不使用图床.
- 第二、一般自己用的虚拟主机都不会很大,像D大、老谢用VPS的毕竟还在少数,即使像OOXX研究院这样,无线流量但是只有几百M的空间的虚拟主机~放图片也放不了多少
- 图床的优点还是很多~最重要的就是图片便于管理. 一般图床有评论, 分类, 分享等完善的管理和分享功能.
如果用户不用为流量,空间大小操心, 还会不会继续使用图床?
图片上传到 网站目录
因为一起学建站是用的WordPress,所以用Wordpress来解释~ WordPress支持画廊 功能, 可以很方便的通过后台上传图片,到文件夹,然后文章统一的调用~但是我们需要注意的是使用 WordPress 上传一张图片, 数据库将会生成一条类型为 attachment 的 post 数据. 也就是说WordPress对图片的定位不再是附件, 而是另一种文章类型.
即使不是图片展示类型的网站, 内建的 WordPress 也可能为网站带来巨大的流量, 尤其是产品相关的网站. 如果某人想知道现在的花瓶有哪些外观, 他很可能使用 Google 或者百度的图片搜索功能. 如果你的网站内建图库, 并且相关性和文字描述做得足够好, 很可能被搜索到, 而且图片搜索的转化率很高. 转化率高的好处就不用多说了吧~
总结
一起学建站认为, 在忽略流量, 管理等因素情况下. 本将图片上传到网站目录比使用图床有更多好处. 但你需要做好图片页面和图片描述的优化.这个后面还将提及
PS:发个Wordpress使用内建图库的注意事项
使用 WordPress 内建图库作为文章的大图页面, 使用的时候需要考虑一下几点.
- 填写清晰, 带关键字的图片 alt 和 title.
- 将图片放在文章中相关性高的段落前后.
- 如果使用多语言, 在不同的语言版本使用不一样的图片描述. (否则搜索引擎无法定位主页面)
- 避免使用超大的图片, 以影响页面加载, 图片备份和网站流量.
简单几步为wordpress长篇文章分页
文章太长,影响阅读,同时页面也会不美观,使用分页不但可以解决这些问题,而且可以提高页面加载速度,而且还能增加PV。介绍下“简单几步为wordpress长篇文章分页”的方法。
1、打开你的主题的single.php找到
<!?php the_content(); ?>
,在其后加入
<!-- 翻页 -->
<?php wp_link_pages(array('before' => '<div class="fenye">分页阅读:', 'after' => '',
'next_or_number' => 'number', 'link_before' =>'<span>', 'link_after'=>'</span>')); ?>
<?php wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'next', 'previouspagelink' => '上一页', 'nextpagelink' => "")); ?>
<?php wp_link_pages(array('before' => '', 'after' => '</div>
','next_or_number' => 'next', 'previouspagelink' => '', 'nextpagelink' => "下一页")); ?>
2、打开你的主题的style.css在最后加入
.fenye {
text-align:center;
margin:10px auto;
margin-left:-2em;
font-family:"
Microsoft YaHei";
color:#511b51;
font-weight:700;
}
.fenye span {
border:1px solid #D2D2D2;
color:#fff;
margin-right:5px;
background:#383838;
padding:2px 6px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
text-decoration:none;
font-size:12px;
font-weight:400;
text-shadow: 0 1px 1px #000;
}
.fenye a {
text-decoration:none;
color:#0a226a;
}
.fenye a span {
color: #22222e;
background:#fff;
margin-right:5px;
padding:2px 6px;
text-shadow: 0 1px 1px #fff;
}
.fenye a:hover span {
color: #fff;
background:#383838;
padding:2px 6px;
text-shadow: 0 1px 1px #000;
}这样就把这个分页功能加入主题中了。使用方法很简单,就是在编辑文章的时候,切换到“HTML”模式下,在需要分页的地方加入
<!--nextpage-->
就行了。。
以上功能的最后效果如“WordPress站点速度终极优化”,如果喜欢可以加入到自己的主题中。。
ps:这里注意下,如果你的主题single.php文件中,已经有wp_link_pages()函数了,请把wp_link_pages()整句删除了:
WordPress站点速度终极优化
1. 页面加载速度成倍的提升
根据站点原始状态和优化程度的不同,提升的效果也不一样。一般来说可以提升3~5倍。
2. 降低站点流量
对于流量受限制的空间来说也就相当于节省了银子。
3. 降低服务器负载
流量节省的同时,也降低了服务器的负荷,对于CPU使用率受限、并发数不限的空间来说,也就意味着提升了最大并发数。
既然好处有这么多,那当然是要对站点做优化了,下面具体说一下如何优化站点。
1. 诊断分析
在优化站点之前,先使用站点在线分析工具进行分析。
目前可以在线分析站点的网站有很多,不过最为推荐的是GTmetrix(http://gtmetrix.com),
这个网站可以对站点进行全方位的检查并给出优化建议及当前评级,并且还提供了非常全面的检测报告PDF格式下载功能。
除了GTmetrix,百度也提供了网站速度诊断工具,前提是要安装百度统计(http://tongji.baidu.com)
之后才能使用。建议最好是结合这两个分析工具对站点进行分析检查,对站点的大致情况有一个认识,了解亟待解决的一些问题
2. 页面静态化
WP静态化的工具就是用cos-html-cache。
3. 压缩javascript、css
这里的压缩不是指使用压缩算法对源文件进行压缩编码,而是去掉文件中的空格换行注释等一些无用字符,通俗的说,就是把文件压压紧。
压缩javascript的工具可以用jsmin,用法是在命令行中输入命令 jsmin.exe newFile.js originalFile.js要与jsmin在同一目录下。
也可以用站长工具提供的在线压缩工具: http://tool.chinaz.com/Tools/JsFormat.aspx
但是对于一些较大的js文件还是用jsmin进行压缩比较好。
css的话就用站长工具提供的css在线压缩工具就可以了: http://tool.chinaz.com/Tools/CssFormat.aspx
4. 合并javascript、css
WP在安装一些主题或者插件之后,head中应用的js和css会越来越多。
在加载页面时,每一次应用都是一次http访问,那么减少js/css的引用次数,当然也就加快了加载速度。
所以可以把多个js/css合并到一个引用文件中,再将被合并掉的js/css引用去掉。
这一步优化操作是比较繁琐且风险较高的,会涉及到修改代码文件,而且有些js/css还会调用其它资源文件导致合并之后资源调用出现问题。
所以不推荐WP初学者进行这步操作,除非对修改比较有把握。
5. 开启GZIP压缩
这里的压缩是指使用压缩算法对文件进行压缩编码。
所有的静态资源,比如文本,图片,音频,视频等都是可压缩的,只是压缩比率不同。
那网页本身就是一个文本,只是格式是html的,js、css也都是文本,只是格式不同。
通过压缩算法,可以大大减小文本文件的体积,从而使加载文本的速度成倍的加快。
对于站点来说,目前比较通用的压缩方法是启用gzip压缩。
它会把浏览器请求的页面,以及页面中引用的静态资源以压缩包的形式发送到客户端,
然后在客户端完成解压和拼装。具体是实现不用关心,我们只要将GZip启用就好。
首先查看站点是否已经启用了gzip,可以使用站长工具提供的gzip检查工具: http://tool.chinaz.com/Gzips/
如已经开启了的话,那么就不用再单独开启;否则可以在.htaccess文件中加入两行:
php_flag zlib.output_compression On
php_value zlib.output_compression_level 5
但是仅仅加这两行是没用的,它是只是开启了压缩模块,如果在gzip检测网站再检测一次,仍旧显示是未开启。
因为还没有指定对哪些类型的静态资源进行压缩。
那么再继续往.htaccess中加入几行:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)(js|css|html|htm)$ /gzip.php?file=$1$2&type=$2 [L]
上面指定了对js,css,html,htm几种后缀名格式的文件调用gzip.php文件进行处理,所以还要再创建一个gzip.php,并放到.htaccess相同目录下:
<?php $file=$_GET['file']; switch ($_GET['type']){ case 'css': header("Content-type: text/css"); break; case 'js' : header("Content-type: text/javascript"); break; case 'html': header("Content-type: text/html"); break; } include($file); ?>再进行一次gzip检测,可以在百度的检测工具里测试,如果一切正常的话,那么已经看不到gzip未开启这一项了。
而且在站长工具的gzip检测里,也会显示gzip开启的状态。
6. 设置客户端缓存
页面中的静态资源一旦引用,就会保存在客户端的临时文件夹里。
如果服务端设置了静态资源过期期限,那么在过期之前,只要客户端再次访问页面,就会直接从临时文件夹中拿去静态文件而不用才向服务端请求。
所以在设置客户缓存之后,只要访问过一次页面,在过期期限内再次访问页面的速度将会大大提高。
设置的方法也比较简单,只要在.htaccess中加入几行:
# Expire images header
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
2592000代表一个月的意思,2592000 = 60*60*24*30
7. 合并域名
所谓合并域名,就是指如果有引用其它域名站点下的资源的话,把资源挪到自己的站点下,并修改资源引用地址。
这样可以使访问请求只在少量的域名站点下进行,减少DNS寻址时间。
打个通俗一点的比方就是,从一个仓库拿东西,比从不同的仓库分别拿东西要快。
从优化操作的角度上来说,就是把引用其它站点的文本、图片挪到自己的站点下,从自己的站点引用。
8. 挪动JS位置
在页面请求中,javascript是在加载之后才可以加载后面的内容,而css是可以并行加载的。
所以最好降js的引用都放置在页面的尾部,也就是之前。
到这里主要的站点优化操作就完成了,相信在完成了这一系列的优化之后,WP站点的访问速度已经有了大幅提升了。
simple is beautiful
其它
除此之外,还可以使用一个非常好的优化插件Autoptimize,它可以自动合并、压缩页面中所有的js/css,并将引用后移。
属于高性能傻瓜型优化插件,使用Autoptimize的话,第2,4,8步都可以跳过了,既省事又避免了修改错误的风险而且效果也不错。
但是Autoptimize对js/css的合并是以php格式为基础进行压缩,所以还要对Autoptimize生成的.php进行客户端缓存。
在.htaccess中条件以下代码
Header set Last-Modified "Oct, 31 Aug 2011 00:00:00 GMT"
Last-Modified的时间可以任意指定,但是一定要在当前时间之前。
当然还可以继续做一些很多事情来提升站点速度,比如使用简洁的模板,减少首页图片数量,减少页面js代码等。
不管是进行美观的页面布局,还是进行站点优化,最终的目标是提升用户体验。
用CSS Sprites合并WordPress表情图片
那么这个方法有什么好处呢?
我想这个方法最大的好处就是大大减少了HTTP Request数量(要知道一般博客上面如果有表情的话,那么表情图片的数量少则有7、8个,多则可达20+,像我之前就用了24个)以及图片的大小(以前我24个GIF图是36K+,现在则只有一个大小为4.74KB的xiaonei.png),这对于大流量的网站的好处是显而易见的。
当然缺点呢也很明显,图片成静态的了(其实也可以做成动态的,但是比较麻烦,而且文件也会比较大),朋友们会觉得比较死板,没有以前那么生动了。我个人感觉其实还可以,要知道很多网站是没有表情的,呵呵。
好了,下面Zenoven先说说WordPress实现表情符号到图片的原理。
1、WordPress后台首先要启用表情转换(在WP后台>设置>撰写选项>格式化 将 “转换如 :-) 和 :-P 的文字表情符号为图像”选中)
2、当用户发布评论后,WP根据 网站根目录/wp-includes/functions.php中smilies_init() 的定义,将表情符号转换为对应的文件名。
3、接着在评论显示的时候,WP根据 网站根目录/wp-includes/formatting.php 中translate_smiley($smiley) 的定义,输出一个 img标签,显示对应的表情。
也就是说从你输入表情对应的符号(或是点击表情)到显示图片经历了这么一个过程
表情符号>>表情文件名>>IMG标签
原理知道了,那么实现我想要的功能就很简单了。思路如下。
首先转换表情符号为文件名这一块,我让他转换成表情的ID,然后生成img标签呢,我又修改为生成一个a标签,然后利用表情的ID,给每一个生成的a标签设置CSS样式(最主要的就是background-position的应用了)
下面是我实现的具体步骤。
1、修改 网站根目录/wp-includes/functions.php中smilies_init() 的定义。下面是我修改后的smilies_init()中if ( !isset( $wpsmiliestrans ) )部分。
/* 一起学建站 www.yqxjz.eu */
.wp-smiley {
width:20px;
height:20px;
background:url(img/xiaonei.png) no-repeat;
margin:2px;
margin-bottom:-7px;
display:inline-block;
}
.xiaonei_1 {
background-position:0 0
}
.xiaonei_2 {
background-position:0 -20px
}
.xiaonei_3 {
background-position:0 -40px
}
.xiaonei_4 {
background-position:0 -60px
}
.xiaonei_5 {
background-position:0 -80px
}
.xiaonei_6 {
background-position:0 -100px
}
.xiaonei_7 {
background-position:0 -120px
}
.xiaonei_8 {
background-position:0 -140px
}
.xiaonei_9 {
background-position:0 -160px
}
.xiaonei_10 {
background-position:0 -180px
}
.xiaonei_11 {
background-position:0 -200px
}
.xiaonei_12 {
background-position:0 -220px
}
.xiaonei_13 {
background-position:0 -240px
}
.xiaonei_14 {
background-position:0 -260px
}
.xiaonei_15 {
background-position:0 -280px
}
.xiaonei_16 {
background-position:0 -300px
}
.xiaonei_17 {
background-position:0 -320px
}
.xiaonei_18 {
background-position:0 -340px
}
.xiaonei_19 {
background-position:0 -360px
}
.xiaonei_20 {
background-position:0 -380px
}
.xiaonei_21 {
background-position:0 -400px
}
.xiaonei_22 {
background-position:0 -420px
}
.xiaonei_23 {
background-position:0 -440px
}
.xiaonei_24 {
background-position:0 -460px
}
.a_block {
display:block;
float:left;
margin:0 1px
}
/*一起学建站 www.yqxjz.eu End*/
2、修改 网站根目录/wp-includes/formatting.php 中 function translate_smiley($smiley) 的定义。下面是我修改后的function translate_smiley($smiley) 的代码段。
function translate_smiley($smiley)
{
global $wpsmiliestrans;
if (count($smiley) == 0)
{
return ”;
}
$siteurl = get_option( ’siteurl’ );
$smiley = trim(reset($smiley));
$img = $wpsmiliestrans[$smiley];
$smiley_masked = esc_attr($smiley);
return ” “;
}
3、在评论文本框附近的表情显示(就是你能看到的点击一个表情就会在文本框输入对应的符号),由于我没有用WP表情插件,用的是老万他们用的smiley.php这个文件,所以接下来做的就是修改smiley.php了(由于这里贴代码没有太大意义,所以在文章最后所有修改后的文件一并给出)
4、设计CSS样式。代码下载
WordPress 启用 Gzip压缩css和js文件
后来又写了一篇wordpress终极优化 有效优化你的WordPress博客的文章,压缩css文件和js来提速。
其实很早看关于wp优化的文章的时候就看到过对css和js进行压缩来提速,但是一直都不以为然。
因为我想css和js文件经过合并,然后使用CSS Tweak和Shrinksafe分别压缩css和js文件,就可以把两者的总大小缩减至16K+3K,再使用Gzip压缩意义不大。现在发现我彻底错了!
我合并了css和js文件,只是减少了HTTP Requests。因为每个HTTP Requests都有一定的延时,所以较少HTTP Requests数量自然可以缩短一定的访问时间。但是需要下载的首页代码的大小也是一个重要的因素。
使用Web Page Analyzer查看了下本站首页,其实html代码仅仅9K,而css和js一起却将近20K,也就是说其实大部分的时间都在下载css和js文件,而且它们是在head里载入的,下载完成之前,只能看到空白页,这样影响的访问速度非常明显!所以对css和js文件进行压缩是非常有必要的!
尝试使用wordpress提速这篇文章里提供的Gzip压缩css和js文件的代码,但是发现这样会导致整个style.css不起作用!也不知道为什么?以前在我的blog里使用Storyday的cos-html-cache插件里读取cookies代码也会出现一些问题!难道是RPWM?
现在使用Gzip压缩代码如下:
[php]
<?php
$file="all.js";
header("Expires:".gmdate("D, d M Y H:i:s", time()+15360000)."GMT");
header("Cache-Control: max-age=315360000");
$mtime = filemtime($file);
$gmt_mtime = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
header("Last-Modified:" . $gmt_mtime);
$ext = array_pop(explode('.', $file));
switch ($ext){
case 'css':
header("Content-type: text/css");
break;
case 'js' :
header("Content-type: text/javascript");
break;
case 'gif':
header("Content-type: image/gif");
break;
case 'jpg':
header("Content-type: image/jpeg");
break;
case 'png':
header("Content-type: image/png");
break;
default:
header("Content-type: text/plain");
}
if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
echo implode('', file($file));
if(extension_loaded('zlib')){
ob_end_flush();
}
?>
[/php]
上面代码的将本站20K左右的css和js代码压缩到了6k以下,而且它不仅压缩代码,还要求浏览器端Cache这个文件,这样不用每次浏览都下载这些文件。
如果你没有进行css和js合并(强烈建议合并)的话,那么在echo处添加多个css或者js文件即可。
wordpress合并css和js文件 加快网站速度
虽然现在本站首页、独立文章页等都已经静态化,但由于服务器在美国的DH上,所以有的时候响应速度还是有点让人受不了。在网上搜了很多关于Wp优化的文章,这里推荐一篇优化合集:优化Wordpress-wp终极优化手册。其实很早就看了这篇文章,但是一直懒得动手。
查看了下Ks Home首页的源文件,发现里面有很多条载入js和css文件的html语句。也就是说系统在显示首页的时候,会读取这些文件,而这个时候会产生大量的http requests,其中产生的延时约为0.2秒/个,这将使得读取速度大大降低!
因此,今天主要合并了wp插件中的css和js文件,但我这里并没有使用阅微堂的手动合并的方法中新建一个all.js.php的方法。对于css文件,我的做法是直接手动合并,简单的将几个css文件里的样式全部Copy到Theme的style.css中,然后删除相应的css文件,并删除插件中调用该css文件的相应php语句。
至于对js文件的处理,我是先新建一个all.js文件,然后将插件调用的js代码全部copy到all.js中,然后删除相应的js文件和调用该js文件的php语句,上传all.js到适当位置,最后在head.php中添加载入all.js的语句。
这种方法修改和删除的地方很多,而且容易出错,所以修改或删除之前请做好备份!
效果嘛,好像还是很明显的。我用PingDom测试了下,和以前的数据对比,时间上确实相差很多。其实我自己感觉好像快了些,还访问速度有所提高。
wordpress终极优化 有效优化你的Wordpress博客
优化所有的图片(images):
图片其实是影响网页读取速度的关键,稍大一些的图片就可能达到100K;因此,在上传自己的图片之前,务必用Photoshop的"保存至网页"(save for web)功能,对图片进行优化。(例如,保存成GIF, PNG格式等等)
关闭一切不必要的插件(plugins):
在安装插件之前,首先问一下自己,你是否必须要此插件。不要安装UTW之类的超大插件,尽可能的降低插件数量。
开启WP自带的缓存(Cache)功能:
打开WP根目录下的wp-config.php文件,在最后一行之前添加 define('ENABLE_CACHE',true);
将WP-content目录下的cache目录属性改为777,以保证系统能够写入cache。
如果您的blog日访问量在200以上,建议安装WP-Cache插件,否则不推荐使用。
让WP-Cache也用上Gzip:如果你安装了WP-Cache,一定知道WP-Cache要求必须关闭WP的内置GZip功能,但是我们可以在wp-cache-phase1.php中添加代码来实现Gzip压缩功能。打开wp-cache-phase1.php,大概在35行左右找到如下代码:
[php]foreach ($meta->headers as $header) {
header($header);[/php]
在此代码前添加下面的代码:
[php]if ( extension_loaded('zlib') ) ob_start('ob_gzhandler');[/php]
合并JS和CSS文件:不少插件都有自己的JS文件,系统在读取这些文件时候会产生大量的http requests,产生的延迟约为0.2秒/个。
因此将所有的JS和CSS文件合并,会大大加快页面的读取速度。这里我采用的是手动合并的方法。手动合并是一个方法,但是容易弄错,而且不太好修改。
另一个方法是建立一个新的all.js.php文件,内容是:
[php]
<?php
require_once('目录/wp-blog-header.php' ) ;
include ("/blog/a.js" ) ;
include ("/b.js" ) ;
?>
[/php]就是将header.php里面的那些js文件都include到all.js.php,然后在header里面包含all.js.php文件即可:
[php]<script xsrc="all.js.php" type="text/javascript" />[/php]
另外还要做的一件事情是需要把原来那些js文件从head里面去掉。通常这些js文件都是通过
[php]add_action('wp_head','fun' );[/php]这样的钩子添加到head里面的。在fun函数的定义处去掉对应的代码,或者直接把这条语句删除即可。
对CSS文件也可以用同样的处理方式。CSS文件一般都不多,这时候可以直接手动把它们都贴到一起。
另外js文件的载入位置也很重要,放在越后面越好,让浏览器先下载html代码。像Google Analytics的js代码最好放在文件最后。
压缩代码:
在管理界面的 Options->Reading选项中,开启WP自带的压缩功能
(WordPress should compress articles (gzip) if browsers ask for them)
利用CSS Tweak压缩CSS代码,注意。为了方便自己编辑,最好保留一份未经过压缩的代码。
利用Shrinksafe 压缩JS代码,同样的,最好保留未经过压缩的JS代码,以便将来更改时候便于阅读。
完美解决 All in One SEO自动截取中文描述的问题
原因一:noindex 导致百度不收录内容
百度爬虫很傻的,看到 noindex 就 k 掉全部只留一个首页,或者最近的内容不收录。这就是坊间流传的所谓百度不收录 wordpress 的根源,其实罪在 All in One SEO。我在煎蛋和其它一些 bog 测试过,去掉 noindex 设置选项以后,百度收录就迅速恢复了。
原因二:自动描述导致丢失描述
煎蛋一度的 google 搜索存档信息里除了标题就剩下文章信息(日期作者什么的),然后就是评论。原因是启用了 All in One SEO 的自动 description,但是英文还好,对于大部分页面它压根无法生成中文 description,而你有一个空白 description 在这里搜索引擎就不给你自动 description 了。
原因三:All in One SEO 很耗资源
这个有待验证。
对于第一点,你大可以在插件设置页面把几个Use noindex选项给取消选择,这样就可以了吧。
对于第二点,如果你的WORDPRESS中文站点想用这个插件来做个一键SEO,那你就得改改,树是死的,人是活的,要活学活用。
对于第三点,我就没法验证了,因为咱流量没那么大,一天也就几个IP,所以没感觉出出来。
这样看来,第二个原因是部分博主舍弃这个插件的主要原因了。确实对于网站的SEO 来说,Title、Description、Keywords 是很重要的,尤其是前两者,它们直接反应在搜索引擎的条目中。对于英文博客来说 All in One SEO Pack 是做得很不错的,自动截取的描述完全能胜任。然而中文字符集的问题,依然按照英文那样来计算长度截取描述的话,你会发现在搜索引擎出来的条目中描述基本过短,有的干脆就没有,那是因为 UTF8 的字符基本是一个顶 3。
那么下面就来说说怎么来改它使之更好的支持中文,需要改动的文件只有一个,就是aioseop.class.php,共有三处需要改动(方法来自网络):
调整截取字数
var $maximum_description_length = 300;//160;
/** Minimum number of chars an excerpt should be so that it can be used
* as description. Touch only if you know what you’re doing
*/
var $minimum_description_length = 80;//1;
英文截取默认是 160,中文得加长, 350 到 400 差不多,不过我实践证明 300 是个不错的数字。合不合适,界时看看搜索引擎中你的文章描述就知道了。太长了搜索引擎也会给你………。
找到 代码中的$maximum_description_length 和 $minimum_description_length,分别由原来的 160,1 改为 300,80。
防止截取的中文摘要显示乱码
查找函数 trim_excerpt_without_filters($text) ,并将其内容完整替换为:
function trim_excerpt_without_filters($text) {
$text = str_replace(']]>', ']]>', $text);
$text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
$text = strip_tags($text);
$max = $this->maximum_description_length;
if (ord($text[$max])>0x7f && ord($text[$max])<0xc0){
while(ord( $text[$max])<=0xc0) {
$max --;
}
}
$text = substr($text, 0, $max);
return trim(stripcslashes($text));
}一个字符的问题 比较时把大于号 > 改成大于等于号 >=,找到这一段
if (isset($description) && (strlen($description) > $this->minimum_description_length) && !(is_home() && is_paged())) {改为
if (isset($description) && (strlen($description) >= $this->minimum_description_length) && !(is_home() && is_paged())) {到这里一个完美的支持中文自动截取描述的的All in One SEO Pack 就改造完成了,这样第二个问题就完美解决了,现在你还能说这个插件不好吗?赶紧装上吧,来一个一键优化,至于你用不用,我反正是用了。
参考:1. 解决all in one seo pack自动取中文描述问题
2. 修改wordpress插件All in One SEO支持中文截断
有人说了,我比较懒,也怕改错了,OK,我提供一个修改好的aioseop.class.php,这个插件的作者实在是勤快,这几天又更新新版本了
2011.12.15日更新最新版本1.6.13.8下载