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实现的获取URL信息的类
Jan 02 PHP
PHP中使用crypt()实现用户身份验证的代码
Sep 05 PHP
php实现图片缩放功能类
Dec 18 PHP
10个简化PHP开发的工具
Dec 25 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
php 可变函数使用小结
Jun 12 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
超级退弹代码
2008/07/07 Javascript
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
理解JS事件循环
2016/01/07 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
浅析Python的Django框架中的Memcached
2015/07/23 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
应届医学毕业生求职信分享
2013/12/02 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
村创先争优活动总结
2014/08/28 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
个人租房协议书范本
2014/09/30 职场文书
介绍信范文大全
2015/05/07 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers