我看到了这样的一些问题(比如this one),但没有一个问题专门解决这个问题。
因此Google now supporting SPAs和most web browsers do HTML5 pushState。
我的AngularJS(但可能是任何JS的东西)网站正在使用URL来确定API路由。然后它执行API调用,然后相应地呈现内容。
但是,现在Google将此网站标记为“被黑客入侵”,因为每个网址都会返回HTTP 200状态代码(包含example.com/get-free-viagra)。公平,但我如何归还404?或者至少告诉谷歌这是一个未找到的页面?他们似乎没有提供这些信息,我非常担心SEO。
我想到了一些想法:
window.location
重定向到正确的404页面。但是,我不确定Google是否会遵循它,并且已经不鼓励更改网址。rel="nofollow"
,但我认为这还不够。我现在正沮丧地倾向于第一种选择。
答案 0 :(得分:3)
使用window.location重定向到正确的404页面。但是,我不是 确定谷歌是否会遵循它,并且已经不鼓励改变 网址。
您的假设不正确。如果您重定向到适当的404页面(或410),谷歌将非常好。谷歌将遵循它,并将非常满意这些信息。它想知道伪造的URL,以确保它们不会被包括在他们的排名中。他们会喜欢它!
作为提醒,虽然它不是执行重定向的首选方式,但Google接受并关注具有Refresh标记并且延迟设置为0的页面,因为在某些棘手的情况下,根本没有其他方法可以执行重定向。这是Blogger页面(由Google拥有)的推荐方法。
谷歌跟随。