当前位置:首页 > CMS教程 > WordPress > 列表

不用插件就能解决wordpress的SEO,修改functions.php加入如下代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-11-21 10:52:59 浏览: 评论:0 

不用插件就能解决wordpress的SEO,修改functions.php加入如下代码即可.

很多人使用插件对wordpress进行SEO优化,其实很多是没有必要用到的,这里为大家提供了一个通用的wordpress 页面SEO设置方法.

将以下代码放置于你主题的functions.php文件中:

  1. function basic_wp_seo() { 
  2.     global $page$paged$post
  3.     $default_keywords = 'wordpress, plugins, themes, design, dev, development, security, htaccess, apache, php, sql, html, css, jquery, javascript, tutorials'// customize 
  4.     $output = ''
  5.  
  6.     // 描述 
  7.     $seo_desc = get_post_meta($post->ID, 'mm_seo_desc', true); 
  8.     $description = get_bloginfo('description''display'); 
  9.     $pagedata = get_post($post->ID); 
  10.     if (is_singular()) { 
  11.         if (!emptyempty($seo_desc)) { 
  12.             $content = $seo_desc
  13.         } else if (!emptyempty($pagedata)) { 
  14.             $content = apply_filters('the_excerpt_rss'$pagedata->post_content); 
  15.             $content = substr(trim(strip_tags($content)), 0, 155); 
  16.             $content = preg_replace('#\n#'' '$content); 
  17.             $content = preg_replace('#\s{2,}#'' '$content); 
  18.             $content = trim($content); 
  19.         }  
  20.     } else { 
  21.         $content = $description;     
  22.     } 
  23.     $output .= '<meta name="description" content="' . esc_attr($content) . '">' . "\n"
  24.  
  25.     // 关键字 
  26.     $keys = get_post_meta($post->ID, 'mm_seo_keywords', true); 
  27.     $cats = get_the_category(); 
  28.     $tags = get_the_tags(); 
  29.     if (emptyempty($keys)) { 
  30.         if (!emptyempty($cats)) foreach($cats as $cat$keys .= $cat->name . ', '
  31.         if (!emptyempty($tags)) foreach($tags as $tag$keys .= $tag->name . ', '
  32.         $keys .= $default_keywords
  33.     } 
  34.     $output .= "\t\t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "\n"
  35.  
  36.     // robots设置 
  37.     if (is_category() || is_tag()) { 
  38.         $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
  39.         if ($paged > 1) { 
  40.             $output .=  "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n"
  41.         } else { 
  42.             $output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n"
  43.         } 
  44.     } else if (is_home() || is_singular()) { 
  45.         $output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n"
  46.     } else { 
  47.         $output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n"
  48.     } 
  49.  
  50.     // 标题 
  51.     $title_custom = get_post_meta($post->ID, 'mm_seo_title', true); 
  52.     $url = ltrim(esc_url($_SERVER['REQUEST_URI']), '/'); 
  53.     $name = get_bloginfo('name''display'); 
  54.     $title = trim(wp_title('', false)); 
  55.     $cat = single_cat_title('', false); 
  56.     $tag = single_tag_title('', false); 
  57.     $search = get_search_query(); 
  58.  
  59.     if (!emptyempty($title_custom)) $title = $title_custom
  60.     if ($paged >= 2 || $page >= 2) $page_number = ' | ' . sprintf('Page %s', max($paged$page)); 
  61.     else $page_number = ''
  62.  
  63.     if (is_home() || is_front_page()) $seo_title = $name . ' | ' . $description
  64.     elseif (is_singular())            $seo_title = $title . ' | ' . $name
  65.     elseif (is_tag())                 $seo_title = 'Tag Archive: ' . $tag . ' | ' . $name
  66.     elseif (is_category())            $seo_title = 'Category Archive: ' . $cat . ' | ' . $name
  67.     elseif (is_archive())             $seo_title = 'Archive: ' . $title . ' | ' . $name
  68.     elseif (is_search())              $seo_title = 'Search: ' . $search . ' | ' . $name
  69.     elseif (is_404())                 $seo_title = '404 - Not Found: ' . $url . ' | ' . $name;//开源软件:phpfensi.com 
  70.     else                              $seo_title = $name . ' | ' . $description
  71.  
  72.     $output .= "\t\t" . '<title>' . esc_attr($seo_title . $page_number) . '</title>' . "\n"
  73.  
  74.     return $output

以上方法包含了标题、关键字、描述、robots设置,你在需要使用的页面添加以上函数.

以上函数可以在:主页、文章页、标签页、分类页、归档页、搜索页、404页面使用,如果你需要其他页面,可以修改以上代码实现.

  1. <?php echo basic_wp_seo(); ?>

Tags: wpseo wordpress优化

分享到: