WordPress分类目录SEO优化添加自定义标题、关键字和描述
WordPress默认的分类目录没有做SEO优化,TDK很简单的,只有标题和上下级关系,不能实现标题自定义,添加关键字和描述信息。想对分类目录做一些seo关键字优化无从下手,虽然有很多插件可以实现,但是插件安装太多,会拖垮网站速度,所以插件能不用最好不用,我们可以通过修改文件来实现。
第一步,新建seocategory.php文件,放入主题文件夹内。文件代码如下:
<?php add_action('edit_category_form_fields', 'category_function'); function category_function(){ if(isset($_GET['action']) && $_GET['action'] == 'edit') $value = get_option('cat_set_' . $_GET['tag_ID']); $title = 'cat_title'; $keywords = 'cat_keywords'; $description = 'cat_description'; ?> <table class="form-table"></table> <h2>自定义SEO信息</h2> <table class="form-table"> <tbody> <tr class="form-field"> <th scope="row" valign="top"><label for="<?php echo $title ?>">标题</label></th> <td><input name="<?php echo $title ?>" id="<?php echo $title ?>" type="text" value="<?php echo esc_attr(stripslashes($value['title'])); ?>"><p class="description">默认调用分类名称作为Head中Title信息。 </td> </tr> <tr class="form-field"> <th scope="row" valign="top"><label for="<?php echo $keywords; ?>">关键词</label></th> <td><input name="<?php echo $keywords; ?>" id="<?php echo $keywords; ?>" type="text" value="<?php echo $value['keywords']; ?>"><p class="description">多个关键词用小写逗号“,”分隔开;默认调用分类名称作为Head中KeyWords信息。 </td> </tr> <tr class="form-field"> <th scope="row" valign="top"><label for="<?php echo $description; ?>">描述</label></th> <td><textarea name="<?php echo $description; ?>" id="<?php echo $description; ?>" rows="3" cols="30"><?php echo stripslashes($value['description']); ?></textarea><p class="description">若未设置,将显示为“关于‘某某’分类下的所有文章。”作为Head中Description信息。 </td> </tr> </tbody> </table> <?php } add_action('edit_category', 'save_category_function'); function save_category_function(){ if(isset($_POST['action']) && isset($_POST['taxonomy']) && $_POST['action'] == 'editedtag' && $_POST['taxonomy'] == 'category'){ update_option('cat_set_' . $_POST['tag_ID'], array('title' => $_POST['cat_title'], 'description' => $_POST['cat_description'], 'keywords' => $_POST['cat_keywords'], 'template' => $_POST['cat_template'], 'orderby' => $_POST['cat_orderby'], 'per_page' => $_POST['cat_per_page'],)); } }; ?>
第二步,将seocategory.php引用到你主题的functions.php文件中,在functions.php里添加如下代码:
include("seocategory.php");
第三步,前台调用。后台把相关信息添加好后,就需要到模板进行调用,使用方法如下。
标题获取
if( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['title']!=''){ $title = $val['title'].' - '.get_bloginfo('name'); }else{ $title = single_cat_title('', false).' - '.get_bloginfo('name'); } }
关键字获取
if( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['keywords']!=''){ $keywords = $val['keywords']; }else{ $keywords = single_cat_title('', false); } }
描述获取
if( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['description']!=''){ $description= $val['description']; }else{ $description = $blog_name . "'" . single_cat_title('', false) . "'"; } }
当然,每个主题有不同的优化方式,上面只是介绍了获取方式,你还需要把它插入到你的主题中去,每个主题对标题,关键字,描述有不同的写法,你需要做的就是把它整合到你的主题中去,下面供您参考。
//functions.php 文件添加到wp_head(); //标题 function page_title(){ global $page, $paged; $title = ''; if(get_option('themes_fo2_seo_ht') && get_option('themes_fo2_seo_on') && ( is_home() || is_front_page())){ $title = get_option('themes_fo2_seo_ht'); } elseif ( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['title']!=''){ $title = $val['title'].' - '.get_bloginfo('name'); }else{ $title = single_cat_title('', false).' - '.get_bloginfo('name'); } }else{ $title = trim( wp_title('', false) ).' - '.get_bloginfo('name'); } // Add a page number if necessary: if ( $paged >= 2 || $page >= 2 ) $title .= ' - ' . sprintf( __( 'Page %s', 'frontopen' ), max( $paged, $page ) ); echo ""; } add_action('wp_head','page_title'); //关键字 function page_keywords() { global $s, $post; $keywords = ''; if ( is_single() ) { if ( get_the_tags( $post->ID ) ) { foreach ( get_the_tags( $post->ID ) as $key => $tag ){ $keywordsArr[$key]= $tag->name; } $keywords = implode(',',$keywordsArr); }else{ $keywords = trim( wp_title('', false) ); } //foreach ( get_the_category( $post->ID ) as $category ) $keywords .= $category->cat_name . ', '; //$keywords = substr_replace( $keywords , '' , -2); } elseif ( is_home () ) { $keywords = get_option('themes_fo2_seo_hk'); } elseif ( is_tag() ) { $keywords = single_tag_title('', false); //} elseif ( is_category() ) { $keywords = single_cat_title('', false); } elseif ( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['keywords']!=''){ $keywords = $val['keywords']; }else{ $keywords = single_cat_title('', false); } } elseif ( is_search() ) { $keywords = esc_html( $s, 1 ); } else { $keywords = trim( wp_title('', false) ); } if ( $keywords ) { echo "\n"; } } add_action('wp_head','page_keywords'); //网站描述 function page_description() { global $s, $post; $description = ''; $blog_name = get_bloginfo('name'); if ( is_singular() ) { if( !empty( $post->post_excerpt ) ) { $text = $post->post_excerpt; } else { $text = $post->post_content; } $description = trim( str_replace( array( "\r\n", "\r", "\n", " ", " "), " ", str_replace( "\"", "'", strip_tags( $text ) ) ) ); if ( !( $description ) ) $description = $blog_name . "-" . trim( wp_title('', false) ); } elseif ( is_home () ) { $description = get_option('themes_fo2_seo_hd'); } elseif ( is_tag() ) { $description = $blog_name . "'" . single_tag_title('', false) . "'"; //} elseif ( is_category() ) { $description = $blog_name . "'" . single_cat_title('', false) . "'"; } elseif ( is_category() ) { $cat_id = get_query_var('cat'); $val = get_option("cat_set_$cat_id"); if(!Empty($val) && $val['description']!=''){ $description = $val['description']; }else{ $description = $blog_name . "'" . single_cat_title('', false) . "'"; } } elseif ( is_archive() ) { $description = $blog_name . "'" . trim( wp_title('', false) ) . "'"; } elseif ( is_search() ) { $description = $blog_name . ": '" . esc_html( $s, 1 ) . "' 的搜索結果"; } else { $description = $blog_name . "'" . trim( wp_title('', false) ) . "'"; } $description = mb_substr( $description, 0, 220, 'utf-8' ); echo "\n"; } add_action('wp_head','page_description');
以上就是为WordPress分类目录做SEO优化,添加自定义标题、关键字和描述信息的一个方法。
- wordpress的post.php任意文件删除漏洞临时修复方法
- WordPress发布文章后实时自动进行百度主动推送
- WordPress自动重命名媒体库图片文件名
- WordPress免插件自动更新sitemap.xml站点地图
- WordPress通过标签添加相关文章功能
- WordPress禁止HTTP_USER_AGENT恶意采集与攻击
- WordPress压缩html代码提升网页加载速度
- WordPress修改评论区模板Cookies提示文字并设置默认勾选状态
- 修改WordPress默认字体为微软雅黑
- WordPress头部代码优化:去除window._wpemojiSettings代码
本文标题:《WordPress分类目录SEO优化添加自定义标题、关键字和描述》
网址:https://zhangwenbao.com/wordpress-categories-seo-add-custom-titles-keywords-descriptions.html