!
也想出现在这里? 联系我们
广告位
当前位置:首页>技术分享>SEO优化>WordPress无插件外链转内链新窗口打开代码教程

WordPress无插件外链转内链新窗口打开代码教程

WordPress外链转内链对一个网站的seo很有帮助,说的最多的就是过多的外链会降低你的网站权重,如果你非常在意的话,可以通过插件国人开发的插件anylink,来实现,我其实一直也不在意这个事情,当我们发现权重流失时,可以试试下面的方法,免去插件的麻烦。当然代码对于首页的友情链接,文章页内自己的文章的链接是不会起作用的。下载就讲下css内连转外链样式的方法。

WordPress无插件外链转内链新窗口打开代码教程

1、原窗口打开在functions.php添加以下代码

[hidecontent type="reply" desc="隐藏内容:评论后查看"]

/**自动给文章的外部链接添加nofollow属性*/ add_filter('the_content','web589_the_content_nofollow',999);function web589_the_content_nofollow($content){preg_match_all('/href="(http.*?)"/',$content,$matches);if($matches){foreach($matches[1] as $val){if( strpos($val,home_url())===false )$content=str_replace("href=\"$val\"", "rel=\"nofollow\" href=\"" . get_bloginfo('wpurl'). "/go?url=" .base64_encode($val). "\"",$content);}}return $content;}// 自动给文章的外部链接添加nofollow属性

[/hidecontent]

2、新窗口打开并添加nofollow属性,在functions.php添加以下代码

[hidecontent type="reply" desc="隐藏内容:评论后查看"]

/*WordPress外链自动新窗口打开并添加nofollow属性*/add_filter( 'the_content', 'cn_nf_url_parse');function cn_nf_url_parse( $content ) {    $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";    if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) {        if( !empty($matches) ) {            $srcUrl = get_option('siteurl');            for ($i=0; $i < count($matches); $i++)            {                $tag = $matches[$i][0];                $tag2 = $matches[$i][0];                $url = $matches[$i][0];                $noFollow = '';                $pattern = '/target\s*=\s*"\s*_blank\s*"/';                preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);                if( count($match) < 1 )                    $noFollow .= ' target="_blank" ';                $pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';                preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);                if( count($match) < 1 ) $noFollow .= ' rel="nofollow" '; $pos = strpos($url,$srcUrl); if ($pos === false) { $tag = rtrim ($tag,'>');                    $tag .= $noFollow.'>';                    $content = str_replace($tag2,$tag,$content);                }            }        }    }    $content = str_replace(']]>', ']]>', $content);    return $content;}

[/hidecontent]

3、在网站根目录下建立go文件夹
注意是网站的根目录,不是主题的根目录。建立index.php文件,复制以下代码

[hidecontent type="reply" desc="隐藏内容:评论后查看"]

<?php/*自动跳转页面**@copyright (c) Emlog All Rights Reserved *///自定义跳转地址$cars = array(   array("qcloud",'https://curl.qcloud.com/ogHI5jPB'),   array("aliyun",'https://www.aliyun.com/minisite/goods?userCode=y7af6jip'),   );if(strlen($_SERVER['REQUEST_URI']) > 384 ||    strpos($_SERVER['REQUEST_URI'], "eval(") ||    strpos($_SERVER['REQUEST_URI'], "base64")) {        @header("HTTP/1.1 414 Request-URI Too Long");        @header("Status: 414 Request-URI Too Long");        @header("Connection: Close");        @exit;}//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好$t_url = htmlspecialchars(preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]));//此处可以自定义一些特别的外链,不需要可以删除以下5行foreach($cars as $k=>$val){    if($t_url==$val[0] ) {      $t_url =  $val[1];      $t_vip = 1;    }} //数据处理if(!empty($t_url)) {    //判断取值是否加密    if ($t_url == base64_encode(base64_decode($t_url))) {        $t_url =  base64_decode($t_url);    }    //对取值进行网址校验和判断    preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i',$t_url,$matches);if($matches){    $url=$t_url;    $title='页面加载中,请稍候...';} else {    preg_match('/\./i',$t_url,$matche);    if($matche){        $url='http://'.$t_url;        $title='页面加载中,请稍候...';    } else {        $url = 'http://'.$_SERVER['HTTP_HOST'];        $title='参数错误,正在返回首页...';    }}} else {    $title = '参数缺失,正在返回首页...';    $url = 'http://'.$_SERVER['HTTP_HOST'];}?><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width"><meta name="robots" content="noindex, nofollow" /><noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript><meta charset="UTF-8"><!--[if IE 8]><style>.ie8 .alert-circle,.ie8 .alert-footer{display:none}.ie8 .alert-box{padding-top:75px}.ie8 .alert-sec-text{top:45px}</style><![endif]--><title><?php echo $title;?></title><style>body {    margin: 0;    padding: 0;    background: #E6EAEB;    font-family: Arial, '微软雅黑', '宋体', sans-serif}.alert-box {    display: none;    position: relative;    margin: 200px auto 0;    padding: 180px 85px 22px;    border-radius: 10px 10px 0 0;    background: #FFF;    box-shadow: 5px 9px 17px rgba(102,102,102,0.75);    width: 286px;    color: #FFF;    text-align: center}.alert-box p {    margin: 0}.alert-circle {    position: absolute;    top: -50px;    left: 111px}.alert-sec-circle {    stroke-dashoffset: 0;    stroke-dasharray: 735;    transition: stroke-dashoffset 1s linear}.alert-sec-text {    position: absolute;    top: 11px;    left: 190px;    width: 76px;    color: #000;    font-size: 68px}.alert-sec-unit {    font-size: 34px}.alert-body {    margin: 35px 0}.alert-head {    color: #242424;    font-size: 28px}.alert-concent {    margin: 25px 0 14px;    color: #7B7B7B;    font-size: 18px}.alert-concent p {    line-height: 27px}.alert-btn {    display: block;    border-radius: 10px;    background-color: #4AB0F7;    height: 55px;    line-height: 55px;    width: 286px;    color: #FFF;    font-size: 20px;    text-decoration: none;    letter-spacing: 2px}.alert-btn:hover {    background-color: #6BC2FF}.alert-footer {    margin: 0 auto;    height: 42px;    width: 120px}.alert-footer-icon {    float: left}.alert-footer-text {    float: left;    border-left: 2px solid #EEE;    padding: 3px 0 0 5px;    height: 40px;    color: #0B85CC;    font-size: 12px;    text-align: left}.alert-footer-text p {    color: #7A7A7A;    font-size: 22px;    line-height: 18px}</style></head><body class="ie8" style=""><div class="main">    <div id="js-alert-box" class="alert-box" style="display:block">        <svg class="alert-circle" width="234" height="234">        <circle cx="117" cy="117" r="108" fill="#FFF" stroke="#43AEFA" stroke-width="17"></circle>        <circle id="js-sec-circle" class="alert-sec-circle" cx="117" cy="117" r="108" fill="transparent" stroke="#F4F1F1" stroke-width="18" transform="rotate(-90 117 117)"></circle>        <text class="alert-sec-unit" x="98" y="172" fill="#BDBDBD">秒</text>    </svg>        <div id="js-sec-text" class="alert-sec-text">            3        </div>        <div class="alert-body">            <div id="js-alert-head" class="alert-head">                <?php echo $title;?>            </div>            <div class="alert-concent">                <p>                    外部网站,注意安全!                </p>            </div>            <a id="js-alert-btn" class="alert-btn" href="<?php echo $url;?>">立即前往</a>        </div>        <div class="alert-footer clearfix">            <svg width="46px" height="42px" class="alert-footer-icon"><circle fill-rule="evenodd" clip-rule="evenodd" fill="#7B7B7B" stroke="#DEDFE0" stroke-width="2" stroke-miterlimit="10" cx="21.917" cy="21.25" r="17"></circle><path fill="#FFF" d="M22.907,27.83h-1.98l0.3-2.92c-0.37-0.22-0.61-0.63-0.61-1.1c0-0.71,0.58-1.29,1.3-1.29s1.3,0.58,1.3,1.29 c0,0.47-0.24,0.88-0.61,1.1L22.907,27.83z M18.327,17.51c0-1.98,1.61-3.59,3.59-3.59s3.59,1.61,3.59,3.59v2.59h-7.18V17.51z M27.687,20.1v-2.59c0-3.18-2.59-5.76-5.77-5.76s-5.76,2.58-5.76,5.76v2.59h-1.24v10.65h14V20.1H27.687z"></path><circle fill-rule="evenodd" clip-rule="evenodd" fill="#FEFEFE" cx="35.417" cy="10.75" r="6.5"></circle><polygon fill="#7B7B7B" stroke="#7B7B7B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="35.417,12.16 32.797,9.03 31.917,10.07 35.417,14.25 42.917,5.29 42.037,4.25 "></polygon></svg>            <div class="alert-footer-text">                <p>secure</p>安全加密            </div>        </div>    </div></div><script type="text/javascript">function alertSet(e) {        document.getElementById("js-alert-box").style.display = "block", document.getElementById("js-alert-head").innerHTML = e;    var t = 5,        n = document.getElementById("js-sec-circle");    document.getElementById("js-sec-text").innerHTML = t, setInterval(function() {        //禁止其他网站调用此跳转        //var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");    //if (!MyHOST.test(document.referrer)) {        // location.href="http://" + MyHOST;    //}        if (0 == t) location.href = "<?php echo $url;?>";        else {            t -= 1, document.getElementById("js-sec-text").innerHTML = t;            var e = Math.round(t / 5 * 735);            n.style.strokeDashoffset = e - 735        }    }, 970)} </script><script>alertSet("<?php echo $title;?>");</script></body></html>

[/hidecontent]

文章部分代码来自AE博客

https://www.cnzzzj.com换成你的网址。以上技术来自网络,已经测试没有问题--).

以上代码增加了跳转美化效果,代码中已经用 base64 将源链接加密,并且加上了 nofollow,但恐怕蜘蛛还是能爬行,在 Robot s 禁止所有蜘蛛爬行 /go?url 目录!

[hidecontent type="reply" desc="隐藏内容:评论后查看"]

Disallow: /go/Disallow: /go?url

[/hidecontent]

给TA打赏
共{{data.count}}人
人已打赏
SEO优化

排名精灵有用吗?seo优化中几款常见的快排软件(seo怎么优化就找超快排)

2022-10-18 14:23:37

SEO优化

SEOER在网站优化中有什么常见的问题?(seo网页的代码优化)

2022-10-18 14:24:18

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 2651636361@qq.com 或点击右侧 私信:少羽 反馈,我们将尽快处理。
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索