欢迎光临好主题官网!致力于 WordPress 企业主题定制开发及 WP外贸模板下载。

🔥WordPress技巧:自动删除文章外链,提升SEO与安全性的终极指南!

文章目录

在使用 WordPress 进行内容创作的过程中,很多站长都会遇到一个共同的问题:外链过多。无论是从 SEO 优化角度,还是网站安全、流量引导的角度来看,大量的**外部链接(外链)**都可能对你的网站产生负面影响。

那么,有没有办法在发布文章时自动清除外链,只保留内链或纯文本链接呢?本文将带你一步步实现这一功能,并分析其中的利与弊。

为什么要自动清除外链?

✅ 优化 SEO

搜索引擎会评估一个网站向外链接的数量和质量。太多无关或低质量的外链,可能被搜索引擎误判为“链接农场”,从而影响排名。

✅ 提高用户停留时间

外链容易将访问者引导到其他网站,降低了用户在你站内的浏览时间。

✅ 增强内容控制

有些作者或编辑可能无意中插入广告链接、联盟链接或含有追踪参数的外链,对网站品牌形象不利。

实现方法:自动删除外链的 WordPress 代码

以下代码将自动在文章发布或更新时,过滤掉内容中的所有外链(即非本站域名的链接),保留纯文本。

add_filter('wp_insert_post_data', 'remove_external_links_on_publish', 99, 2);

function remove_external_links_on_publish($data, $postarr) {
    if ($data['post_status'] !== 'publish' || $postarr['post_type'] !== 'post') {
        return $data;
    }

    $site_url = home_url();
    $site_host = parse_url($site_url, PHP_URL_HOST);

    libxml_use_internal_errors(true);
    $dom = new DOMDocument();
    $dom->loadHTML('<?xml encoding="utf-8" ?>' . $data['post_content']);

    $links = $dom->getElementsByTagName('a');
    $to_remove = [];

    foreach ($links as $link) {
        $href = $link->getAttribute('href');
        $link_host = parse_url($href, PHP_URL_HOST);
        if ($link_host && stripos($link_host, $site_host) === false) {
            $to_remove[] = $link;
        }
    }

    foreach ($to_remove as $link) {
        $text = $dom->createTextNode($link->nodeValue);
        $link->parentNode->replaceChild($text, $link);
    }

    $body = $dom->saveHTML();
    $body = preg_replace('/^<!DOCTYPE.+?>/', '', $body);
    $body = str_replace(['<html>', '</html>', '<body>', '</body>'], '', $body);

    $data['post_content'] = trim($body);
    return $data;
}

注意事项与风险提示

  • 如果你依赖联盟营销或内容合作方的外链,请不要启用此功能,或者确保使用白名单。
  • 本功能无法处理使用短代码或 JavaScript 生成的链接,需要额外处理。
  • 发布之前请做好文章备份,防止误删有价值的链接。

结语

自动删除 WordPress 文章中的外链,既可以提升 SEO 表现,又能增强网站的控制力。通过以上的代码和技巧,你可以轻松实现这一目标。如果你追求内容的纯净性和权威性,这无疑是一个非常实用的优化手段。

 

本文由 好主题 原创整理,致力于分享实用的 WordPress 建站知识与主题开发经验。 我们专注于提供高质量的 WordPress企业主题 资源,帮助中小企业轻松构建专业网站。 转载请注明来源,并保留原文链接,感谢您的支持与理解。

发表回复

相关文章
主题推荐
还没有账号?

会员注册

成为会员,获得更多专属优惠!

验证码: 加载中... =

已有账号?