AJAX加载和SEO优化
前言
搜索引擎是不执行JavaScript
的, 换言之, 搜索引擎和AJAX
加载数据是水火不容的。
不过听说谷歌的搜索引擎可以执行AJAX
, 不愧是谷人希。
解决方案
既然搜索引擎不能爬到AJAX
数据, 那么只要将数据写到JSP
中就可以了。
但是这样就失去了AJAX
局部加载的功能。
搜索引擎是爬取链接的, 那么只要以下形式加载数据, 就可以兼顾搜索引擎和AJAX
了。
1 | <!-- http://localhost:8080/blog-1 --> |
在点击<a>
标签的时候, 会执行以下顺序
- 执行
onclick()
函数 - 执行
ajaxBlog()
函数加载下一页的博客 onclick()
函数return false
拦截点击事件href
链接跳转被拦截, 不执行
数据加载就解决了, 但是又有个问题, 这个<a>
标签也必须写在JSP
中, 不能通过JavaScript
生成, 因为搜索引擎不爬取JavaScript
。
也就是说, 这个<a>
标签, 分页器, 需要在Java
代码拼接Html
分页器。
分页器如下, 需要Java
代码拼接Html
, 传到JSP
中。
1 | <a href="/blog-1" onclick="ajaxBlog(1); return false;">加载第1页的blog</a> |