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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
PHP 在线翻译函数代码
May 07 PHP
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
Yii实现简单分页的方法
2016/04/29 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
物理教师自荐信范文
2013/12/28 职场文书
简历中的自我评价范文
2014/02/05 职场文书
陈欧广告词
2014/03/14 职场文书
基本公共卫生服务健康教育工作方案
2014/05/22 职场文书
班级文化建设标语
2014/06/23 职场文书
毕业生工作求职信
2014/06/30 职场文书
个性与发展自我评价
2015/03/06 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
绿里奇迹观后感
2015/06/15 职场文书
入党函调证明材料
2015/06/19 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
nginx内存池源码解析
2021/11/20 Servers
golang操作rocketmq的示例代码
2022/04/06 Golang