本文作者:admin | 2024-05-23 |
wordpress 标题一般会用到 bloginfo('name') 和 wp_title() 两部分, 前者是博客名称, 后者是文章标题 (如果标题不存在则不显示). 经典主题和默认主题输出标题用的代码如下.
<?php wp_title('«', true, 'right'); ?> <?php bloginfo('name'); ?>
输出的标题结构是 文章标题 » 博客名称.
除非你的标题和文章内容相关度比较高, 否则这样的标题对 seo 显然是不好的. 标题是爬虫认为重要的内容之一, 如果标题中包含了与文章内容无关的信息, 多少会对该页面有所影响.
那应该怎么弄呢? 我们可以对不同类型的页面进行区分, 我的实现代码如下.
<?php<br>// 如果是首页和文章列表页面, 显示博客标题<br>if(is_front_page() || is_home()) {<br>bloginfo('name');<br><br>// 如果是文章详细页面和独立页面, 显示文章标题<br>} else if(is_single() || is_page()) {<br>wp_title('');<br>// 如果是类目页面, 显示类目表述<br>} else if(is_category()) {<br>printf('%1$s 类目的文章存档', single_cat_title('', false));<br>// 如果是搜索页面, 显示搜索表述<br>} else if(is_search()) {<br>printf('%1$s 的搜索结果', wp_specialchars($s, 1));<br>// 如果是标签页面, 显示标签表述<br>} else if(is_tag()) {<br>printf('%1$s 标签的文章存档', single_tag_title('', false));<br>// 如果是日期页面, 显示日期范围描述<br>} else if(is_date()) {<br>$title = '';<br>if(is_day()) {<br>$title = get_the_time('y年n月j日');<br>} else if(is_year()) {<br>$title = get_the_time('y年');<br>} else {<br>$title = get_the_time('y年n月');<br>}<br>printf('%1$s的文章存档', $title);<br>// 其他页面显示博客标题<br>} else {<br>bloginfo('name');<br>}<br>?>
大家只需在header.php中找到...替换相应代码即可实现。
(转载)