WordPress文章批量自动增减关键词反向链接

张子凡 WordPress优化 2024-07-04 20:47:37 阅读(...) 评论(0)

前面泪雪博客分享了 WordPress 标签如何实现批量自定义链接,但是想着可能还需要使用到 WordPress 标签自动内链才能完成闭环的反链建设工作,毕竟很多的 WordPress 主题和站点并没有直接展现文章标签的习惯,并且将链接做在内容中也才更有 SEO 优化的意义,所以子凡我联盟重新进行了一个增强的代码版本,结合了标签自动内链的部分代码。

WordPress links

使用以下代码就能自定义将指定的关键词文本增加链接,可以是内链也可以是外链,子凡我开发的目的就是为了增加网站外链,就像我提及到泪雪网垒阅网这两个网站就会自动的增加链接,当然还可以根据自己的需要不断的增加和删除自定义文本链接,可以是任意的关键词都行,不区分大小写都可以成功匹配。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// WordPress 文章自定义关键词链接
add_filter('the_content', 'fanly_auto_links');
function fanly_auto_links($content) {
    // 定义链接数组
    $links = array(
        '泪雪博客' => 'https://zhangzifan.com',
        '泪雪网' => 'https://leixue.com',
        '垒阅网' => 'https://leiue.com',
        // 添加其对应链接
    );
    // 保护标签内容,以免替换
    $content = preg_replace_callback('/(<(?:a|code)b[^>]*>.*?</(?:a|code)>|<imgb[^>]*/?>)/si', function($matches) {
        return '%&&&' . base64_encode($matches[0]) . '&&&%';
    }, $content);
    // 替换关键词为链接,不区分大小写
    foreach ($links as $names => $link) {
        $keywords = explode('|', $names);
        foreach ($keywords as $name) {
            // 替换内容中的标签文本为链接,不区分大小写
            $content = preg_replace('/(b' . $name . 'b)/iu', '<a href="' . $link . '" target="_blank" rel="noopener">$1</a>', $content, 1);
        }
    }
    // 恢复被保护的标签内容
    $content = preg_replace_callback('/%&&&(.*?)&&&%/si', function($matches) {
        return base64_decode($matches[1]);
    }, $content);
    return $content;
}

直接将以上代码添加到当前使用主题的 functions.php 文件合适位置即可,在 $links 数组中添加需要替换为链接的关键词文本和对应的链接就行,代码会在替换标签文本为链接之前,先保护文章内容中已有的 a、img、code 标签内的内容,如果你的网站还有其他标签内容需要保护可以看着增加,使用了正则表达式的 preg_replace_callback 函数来实现保护,在替换完成后恢复被保护的标签内容,确保文章的 HTML 结构不会被破坏。

更多关于WordPress优化及疑问可以添加QQ群:255308000

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-auto-links.html

留言评论

登录 后留言