Seo Wordpress header.php
下面是一个Wordpress的header.php,个人认为这个header.php将SEO搜索引擎优化演绎的是相当的到位,特别是针对google的SEO。但是传这个文件给我的朋友也不知道这个是谁写的header,如果这篇日志有幸让作者本人看到,请联系我,将加入你的链接。也可能是老外,再写个英文版:
I’s sorry I don’t know who made this header.php. If you are the designer of this wordpress header, leave a comment here, I’ll add your link.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”><html xmlns=”http://www.w3.org/1999/xhtml”><head profile=”http://gmpg.org/xfn/11″>
<!–// Page title and description //–>
这部分是页面标题,主页、单post页、tag页和历史页都用的是不同的标题。
<?php if ( is_home()) { ?><title><?php bloginfo(’name’); ?><?php echo (’ | ‘); ?><?php bloginfo (’description’); ?></title><meta name=”description” content=”<?php bloginfo(’description’); ?>” /><meta name=”robots” content=”index,follow,noarchive” /><meta name=”googlebot” content=”noarchive” /><?php } ?>
如果是wordpress主页,标题=wordpress名称+描述,不允许搜索引擎生成网页快照
<?php if ( is_category()) { ?><title><?php bloginfo(’name’); ?><?php echo (’ | ‘); ?><?php single_cat_title(”); ?></title><meta name=”description” content=”<?php echo wp_title(”,”); ?>” /><meta name=”robots” content=”noindex,noarchive,follow” /><meta name=”googlebot” content=”noarchive” /><?php } ?>
<?php if ( is_archive()) { ?><title><?php bloginfo(’name’); ?><?php echo (’ | ‘); ?><?php wp_title(”); ?><?php echo (’ Archives’); ?></title><meta name=”description” content=”<?php echo wp_title(”,”); ?>” /><meta name=”robots” content=”noindex,noarchive,follow” /><meta name=”googlebot” content=”noarchive” /><?php } ?>
如果是分类和历史日志页面,标题=wordpress名称+分类名字/日期,不允许搜索引擎索引和跟踪搜索该页面里面的链接
<?php if ( is_single()) { ?><title><?php $trimmed_title = wp_title(”, false); $trimmed_title = trim($trimmed_title); echo $trimmed_title; ?></title><meta name=”description” content=”<?php $trimmed_desc = the_excerpt_rss(”, false); $trimmed_desc = trim($trimmed_desc); echo $trimmed_desc; ?>” /><meta name=”robots” content=”index,follow,noarchive” /><meta name=”googlebot” content=”noarchive” /><?php } ?><meta http-equiv=”Content-Type” content=”<?php bloginfo(’html_type’); ?>; charset=<?php bloginfo(’charset’); ?>” /><meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” />
<?php if ( is_page()) { ?><title><?php bloginfo(’name’); ?><?php echo (’ | ‘); ?><?php wp_title(”); ?></title><meta name=”description” content=”<?php the_excerpt_rss(); ?>” /><meta name=”robots” content=”index,follow,noarchive” /><meta name=”googlebot” content=”noarchive” /><?php } ?><meta http-equiv=”Content-Type” content=”<?php bloginfo(’html_type’); ?>; charset=<?php bloginfo(’charset’); ?>” /><meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!– leave this for stats –>
如果是单个日志的页面,标题=该篇wordpress日志的名称+NOTHING,允许搜索引擎索引并关注页面内的链接,但拒绝生成网页快照。这个是最合我口味的SEO部分了。因为我们并不能保证我们所有的日志都和我们的wordpress名称有关,特别像我的名称是Wings of Mind,建站之初顺手写的,整站都没有一篇和它相关的日志……有3个不相关的单词跟在日志名称后面是会影响到SEO搜索引擎优化效果的。名字只是一个名字,浮云而已……让它去吧……
<!–// Adsense bot ignores this next section //–>
<!– google_ad_section_start(weight=ignore) –>
<link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_url’); ?>” type=”text/css” media=”screen” />
<link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0″ href=”<?php bloginfo(’rss2_url’); ?>” />
<link rel=”alternate” type=”text/xml” title=”RSS .92″ href=”<?php bloginfo(’rss_url’); ?>” />
<link rel=”alternate” type=”application/atom+xml” title=”Atom 0.3″ href=”<?php bloginfo(’atom_url’); ?>” />
<link rel=”pingback” href=”<?php bloginfo(’pingback_url’); ?>” />
<?php wp_get_archives(’type=monthly&format=link’); ?>
<!– google_ad_section_end –>
</head>
<body><div id=”page”>
<!–logo
<div id=”header”>
<div id=”headerimg”><table class=”head”>
<tr><td class=”logo”><a href=”<?php echo get_settings(’home’); ?>”><img src=”<?php bloginfo(’stylesheet_directory’); ?>/images/YOUR-LOGO.gif” /></a></td>
<td class=”title”><h1><a href=”<?php echo get_settings(’home’); ?>”><?php bloginfo(’name’); ?></a></h1>
<div class=”description”><?php bloginfo(’description’); ?></div></td></tr></table>
</div></div>
–>
<!–Start deleting non-logo header –>
<div id=”header”>
<h1><a href=”<?php echo get_settings(’home’); ?>”><?php bloginfo(’name’); ?></a></h1>
<div class=”description”><?php bloginfo(’description’); ?></div>
</div>
<!–Stop deleting non-logo header –>
<ul class=”menu”><li class=”<?php if (((is_home()) && !(is_paged())) or (is_archive()) or (is_single()) or (is_paged()) or (is_search())) { ?>current_page_item<?php } else { ?>page_item<?php } ?>”><a href=”<?php echo get_settings(’home’); ?>”>Home</a></li><?php wp_list_pages(’sort_column=menu_order&depth=1&title_li=’,'</li>’); ?></ul>
整个header.php用了不少的meta标签:noindex,nofollow,noarchive,和我几天前的一篇SEO文章:通过robots.txt消灭wordpress的补充材料 的目的是一样的,就是要减少google搜索结果中的补充材料,已达到搜索引擎优化、提高搜索结果排名的效果,但是方法感觉上要比在wordpress根目录下加入robots.txt要高明多了。如果说这个header.php来自某个wordpress主题,那在这个主题的其他部分加上针对/feed/、/trackback/的nofollow属性,也许从wordpress主题本身就能解决补充材料的问题。
有这么好的一个SEO header,我马上就想改改用在我现在这个wordpress主题上,但是我又怕了……一个星期前的某个晚上我尝试把我的wordpress description放到标题里面去,放是放了,第二天早上就发现在google的搜索结果中,我一篇排在第1页第6行的文章掉到了第1+6=7页的末尾……标题后面还有我刚加上去的description “a geek use firefox blog in linux”……看来是改版后被googlebot抓到了,掉的也太快了吧,乘googlebot还没有访问到其它页面内容的时候,我赶紧修改header.php把wordpress标题换了回来,才算是“减少损失”……承认最近对SEO(搜索引擎优化)这个东西很着迷,长路漫漫,一步一步来吧……
Ryan Lee 2007-5-3 update
这个 wordpress header.php 在判断上有一些问题,由于is_archive() 包含 is_category(),在实际的分类页面中会导致两个meta、两个title出现。SEO思想是不错的,详情可以看这里《robots meta - wordpress seo》中关于判断的纠正。


不错,正需要这个,为个SEO搞大了头!
完蛋了,哎,用了这个后,single post页和page页 都不显示标题了~~~~
这个只是一个例子,不是通用的header.php……不是拷贝到任何一个主题上都可以用的……我用这个header.php替换过我现在这个主题的header.php,single post页和page页都有标题,没有博客的名字。
或者你再检查一下符号之类的东西,不排除我贴出来以后有改变……
算了,header.php我email到你邮箱里去了,查收。
非常感谢,我正在一个个检查,应该是哪个判断错了!~
不错的东西
好好学习一下
haha ,我来学习了,好复杂哦。
好,搜藏了先
做SEO是一门艺术,DIY你自己的SEO!
SEO的出路在哪里?!
这个做的太细致了…
不过现在除了title,meta里的百度几乎不采用的
谢谢了,最近一直都在找Header方面的SEO资料。。。。