当前位置:首页 > 网站建设 > wordpress > 网站建设 > 代码实现wordpress全面seo信息:Keywords,Description,Title

代码实现wordpress全面seo信息:Keywords,Description,Title

最开始技术宅在从zblog到wordpress的曲折中说过,自己之所以会发生曲折很大一部分原因是还不太熟悉wordpress的操作,其中最大的问题是对seo信息Keywords,Description,Title的设置感到很棘手。但是幸运的是,经过一段时间的熟悉,通过自己的摸索和搜索前人的成果,最终成果利用代码实现了全面的wordpress的seo信息。其实本来这个问题可以使用插件解决,但是技术宅还是比较喜欢自己动手,况且插件毕竟会拖慢速度,所以还是少用。

首先说明,我的代码优化修改自海天无影博客(http://blog.haitianhome.com/wordpress-seo.html),在此对他表示感谢。

废话不多说,代码如下:

<?php if ( is_home() ) { ?><title><?php bloginfo('name'); ?><?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('description'); ?></title><?php } ?>
<?php if ( is_search() ) { ?><title>搜索结果<?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?><?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_page() ) { ?><title><?php echo trim(wp_title('',0)); ?><?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_category() ) { ?><title><?php single_cat_title(); ?><?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php } ?>
<?php  if ( is_year() ) { ?><title><?php the_time('Y年'); ?>文章的归类<?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php }
       elseif ( is_month() ) { ?><title><?php the_time('Y年F'); ?>文章的归类<?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php }
       elseif ( is_day() ) { ?><title><?php the_time('Y年Fd日'); ?>文章的归类<?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php }?>
<?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><title><?php  single_tag_title("", true); ?><?php if (is_paged()) echo "第".(get_query_var('paged'))."页"; ?> - <?php bloginfo('name'); ?></title><?php }  } ?>
<?php
##定义一个函数.解决截取中文乱码的问题###
if (!function_exists('utf8Substr')) {
 function utf8Substr($str, $from, $len)
 {
     return preg_replace('#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$from.'}'.
          '((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len.'}).*#s',
          '$1',$str);
 }
}
echo "n";
if (is_paged()){$paged = (get_query_var('paged')) ;
if ( is_year() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年'); ?>的文章归类<?php echo "第".$paged."页"; ?>,用于记录技术宅写于<?php the_time('Y年'); ?>的一些文章的<?php echo "第".$paged."页"; ?>,翻看一页,再续前缘。翻看过去,看看技术宅在<?php the_time('Y年'); ?>写的文章。" /><?php }
		elseif ( is_month() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年F'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年F'); ?>的文章归类<?php echo "第".$paged."页"; ?>,用于记录技术宅写于<?php the_time('Y年F'); ?>的一些文章的<?php echo "第".$paged."页"; ?>,翻看一页,再续前缘。翻看过去,看看技术宅在<?php the_time('Y年F'); ?>写的文章。" /><?php }
        elseif ( is_day() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年Fd日'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年Fd日'); ?>的文章归类<?php echo "第".$paged."页"; ?>,用于记录技术宅写于<?php the_time('Y年Fd日'); ?>的一些文章<?php echo "第".$paged."页"; ?>,翻看一页,再续前缘。翻看过去,看看技术宅在<?php the_time('Y年Fd日'); ?>写的所有文章。" /><?php }
		elseif ( is_tag() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php  single_tag_title("", true); ?>,tags标签页" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php  single_tag_title("", true); ?>tags标签页面<?php echo "第".$paged."页"; ?>,翻看一页,再续前缘。记录了技术宅所写tags标签为<?php  single_tag_title("", true); ?>的文章。翻看过去,了解技术宅写的关于<?php  single_tag_title("", true); ?>标签的文章。" /><?php }
else{

if ( is_home() ){
	$keywords = "技术宅,地信,gis,网站建设,zblog,zblog模板,软件应用,wordpress模板,wordpress技巧";
    $description = "技术宅第".$paged."页,技术宅拯救世界。技术宅是一个专注电脑、互联网、地信GIS、网站建设、软件应用等领域的IT类博客。科技让生活更美好,这里有很多值得您探索。";

}
elseif ( is_single()||is_page() ){
$keywords = get_post_meta($post->ID, "keywords", true);
if($keywords!=""){
	$keywords = get_post_meta($post->ID, "keywords", true);
	}
	else{ $keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ",";
}}

$description = get_post_meta($post->ID, "description", true);
if($description!=""){
	$description = get_post_meta($post->ID, "description", true);}
	else{	if ($post->post_excerpt) {
$description  = $post->post_excerpt;
} else {
if(preg_match('/<p>(.*)</p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
$post_content = $result['1'];
} else {
$post_content_r = explode("n",trim(strip_tags($post->post_content)));
$post_content = $post_content_r['0'];
}
$description = utf8Substr($post_content,0,220);
}}
}
###这里是分类页面。自行改变is_category的ID。###
elseif ( is_category(3) ){
    $keywords = "技术宅,网络日志第".$paged."页,记录生活,关注博客";
    $description = strip_tags(category_description()).",网络日志第" . $paged . "页";
}
elseif ( is_category(6) ){
    $keywords = "技术宅,网站建设第".$paged."页,网站优化,seo";
    $description = strip_tags(category_description()). ",网站建设第". $paged . "页";
}
elseif ( is_category(26) ){
    $keywords = "技术宅,软件应用第".$paged."页,实用的电脑软件,优秀手机软件";
    $description = strip_tags(category_description()).",软件应用第" . $paged . "页";
}
elseif ( is_category(49) ){
    $keywords = "技术宅,编程开发第".$paged."页,源代码,程序猿";
    $description = strip_tags(category_description()).",编程开发第" . $paged . "页";
}
elseif ( is_category(46) ){
	$keywords = "技术宅,地信家园第".$paged."页,gis软件,gis资讯,gis技巧";
    $description = strip_tags(category_description()).",地信家园第" . $paged . "页";
}
elseif ( is_category(11) ){
    $keywords = "技术宅,分享经验第".$paged."页,分享,经验";
    $description = strip_tags(category_description()).",分享经验第" . $paged . "页";
}
elseif ( is_category(50) ){
    $keywords = "技术宅,他山之石第".$paged."页,关注热点,博采众长";
    $description = strip_tags(category_description()).",他山之石第" . $paged . "页";
}
	echo "        <meta name="keywords" content="".rtrim($keywords,',')."" />";
    echo "n";
	echo "        <meta name="description" content="".trim($description)."" />";
}
}
else {
	if ( is_year() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年'); ?>的文章归类,用于记录技术宅写于<?php the_time('Y年'); ?>的一些文章的。翻看过去,看看技术宅在<?php the_time('Y年'); ?>写的文章。" /><?php }
		elseif ( is_month() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年F'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年F'); ?>的文章归类,用于记录技术宅写于<?php the_time('Y年F'); ?>的一些文章的。翻看过去,看看技术宅在<?php the_time('Y年F'); ?>写的文章。" /><?php }
        elseif ( is_day() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php the_time('Y年Fd日'); ?>的文章归类" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php the_time('Y年Fd日'); ?>的文章归类,用于记录技术宅写于<?php the_time('Y年Fd日'); ?>的一些文章的。翻看过去,了解技术宅。" /><?php }
		elseif ( is_tag() ) { ?>
        <meta name="keywords" content="<?php bloginfo('name'); ?>,<?php  single_tag_title("", true); ?>,tags标签页" />
        <meta name="description" content="<?php bloginfo('name'); ?>的<?php  single_tag_title("", true); ?>tags标签页面,记录了技术宅所写tags标签为<?php  single_tag_title("", true); ?>的文章。翻看过去,了解技术宅写的关于<?php  single_tag_title("", true); ?>的标签页面。" /><?php }
else{

if ( is_home() ){
    $keywords = "技术宅,地信,gis,网站建设,zblog,zblog模板,软件应用,wordpress模板,wordpress技巧";
    $description = "技术宅博客,技术宅拯救世界。技术宅是一个专注电脑、互联网、地信GIS、网站建设、软件应用等领域的IT类博客。科技让生活更美好,这里有很多值得您探索。";
}
elseif ( is_single()||is_page() ){
$keywords = get_post_meta($post->ID, "keywords", true);
if($keywords!=""){
	$keywords = get_post_meta($post->ID, "keywords", true);
	}
	else{ $keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ",";
}}

$description = get_post_meta($post->ID, "description", true);
if($description!=""){
	$description = get_post_meta($post->ID, "description", true);}
	else{	if ($post->post_excerpt) {
$description  = $post->post_excerpt;
} else {
if(preg_match('/<p>(.*)</p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
$post_content = $result['1'];
} else {
$post_content_r = explode("n",trim(strip_tags($post->post_content)));
$post_content = $post_content_r['0'];
}
$description = utf8Substr($post_content,0,220);
}}
}
###这里是分类页面。自行改变is_category的ID。###
elseif ( is_category(3) ){
    $keywords = "技术宅,网络日志,记录生活,关注博客";
    $description = strip_tags(category_description());
}
elseif ( is_category(6) ){
    $keywords = "技术宅,网站建设,网站优化,seo";
    $description = strip_tags(category_description());
}
elseif ( is_category(26) ){
    $keywords = "技术宅,软件应用,实用的电脑软件,优秀手机软件";
    $description = strip_tags(category_description());
}
elseif ( is_category(49) ){
    $keywords = "技术宅,编程开发,源代码,程序猿";
    $description = strip_tags(category_description());
}
elseif ( is_category(46) ){
    $keywords = "技术宅,地信家园,gis软件,gis资讯,gis技巧";
    $description = strip_tags(category_description());
}
elseif ( is_category(11) ){
    $keywords = "技术宅,分享经验,分享,经验";
    $description = strip_tags(category_description());
}
elseif ( is_category(50) ){
    $keywords = "技术宅,他山之石,关注热点,博采众长";
    $description = strip_tags(category_description());
}
	echo "        <meta name="keywords" content="".rtrim($keywords,',')."" />";
    echo "n";
	echo "        <meta name="description" content="".trim($description)."" />";
}
}
?>

使用方法:

1、使用dreamweaver新建一个php文件,删除其中自动生成的代码后,把上面代码全部复制到新建的php文件中,保存。

2、把上述php文件上传到自己wordpress所使用的主题目录下。

3、在wordpress后台修改header.php代码,如果有<title>。。。</title>、<meta name=”description” content=”。。。” />、<meta name=”keywords” content=”。。。” />这几行,将这几行删除,替换为:<?php include_once(“刚刚新建的文件的名字.php”); ?>即可。

这段代码实现的功能主要是针对wordpress所有页面,都设置了不同的Keywords,Description和Title,特别是针对分页存在的情况,增加了“第几页”的描述和关键词,如果使用谷歌网站站长工具的朋友就会知道,这能有效避免“重复的元记录”错误。

特别是对于文章页的优化是非常方便的,关键词和描述,如果在写文章时自定义栏目中添加了keywords和description,那么会使用这个关键词和描述,这个对于喜欢自己设定seo信息的朋友来说相当好。如果没有的话,自动获取tag作为关键词,文章前220字作为描述,非常方便。

友荐云推荐
  • «
  • »
  • 作者:
    除非注明,本文原创:技术宅,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.jishuzh.com/web/代码实现wordpress全面seo信息:keywordsdescriptiontitle.html

    10 thoughts on “代码实现wordpress全面seo信息:Keywords,Description,Title

    1. 文秦

      你的SEO做的太让人费解了 :eek:

      1. 技术宅 (Post author) 

        请仔细看完这些使用说明。

    2. 骑蚂蚁逛街

      在你的主题header.php里没找到。。。,怎么办啊?

      1. 技术宅 (Post author) 

        在meta.php中

    3. 骑蚂蚁逛街

      有错误啊

      1. 技术宅 (Post author) 

        什么错误 ?

    4. order term paper

      If I were you, I would see the best writer job service to have a lot of supreme data about this good topic!

    5. 220 volt

      Very actual information for me! Thanks alot!

    6. 小游戏

      看到代码就头疼。。

    7. 奥运会

      表示很不理解呀。。。

    评论已关闭.