最近整WordPress,进入插件总是出现Http 500。在排查了插件之后,发现是All in one SEO Pack造成的。更新到新的版本之后问题依旧,于是将其删之,网上找了代码替换,留之存档!
手动优化Wordpress关键字及描述,网上的代码一般都是通过修改主题中header.php文件来实现的,一般在<meta http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8">或
<meta http-equiv=”Content-Type” content=”<?php bloginfo(‘html_type’); ?>; charset=<?php bloginfo(‘charset’); ?>” />后添加代码。
代码一:
<title><?php wp_title(‘-‘, true, ‘right’); ?>网站名称</title>
<?php
$keywords = $description = “”;
if (is_home())
{
$description = “网站描述“;
$keywords = “网站关键字“;
}
elseif (is_single())
{
$description = $post->post_excerpt ;
if(!$description)
{
$description = $post->post_title ;
}
else
{
$description = preg_replace(“/\s\s+/”, “”, $description);
}
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag )
{
$keywords = $keywords . $tag->name . “,”;
}
$keywords = substr($keywords,0,-1);
}
?>
<meta name=”keywords” content=”<?php echo $keywords;?>” />
<meta name=”description” content=”<?php echo $description; ?>” />
代码二:
<?php if
(is_home() || is_archive() || is_tag() ) { ?>
<meta name="keywords"
content=
"网站关键字"
/>
<meta name="description"
content="网站描述"/>
<?php } ?>
<?php
if
( is_single()) { ?>
<meta name=
"keywords"
content=
"<?php $key="
keywords
"; echo get_post_meta($post->ID, $key, true); ?>"
/>
<meta name=
"description"
content=
"<?php $key="
description
"; echo get_post_meta($post->ID, $key, true); ?>"
/>
<?php } ?>
在代码一中,关键字是通过获取文章标签自动生成的,如果想让文章关键字与文章标签区分,可以用代码二然后在添加文章的自定义字段中添加2个新的字段description和keywords,在文章发布前在自定义字段keywords中添加关键字或是修改之前发布文章的关键字,都与文章标签区分。当然description自定义字段就是文章的描述啦,另外keywords字段有多个关键字时候记得用英文逗号隔开。
本来是想在代码一的基础上添加代码二中关键字与标签区分的实现,尽少地使用php函数,因为html代码效率是最高的。但由于能力有限,对php的语法的理解基本上还是0,且罢!
这个方法好,我的关键字和描述就是这样弄的。当时请老七帮忙给的代码~
meta越来越不重要了 但是还是要优化一下
这个我试过了,但是首页的添加的中国描述显示的是乱码,如果把编码改为UTF-8的话,其他内容页则会靠左对齐,很郁闷,请问怎么解决呢?