给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>
相关推荐
WordPress学习笔记6 小时前
镌刻中式美学的高端WordPress主题
大数据·人工智能·wordpress
北漂的老猿11 小时前
SEO&网络营销服务WordPress主题
wordpress
WordPress学习笔记12 小时前
WordPress多语言外贸独立站
wordpress·wordpress多语言·wordpress独立站
北漂的老猿18 小时前
响应式金融企业网站WordPress主题
金融·wordpress
syjy21 天前
WooCommerce Variation Swatches Pro WordPress插件使用教程(含下载)
wordpress·wordpress插件
WordPress学习笔记2 天前
模板业(mobanye)各行各业的网站模板
wordpress
syjy22 天前
(含下载)All in One SEO Pack Pro WordPress插件使用教程
wordpress·wordpress插件
syjy24 天前
WP Smush Pro WordPress插件使用教程(含下载)
wordpress·wordpress插件
代龙涛4 天前
WordPress archive.php 分类与归档页面开发指南
开发语言·后端·php·wordpress
WordPress学习笔记4 天前
Grace主题(Grace Theme):高端原创设计 优雅大气的WordPress主题
wordpress