专研WordPress,外贸B端网站建设及引流

网站收录里发现了垃圾链接怎么办?

如果哪一天你突然在Bing Webmaster或者是Google站长(Google Search Console)发现了类似下面的垃圾链接被收录了,千万别紧张,看完本文,就能避免出现这种情况。

image 4

出现原因

WordPress默认有一个搜索结果页,格式是:https://www.xxxxxx.com/search/搜索关键词

这个页面是默认的搜索结果页面,它是通过用户请求自动生成的,如果有一个正常行为的用户在网站上搜索了一个“关键词”,那就会生成这样一个页面。

在WordPress网站不论以任何“搜索词”进行搜索,它都会返回搜索结果页,唯一的区别就是是否展示搜索结果,不会给404页面出来。

这样就产生了一个漏洞:

按照这样的逻辑,任何人都可以通过这个链接生成类似的搜索结果页面。

于是乎这个漏洞就被不法分子非法利用后,就出现了上图中的情况,很多垃圾菠菜链接出现在了Bing Webmaster的收录中(就Bing傻乎乎的收录了这些垃圾页面,Google貌似聪明一些没有收录)

解决思路

为防止这种现象,只需要告诉wordpress,对所有的搜索结果页面,添加noindex meta标签,这样就可以告诉搜索引擎,不要收录这些页面。

<meta name="robots" content="follow, noindex">

具体办法

使用SEOPress插件

具体路径如下:

SEOPress > Titles & Metas > Archives > [√] Do not display search archives in search engine results (noindex)

详细路径截图

image 5
image 6
image 7

使用Rank Math插件

和seopress类似的方式设置,另外如果还需要加上nofollow,则需要添加下面的一小段代码:

add_filter( 'rank_math/frontend/robots', function( $robots ) {
	$url = home_url( $_SERVER['REQUEST_URI'] );
	if(strpos($url,"your-search-page") !== false)  {
    $robots["follow"] = 'nofollow';
	}
	return $robots;
});

使用Yoast SEO插件

如果你是用的yoast,那么恭喜你,它默认就开启了noindex

官方的说法:Yoast SEO makes sure your internal search pages are set to noindex by default. It’s one of Yoast SEO’s hidden features.

进一步添加noffow的办法:

add_filter( 'wpseo_robots', 'yoast_seo_robots_modify_search' );

function yoast_seo_robots_modify_search( $robots ) {
  if ( is_search() ) {
    return "noindex, nofollow";
  } else {
    return $robots;
  }
}