给wordpress添加关键词与描述

Wordpress网站的关键字及网页描述关系网站对搜索引擎的友好程度,如果自己手动加显然太折腾了,那如何让WordPress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?下面就让我们来看看如何给wordpress自动添加文章描述和关键词。

重构:首页,分类页,文章页,单页,搜索页面,标签页,专题,快讯页,作者页,404等

第一种:

在你主题的functions.PHP文件添加以下代码,各个代码的功能解析如下:

add_action ( 'wp_head', 'wp_keywords' ,1 ); // 添加关键字
add_action ( 'wp_head', 'wp_description' ,1 ); // 添加页面描述
	
	
/**
 +----------------------------------------------------------
 * 站点关键字
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
function wp_keywords() {
	global $s, $post;
	$keywords = '';
	if (is_single ()) {  //如果是文章页,关键词则是:标签+分类ID
		if (get_the_tags ( $post->ID )) {
			foreach ( get_the_tags ( $post->ID ) as $tag )
				$keywords .= $tag->name . ', ';
		}
		foreach ( get_the_category ( $post->ID ) as $category )
			$keywords .= $category->cat_name . ', ';
		$keywords = substr_replace ( $keywords, '', - 2 );
	} elseif (is_home ()) {
		$keywords = '我是主页关键词';  //主页关键词设置
	} elseif (is_tag ()) {  //标签页关键词设置
		$keywords = single_tag_title ( '', false );
	} elseif (is_category ()) {//分类页关键词设置
		$keywords = single_cat_title ( '', false );
	} elseif (is_search ()) {//搜索页关键词设置
		$keywords = esc_HTML ( $s, 1 );
	} else {//默认页关键词设置
		$keywords = trim ( wp_title ( '', false ) );
	}
	if ($keywords) {  //输出关键词
		echo "<meta name=\"keywords\" content=\"$keywords\" />\n";
	}
}


/**
 +----------------------------------------------------------
 * 站点描述
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
function wp_description() {
	global $s, $post;
	$description = '';
	$blog_name = get_bloginfo ( 'name' );
	if (is_singular ()) {  //文章页如果存在描述字段,则显示描述,否则截取文章内容
		if (! empty ( $post->post_excerpt )) {
			$text = $post->post_excerpt;
		} else {
			$text = $post->post_content;
		}
		$description = trim ( str_replace ( array (
				"\r\n",
				"\r",
				"\n",
				" ",
				" " 
		), " ", str_replace ( "\"", "'", strip_tags ( $text ) ) ) );
		if (! ($description))
			$description = $blog_name . "-" . trim ( wp_title ( '', false ) );
	} elseif (is_home ()) {//首页显示描述设置
		$description = $blog_name . "-" . get_bloginfo ( 'description' ) .'首页要显示的描述'; // 首頁要自己加
	} elseif (is_tag ()) {//标签页显示描述设置
		$description = $blog_name . "有关 '" . single_tag_title ( '', false ) . "' 的文章";
	} elseif (is_category ()) {//分类页显示描述设置
		$description = $blog_name . "有关 '" . single_cat_title ( '', false ) . "' 的文章";
	} elseif (is_archive ()) {//文档页显示描述设置
		$description = $blog_name . "在: '" . trim ( wp_title ( '', false ) ) . "' 的文章";
	} elseif (is_search ()) {//搜索页显示描述设置
		$description = $blog_name . ": '" . esc_html ( $s, 1 ) . "' 的搜索結果";
	} else {//默认其他页显示描述设置
		$description = $blog_name . "有关 '" . trim ( wp_title ( '', false ) ) . "' 的文章";
	}
	//输出描述
	$description = mb_substr ( $description, 0, 220, 'utf-8' ) . '..';
	echo "<meta name=\"description\" content=\"$description\" />\n";
}

第二种:

//Title标题
function bzg_filter_title( $title ) {
	$title['site'] = '';
	$title['tagline'] = '';
	$title['page'] = '';
	return $title;
}
add_filter( 'document_title_parts', 'bzg_filter_title', 10, 1 );
 
function bzg_seo_title() {
	global $cat, $tag_id, $page, $paged;
	$page_num = '';
	if ( $paged >= 2 || $page >= 2 )
		$page_num = '_' . sprintf( '第%s页', max( $paged, $page ) );
	
	$title = wp_get_document_title();
	if( is_author() )
		$title = '作者:' . $title;
	if( is_category() && get_term_meta( $cat , 'seo_title', true ) )
		$title = get_term_meta( $cat , 'seo_title', true );
	if( is_tag() && get_term_meta( $tag_id , 'seo_title', true ) )
		$title = get_term_meta( $tag_id , 'seo_title', true );
	if ( ! is_home() ) {
		$title .= $page_num . ' - ';
		$title .= get_option('blogname');
	} else {
		$description = get_option( 'blogdescription' );
		$home_title = get_option( 'home_title' );
		if ( $home_title ) {
			$title = $home_title;
		} elseif($description) {
			$title .= ' - ' . $description;
		}
		$title .= $page_num;
	}
	
	return $title;
}

function bzg_seo_keywords() {
	global $post;
	$keywords = '';
	if ( is_home() )
		$keywords = get_option( 'home_keywords' );
	if ( ( is_category() || is_tag() ))
		$keywords = single_cat_title('', false);
	if ( is_single() || is_page() ) {
		if ( $post->post_excerpt ) {
			$keywords = $post->post_excerpt;
		} else {
			$keywords = $post->post_title;
		}
	}
	return $keywords;
}

//Description标签
function bzg_seo_description() {
	global $post;
	$description = '';
	if ( is_home() )
		$description = get_option( 'home_description' );
	
	if ( ( is_category() || is_tag() ) && category_description() )
		$description = wp_strip_all_tags( category_description(), true );
	
	if ( is_single() || is_page() ) {
		if ( $post->post_excerpt ) {
			$description = $post->post_excerpt;
		} else {
			$description = mb_strimwidth(esc_html(wp_strip_all_tags($post->post_content, true)), 0, 200);
		}
	}
	
	return $description;
}

header.php 调用:

<head>
 
    <title><?php echo bzg_seo_title(); ?></title>
    <?php
    $bzg_keywords = bzg_seo_keywords();
    if (!empty($bzg_keywords)) {
        echo '<meta name="keywords" content="' . $bzg_keywords . '" />';
        echo "\n";
    }
    $bzg_description = bzg_seo_description();
    if (!empty($bzg_description)) {
        echo '<meta name="description" content="' . $bzg_description . '" />';
        echo "\n";
    }
    ?>
    <?php if (is_home()) : ?>
    <?php endif; ?>
 
</head>
相关推荐
wodrpress资源分享7 小时前
wordpress搬家迁移后怎么修改数据库用户名
wordpress
席万里14 小时前
wordpress搭建主题可配置json
wordpress
wodrpress资源分享3 天前
wordpress站外调用指定ID分类下的推荐内容
wordpress
yangshuo12813 天前
WordPress HTTPS 配置问题解决方案
网络协议·http·https·wordpress
PHP隔壁老王邻居5 天前
WordPress站点网站名称、logo设置
php·wordpress
wodrpress资源分享6 天前
你对安装在自己网站上的wordpress插件了解吗?
wordpress
Web极客码8 天前
WordPress 中最佳的维护服务:入门级用户指南
wordpress·入门指南·网络维护
boke112百科9 天前
如何修改WordPress经典编辑器的默认高度?
编辑器·wordpress·wordpress教程
wodrpress资源分享10 天前
卖三蹦子的wordpress模板
wordpress
伊玛目的门徒12 天前
WordPress网站添加嵌入B站视频,自适应屏幕大小,取消自动播放
wordpress·b站·网站·嵌入视频