WordPress的文章自动添加关键词及关键词的SEO优化


Posted in PHP onMarch 01, 2016

网站的关键字及网页描述关系网站对搜索引擎的友好程度,如果自己手动加显然太折腾了,那如何让wordpress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?下面就让我们来看看如何给wordpress自动添加文章描述和关键词。
在你主题的functions.php文件添加以下代码,各个代码的功能解析如下:

add_action ( 'wp_head', 'wp_keywords' ); // 添加关键字
add_action ( 'wp_head', 'wp_description' ); // 添加页面描述
 
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";
 }
}

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";
}

突出关键字在搜寻结果:

function wps_highlight_results($text){
if(is_search()){
$sr = get_query_var('s');
$keys = explode(" ",$sr);
$text = preg_replace('/('.implode('|', $keys) .')/iu', '<strong>'.$sr.'</strong>', $text);
}
return $text;
}
add_filter('the_excerpt', 'wps_highlight_results');
add_filter('the_title', 'wps_highlight_results');

使用此代码段突出显示搜索词在你的博客搜索结果the_excerpt和the_title。

PHP 相关文章推荐
十天学会php之第九天
Oct 09 PHP
新手学PHP之数据库操作详解及乱码解决!
Jan 02 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
php把数组值转换成键的方法
Jul 13 PHP
php 数据结构之链表队列
Oct 17 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 #PHP
php编程每天必学之表单验证
Mar 01 #PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 #PHP
PHP Try-catch 语句使用技巧
Feb 28 #PHP
linux下为php添加iconv模块的方法
Feb 28 #PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 #PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 #PHP
You might like
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
竞聘演讲稿范文
2014/01/12 职场文书
五型班组建设方案
2014/02/10 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
会务接待方案
2014/02/27 职场文书
师德师风个人反思
2014/04/28 职场文书
趣味运动会简讯
2015/07/20 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书