如何避免Google在GAE上为特定应用版本编制索引?

时间:2012-08-21 21:36:25

标签: google-app-engine search version robot

[使用谷歌翻译翻译,原文如下]

我在gae上部署了一个网站。此资源已购买域名,但您当然可以访问该站点并使用标准域类型app_id.appspot.com以及此版本也可以访问version_id.app_id.appspot.com。如果您输入abrakadabra.app_id.appspot.com,请使用默认版本。

所以谷歌机器人以某种方式找到我的版本1和2.对于SEO不是很有帮助:(。另外所有机器人开始更频繁地(增加负载)配额开始更快地花费。可能有人已经遇到这个问题,告诉我解决方案。


Уменяестьсайтразвернутыйнаgae。 Дляэтогоресурсаестькупленныйдомен,ноестественнонасайтможновыйтиичерезстандартныйдоменвидаapp_id.appspot.comплюскэтомутудажеможновыйтиипоversion_id.app_id.appspot.com。 Большетогоесливвестиабракадабра.app_id.appspot.comпопадаешьнадефолтовуюверсиюприложения。

Таквотгуугловыйроботкаким-тообразомнашёлмоиверсии1и2.ДляSEOэтонеоченьполезно:(。Плюсквсемуроботначалприходитьнасайтчаще(нагрузкаувеличилась)-квотытратятсябыстрее。Возможноктотоужесталкивался стакойпроблемой,подскажитерешение。

3 个答案:

答案 0 :(得分:1)

回答你的问题:

您可以在Google网站管理员工具中指定首选域。请参阅:http://support.google.com/webmasters/bin/answer.py?hl=en&safe=on&answer=44231

此外,也许您可​​以使用规范网址告诉Google(和其他搜索引擎)索引哪个版本。请参阅:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394&ctx=cb&src=cb&cbid=gh96oax614pa&cbrank=0

(请注意,StackOverflow上有类似的问题:appspot.com url shows up in google search results instead of custom domain name

答案 1 :(得分:0)

我现在的解决方案是:

public class VersionFilter implements Filter {

...

    @Override
    public void doFilter(ServletRequest request, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        String serverName = request.getServerName();

        if (serverName.contains("appspot.com") && !UserBean.isAdmin()) {
            HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
            if (request.getParameter("login") != null) {
                UserService userService = UserServiceFactory.getUserService();
                httpResponse.sendRedirect(userService.createLoginURL("/"));
            } else if (request.getParameter("logout") != null) {
                UserService userService = UserServiceFactory.getUserService();
                httpResponse.sendRedirect(userService.createLogoutURL("/"));
            } else {
                httpResponse.sendError(403);
            }
        }
        filterChain.doFilter(request, servletResponse);
    }

...     }

答案 2 :(得分:0)

最好的解决方案是在url /robots.txt上创建过滤器并发送版本主机文本,如下所示:

User-agent: *
Disallow: /* 

谷歌抓取工具不再进入版本主机! :)