不用插件就能解决wordpress的SEO,修改functions.php加入如下代码
不用插件就能解决wordpress的SEO,修改functions.php加入如下代码即可.
很多人使用插件对wordpress进行SEO优化,其实很多是没有必要用到的,这里为大家提供了一个通用的wordpress 页面SEO设置方法.
将以下代码放置于你主题的functions.php文件中:
function basic_wp_seo() { global $page , $paged , $post ; $default_keywords = 'wordpress, plugins, themes, design, dev, development, security, htaccess, apache, php, sql, html, css, jquery, javascript, tutorials' ; // customize $output = '' ; // 描述 $seo_desc = get_post_meta( $post ->ID, 'mm_seo_desc' , true); $description = get_bloginfo( 'description' , 'display' ); $pagedata = get_post( $post ->ID); if (is_singular()) { if (! empty empty ( $seo_desc )) { $content = $seo_desc ; } else if (! empty empty ( $pagedata )) { $content = apply_filters( 'the_excerpt_rss' , $pagedata ->post_content); $content = substr (trim( strip_tags ( $content )), 0, 155); $content = preg_replace( '#\n#' , ' ' , $content ); $content = preg_replace( '#\s{2,}#' , ' ' , $content ); $content = trim( $content ); } } else { $content = $description ; } $output .= '<meta name="description" content="' . esc_attr( $content ) . '">' . "\n" ; // 关键字 $keys = get_post_meta( $post ->ID, 'mm_seo_keywords' , true); $cats = get_the_category(); $tags = get_the_tags(); if ( empty empty ( $keys )) { if (! empty empty ( $cats )) foreach ( $cats as $cat ) $keys .= $cat ->name . ', ' ; if (! empty empty ( $tags )) foreach ( $tags as $tag ) $keys .= $tag ->name . ', ' ; $keys .= $default_keywords ; } $output .= "\t\t" . '<meta name="keywords" content="' . esc_attr( $keys ) . '">' . "\n" ; // robots设置 if (is_category() || is_tag()) { $paged = (get_query_var( 'paged' )) ? get_query_var( 'paged' ) : 1; if ( $paged > 1) { $output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n" ; } else { $output .= "\t\t" . '<meta name="robots" content="index,follow">' . "\n" ; } } else if (is_home() || is_singular()) { $output .= "\t\t" . '<meta name="robots" content="index,follow">' . "\n" ; } else { $output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n" ; } // 标题 $title_custom = get_post_meta( $post ->ID, 'mm_seo_title' , true); $url = ltrim(esc_url( $_SERVER [ 'REQUEST_URI' ]), '/' ); $name = get_bloginfo( 'name' , 'display' ); $title = trim(wp_title( '' , false)); $cat = single_cat_title( '' , false); $tag = single_tag_title( '' , false); $search = get_search_query(); if (! empty empty ( $title_custom )) $title = $title_custom ; if ( $paged >= 2 || $page >= 2) $page_number = ' | ' . sprintf( 'Page %s' , max( $paged , $page )); else $page_number = '' ; if (is_home() || is_front_page()) $seo_title = $name . ' | ' . $description ; elseif (is_singular()) $seo_title = $title . ' | ' . $name ; elseif (is_tag()) $seo_title = 'Tag Archive: ' . $tag . ' | ' . $name ; elseif (is_category()) $seo_title = 'Category Archive: ' . $cat . ' | ' . $name ; elseif (is_archive()) $seo_title = 'Archive: ' . $title . ' | ' . $name ; elseif (is_search()) $seo_title = 'Search: ' . $search . ' | ' . $name ; elseif (is_404()) $seo_title = '404 - Not Found: ' . $url . ' | ' . $name ; //开源软件:phpfensi.com else $seo_title = $name . ' | ' . $description ; $output .= "\t\t" . '<title>' . esc_attr( $seo_title . $page_number ) . '</title>' . "\n" ; return $output ; }以上方法包含了标题、关键字、描述、robots设置,你在需要使用的页面添加以上函数.
以上函数可以在:主页、文章页、标签页、分类页、归档页、搜索页、404页面使用,如果你需要其他页面,可以修改以上代码实现.
<?php echo basic_wp_seo(); ?>查看更多关于不用插件就能解决wordpress的SEO,修改functions.php加的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did8897