WordPress程序建的网站,蜘蛛抓取feed之后总是总是404 悬赏8元 已结束
最近分析百度蜘蛛日志的时候发现,蜘蛛在爬取feed页面的时候,抓取成功后紧接着会重新回到文章页面,不过在文章地址前面多加个域名,导致404,比如抓取的是ask.SEOwhy.com/666.html/feed,紧接着会抓取ask.SEOwhy.com/ask.seowhy.com/666.html 地址多加了一个首页域名导致404,这个是feed有问题吗?今天在搜外问答也看到有朋友反馈这个问题,地址在→https://ask.seowhy.com/question/84280
请问有大神知道怎么解决吗?
如果你的网站不需要feed功能,在发布文章后也不要在网页头部加入feed地址,可以把下面的代码添加到主题的文件里
// 删除 wp_head 输入到模板中的feed地址链接
add_action( 'wp_head', 'wpse33072_wp_head', 1 );function wpse33072_wp_head() { remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 );}
foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed ) { add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );}unset( $feed );
// 当执行 do_feed action 时重定向到首页
function wpse33072_remove_feeds() { wp_redirect( home_url(), 302 ); exit();}
// 删除feed的重定向规则
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );
function wpse33072_kill_feed_endpoint() { global $wp_rewrite; $wp_rewrite->feeds = array();
// 运行一次后,记得删除下面的代码
flush_rewrite_rules();
}
保存文件后,再把“flush_rewrite_rules();”这个代码删除,其他的代码保留即可!这样文章代码里就不带feed地址了,蜘蛛也不会去爬feed页面。
总结:这个问题不知道是不是WordPress官方feed功能的代码问题,蜘蛛在爬取feed页面后,返回文章链接,会在文章地址前多加了一个首页域名,导致404,这个对搜索引擎特别不友好,所以建议还是删除,feed功能没有必要用!
一会我也去瞅瞅
一会我也去瞅瞅 我也用的WP
不抓feed吧。
没试过这种
非常感谢!问题已解决!nice!
如果你的网站不需要feed功能,在发布文章后也不要在网页头部加入feed地址,可以把下面的代码添加到主题的文件里
// 删除 wp_head 输入到模板中的feed地址链接
add_action( 'wp_head', 'wpse33072_wp_head', 1 );function wpse33072_wp_head() { remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 );}
foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed ) { add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );}unset( $feed );
// 当执行 do_feed action 时重定向到首页
function wpse33072_remove_feeds() { wp_redirect( home_url(), 302 ); exit();}
// 删除feed的重定向规则
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );
function wpse33072_kill_feed_endpoint() { global $wp_rewrite; $wp_rewrite->feeds = array();
// 运行一次后,记得删除下面的代码
flush_rewrite_rules();
}
保存文件后,再把“flush_rewrite_rules();”这个代码删除,其他的代码保留即可!这样文章代码里就不带feed地址了,蜘蛛也不会去爬feed页面。
总结:这个问题不知道是不是WordPress官方feed功能的代码问题,蜘蛛在爬取feed页面后,返回文章链接,会在文章地址前多加了一个首页域名,导致404,这个对搜索引擎特别不友好,所以建议还是删除,feed功能没有必要用!