设置自定义域后的Google AppEngine SEO

时间:2015-02-10 12:27:47

标签: google-app-engine

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

3 个答案:

答案 0 :(得分:2)

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

您可能还会考虑根据请求的域提供不同的robots.xml - 旧的子域名服务于" Disallow:/"为了防止对其进行索引,但这并不一定意味着新域名将在Google中列出,而不是在相同的搜索中,至少在一段时间过去之后。

答案 1 :(得分:1)

  1. 确保您使用301 redirect code.appspot.com个请求重定向到新域名。

  2. 您还可以使用Google网站管理员" Change of address"工具

答案 2 :(得分:0)

只需在MIDDLEWARE_CLASSES

settings.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'])

注意:无法使用此处理静态文件。