如何在Angular SPA中通知GoogleBot约404页?

时间:2016-03-14 14:17:19

标签: javascript angularjs seo single-page-application googlebot

可能重复问题Best way to set up 404 pages in a angular SPA?,但我没有找到可靠的答案 我很想知道是否有办法告诉googlebot关于404页面? 有一个用于此目的的标签,称为prerender-status-code,但我没有找到Google Seo Team的任何官方文章,以确认他们尊重此元标记。
这是否足以遵循here中指定的最佳做法? 或者我应该做些什么? (也许与Google网站管理员工具有关?) 我对几个众所周知的SPA进行了研究,我注意到SoundCloud在他们的404页面上添加了一个nofollow标签,如下所示:

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

googlebot是否尊重后来由js添加的元标记?

2 个答案:

答案 0 :(得分:0)

告诉谷歌机器人这是404页面的唯一方法是发送http状态代码404。

关于prerender-status-code。看来你已经在prernder.io上阅读了它。这个元标记背后的真正想法是告诉prerender它需要向客户端抛出的页面代码是什么。因此,您可以根据js应用程序的逻辑控制是否发送404(或任何其他代码)。您可以在此处阅读更多内容https://github.com/prerender/prerender/issues/347

我希望在实施高级谷歌机器人之后,我们所有人都能深呼吸! https://webmasters.googleblog.com/2017/12/rendering-ajax-crawling-pages.html

答案 1 :(得分:0)

您可以在404组件中动态添加元标记:

import { Component } from '@angular/core';
import { Meta } from '@angular/platform-browser';

@Component({
  selector: 'app-notfound',
  templateUrl: './notfound.component.html',
  styleUrls: []
})
export class NotFoundComponent {

  constructor(private meta: Meta) {
    meta.addTag({ name: "robots", content: "noindex" });
  }

Google自己在angular.io网站上进行操作:https://github.com/angular/angular/blob/7b56daffe68c1874ece7ac3b5e252e1edfed980a/aio/src/index.html