这是一个严肃的问题(见我的评论)。
问题很简单:Java所做的所有SEO不友好的事情是什么会使你的网站排名不如主要搜索引擎那么好?
答案 0 :(得分:1)
与JSESSIONID相关的servlet SNAFU有一个主要的默认行为。
HUGE (大写粗体)。
Google对网址中的会话ID有什么看法:
允许搜索漫游器抓取您的网站 没有会话ID或参数 跟踪他们通过网站的路径。 这些技术很有用 跟踪个人用户行为,但是 机器人的访问模式完全是 不同。使用这些技术可能 导致你的索引编制不完整 网站,因为机器人可能无法 消除看起来不同的网址 实际上指向同一页面。
他们在这里特别提到你不应该服务 用于搜索机器人的会话ID。
这只是一个引用:在几个页面上,Google警告网站管理员关于网址中的会话ID以及他们提出的无数问题以及为什么它会损害您的排名。
但是默认任何Java Webapp都会提供很长的JSESSIONID, 每次搜索机器人与您的Java网站联系时都会有所不同。
这不仅会产生数亿(!)无用的URL 在Google(和其他)搜索引擎结果中:
它使屏幕变得杂乱(不是太糟糕)
它也创造了无数的欺骗(非常糟糕)
它会让您想要在Google的搜索结果中“更换”旧内容(非常糟糕)
除此之外,坚信提供欺骗 实际上降低了您的排名,因为Google的PageRank会受到惩罚 如果你这样做的话。
对于任何相关的Webapp开发人员来说,非常 完全由SEO。
有一个解决方案:提供没有JSESSIONID的版本 谷歌机器人。但要非常小心:提供不同的页面 谷歌机器人和你的用户也会受到惩罚。
在“JSESSIONID被认为是有害的”文章中,明显了解SEO问题的作者创建了一个完全摆脱JSESSIONID的过滤器(没有cookie,没有 糖)。这有点矫枉过正,但它可能比使用默认的speceded servlet行为破坏你的pagerank更好。
这很疯狂。
答案 1 :(得分:0)
搜索引擎至少不关心Java,只关注输出HTML。您的关注点与Java错位,而是成为使用语义HTML标记的高质量内容的学生(http://en.wikipedia.org/wiki/HTML#Semantic_HTML)
如果您询问JavaScript(而不是Java),大多数搜索引擎都不会关注JavaScript。所以不要指望动态添加的HTML被索引。这也意味着,不要使用JavaScript onclick动作来替换anchor标签的href属性的基本功能。与Java类似,该建议可以追溯到质量内容的清晰语义HTML标记。