【问题标题】:Google AppEngine SEO after setting up custom domain设置自定义域后的 Google AppEngine SEO
【发布时间】:2015-02-10 12:27:47
【问题描述】:

我有一个简单的网站https://karra-asynk.appspot.com,它已经运行了很多年。最近我购买了一个域http://asynk.io/ 并将其设置为指向我的appengine 应用程序。问题是当我搜索“asynk”或任何相关关键字时,谷歌只在搜索结果中显示 apppot 网址。无论如何,我可以将所有这些指向我的自定义域?

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    您可以为请求的域添加检查,如果它是 appspot 子域,则重定向到新域下的相同路径。之后,您只需要等待。更新 Google 索引需要时间,并且取决于指向您网站的链接数量(Google 知道),因此如果您的网站列在您可以控制的位置 - 请更新指向新域的链接。

    您也可以考虑根据请求的域提供不同的 robots.xml - 对于旧的子域,使用“Disallow: /”提供它以防止对其编制索引,但这并不一定意味着新域将在谷歌而不是相同的搜索,至少要等到一段时间过去。

    【讨论】:

    • 在 appengine 应用程序中如何检查请求的域?
    • 如果从请求 URL 中提取。
    • 这适用于动态控制器。但是静态路由不能这样处理。这部分问题对我来说仍未解决
    【解决方案2】:
    1. 确保您使用301 redirect code 将您的.appspot.com 请求重定向到您的新域。

    2. 您也可以使用谷歌站长的“Change of address”工具。

    【讨论】:

    • 地址更改工具仅适用于根级域。另请注意,我的应用程序是相同的。我只有两个域名——都指向同一个应用程序。我想“淘汰”appspot 名称。是不是更清楚了?
    • 您是否通过 301 重定向代码从您的 apppot 域设置了转发(如果主机名包含您的 apppot url,您必须检查每个传入的请求)?一旦你这样做了,一切都应该工作,尽管没有任何明确的信息表明谷歌机器人需要多长时间来重新索引你的页面和更新结果(即可能需要几天甚至几周)。
    • 301 重定向方法不适用于静态页面
    【解决方案3】:

    只需在MIDDLEWARE_CLASSESsettings.py 顶部添加中间件

    就我而言

    MIDDLEWARE_CLASSES = {
      'myapp.models.WWWRedirectMiddleware',
    }
    

    models.py

    from django.http import HttpResponsePermanentRedirect //Permanent Redirect status - 301 
    
    class WWWRedirectMiddleware(object):
        def process_request(self, request):
            if request.META['HTTP_HOST'].endswith('appspot.com'):
                logging.info('---Redirecting to domain.com----')
                return HttpResponsePermanentRedirect('http://domain.com' + request.META['PATH_INFO'])
    

    注意:不能使用this处理静态文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多