-2

我在 gae 上部署了一个网站。这个资源已经购买了一个域名,当然你可以去网站和标准域名类型app_id.appspot.com 加上这个也可以去那里和version_id.app_id.appspot.com。不仅如此,如果您输入 abrakadabra.app_id.appspot.com 获取默认版本。

所以谷歌机器人不知何故找到了我的版本1和2。对于搜索引擎优化不是很有帮助:(。加上所有机器人开始更频繁地访问该站点(增加负载)配额很快用完。也许有人已经遇到过这个问题,告诉我解决方案。

4

3 回答 3

1

要回答您的问题:

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

此外,也许您可​​以使用规范 URL 来告诉 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 出现在谷歌搜索结果中,而不是自定义域名中

于 2012-08-21T22:53:28.563 回答
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);
    }

... }

于 2012-08-23T21:49:01.913 回答
0

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

User-agent: *
Disallow: /* 

谷歌爬虫不再出现在版本化主机上!:)

于 2012-09-28T13:41:44.960 回答