很多人使用插件对wordpress进行SEO优化,其实很多是没有必要用到的,wordpress教程网为大家提供了一个通用的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($seo_desc)) { $content = $seo_desc; } else if (!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($keys)) { if (!empty($cats)) foreach($cats as $cat) $keys .= $cat->name . ', '; if (!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($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; 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(); ?>