进行301 NGINX重定向而不丢失反向链接的正确方法

时间:2018-07-04 14:27:04

标签: redirect nginx seo http-status-code-301

我在2016年12月的Google更新中遇到了问题,丢失了99%的流量(每天20万至每天1K)。结果,我在相同的位置创建了一个新网站。现在,我的目标是将DA(域名授权)从旧域名转移到我的新域名。但是,在尝试以这种方式完成301重定向

rewrite ^ $scheme://new-domain.com$request_uri permanent;

我遇到了另一个问题。

我有很多来自WSJ,NYT,Wikipedia等的高质量反向链接,它们直接指向我旧域上的某些特定页面。如果我使用这种重定向,则这些高质量的反向链接现在会指向空白页面(404)。

我在旧域上有数千个页面,在新域上不能再创建这么多页面。

这是我的主要问题:

1)如何完成301重定向而不丢失旧的高质量反向链接? 2)是否可以将所有旧反向链接重定向到我的旧域到新域的主页?换句话说,我想将所有域权限从所有旧的反向链接重定向到新域的主页/索引页面。

我使用NGINX。

附言:我无法在Stack Overflow上找到我的问题的确切答案。

1 个答案:

答案 0 :(得分:0)

根据一些事情,您有一些选择。

旧域是否与新域托管在同一服务器上,并且所有旧文件都可以访问?如果是这样,您是否有兴趣仍然从新域或旧域继续提供这些页面,还是只希望到旧域的所有流量都落入新页面?

如果最后一个选项很简单,则只需创建两个服务器块,每个域一个。

首先是旧的,我们将摆脱您的rewrite指令,因为return更合适,并设置第一个块以将所有内容捕获到旧域并将其发送到新域:

server {
    listen       80 default_server;
    server_name  old-domain.com;
    return       301 https://new-domain.com/ # Everything to homepage, or:
    return       301 https://new-domain.com$request_uri; # This will include the full request url
}


server {
    listen       443 ssl http2;
    server_name  www.new-domain.com;
    ...
}

如果您仍然想提供旧域中的内容,您也可以这样做,这取决于您的目标。