基于 WordPress 的一个完整代码示例,用于创建一个自动生成长尾标签聚合文章内容的系统

好的!以下是基于 WordPress 的一个完整代码示例,用于创建一个自动生成长尾标签聚合文章内容的系统。这个系统会自动为每篇文章生成长尾标签,并将这些标签聚合到一个专门的页面,方便用户浏览相关内容。

一、功能概述

  1. 自动长尾标签生成:根据文章内容自动提取关键词并生成长尾标签。
  2. 标签聚合页面:创建一个聚合页面,展示带有相同标签的文章。
  3. SEO 优化:在聚合页面中优化标题、描述和关键词,提升 SEO 表现。

二、实现步骤

1. 创建自定义函数:自动提取长尾标签

在主题的 functions.php 文件中添加以下代码,用于自动提取文章中的关键词并生成长尾标签:
php复制
function generate_long_tail_tags($post_id) {
    $post = get_post($post_id);
    $content = $post->post_content;
    $content = strip_tags($content); // 去除 HTML 标签
    $content = mb_strtolower($content); // 转换为小写
    $words = explode(' ', $content); // 分割单词

    // 过滤常见停用词
    $stop_words = ['the', 'and', 'a', 'an', 'is', 'it', 'to', 'of', 'in', 'for', 'on', 'with', 'at', 'by', 'from'];
    $filtered_words = array_filter($words, function($word) use ($stop_words) {
        return !in_array($word, $stop_words) && strlen($word) > 3;
    });

    // 提取关键词
    $keywords = array_count_values($filtered_words);
    arsort($keywords); // 按出现频率排序
    $top_keywords = array_slice(array_keys($keywords), 0, 5); // 提取前 5 个关键词

    // 生成长尾标签
    $long_tail_tags = [];
    foreach ($top_keywords as $keyword) {
        $long_tail_tags[] = $keyword . ' guide';
        $long_tail_tags[] = 'best ' . $keyword;
        $long_tail_tags[] = $keyword . ' tips';
    }

    // 保存到文章的自定义字段
    update_post_meta($post_id, 'long_tail_tags', $long_tail_tags);
}

// 在文章保存时生成长尾标签
add_action('save_post', 'generate_long_tail_tags');

2. 创建标签聚合页面模板

在主题目录下创建一个名为 page-long-tail-tags.php 的文件,用于显示长尾标签聚合内容:
php复制
<?php
/**
 * Template Name: 长尾标签聚合页
 */
get_header();
?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">
        <header class="page-header">
            <h1 class="page-title">长尾标签聚合</h1>
        </header>

        <?php
        // 获取所有文章的长尾标签
        $args = [
            'posts_per_page' => -1, // 获取所有文章
            'post_type' => 'post',
            'post_status' => 'publish'
        ];
        $posts = get_posts($args);

        $tags = [];
        foreach ($posts as $post) {
            $post_tags = get_post_meta($post->ID, 'long_tail_tags', true);
            if ($post_tags) {
                foreach ($post_tags as $tag) {
                    $tags[$tag][] = $post;
                }
            }
        }

        // 显示每个标签及其对应的文章
        if ($tags) {
            foreach ($tags as $tag => $tag_posts) {
                echo '<section class="tag-section">';
                echo '<h2>' . esc_html($tag) . '</h2>';
                echo '<ul class="tag-posts">';
                foreach ($tag_posts as $post) {
                    echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
                }
                echo '</ul>';
                echo '</section>';
            }
        } else {
            echo '<p>暂无长尾标签内容。</p>';
        }
        ?>
    </main>
</div>

<?php get_footer(); ?>

3. 添加 SEO 优化代码

page-long-tail-tags.php 文件中,添加 SEO 优化代码,确保聚合页面的标题和描述包含长尾关键词:
php复制
<?php
// 设置页面标题和描述
$seo_title = '长尾标签聚合 - 优质内容推荐';
$seo_description = '探索我们的长尾标签聚合页面,找到您感兴趣的主题和优质文章。';

// 输出 SEO 标签
function custom_seo_tags() {
    global $seo_title, $seo_description;
    echo '<title>' . esc_html($seo_title) . '</title>';
    echo '<meta name="description" content="' . esc_attr($seo_description) . '">';
}
add_action('wp_head', 'custom_seo_tags');
?>

三、测试和优化

  1. 发布测试文章:发布几篇带有不同内容的文章,确保长尾标签自动生成。
  2. 访问聚合页面:访问创建的聚合页面,检查标签和文章是否正确显示。
  3. SEO 检查:使用工具(如 Google Search Console 或 Ahrefs)检查聚合页面的 SEO 表现,确保长尾关键词被正确索引。

四、注意事项

  1. 性能优化:如果文章数量较多,建议对聚合页面进行分页处理,避免加载过多内容。
  2. 样式调整:根据你的主题样式调整聚合页面的 CSS,确保页面美观且易于浏览。
  3. 关键词质量:定期检查生成的长尾标签,确保其相关性和质量。
通过以上代码,你可以实现一个自动生成长尾标签并聚合相关内容的系统,帮助提升网站的 SEO 表现和用户体验。

[自动更新内容]

  •    

    腾讯云服务器限时活动

       

    2核2G云服务器 仅需599元/3年!

        立即了解