Archive for 建站相关

百度收录wordpress页面过少的原因完全剖析

本人之前发表过一篇文章,阐述wordpress收录页面过少的原因。我将wordpress 由博客主题换成CMS主题后,发现文章收录数量明显增加,并由此得出一个结论:百度不爱搜录具有博客特征的网页。由于当时考虑不周到,发表之后,受到个别 网友批评指正。事实上,博客特征的网页容易产生重复内容,高度重复才是引起百度不收录wordpress的真正原因。经过深思熟虑,以及对蜘蛛访问日志的 观察和分析,我对百度收录wordpress博客异常的原因得出新的结论。

1.安装SEO插件后,百度不收录页面。

很多采用wordpress建站的朋友都接触过All in One SEO这个插件。这个插件可以让新手一键搞定wordpress的站内优化。事实证明,这款插件对google优化非常的完美,但百度却总容易出现不收录 的情况。我曾经一度怀疑百度会认为All in One SEO 插件存在优化过度的问题,从而导致网站降权,不收录。实际上,All in One SEO 的网页并没有被百度降权,导致百度不收录的罪魁祸首是它的noindex设置。

noindex标签的作用是向搜索引擎申明该网页禁止被搜录和索引,谷歌蜘蛛爬行到这样标签的页面,会自动丢弃掉该页并继续爬行其他页面,从而 减小文章重复度,利于站内目标文章页权重的集中。百度蜘蛛遇到noindex标签的页面后,同样会丢弃掉该页。与谷歌不同的是,百度蜘蛛一般不再爬行该页 面包含的文章链接,直接返回上一级目录。由于包含在该页中的文章无法被百度蜘蛛爬行到,所以页目录之下的文章将不会被索引。

解决办法:

取消All in One SEO 中 noindex设置。(这个是最根本的原因~~就是百度算法不健壮导致的!ca~)

2.wordpress模板导致的原因。

wordpress之所以流行,与其强大的插件扩展能力和数量丰富的主题模板密不可分。我曾经说过,使用wordpress建站的人,百分之 99%都直接采用现成的主题来建站。同样的模板必然导致网络中出现大量高度重复网站结构和内容。百度不喜欢重复的内容,这些重复内容当然也包含网站模板的 HTML代码。

SEOer通常会选择一些使用人数较少的模板来做SEO博客,同时还会对代码部分做一些更改,如ID部分名称,title 描述,CSS名称等等。这些操作的目的,是使得网页模板代码尽量避免与其他网站重复,从而更有利于文章的搜录。当博客正文内容字数越少时,模板重复对收录 的影响就会变得越大。

解决办法:

1).增加文章字数。

2).选择非热门wordpress主题。

3).对现有主题进行修改。

3.wordpress摘要设置不当造成站内文章重复。

百度也好,谷歌也罢,没有哪一家搜索引擎喜欢重复的文章。当一篇文章出现在同一网站内多个不同的页面中,搜索引擎将花费更多的处理时间来判断哪 一篇文章才是正文。当搜索引擎从程序上难以无法判断主次时,会降权收录文章第一次被索引的页面,或者直接K掉这些重复的页面。于是很多wordpress 站长在百度里site自己的网址,然后惊讶的发现:出现在结果前面的,竟然全都是日历页,归档页或分类目录,而文章正文内容却被百度隐藏而作为补充内容而 存在,甚至压根就不被索引。

导致这样的原因是因为你在录入文章数据的时候,既没有采用more标签对文章进行截断,也没有手动添加摘要。wordpress默认情况下,会 将more标签之前的内容作为摘要输出到首页,标签目录,分类目录,归档目录,日历目录下。如果没有用more标签进行截断,也没有手动输入摘要,那么文 章正文会同时出现在首页,几个目录页,以及文章页中。由于首页比目录页权重高,目录页比文章页权重高,百度以为文章页权重最低,便优先舍弃掉了。 google的真正从技术上实现了文章的筛选机制,能保文章页被正常的收录,而百度这方面的技术尚需进一步完善。

解决办法:

1).每个文章前一两段后添加more标签。

2).手动添加文章摘要,不能与more标签之前相同。

3).精简标签数量。

4.URL设置不合理,不利于收录。

在很多SEO教程里,都提出过目录不宜过深。受到这一思想影响,许多站长就将目录页,文章页都控制在二级目录以内,以为这样可以让网页更好的被 收录。殊不知,这样的URL方式其实并不利于SEO。搜索引擎蜘蛛爬行算法不光包含URL深度,同时还包括URL的重复度。当蜘蛛需要爬行一个网站时,首 先需要根据网站的权重算出索引的深度和重复数,当网站权重越高时,蜘蛛爬行的深度就越深,允许的重复数就越大。蜘蛛在索引某一网站的时候,当深度操过一定 层次后就会终止爬行其子目录。在爬行某个层次链接的过程中,URL重复数度超过一定数量,就会结束对该层目录的爬行。

如果你的站内除了根目录就是2级页面,文章数量少时还好,如果文章数量一多,便会加大搜索引擎引擎服务器的负荷,从而引起蜘蛛反感。

解决办法:

一般而言,搜索引擎对于新站爬行层次都在三层左右。最佳的目录设置方案应当是目录/时段/正文。虽然这样的分类方式在建站初期收录处在劣势,但 对网站(尤其是对靠长尾关键词取胜的站点)的长期发展百利而无一害。我个人认为,这种目录结构是对搜索引擎最友好的,最容易被收录的结构。

WordPress页面加载速度优化-之Syntax Highlighter WordPress Plugin

我用firebug无意中发现我用的某个插件引用了好几个js 对首次页面的加载造成了负担。
(虽说外部js引用在首次加载之后就保存在了本地,但是无用的js完全不用加载,而且很多)
所以我想把没用的外部js他去掉。
大家可以看看我截的图:

很多吧~~~发现原来是 Syntax Highlighter WordPress Plugin 加载的js。但是我一般只用java之类的 所以我把没用的都删掉了~
看看他的加载时间:

于是我去“插件”-找到 这个 Syntax Highlighter 编辑它的代码~:
每种语言 Syntax Highlighter 对应一个js文件。

于是我去掉了很多 只剩下自己想要的:
image

剩下常用的js

然后再看看加载的时间:
image

之后的加载时间

好多了吧~呵呵~~ :razz:

wordpress手动添加面包屑导航

其实还是挺简单的~在 外观-》编辑 中选择 single.php  就是单文章页面的代码里面  在content div 之下
加上如下代码~

    
php bloginfo('name') ?> > p hp the_category(',') ?> > p hp the_title() ?>

:razz:
查看效果~~
image

面包屑导航是网站SEO有益处,以增加导航性,完善网站整体信息架构非常实用的功能,使读者能非常清楚的知道自己所在的位置,推荐大多数博客使用~ ;-)
(晕 火大了~~为什么wp要解析php~~我在的php代码被解析了~找不到地方设置 寒 :x

如何修改WordPress分类顺序?

我在建站的时候就遇到这个问题,在晚上搜了下 没有完美的解决办法,我想把这个需求提交给wp的官方开发,希望他们在下个版本中能够加入这个功能。

这个功能绝对是在wp3.0发布后与日俱增的需求。

为什么这么说呢? 因为 WP3.0(好像是2.9?)之后就支持了菜单的自定义~这个功能非常的使用~而且大多数建站的都不止是把这个功能作为这个功能吧~

有很的主题支持把自定义的菜单作为网站的导航~那么菜单的顺序就非常重要了~(不过针对我这个需求wp3.0有自定义菜单了~那个是支持排序的 而且是可视化拖拽的 真爽~一般像修改 所以我建议不要直接用分类作为网站的导航~用自定义菜单来做导航更加“环保”,当然这个需要wp theme的支持。不知道是否大多数theme支不支持这个功能。我用的这个theme是支持的。)

那么在Wordpress没有分类目录排序功能的时候我们怎么来解决这个问题呢? Read more

又发现一个很棒的wordpress的SEO插件-内链外链插件

来源于 插件发布:WP keyword Link Plugin(Wordpress内链外链插件) | 柳城博客

众所周知,内链外链对一个网站的SEO是十分重要的。一直苦于这个方面的插件少,又不想装 seo all in one这么庞大的东西。因为我的主题suffusion队seo也很友好~它对meta 标签 , 文章标题都有相应的优化。
我只需要一个给我自动生成内链外链的插件。呵呵 。记得我自己也做过一个~等下找找看~不过先来介绍下别人的插件吧-WP Keyword Link
Plugin Name » WP Keyword Link

Authore » 柳城博客

Author Homepage » http://liucheng.name/

Plugin Homepage » http://liucheng.name/789/

Original Contributors: martin

Original Url » http://www.dijksterhuis.org/wordpress-plugins/keyword-link-plugin/

WordPress Url » http://wordpress.org/extend/plugins/rejected-wp-keyword-link-rejected/

New Version » v1.0.0

Description: A SEO plugin that helps you to automatically link keywords to articles.| 为你的wordpress博客添加关键词的链接,更多的内链外链,更好的SEO! 给文章加上内部链接有利于增加搜索引擎收录。完美支持中英文关键词。

You can decided for each link if you would like to:

* * Add a “No Follow”
* * Match only on the first mention
* * Open a new window on clicking the link
* * Match any case (ignore case) in the keyword
* * Apply the link also to your posts comment section
* * Now it also work for Chinese Keyword.
* * Multi-language support
* * Auto change Post tags to Keyword (New), You can choose turn on or turn off.

* * 完美支持中文关键词链接,分别区分英文与中文关键词
* * 对每个关键词进行细节设置(如: 是否匹配多个? 是否匹配评论? 外链还是内链? 是否匹分大小写? 是否新窗口打开等)
* * 修正编辑中文关键词时乱码问题
* * 解决替换关键词已有链接的问题.文章中已有的链接将不会匹配.
* * 解决与WordPress Wiki插件的冲突问题。
* * 加入多语言支持。
* * 自动把文章的标签转换为关键词(新)。 你可以选择开启或关闭.

安装方法:

1,到插件主页下载。
2,解压后上传到wp-contnet/plugins/
3,在后台启用。
4,或是直接在后台 插件/添加新插件 搜索 wp keyword link
Help

The Keyword link plugin searches the contents of each of your posts for the above listed keywords. Each keyword found is automatically linked to the link you have specified. For each link you can also specify the following options:

* No Follow – This adds a rel=’no follow’ to the link.
* First Match Only – Only replace the first match of the word, ignore further mentions.
* New Window – This adds a target=’_blank’ to the link, forcing a new browser window on clicking.
* Ignore Case – “Google”, “google” and “gooGLE” are all fine.
* Is affiliate – Allows you to tell your visitors that the link is an affiliate.
* Filter in comments – Also replace this keyword in post comments.

Each link created by the plugin is contained in an .. wrapper. This allows you to modify the links by adding a style to your themes style.css file.

Affiliate links work a little different, they use .. allowing you to differentiate those paid for links from your internal links.

Example style.css:

.wp_keywordlink { text-decoration: underline; }
.wp_keywordlink_affiliate { font-weight: bold; }

插件发布:WP keyword Link Plugin(Wordprss内链外链插件)
帮助文档

这是一个添加关键词链接的插件,根据你添加的关键词和链接,自动搜索匹配文章里的关键词,并加上链接。每一个关键词的链接, 提供一些选项设置,详细解释如下:

* No Follow – 在链接加多一个属性:rel=’no follow’ ,使用Nofollow属性让搜索引擎不要抓取并追踪此链接.
* First Match Only – 仅仅匹配第一个关键词, 建议勾上.
* New Window – 在链接加上 target=’_blank’的属性, 在新窗口打开.
* Ignore Case – 不匹分大小写,如”Google”, “google” 或者 “gooGLE” 都会匹配到.英文关键词有效(不推荐使用)
* Is affiliate – 勾上表示内链,同外链区分,这里要添加下面提到的CSS样式。
* Filter in comments – 勾上匹配替换评论区里的关键词.
* *For zh_CN – 勾上支持中文关键词. 英文关键词不推荐勾上。
* 每一个链接都会加上CSS样式,如: .. 。 你可以把下面的CSS加到博客原来的CSS样式表中.

内链跟外链是有区别的, 内链的CSS用 .. 你也可以根据你的需要更改。

Example style.css:

.wp_keywordlink { text-decoration: underline; }
.wp_keywordlink_affiliate { font-weight: bold; }

————————–
FAQs

1,自动把文章的标签当作关键词

默认的参数是:不区分大小写,新窗口打开,自动区分中英文,自动匹配1个到2个关键词,内链。

发现一个很好的插件-linkwithin

话不多说直接上网址 :http://www.linkwithin.com/

linkwithin?这么翻译好呢?叫做“相关文章链接” ?

总之就是在文章的末尾显示相关的文章,还支持图片缩略图。

要是文章中没有图片则以文本形式代替。

送上FAQ:

Frequently Asked Questions

  1. The widget does not appear/appears incorrectly on my blog. What should I do?

    If your blog uses a non-standard custom template/theme, we will need to add support for your blog manually, and we can do this only if the widget remains installed on your blog. Please email us at support AT linkwithin DOT com, and we will fix the problem, usually within 1-2 days. Thank you for your patience!

Read more

wordpress分页插件WP-PageNavi

安装步骤

  1. 解压后,将 pagenavi 文件夹上传到 /wp-content/plugins 中
  2. 激活 WP-PageNavi 插件

使用方法

  1. 打开 /wp-content/themes/<YOUR THEME NAME>/footer.php(或者其他文件如 index.php)
  2. 增加下面的代码到合适的地方PHP代码
    1. <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>
  3. 到 “WP-Admin -> Options -> PageNavi” 配置 WP-PageNavi 插件的参数3.1.翻页文本内容Text For Number Of Pages 总页数Text For Current Page 当前页Text For Page 页数

    Text For First Post 首页

    Text For Last Post 尾页

    Text For Next Post 下一页

    Text For Previous Post 上一页

    Text For Next … 下

    Text For Previous … 上

    3.2.翻页显示选项

    Page Navigation Style 普通(横排列表)和下拉(Drop Down List)

    Number Of Many Pages To Show 直接显示页的数量

    Always Show Page Navigation 是否总是显示翻页功能

  4. 如果需要修改 WP-PageNavi CSS 可以对下面的文件进行修改XML/HTML代码
    1. /wp-content/plugins/pagenavi/pagenavi-css.css
  5. 卸载插件:Uninstall WP-PageNavi 可以方便的删除该插件(操作时请慎重)

———

但是我这么没用啊??- -

诶~~继续找问题,。

———————

WP-PageNavi是WordPress的一个分页插件,虽然 WordPress自身也有这个功能,但是过于简单,只能翻至前后页,因此对读者来说有时会造成阅读障碍,而安装 WP-PageNavi 之后就可以彻底解决这一问题。当你的Blog的文章数比较多的时候,就可以直接跳到某页去,而不用上一页下一页的点。

安装步骤

首先从WP-PageNavi的网站上下载插件代码:http://lesterchan.net/wordpress/readme/wp-pagenavi.html

然后解压,将 pagenavi 文件夹上传到/wp-content/plugins中,之后在后台激活WP-PageNavi插件就可以了。

插件配置

打开/wp-content/themes/你的风格目录/index.php,找到:

<div class="postnav">
 <div class="prev"><?php next_posts_link(__('« Previous Entries')) ?>
</div> <div class="next"><?php previous_posts_link(__('Next Entries »')) ?></div> </div>

替换为:

<div class="postnav">
<?php if(function_exists('wp_pagenavi')){ wp_pagenavi(); } else { ?>
<div class="prev"><?php next_posts_link(__('« Previous Entries')) ?></div>
<div class="next"><?php previous_posts_link(__('Next Entries »')) ?></div> <?php } ?>
</div>

到 “WP-Admin -> Options -> PageNavi” 配置 WP-PageNavi 插件的参数

如果需要修改WP-PageNavi CSS可以修改:/wp-content/plugins/pagenavi/pagenavi-css.css

貌似对我的blog还是没有用  为什么呢?

因为的用的主题(suffusion)的index里面没有对应的代码。所以只能全部手工加了。也简单的。

方法是在下面这个博客里面看见的:

http://www.astesys.com/website/wordpress/208.html

全文:

由于自己是个程序员,一直都对微软有成见,凭什么他就那么霸道,凭什么。。。。可看到他那么多强大的东西,又不得不佩服他,太强大了!

呵呵说了很多废话,无非是想感叹一下wordpress也同样强大,支持插件模式!还记得刚开始接触wordpress的时候,对他是那么的陌生,就是冲着他在全球闻名,才投向他的,呵呵!

今天来说说我的使用心得,并给大家介绍一个【分页插件–WP-PageNavi】

wordpress 的爱好者,尤其是新手都应该wordpress的纯净版几乎没有什么功能!就连最简单的分页都是很弱智的那种,只提供【最近发表】【更早发表】两个 button操作,这远远不能满足文章稍微多的需要,至少也应该有类似于【1】【2】【3】【4】【5】的式样吧

苦苦寻觅是探索实验后,把这个插件介绍给大家

我的这个模板刚开始几乎没有什么功能,就最简单的【最近发表】【更早发表】2个功能都没有,呵呵 自己修改修改

【插件推荐】

WP-PageNavi

安装步骤

首先从WP-PageNavi的网站上下载插件代码:http://lesterchan.net/wordpress/readme/wp-pagenavi.html

然后解压,将 pagenavi 文件夹上传到/wp-content/plugins中,之后在后台激活WP-PageNavi插件就可以了。

插件配置

打开/wp-content/themes/你的风格目录/index.php,找到:

 <div class="postnav">
 <div class="prev">
         <?php next_posts_link(__('? Previous Entries')) ?>
 </div> 
 <div class="next">
     <?php previous_posts_link(__('Next Entries ?')) ?>
 </div> </div>

替换为:

 <div class="postnav">
 <?php if(function_exists('wp_pagenavi')){ 
        wp_pagenavi(); } else { 
 ?>
 <div class="prev">
         <?php next_posts_link(__('? Previous Entries')) ?>
 </div>
 <div class="next">
         <?php previous_posts_link(__('Next Entries ?')) ?>
 </div>
  <?php } ?>
 </div>

如果你的模板找不到原始的分页代码,就直接添加吧!

 <?php endwhile; endif; ?>
<!--------------------WP-PageNavi 分页开始------------------->
<div>
<?php if(function_exists('wp_pagenavi')){ wp_pagenavi(); } else { ?>
<div>
 <?php next_posts_link(__('? Previous Entries')) ?>
</div>
<div>
 <?php previous_posts_link(__('Next Entries ?')) ?>
</div>
<?php } ?>
</div>
</div>
<!------------------------WP-PageNavi 分页结束--------------->
<?php get_sidebar(); ?>
<div></div><!-- 我是空-->
<?php get_footer(); ?>

解释一下:

<?php get_sidebar(); ?>  侧边栏

<?php get_footer(); ?>    底部栏

在这上面写上分页代码即可

测试下CodeHighLighter

暂时用http://www.lastengine.com/syntax-highlighter-wordpress-plugin/
这款吧~~虽然支持样式貌似不多。

wordpress syntaxhighlighter 可以支持我比较习惯的Eclipse的样式。。的说。但是还是这个看着比较习惯貌似。

额。。= =

If a primitive is a field in a class, however, things are a bit different. As you saw in the
Everything Is an Object chapter, each primitive field of a class is guaranteed to get an initial
value. Here’s a program that verifies this, and shows the values:
这个是WP自带的标签

public static void main(String[] args) {
InitialValues iv = new InitialValues();
iv.printInitialValues();
/* You could also say:
new InitialValues().printInitialValues();
*/
}

//: initialization/InitialValues.java
// Shows default initial values.
import static net.mindview.util.Print.*;

public class InitialValues {
boolean t;
char c;
byte b;
short s;
int i;
long l;
float f;
double d;
InitialValues reference;
void printInitialValues() {
print("Data type            Initial value");
print("boolean              " + t);
print("char                 [" + c + "]");
print("byte                 " + b);
print("short                " + s);
print("int                  " + i);
print("long                 " + l);
print("float                " + f);
print("double               " + d);
print("reference            " + reference);
}
public static void main(String[] args) {
InitialValues iv = new InitialValues();
iv.printInitialValues();
/* You could also say:
new InitialValues().printInitialValues();
*/
}
} /* Output:
Data type          Initial value

boolean            false
char               [ ]
byte               0
short              0
int                0
long               0
float              0.0
double             0.0
reference          null
*///:~

You can see that even though the values are not specified, they automatically get initialized
(the char value is a zero, which prints as a space). So at least there’s no threat of working
with uninitialized variables.

When you define an object reference inside a class without initializing it to a new object, that
reference is given a special value of null.

无觅相关文章插件,快速提升流量