301 重定向是否与更改 window.location 相同?

Is a 301 redirect the same as changing window.location?

我是一名网络开发人员,同时也从事 SEO 工作。 我想 301 将一个页面重定向到另一个页面。 这个 Google 的 301 重定向是否超出了我在下面为您写的内容?

JavaScript:

<script> 
      window.location.replace("https://example.com");
</script> 

PHP:

<?php 
    header("Location: https://example.com");
?>

这两个是301重定向吗,还是我们要在cat文件里写.htaccess,比如?

您不能使用 JavaScript 执行此操作。

但是可以使用PHP如下

<?php 
    header("Location: https://example.com", TRUE, 301);
    exit;
?>

语法header

header(header, replace, http_response_code)

将 URL 更改为 JavaScript 中的 window.location 不是 301 重定向。在服务器上生成页面后 JavaScript 运行 秒。您要更改 URL 的 JavaScript 可能会 运行 在具有 200 OK 状态的页面上。

也就是说,Google 对待 JavaScript 重定向非常类似于 301 永久重定向。在大多数情况下,Google 将选择不索引重定向 URL 并将 link juice 从它传递到重定向的目标。

另一方面,不执行 JavaScript 的客户端将看不到您的 JS 驱动的重定向。这包括 Bing、百度和 Yandex 等其他搜索引擎,以及损坏的 link 跳棋和其他 SEO 分析工具。

此外,即使对于 Google,301 重定向也是比 JavaScript 重定向更强的信号。 Google 最有可能接受与 JS 重定向、302 Temporary 重定向或元刷新相比 301 Permanent 变体的重定向。

如果您有能力和机会实现服务器端 301 Permanent 重定向,您应该这样做而不是 JS 重定向。