禁用WordPress3.1.x自动保存与历史版本控制

时间:2011年04月27日作者:Shieh查看次数: 754 views评论次数:1

撤掉禁止 WordPress 自动保存与历史版本控制会造成ID的不连续,对于追求完美的人来说, 对自动保存和历史版本控制功能并不是太感冒, 呵呵。找了下, 汇总了一些关于禁止自动保存和历史版本控制的办法。

1. 首先在 wp-config.php 文件, 在 if ( !defined(‘ABSPATH’) ) 前面添加以下代码:

define('AUTOSAVE_INTERVAL', false);
define('WP_POST_REVISIONS', false);

2. 在 wp-includes/default-filters.php 中, 加 // 注释掉 wp_save_post_revision 这个函数。

// add_action( 'pre_post_update', 'wp_save_post_revision' );

3. 在 wp-admin/post.php 及 post-new.php 文件中, 继续注释掉

// wp_enqueue_script('autosave');

4. (1) 找到 wp-admin/includes/post.php 文件中的 wp_create_post_autosave 函数, 将该函数的最后一句:

return _wp_put_post_revision( $_POST, true );

改为:

return edit_post();

通过修改这两行代码,即保留了自动保存功能,又去掉了历史记录功能,另一个额外的好处是可以让文章ID连续增长。

(2) 另外也可以从 wp-admin/includes/post.php 文件中找到这段(大概在399行处):

if ( $create_in_db ) {

在它下面找到这部分代码:

$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );

修改为:

$post_auto_draft = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'auto-draft' LIMIT 1" );
if ( $post_auto_draft ) {
	$post = $post_auto_draft;
} else {
	$post = get_post( wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ) );
}

(3) 又或者可以将下面整个代码:

if ( $create_in_db ) {
    // Cleanup old auto-drafts more than 7 days old
    $old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
    foreach ( (array) $old_posts as $delete )
        wp_delete_post( $delete, true ); // Force delete
    $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
    $post = get_post( $post_id );
    // Below is added in 3.1
    if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
        set_post_format( $post, get_option( 'default_post_format' ) );
} else {
    $post->ID = 0;
    $post->post_author = '';
    $post->post_date = '';
    $post->post_date_gmt = '';
    $post->post_password = '';
    $post->post_type = $post_type;
    $post->post_status = 'draft';
    $post->to_ping = '';
    $post->pinged = '';
    $post->comment_status = get_option( 'default_comment_status' );
    $post->ping_status = get_option( 'default_ping_status' );
    $post->post_pingback = get_option( 'default_pingback_flag' );
    $post->post_category = get_option( 'default_category' );
    $post->page_template = 'default';
    $post->post_parent = 0;
    $post->menu_order = 0;
}

将上面的代码替换为:

if ( $create_in_db ) {
    global $current_user;
    $post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" );
    if ( !$post ) {
        $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
        $post = get_post( $post_id );
    }
    /* End */
    // Below is added in 3.1
    if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
        set_post_format( $post, get_option( 'default_post_format' ) );
}

OK, 这些全部搞定了, 自动保存功能还可以用, ID也能够连续了, perfect。

删除已经生产的版本控制命令为:

DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = 'revision');

DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');

DELETE FROM wp_posts WHERE post_type='revision');

将ID重新设置为连续, 设置一个ID就要4条SQL语句, 比如将ID为99的文章修改为ID为88, 需要执行以下语句。

update wp_posts set id = 88 where id = 99;
update wp_term_relationships set object_id = 88 where object_id = 99;
update wp_postmeta set post_id = 88 where post_id = 99;
update wp_comments set comment_post_ID = 88 where comment_post_ID = 99;

文章ID连续了, 但继续发表新文章时, ID还是会从之前不连续时的最大数字往后编。
这时, 修改下 auto_increment 的数值就OK了,即在 phpmyadmin 中执行下面语句:

alter table wp_posts AUTO_INCREMENT=n

n=梳理后的最大id+1, 比如梳理后最后一篇文章的id是50,那么n就设为51。

另外如果觉得修改代码麻烦的, 可以按照 Super Switch 插件, 将“自动保存”和“保存修订版本”设为禁止。

PS: 补充另外一种更加简单有效的办法, 在主题的 functions.php 文件里面加入如下代码即可

wp_deregister_script('autosave');
remove_action('pre_post_update', 'wp_save_post_revision' );

或者

remove_action('pre_post_update', 'wp_save_post_revision' );
wp_deregister_script('autosave');
remove_filter('the_content', 'wptexturize');

这样便可以避免更新升级wordpress版本的时候又去修改源代码的麻煩了。

3种关闭WordPress对自己Pingback的办法

时间:2011年04月26日作者:Shieh查看次数: 642 views评论次数:2

Pingback 的作用是什么? 移步到维基百科看解释吧, http://zh.wikipedia.org/wiki/Pingback

关闭 WordPress Pingback 站内文章的办法有:

1. 安装 no-self-ping 插件,把它上传到 wordpress 的 plugin 目录,再到后台把它激活。

2. 在 WordPress 主题的 functions.php 中添加如下代码:

function no_self_ping( &$links ) {
$home = get_option( 'home' );
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, $home ) )
unset($links[$l]);
}
add_action( 'pre_ping', 'no_self_ping' );

这其实也就是 No-self-ping 插件的代码, 只不过移植到主题内部去而已, 对于不想多装几个插件的可以使用。

3. 还有一个就是进入 WordPress 的数据库中, 用一条简单的命令,:

UPDATE `wp_posts` SET ping_status="closed";

这个命令是彻底关闭所有的 pingback 和 trackback 功能, 但是不推荐这样做, 从 SEO 角度上做, 外部的 pingback 和 trackback 还是对 SEO 有利的。

标签:,,分类:Web

优化清理wp_options数据表冗余数据

时间:2011年04月26日作者:Shieh查看次数: 573 views评论次数:0

WordPress 数据表中最让人头痛的就是 WP_Options 数据表, 还好这个表是独立跟其他表没有关联的. wp_options 表主要是存贮WP的全局数据设置方面的信息, 如博客名、博客地址、基本设置、插件设置、主题设置等等. 清理wp_options数据表有以下方法:

  1. 安装 Clean Options 插件清理 WP_Options 数据表的冗余数据 。下载安装-激活-进入操作即可。也可以进入你的phpMyAdmin, 手动选择删除 wp_options 数据表里的内容, 以 _transient 、_site 开始的都可以删除掉。这些都是治标的办法。
     
  2. 备份 wp_options 数据表并导出, 然后清空 wp_options 表, 然后在本地架设环境新安装一个 WordPress。
    设置好和你服务器上的博客同样的博客名、博客地址、基本设置等等, 然后导出本地的 wp_options数据表, 导入到服务器上的数据库去。最后然后进入博客重新设置下插件、博客主题等。

另外推荐阅读这篇文章 WordPress数据表wp_options全解析

标签:,,分类:Web

漂亮的wp代码语法高亮插件 – Syntax Highlighter

时间:2011年04月21日作者:Shieh查看次数: 647 views评论次数:2

代码语法高亮, 让单纯的符号变成可读性强, 漂亮的代码符号就像一件艺术品. 找了几款 WordPress 代码语法高亮插件测试了下, 发现还是 SyntaxHighlighter Evolved 的强大些, 可选的高亮主题样式也很多.

1. Syntax Highlighter 语法代码高亮显示效果:

syntaxhighlighter

安装方法及更强大的使用说明移步到官方网站 http://alexgorbatchev.com/SyntaxHighlighter/

2. 另外, 发现了一个更好的国人修改版的 wp代码语法高亮插件 – Syntax Highlighter Optimized.

显示效果一样, 但是做了些小的修改. 推荐国人的 Syntax Highlighter Optimized, 貌似更加适合我. Yeah!

******************************
主要特性:

  • 采用最新版 SyntaxHighlighter 3.0.83 作为核心代码
  • 语法js文件动态加载,只加载页面中需要的
  • 选择代码段时不会选中行号
  • 自动换行,行号自动对齐
  • 日志编辑器中增加插入代码的按钮
  • 内置8种风格css

本插件支持几乎所有主流的程序语言。
本插件在IE[6-8]、FireFox3、Chrome5下测试通过。

******************************

使用方法:
1.在 可视化编辑 中点击按钮插入代码。
2.在 HTML编辑 中使用以下格式插入代码

标签:,分类:Web

WordPress SEO and Robots.txt File Tips

时间:2011年04月20日作者:Shieh查看次数: 390 views评论次数:0

WordPress robots.txt 文件的搜索引擎优化说明及技巧解析. 往下看之前, 先扫盲下 Robots.txt 文件的基础知识.
Robots.txt语法
Baidu Robots.txt
Google Robots.txt
Google:使用 robots.txt 文件拦截或删除网页

百度搜索帮助中心有一段感觉不是很靠谱的(http://www.baidu.com/search/robots.html)关于Robots.txt的说法:

搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。

请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件

言归正传, 下面是我的 WordPress Robots.txt 的写法:

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /comments/feed
Disallow: /category/*/*
Disallow: /category/
Disallow: /category/*/page/
Disallow: /page/
Disallow: /tag/
Disallow: */trackback
Disallow: */feed
Disallow: /*?*
Disallow: /*?
Disallow: /?s=
Allow: /wp-content/uploads
Sitemap: http://www.sinzi.org/sitemap.xml

User-agent: Googlebot
# disallow all files ending with these extensions
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.gz$
Disallow: /*.wmv$
Disallow: /*.cgi$
Disallow: /*.xhtml$

WordPress Robots.txt 的写法, 根据自己的实际情况写吧.

WordPress Title, Keywords and Description SEO

时间:2011年04月20日作者:Shieh查看次数: 333 views评论次数:0

虽然市面上有很不错的 WordPress 标题 SEO 插件:All in One SEO Pack, HeadSpace 2 等, 但是我还是喜欢折腾用代码的方式去控制 WP 的 标题, 标签及描述等的SEO.

1. 我的 WordPress Title SEO 方式是在主题文件 header.php 里面写入下面的代码

<title><?php if (is_home()) {bloginfo('name');} else {echo trim(wp_title('',0));}?></title>

2. WordPress 关键词及描述

<?php
     //判断是否为首页
    if ( is_home ( ) )
    {
      $description = "英文SEO, 致力于Google, Yahoo, Bing and Baidu 等搜索引擎优化(SEO) 及折腾 WordPress, Drupal, ECMS!";
      $keywords = "英文SEO,Google SEO,Yahoo SEO,Bing SEO,Baidu SEO,搜索引擎优化";
    }
     //判断是否为文章页
    else if ( is_single () )
    {
      $description = wp_title(",",false,right).mb_substr(strip_tags($post->post_content),0,120,$encoding="UTF-8");
       //$description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,120);
      $keywords = "";
      $tags = wp_get_post_tags($post->ID);
      foreach ($tags as $tag ) {
      $keywords = $keywords . $tag->name . ",";
      }
      }
     //判断是否为分类页
    else if ( is_category( ) )
    {
      $description = strip_tags(category_description());
      $keywords = single_cat_title("", false);
    }
     //判断是否为标签页
    else if ( is_tag() )
    {
       $description = single_tag_title('SurDA',false);
       $description = "这里是标签[".$description."]下的所有文章";
       $keywords = single_tag_title('SurDA',false);
    }

    //其他都显示文章标题
    else {
        $description = wp_title("",false);
        $keywords = wp_title("",false);
    }
?>
<meta name="description" content="<?php echo $description ; ?>" />
<meta name="keywords" content="<?php echo $keywords ; ?>" />

3. 最后一步就是在主题的 Functions.php 中添加描述截取数及输出为utf-8的代码

if (!function_exists('mb_substr')) {
    function mb_substr($str, $start, $len = '', $encoding="UTF-8"){
        $limit = strlen($str);

        for ($s = 0; $start > 0;–$start) {// found the real start
            if ($s >= $limit)
                break;

            if ($str[$s] <= "\x7F")
                ++$s;
            else {
                ++$s; // skip length

                while ($str[$s] >= "\x80" && $str[$s] <= "\xBF")
                    ++$s;
            }
        }

        if ($len == '')
            return substr($str, $s);
        else
            for ($e = $s; $len > 0; –$len) {//found the real end
                if ($e >= $limit)
                    break;

                if ($str[$e] <= "\x7F")
                    ++$e;
                else {
                    ++$e;//skip length

                    while ($str[$e] >= "\x80" && $str[$e] <= "\xBF" && $e < $limit)
                        ++$e;
                }
            }
        return substr($str, $s, $e – $s);
    }
}

OK, 搞定. 参考了 SurDA Google Html建议 短的元说明 修善办法.

标签:,,分类:Web

谷歌用户体验设计准则

时间:2011年04月18日作者:Shieh查看次数: 258 views评论次数:0

谷歌的愿景

Google 用户体验团队致力于创建有用的(useful)、快速的(fast)、简单的(simple)、有吸引力的(engaging)、创新的 ( innovative)、适合大众的(universal)、有用的(profitable)、漂亮的(beautiful)、值得信赖的 (trustworthy)、个性化的(personable)的应用。

Google用户体验的十大准则

1.将焦点集中在用户的生活,工作,和他们的梦想上。

Google 用户体验小组努力发现用户的真正需求,包括那些他们自己都无法阐明的需求。有了这些信息,Google 就可以创建解决现实问题的产品并激发所有人的创造力。Google的目标不仅仅是按部就班的工作,而是改善人们的生活。总之,一个精心设计的 Google 产品在日常生活中是非常有用的。他并不是靠花哨的视觉效果和技术打动用户的,虽然也有具备这些特性。他不会强迫用户去使用他们不想要的特性,但是他会引导 有兴趣的用户自发的去使用他们。他不会入侵别人的生活,但是回想那些想要探索世界信息、工作的更加快速和便捷、分享想法的用户敞开大门。

2.每一毫秒的价值

没有什么比用户的时间更加宝贵。Google页面的快速加载得力于精简的代码和精心挑选的图片。为了让用户更加容易的找到想要的内容,Google 将最重要的功能和文本放在最显眼的位置。一些不必要的点击、输入、步骤和其他操作都被Google去除了。Google 的产品只会请求一次信息并且包含了智能的默认选项。所有任务都是高效的。速度为用户带来便利。如果没有充足的理由,Google 绝对不会牺牲速度。

3.简单就是力量

简单造就了良好设计中的许多元素,包括易用性、速度、视觉效果和可访问性。一个产品从设计之初就应该保持简单。Google 不打算创建功能繁复的产品,我们最好的设计只包含那些用户完成目标过程中所必需的功能。即使产品需要大量的特性和复杂的视觉设计,也要看起来简单而强大。 在以牺牲简单为代价去追求一个不太重要的功能之前,Google 会三思而后行。Google希望将产品推向新的发展方向,而不仅仅是增加更多功能。

4.引导新手和吸引专家

为多数人设计并不意味着为降低标准设计。最好的 Google 设计表面上看起来很简单,但是却包含了强大的功能,可以让需要的用户很容易地访问到。Google的目标是为新用户提供美妙的初始体验,同时也吸引那些经 验丰富的用户,他们会让其他人也来使用这个产品。一个精心设计的 Google 产品会让新用户很快熟悉,在必要的时候提供帮助,并且保证用户可以通过简单符合直觉的操作使用产品的大多数有价值的功能。逐步披露高级功能会鼓励用户去扩 展他们对产品的使用。在适当情况下,Google 会适时地提供一些智能功能来吸引那些资深网络用户——那些在多个设备和电脑之间共享数据的人、在线上和线下工作的人、以及需要存储空间的人。

5.敢于创新

设计上的一致性是 Google 产品获得信任的基石,它令用户舒适并提高他们的工作效率。但是要想把设计从沉闷乏味变得令人愉快就要依靠想象力。Google 鼓励那些创新、冒险的设计,只要它们符合用户需求。团队鼓励新的想法并发展它们。不是为了去适应现有的产品功能,Google 更着眼于改变整个游戏规则。

6.为全世界设计

万维网已经向世界各地的人们开放了互联网上的所有资源。例如,很多用户通过移动设备来使用 Google 的产品,而不是坐在桌子前面通过电脑。我们设计出的产品应该在用户随意选择的任何一种媒介上都可以适时调整和使用。在可能的情况下,Google 会适时地支持较慢的连接速度和旧版的浏览器,而且 Google 会允许用户选择如何浏览信息(屏幕大小,字体大小)和如何输入信息(智能查询分析)。用户体验团队会研究世界上用户体验的根本差异,为每一个用户、每一个 设备和每一种文化设计出合适的产品。简单的翻译,或者功能上的“优雅降级”,都不足以满足人们的需要。Google 还致力于改善产品的可访问性。Google对简单和具有包容性产品的渴望,以及Google 让全世界的信息普遍可访问的使命,都要求产品支持辅助技术,向包括有身体和认知缺陷在内的所有用户提供愉悦的体验。

7.安排今天和明天的业务

那些盈利的 Google 产品竭力做到以有助于用户的方式赚钱。为了实现这一崇高目标,设计师将和产品团队一起确保商业计划能够和用户的目标无缝集成。他们会确保广告具有相关性、 有用并可以明确地识别出是广告。 Google 也会注意保护那些广告客户和其它靠 Google 谋生的人的利益。如果靠某个产品增加收入会减少 Google 未来的用户数量,那么 Google 绝对不会做这种尝试。如果一个有利可图的设计没有让用户满意,它就会被打回重做。不是每个产品都需要盈利,但是不能有产品对业务不利。

8. 愉悦用户的眼睛,但不分散注意力。

如果人们看到一个 Google 的产品时说“哇,真漂亮!”,用户体验团队就可以欢呼了。一个积极的第一印象会让用户觉得舒服,使他们确信这个产品是可靠和专业的,并且会鼓励用户做出自 己的产品。简约美学对于大部分的 Google 产品都是适用的,因为一个干净、清爽、加载迅速,而且不会分散用户的注意力的设计一定符合用户需求的。吸引人的图像、颜色和字体需要与速度、可扫描文本和 简易导航取得平衡。尽管如此,考虑到用户和文化背景的因素,“简单优雅”并不是对所有产品来说都是最合适的。Google 产品的视觉设计会让用户感到满意并且有助于使用。

9. 值得信任。

好的设计可以深深赢得使用 Google 产品的用户的信任。Google 可靠性的建立是从基础就开始的,例如,界面确保高效和专业、动作容易撤销、广告被明确识别、术语的一致性以及令用户惊喜而非惊诧。此外,Google 的产品是向全世界开放的,它包含指向竞争对手的链接并且鼓励用户做出贡献,如社区地图或者 iGoogle 小工具。一个更大的挑战是确保 Google 对用户控制自己数据的权利表示了尊重。在如何使用信息和信息如何共享给他人(如果有的话)方面,Google 是透明的,所以用户可以做出知情的选择。我们的产品在有危险的时候会警告用户,比如不安全的链接,使用户容易受到垃圾邮件骚扰的行为,或者将数据分享在 Google 之外的其它地方而被存储的可能性。Google 越大,遵循“不作恶”的座右铭就越重要。

10. 有人情味。

Google 包括了各种各样的人格特质,而Google的设计也是有人性的。文本和设计元素都是友好、机灵并且智能的,而不是枯燥、古板或傲慢的。Google 的文本直接和用户对话,并提供实际、非正式的协助,就像任何一个人回答邻居所提出的问题一样。而且 Google 不会让有趣或个性干扰到设计的其它元素,尤其是当人们被生活或找到重要信息的能力严重困扰的时候。

Google 并不是什么都懂,而且没有设计是完美的。Google的产品希望得到反馈,Google 会根据这些反馈采取行动。当实践这些设计准则的时候,Google 用户体验团队会在每个产品的可用时间里寻找最佳的平衡。然后,迭代、创新和改善会循环往复。

Via. http://www.google.com/corporate/ux.html

标签:,,分类:Web

重读Baidu SEO手册 –《百度搜索引擎优化指南》

时间:2011年04月18日作者:Shieh查看次数: 265 views评论次数:0

这几天重新翻了下 Baidu SEO 手册,把一些常见的细节又温故了下,下面摘录一些《百度搜索引擎优化指南》SEO白皮书的部分内容。详细的还请看官方发布的PDF文档,百度SEO 跟 Google SEO 差不多,细节同样重要,推荐多逛 百度站长俱乐部

  1. 百度决定提供更加公开化的白帽SEO指南,营造更好的舆论氛围,以使 SEO 行业,有更加良性的发展。
     
  2. 越短的域名,用户的记忆成本就越低.com、.cn、.net等常见的域名后缀用户更容易记忆,一些不常见的后缀可能会让用户产生不信任感,增加用户的判断成本。
     
  3. 网站的内容应该是面向用户的,搜索引擎只是网站的一个普通访客,提供符合用户需求的原创内容至关重要。
     
  4. 用户浏览通常是从左到右的,重要的内容应该放到title的靠前的位置。
     
  5. 暂时无法识别Flash、图片、Javascript中的内容,这部分内容无法搜索到;仅在flash、Javascript中包含链接指向的网页,百度可能无法收录。
     
  6. 网站应该有清晰的结构和明晰的导航,这能帮助用户快速从你的网站中找到自己需要的内容,也可以帮助搜索引擎快速理解网站中每一个网页所处的结构层次。
     
  7. 网站结构建议采用树型结构,树型结构通常分为以下三个层次:首页——频道——文章页。象一棵大树一样,首先有一个树干(首页),然后再是树枝(频道),最后是树叶(普通内容页)。树型结构的扩展性更强,网站内容变多时,可以通过细分树枝(频道)来轻松应对。
     
  8. url是动态还是静态对搜索引擎没有影响,但建议尽量减少动态url中包含的变量参数,这样即有助于减少url长度,也可以减少让搜索引擎掉入黑洞的风险。
    • 网站中同一网页,只对应一个 url。
    • 让用户能从 url判断出网页内容以及网站结构信息,并可以预测将要看到的内容。
    • URL尽量短。
    • 不添加不能被系统自动识别为 url组成部分的字符。
       
  9. 网页的title用于告诉用户和搜索引擎这个网页的主要内容是什么,搜索引擎在判断一个网页内容权重时,title是主要参考信息之一。
     
  10. 网页title是网页上主要内容的概括,搜索引擎可以通过网页标题迅速的判断网页的主题。每个网页的内容都是不同的,每个网页都应该有独一无二的title。
    建议及推荐做法:

    • 首页:网站名称 或者 网站名称_提供服务介绍 or产品介绍
    • 频道页:频道名称_网站名称
    • 文章页:文章title_频道名称_网站名称
    • 每个网页应该有一个独一无二的标题,切忌所有的页面都使用默认标题
    • 标题要主题明确,包含这个网页中最重要的内容
    • 简明精练,不罗列与网页内容不相关的信息
    • 用户浏览通常是从左到右的,重要的内容应该放到 title的靠前的位置
    • 使用用户所熟知的语言描述。如果你有中、英文两种网站名称,尽量使用用户熟知的那一种做为标题描述
    • 标题要主题明确,包含这个网页中最重要的内容
    • 文章页title 中不要加入过多的额外描述,会分散用户注意力
    • 使用用户所熟知的语言描述
    • 如果您的网站用户比较熟悉,建议将网站名称列到 title中合适的位置,品牌效应会增加用户点击的机率
    • 标题要对用户有吸引力
    • 能让用户产生信任感
  11. Meta description 不是权值计算的参考因素,这个标签存在与否不影响网页权值,只会用做搜索结果摘要的一个选择目标。
     
  12. Meta description 是对网页内容的精练概括。如果description描述与网页内容相符,百度会把description 当做摘要的选择目标之一,一个好的 description会帮助用户更方便的从搜索结果中判断你的网页内容是否和需求相符。
    推荐做法:

    • 网站首页、频道页、产品参数页等没有大段文字可以用做摘要的网页最适合使用description
    • 准确的描述网页,不要堆砌关键词
    • 为每个网页创建不同的 description,避免所有网页都使用同样的描述
    • 长度合理,不过长不过短
       
  13. 网站信任度:网站信用度指用户给予你网站的信任程度。用户对网站的信任度是用户在网站上进行活动的基础。
    • 页面美观、整洁,有自己的风格
    • 让可以很容易的了解到网站的背景
    • 详细的网站介绍、联系方式,让用户可以方便的联系
    • 用户评论、顾客反馈等信息,让原有的用户影响新用户
    • 在网站设计中注重强化网站的品牌,让用户更了解、进而信任你的网站
       
  14. 百度作弊与惩罚
    • 任何损害用户利益和搜索引擎结果质量的行为,都会受到搜索引擎的惩罚:对用户体验及搜索结果质量影响不大的,去除作弊部分获得的权值;对用户体验及搜索结果质量影响严重的,去除作弊部分获得的权值并降低网站的权重,直至从搜索结果中彻底清理掉。
    • 惩罚不是目的,让互联网洁净才是目的。取消作弊行为的网站,百度都持欢迎态度。我们有完善的流程,会定期自动对作弊网站进行检测,大部分修正了作弊行为的网站,会在一定的观察期满后自动解除惩罚。
  15. 修改网站标题是否会对网站排名带来消极影响?
    title 是极重要的内容。大幅修改,可能会带来大幅波动。所以请慎重对待网页标题。建议按照我们上面所推荐的写法,实事求是的将页面主旨反映在标题中即可,如无必要,尽量不做大幅修改。
     
  16. 修改首页的meta description是否会受到惩罚?
    meta description只是摘要的一个选择目标,修改meta description只会影响摘要。我们鼓励大家通过meta description来撰写网站的简介。只是过于频繁的修改,未必会及时的反馈在摘要中。
     
  17. 我们建议在改版或者换域名时,将旧网页301永久重定向到内容对应的新网页,这样百度更容易发现这个转变,并迅速的将旧网页积累的权值传递给对应的新网页。
     
  18. 百度对使用海外空间的中文网站有歧视吗?
    百度对海外站点没有歧视。但Baiduspider服务器在国内,国内普通用户访问受限的内容,Baiduspider 一样会搞不定,只要国内能正常访问,我们就会一视同仁。
     
  19. Web2.0类型的网站,应该充分利用自己的优势,让用户通过投票、评论等手段自己去判断资源的质量,这些对质量的判断,也可能会被搜索引擎用来判断资源的价值。
     
  20. 管理好web2.0等用户产生内容的产品,如果被作弊者利用,可能会影响整个站点的权重。
     
  21. 百度的商业推广和自然搜索,是由完全独立的两个部门分别运营两套独立系统,参加商业推广的网站,在自然结果中一视同仁,没有任何特殊处理。

《百度搜索引擎优化指南》SEO白皮书 BaiduSEOV1.0.PDF

Guide to Successful Linkbait

时间:2011年04月13日作者:Shieh查看次数: 268 views评论次数:0

At present, the Link Building is still the SEO emphasis point.

Linkbait_lifecycle_final21

via. The essential do it yourself guide to successful linkbait @ http://voltier.com

URLs 规划及结构的优化

时间:2011年04月13日作者:Shieh查看次数: 316 views评论次数:0

URLs 的规划对网站的优化也起到一个很重要的因素. 汇总一些 URLs 优化建议:

  • URLs 结构尽可能的简单.
  • 避免 URLs 路径太深. 小型网站扁平式目录URLs结构, 大型网站采用树形目录URLs结构.
  • URLs 参数也尽可能的少, 避免使用过于冗长并包含无关参数和会话 ID 的 URL.
  • 不要使用过于概括的页面名,例如‘page1.html
  • 不要使用过度堆砌的关键字,例如‘baseball-cards-baseball-cards-baseballcards.htm’
  • 建议在网址中使用连字符 (-) 而尽量避免使用下划线 (_).
  • 同一文档提供统一的URL. 尝试使用rel=canonical元素去设定你想用的URL去指示某个特定的内容或者用robots.txt, .htaccess, 301等去设置 URLs 的统一.

via.Google’s SEO Starter Guide& Google 官方的文档 《创建方便 Google 处理的网址结构

URL 优化的一个技巧
在 地址栏中发送 URL:http://msdn.microsoft.com/ie ,服务器将会产生一个 301 转向至 http://msdn.microsoft.com/ie/。所以直接发送 URL:http://msdn.microsoft.com/ie/ 速度将会更快。via. IE 官方Blog 文章《Internet Explorer and Connection Limits

关于 URLs 静态化
静态化只是一个手段而不是目的,为了保证URL的唯一化,可以把URL静态化、也可以用robots.txt或nofollow屏蔽动态内容、可以用rel=canonical属性、还可以在webmaster tool里屏蔽一些参数等等。 via. 《优化网站的抓取与收录

推荐阅读:
如何规划好网站的URL(1) – 国平对 URL 的深层次透彻分析.
让URL更适合分析

标签:,分类:Search Engine