不用插件就能解決wordpress的SEO,修改functions.php加入如下代碼即可.
很多人使用插件對wordpress進(jìn)行SEO優(yōu)化,其實(shí)很多是沒有必要用到的,這里為大家提供了一個(gè)通用的wordpress 頁面SEO設(shè)置方法.
將以下代碼放置于你主題的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 (!emptyempty($seo_desc)) {
- $content = $seo_desc;
- } else if (!emptyempty($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";
- // 關(guān)鍵字
- $keys = get_post_meta($post->ID, 'mm_seo_keywords', true);
- $cats = get_the_category();
- $tags = get_the_tags();
- if (emptyempty($keys)) {
- if (!emptyempty($cats)) foreach($cats as $cat) $keys .= $cat->name . ', ';
- if (!emptyempty($tags)) foreach($tags as $tag) $keys .= $tag->name . ', ';
- $keys .= $default_keywords;
- }
- $output .= "/t/t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "/n";
- // robots設(shè)置
- 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";
- }
- // 標(biāo)題
- $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 (!emptyempty($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;//開源軟件:Vevb.com
- else $seo_title = $name . ' | ' . $description;
- $output .= "/t/t" . '<title>' . esc_attr($seo_title . $page_number) . '</title>' . "/n";
- return $output;
- }
以上方法包含了標(biāo)題、關(guān)鍵字、描述、robots設(shè)置,你在需要使用的頁面添加以上函數(shù).
以上函數(shù)可以在:主頁、文章頁、標(biāo)簽頁、分類頁、歸檔頁、搜索頁、404頁面使用,如果你需要其他頁面,可以修改以上代碼實(shí)現(xiàn).
- <?php echo basic_wp_seo(); ?>
新聞熱點(diǎn)
疑難解答
圖片精選