说明:部分WordPress
主题在开发时并没有过多考虑SEO
优化,如果手动设置文章关键词和描述,显然不太明智,当然了你完全可以使用插件来帮助你完成,比如All in one seo
,但是WordPress
有个原则是能用代码实现的就尽量不用插件,可避免过多的消耗资源和影响站点速度。
方法
修改主题目录下functions.php
文件,添加下面的代码,注意43
行与第44
行修改为您自己网站的关键词和描述,添加代码后会自动获取文章标签作为关键词,获取文章前200
字作为描述。
//自动关键词与描述
function meta_SEO() {
global $post;
$output = '';
if (is_single()){//如果是文章页
$keywords = '';
$description = '';
if ($post->post_excerpt) {//如果文章摘要存在就以文章摘要为描述
$description = $post->post_excerpt;
$description = str_replace("\r\n","",$description);
$description = str_replace("\n","",$description);
$description = str_replace("\"","'",$description);
$description .= '...';
} else {//如果文章摘要不存在就截断文章前200字为描述
$description = utf8Substr(strip_tags($post->post_content),0,200);
$description = str_replace("\r\n","",$description);
$description = str_replace("\n","",$description);
$description = str_replace("\"","'",$description);
$description .= '...';
}
$tags = wp_get_post_tags($post->ID);//取文章标签
foreach ($tags as $tag ) {
$keywordarray[] = $tag->name;
}
//以文章标签为关键字
$keywords = implode(',',array_unique((array)$keywordarray));
} else if (is_category()){
$description = strip_tags(trim(category_description()));
$keywords = single_cat_title('', false);
}else {//如果不是文章页、分类页
$keywords = 'WordPress,wordpress主题,wordpress插件,WordPress开发,代码,前端,建站'; //在引号间写入你博客的关键字用,断开
$description = '一个有关WordPress技巧与前端开发知识的个人博客,以分享、研究探讨WordPress技巧为主要内容,博主乃WordPress极客一枚';//在引号间写入你博客的简单描述,不要过200字
}
//输出关键字
$output .= '' . "\n";
$output .= '' . "\n";
//输出描述
echo "$output";
}
未经允许不得转载:嘟嘟 » WordPress使用代码实现自动关键词与描述
最新评论
请问下,python3 tg_username_update.py都会提示下面这个是因为什么啊 Traceback (most recent call last): File "tg_username_update.py", line 21, in <module> cake = emojize(":cake:", use_aliases=True) TypeError: emojize() got an unexpected keyword argument 'use_aliases'
不可以了
# Install [Debian] [bullseye] [amd64] Downloading... grep: (standard input): binary file matches Error! grub.cfg. root@RRR2:~#
博主你好,请问cloudfront 上传收费这个是事实吧,已经找了几个贴子确认了。 那有什么好办法能够避开这个收费呢?如果不能避开感觉还是cloudflare 比较稳。
来看看
第5步添加自定义主机名进去后等txt验证提示custom hostname does not name to this zone
那没事了,我静态博客。谢谢
为什么缓存键和源请求那里不设置缓存?