建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

wordpress深层seo优化技法:自定义栏目和tag标签页面title标题(wordpress媒体文件分类和标签的功能实现)

GG网络技术分享 2025-03-18 16:12 0


wordpress深层seo优化技法:自定义栏目和tag标签页面title标题

seo注重整站优化,也就是希望网站每个页面都参与进来,每个页面都有不同的title标题不重复。对于wordpress默认设置来说,这个基本上是ok的,不需要怎么折腾。但碰到一个问题是:网站栏目及标签页,承载着一些重要的关键词,如果就用栏目名和标签名本身做标题,则太短了些(当然在移动seo优先的时代,哥哥我不建议把标题写得过长)。

(如果你的网站和百度百科一样的nb,那上面这些全是废话,当我没说)

比较好的方法,就是栏目页和标签页的title标题,可以在后台自定义,你想写多就写多的,想写简洁就写简洁。我们来看一下方法(摘自互联网)。

自定义WordPress分类标题和标签标题的方法:

1、把以下代码保存成一个PHP文件,如:wa-titie.php

华哥提示:保存在你所使用的wordpress主题根目录下。

<?php

//自定义wordpress分类标题

class zm_wp_title{

function __construct(){

// 分类

add_action( \'category_add_form_fields\', array( $this, \'add_tax_title_field\' ) );

add_action( \'category_edit_form_fields\', array( $this, \'edit_tax_title_field\' ) );

add_action( \'edited_category\', array( $this, \'save_tax_meta\' ), 10, 2 );

add_action( \'create_category\', array( $this, \'save_tax_meta\' ), 10, 2 );

// 标签

add_action( \'post_tag_add_form_fields\', array( $this, \'add_tax_title_field\' ) );

add_action( \'post_tag_edit_form_fields\', array( $this, \'edit_tax_title_field\' ) );

add_action( \'edited_post_tag\', array( $this, \'save_tax_meta\' ), 10, 2 );

add_action( \'create_post_tag\', array( $this, \'save_tax_meta\' ), 10, 2 );

}

public function add_tax_title_field(){

?>

<div class=\"form-field term-title-wrap\">

<label for=\"term_meta[tax_zm_title]\">自定义标题</label>

<input type=\"text\" name=\"term_meta[tax_zm_title]\" id=\"term_meta[tax_zm_title]\" value=\"\" />

<p class=\"description\">搜索引擎优化自定义标题,不填写即为默认标题</p>

</div>

<?php

} // add_tax_title_field

public function edit_tax_title_field( $term ){

$term_id = $term->term_id;

$term_meta = get_option( \"zm_taxonomy_$term_id\" );

$zm_title = $term_meta[\'tax_zm_title\'] ? $term_meta[\'tax_zm_title\'] : \'\';

?>

<tr class=\"form-field term-title-wrap\">

<th scope=\"row\">

<label for=\"term_meta[tax_zm_title]\">自定义标题</label>

<td>

<input type=\"text\" name=\"term_meta[tax_zm_title]\" id=\"term_meta[tax_zm_title]\" value=\"<?php echo $zm_title; ?>\" />

<p class=\"description\">搜索引擎优化自定义标题,不填写即为默认标题</p>

</td>

</th>

</tr>

<?php

} // edit_tax_title_field

public function save_tax_meta( $term_id ){

if ( isset( $_POST[\'term_meta\'] ) ) {

$t_id = $term_id;

$term_meta = array();

$term_meta[\'tax_zm_title\'] = isset ( $_POST[\'term_meta\'][\'tax_zm_title\'] ) ? $_POST[\'term_meta\'][\'tax_zm_title\'] : \'\';

update_option( \"zm_taxonomy_$t_id\", $term_meta );

} // if isset( $_POST[\'term_meta\'] )

} // save_tax_meta

} // zm_wp_title

$wptt_tax_title = new zm_wp_title();

function the_zm_title() {

$category = get_the_category();

$term_id = $category[0]->cat_ID;

$term_meta = get_option( \"zm_taxonomy_$term_id\" );

$tax_zm_title = $term_meta[\'tax_zm_title\'] ? $term_meta[\'tax_zm_title\'] : \'\';

echo $tax_zm_title;

}

function get_current_tag_id() {

$current_tag = single_tag_title(\'\', false);

$tags = get_tags();

foreach($tags as $tag) {

if($tag->name == $current_tag) return $tag->term_id;

}

}

function zm_tag_title() {

$term_id = get_current_tag_id();

$term_meta = get_option( \"zm_taxonomy_$term_id\" );

$zm_tag_title = $term_meta[\'tax_zm_title\'] ? $term_meta[\'tax_zm_title\'] : \'\';

echo $zm_tag_title;

}

?>

2、把 wa-title.php 文件引入到主题主函数functions.php中,复制以下代码即可。

//自定义标题

require get_template_directory() . \'/wa-title.php\';

华哥提示:此处的文件名一定要检查,是否与保存的同名哦〜

完成后,分类编辑里已经出现自定义标题的选项框,下面我们做的就是前台调用。

3、以下代码放到自定义 Title 中 ,这个具体需要根据主题情况

(个别主题title是有个人习惯和集成规则的,如果是一个已经运行了一段时间的网站进行这样的调整,是对seo有影响了,相当于重新调整了整站的tdk规则,所以请慎重使用)。

分类标题:

<?php if ( is_category() ) { ?><title><?php $title = the_zm_title(); echo ($title) ? \'\'.$title.\'\' : single_cat_title(); ?> - <?php bloginfo(\'name\'); ?></title><?php } ?>

标签标题:

<?php if ( is_tag() ) { ?><title><?php $title = zm_tag_title(); echo ($title) ? \'\'.$title.\'\' : single_tag_title(\"\", true); ?> - <?php bloginfo(\'name\'); ?></title><?php } ?>

在以上的测试使用中,基本代码都没有问题,一切功能正常。不过华哥所用wordpress 主题的标题规则,全是写在header.php一个文件中,不得已,还做了一些调整。如下:

<?php if ( is_category() ) { ?><title><?php $title = the_zm_title(); echo ($title) ? \'\'.$title.\'\' : single_cat_title(); ?> - <?php bloginfo(\'name\'); ?></title><?php } ?>

<?php if ( is_tag() ) { ?><title><?php $title = zm_tag_title(); echo ($title) ? \'\'.$title.\'\' : single_tag_title(\"\", true); ?> - <?php bloginfo(\'name\'); ?></title><?php } ?>

<?php if (is_single() || is_page() || is_home() ){?><title><?php echo _title(); ?></title><?php } ?>

以上代码可能逻辑性不太强,特别是最后一行,原来主题的标题只有一行代码:<title><?php echo _title(); ?></title>,现在不得不将其放入判断逻辑中,要不,首页的标题(在后台主题中进行设置)就没有了。

感觉虽然怪怪的,可是它解决了问题,可参见、查看以下链接的页面标题:

首页:http://www.leruhu.com/

栏目页:http://www.leruhu.com/luohu

标签页:http://www.leruhu.com/tag/sz

有用,是为记。

wordpress媒体文件分类和标签的功能实现

wordpress默认的媒体文件是没有分类和标签功能的,所有文章的媒体文件都混在一起。

如果要实现媒体文件分类和标签的功能,需要在主题函数functions.php中添加php代码:

functionludou_create_media_category(){

$args=array(

'label'=>'媒体分类',

'hierarchical'=>true,

'show_admin_column'=>true,

'show_ui'=>true,

'query_var'=>true,

'rewrite'=>true,

);

register_taxonomy('attachment_category','attachment',$args);}add_action('init','ludou_create_media_category');

如果用这个插件:Media Library Categories,也可以实现批量修改媒体文件的分类。

标签:

提交需求或反馈

Demand feedback