耍Q
耍出你的范儿_分享你的福利

WordPress不用插件实现关键词自动添加链接

文章页面的关键词自动添加内链,有利于SEO,方便读者查看所有相关关键词的所有文章。

建议最多替换3个重复的词!避免过度SEO。

在主题的 functions 文件中添加以下代码:

// 连接数量
$match_num_from = 1; // 一个关键字少于多少不替换
$match_num_to = 10; // 一个关键字最多替换
                    
// 连接到WordPress的模块
add_filter ( 'the_content', 'tag_link', 1 );
// 按长度排序
function tag_sort($a, $b) {
    if ($a->name == $b->name)
        return 0;
    return (strlen ( $a->name ) > strlen ( $b->name )) ? - 1 : 1;
}
// 改变标签关键字
function tag_link($content) {
    global $match_num_from, $match_num_to;
    $posttags = get_the_tags ();
    if ($posttags) {
        usort ( $posttags, "tag_sort" );
        foreach ( $posttags as $tag ) {
            $link = get_tag_link ( $tag->term_id );
            $keyword = $tag->name;
            
            // 连接代码
            $cleankeyword = stripslashes ( $keyword );
            $url = "<a href=\"$link\" title=\"" . str_replace ( '%s', addcslashes ( $cleankeyword, '$' ), __ ( 'View all posts in %s' ) ) . "\"";
            $url .= ' target="_blank"';
            $url .= ">" . addcslashes ( $cleankeyword, '$' ) . "</a>";
            $limit = rand ( $match_num_from, $match_num_to );
            
            // 不连接的代码
            $content = preg_replace ( '|(<a[^>]+>)(.*)(' . $ex_word . ')(.*)(</a[^>]*>)|U' . $case, '$1$2%&&&&&%$4$5', $content );
            $content = preg_replace ( '|(<img)(.*?)(' . $ex_word . ')(.*?)(>)|U' . $case, '$1$2%&&&&&%$4$5', $content );
            $cleankeyword = preg_quote ( $cleankeyword, '\'' );
            $regEx = '\'(?!((<.*?)|(<a.*?)))(' . $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s' . $case;
            $content = preg_replace ( $regEx, $url, $content, $limit );
            $content = str_replace ( '%&&&&&%', stripslashes ( $ex_word ), $content );
        }
    }
    return $content;
}
赞(0) 打赏
转载请注明出处:耍Q-耍出你的范儿_分享你的福利 » WordPress不用插件实现关键词自动添加链接
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏