WordPress多域名绑定实现独立配置robots.txt文件

  • 内容
  • 评论
  • 相关

关于 robots.txt文件使用的格式及注意 早在四年前子凡就曾在泪雪博客写过了,robots.txt的重要与必要性不言而喻,而在子凡前段时间的 网站SEO诊断之robots.txt文件配置误区及详细写法 也再次提及,那么这次在泪雪博客实现独立百度MIP版站点的时候,WordPress就需要在实现多域名绑定的同时,还能够实现独立的robots.txt文件配置。

随着百度对MIP项目的投入,同时也因为MIP站点页面在百度移动端搜索结果的优待,各大网站也都纷纷开始研究折腾改造并引入百度MIP,子凡就是其中一员,只是子凡主要的改造和研究对象是针对于WordPress这个开源程序而深度改造。

根据百度MIP官方的建议改造MIP的方法,最好的就是搭建独立的MIP站点,因为这样做的最大好处就是不影响原有站点。这可能也会是大家对MIP引入的最佳方式了,虽然子凡在一些讨论群里面看到有些人非常偏执的说要把自己的整站直接改为MIP版,直接忽略和无视其它搜索引擎,子凡就不评论也不否定了,因为每个人看到的不一样,就像我的泪雪博客,肯定不可能仅仅只是针对百度搜索引擎的用户,所以选择研究和开发独立的MIP站点。

同时问题也就产生了,MIP站点的内容和原站的内容是一样的,所以为了不让其它搜索引擎抓取,就需要使用robots.txt来限制搜索引擎的抓取和限制,只允许百度抓取mip,原来站点不变,而子凡这次分享的代码就是解决这个问题啦。

好了,回到今天的正题的,那就是WordPress根据不同的域名配置不同和独立的robots.txt文件吧,这个功能也是子凡在最近改造泪雪博客中所开发出来的,昨天也有人来问我要这个代码,所以这里就直接分享出来吧!

//WordPress多域名绑定独立配置robots.txt文件
//移除WordPress默认robots
add_action('robots_txt', 'Fanly_remove_robots');
function Fanly_remove_robots() {return '';}
//创建自己的robots
add_action('do_robots', 'Fanly_do_robots');
function Fanly_do_robots() {
$robots = $_SERVER['SERVER_NAME']?$_SERVER['SERVER_NAME'].'.txt':$_SERVER['HTTP_HOST'].'.txt';//定义domain.txt为robots.txt文件
if (is_readable($robots) !== false) {//判断这个文件是否存在或可读
  $content = file_get_contents($robots);//可读则优先显示文件robots.txt
  echo $content;
} else { //否者显示以下
  header( 'Content-Type: text/plain; charset=utf-8' );
  $public = get_option( 'blog_public' );
  if ( '0' == $public ) {//判断网站是否开放
   $output = "User-agent: *\n";
   $output .= "Disallow: /\n";
  } else {//开放则显示以下
   $site_url = parse_url( site_url() );
   $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : '';
   $output .= "Disallow: $path/wp-admin/\n";
   $output .= "Allow: $path/wp-admin/admin-ajax.php\n";
  }
  echo apply_filters( 'Fanly_robots_txt', $output, $public );
}
}

直接将以上代码添加到你所需要使用的主题functions.php中,然后将你WordPress站点根目录的原有robots.txt删除或改名,然后使用你的 域名.txt命名,例如:zhangzifan.com.txt 或 mip.zhangzifan.com.txt

觉得有用,欢迎打赏!
微信打赏

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注