搜外网>搜外问答>问答页面

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

请问有大神知道怎么解决吗?

追加问题
    21 人参与回答
最佳回答
秒鲨号赵乐高 等 2 人赞同该回答

如果你的网站不需要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功能没有必要用!

一会我也去瞅瞅

接入支付
接入支付 · 个人网站接入收付款功能

写个Robots

一会我也去瞅瞅 我也用的WP

不抓feed吧。

喜欢玩手游平台
喜欢玩手游 · 喜欢玩手游平台

看的一头雾水啊 

可怜帝国CMS没蜘蛛记录

陈兵
陈兵 · 创业可咨询

或者用绝对地址,加http,或者相对路径

没试过这种

秒鲨号
秒鲨号 · 个人站长一枚!努力深耕SEO行业!

非常感谢!问题已解决!nice!

尚博思连锁管理系统
尚博思连锁 · 专业做美发、美容、养生、按摩、推拿、美甲行业收银系统

我也是用WordPress,我好想没发现

排位目录PWML.COM
排位目录P · 排位目录(pwml)网站分类目录,欢迎站长免费提交,提交就上首页,别错过哦!

写个Robots不让收录那种链接

如果你的网站不需要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功能没有必要用!

加载更多
SEO培训招生中
158