两种方法给WordPress 增加独立的 keywords 和 description

keywordsdescription这两个对于站长来说,没啥可说的,对SEO非常好,那下面就来说说如何给WordPress 增加独立的 keywords 和 description,非插件的方法有两种,具体请参阅文章为自己的wordpress来追加哦;

第一种函数实现:

将下面代码复制到function.php文件下,更改首页描述和关键词
// FIN
add_action ( ‘wp_head’, ‘wp_keywords’ ); // 添加关键字
add_action ( ‘wp_head’, ‘wp_description’ ); // 添加页面描述

/**
+----------------------------------------------------------
* 站点关键字(https://www.laoliang.net)
+----------------------------------------------------------
* @老梁`s Blog
+----------------------------------------------------------
*/
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";
}
}


/**
+----------------------------------------------------------
* 站点描述 (https://www.laoliang.net)
+----------------------------------------------------------
* @老梁`s Blog
+----------------------------------------------------------
*/
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";
}

第二种方式:header.php的<head></head>

将以下代码添加至WordPress主题header.php的<head></head>之间,最后用UTF-8编码另存为,否则中文会乱码:

?php
$keywords = '老梁`s Blog';
$description = '老梁`s Blog';
//文章页
if (is_single()){
//自定义栏目添加关键字和描述
$single_keywords = get_post_meta($post->ID, "keywords", true);
$description = get_post_meta($post->ID, "description", true);
//如果没设置自定义关键字,将使用标签作为关键字
if($single_keywords == ""){
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag){
$single_keywords = $single_keywords.$tag->name.",";
}
//去掉关键字前后的空白
$single_keywords = rtrim($single_keywords, ', ');
}
///如果文章关键字不为空
if($single_keywords){
$keywords = $single_keywords;
}
//自定义描述如果为空,将使用文章中的100个字作为描述
if($description == ""){
if($post->post_excerpt){
$description = $post->post_excerpt;
}else{
$description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,200);
}
}
}
//页面,添加自定义栏目keywords和description(关键字和描述)。
elseif (is_page()){
$keywords = get_post_meta($post->ID, "keywords", true);
$description = get_post_meta($post->ID, "description", true);
}
//分类页,使用分类名作为关键字,分类描述作为文章描述。
elseif (is_category()){
$keywords = single_cat_title('', false);
$description = category_description();
}
//标签页,使用标签名作为关键字,标签描述作为文章描述。
elseif (is_tag()){
$keywords = single_tag_title('', false);
$description = tag_description();
}
//去掉两段空格
$keywords = trim(strip_tags($keywords));
$description = trim(strip_tags($description));
?><meta name="keywords" content="<?php echo $keywords; ?>" />
<meta name="description" content="<?php echo $description; ?>" />

以上是两种方法给WordPress 增加独立的 keywords 和 description的解说,大家可以自行根据自己的东西来调试哦;两则博主都测试过,有效;切记都要保存为UTF-8编码哈;

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

更多请关注:老梁`s Blog

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。 您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
Laoliang.Net资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
老梁`s Blog(老梁博客) » 两种方法给WordPress 增加独立的 keywords 和 description

发表评论

本站承接,网站推广(SEM,SEO),软件的安装的安装与调试,服务器的推荐以及配置,APP的开发与维护,网络或者web维护;财务软件,客户管理系统,人力资源,超市POS,医药管理,服务器安全,ecshop,金蝶,用友,管家婆;

立即查看 了解详情