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.ini 中文版
Oct 28 PHP
深入php常用函数的使用汇总
Jun 08 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
php生成图片缩略图功能示例
Feb 22 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHP时间处理类操作示例
Sep 05 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
php生成xml简单实例代码
2009/12/16 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
vue组件的写法汇总
2018/04/12 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
关于Django Models CharField 参数说明
2020/03/31 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
MADE法国:提供原创设计师家具
2018/09/18 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
竞选班干部演讲稿400字
2014/08/20 职场文书
争先创优演讲稿
2014/09/15 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
十个Python自动化常用操作,即拿即用
2021/05/10 Python
Go获取两个时区的时间差
2022/04/20 Golang