部分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"; }
THE END