当前位置:  编程技术>java/j2ee

写一个对搜索引擎友好的文章SEO分页类

    来源: 互联网  发布时间:2014-10-16

    本文导语:  使用jsp/php/asp等动态程序生成的页面如何对搜索引擎友好呢?你可能想使用url_rewrite。不过,最好还是让同一个网址在任意时间对应的页面内容都是一样的或者相似的。因为搜索引擎不喜欢页面内容总是在变化的网址。 一般博...

使用jsp/php/asp等动态程序生成的页面如何对搜索引擎友好呢?你可能想使用url_rewrite。不过,最好还是让同一个网址在任意时间对应的页面内容都是一样的或者相似的。因为搜索引擎不喜欢页面内容总是在变化的网址。

一般博客文章需要将新发表的文章显示在前面,所以会使用"order by id desc"类似的SQL语句来查询一页包含的多篇文章。例如下面在JAVA+MYSQL中:

public Article[] getArticleArray(int from, int size){
Article[] article = new Article[0];
String query = "SELECT * FROM blog ORDER BY DESC id LIMIT " + from + "," + size;
try{
ResultSet rs = st.executeQuery(query);
rs.last();
size = rs.getRow();
article = new Article[size];
rs.beforeFirst();
for(int i=0; rs.next(); i++){
article[i] = new Article(
rs.getInt("id"), rs.getString("time"),
rs.getString("name"), rs.getString("blog")
);
}
rs.close();
}catch(Exception e){
System.out.println(e);
}
return article;
}

这是我们的SEO分页类MySEOPager中的一个方法。如果我们想显示第一页,我们使用getArticleArray(0,10)来查询最新发表的10篇文章。

这有什么问题呢?问题是当你添加一篇文章之后,原来的所有分页都改变了。为了让getArticleArray(0,10)每一次查询显示相同的文章,应 该让getArticleArray(0,10)显示新先发表的10篇文章。我们可以这样改造我们的分页类。删除与将影响页面的内容,你删除越新的文章, 生成的页面改变越大。

public Article[] getArticleArray(int from, int size){
Article[] article = new Article[0];
String query = "SELECT * FROM blog ORDER BY id LIMIT " + from + "," + size;
try{
ResultSet rs = st.executeQuery(query);
rs.last();
size = rs.getRow();
article = new Article[size];
rs.beforeFirst();
for(int i=0; rs.next(); i++){
article[i] = new Article(
rs.getInt("id"), rs.getString("time"),
rs.getString("name"), rs.getString("blog")
);
}
rs.close();
}catch(Exception e){
System.out.println(e);
}
return article;
}

我们还需要得到数据库里到底有多少文章,所以再增加一个方法。

public int getArticleCount(){
int rowcount = 0;
String query = "SELECT COUNT(*) AS rowcount FROM ideabook";
try{
ResultSet rs = st.executeQuery(query);
if(rs.next()){
rowcount = rs.getInt("rowcount");
}
}catch(Exception e){
System.out.println(e);
}
return rowcount;
}

现在我们在JSP页面中显示最新发表的10篇文章。

int start = -1;
MySEOPager pager = new MySEOPager();
int artcount = pager.getArticleCount();
try{
Integer.parseInt(request.getParameter("start"));
}catch(Exception e){
start = artcount-10;
}
if(start > artcount - 10) start = artcount - 10;
if(start < 0) start = 0;

Article art = pager.getArticleArray(start, 10);
// do something with art here.
int previous = start + 10; // 传到上一页的start值
int next = start - 10; // 传到下一页的start值

这样,生成的页面的内容的是否改变与你是否删除了先发表的文章有关系。只要你不删除文章,showblog.jsp?start=0带有这个参数的 网址对应的页面都不改变。只要你删除的是第n篇文章,那么start


    
 
 

您可能感兴趣的文章:

  • 让Discuz使用Sphinx搜索引擎 DZwithSphinx
  • PHP搜索引擎 Yioop!
  • PHP的Web爬虫和搜索引擎 PhpDig
  • 搜索引擎 Compass
  • 互联网搜索引擎 ALTSE
  • 搜索引擎优化工具 Seo Panel
  • 嵌入式全文搜索引擎 Senna Search
  • 企业搜索引擎 Kneobase
  • 结构化数据的搜索引擎 Argos
  • 搜索引擎 luyfsearch
  • 分类搜索引擎接口 Psearch
  • 程序代码搜索引擎 Krugle
  • 搜索引擎是怎么工作的?
  • 桌面搜索引擎 Terrier
  • 搜索引擎平台 Hawk
  • 垂直搜索引擎 DDH
  • 搜索引擎 DataparkSearch
  • XML搜索引擎 XQEngine
  • 中文搜索引擎 zh-solr-se
  • 企业搜索引擎 Searchdaimon ES
  • android将搜索引擎设置为中国雅虎无法搜索问题解决方法
  • 开源互联网搜索引擎 ASPSeek
  • 文本搜索引擎 Zend Search Lucene
  • 搜索引擎 Nutch
  • 搜索引擎 Summa
  • Wordpress的搜索引擎 wp-spp
  • JavaScript 搜索引擎 lunr.js
  • 谁有关于web搜索引擎的程序?
  • JavaScript 全文搜索引擎 Fullproof
  • 迅搜全文搜索引擎 XunSearch
  • 桌面图片搜索引擎 imgSeek
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 送分:redhat linux 9.0运行天网搜索引擎TSE
  • 全文本搜索引擎 Egothor
  • Eclipse搜索引擎网页应用接口
  • 抢分:RedHat linux 9.0下如何运行天网搜索引擎
  • 代码搜索引擎 i.So.Code
  • PHP搜索引擎 SimpleSearch
  • 谁知道现在有没有Linux下的搜索引擎?
  • 谁知道现在有没有Linux下的搜索引擎??
  • SVN库搜索引擎 SupoSE
  • 实时分布式搜索引擎 Solandra
  • 图片搜索引擎 IMAGE-R3
  • 关于天网搜索引擎TSE的编译问题
  • php记录搜索引擎进网站的关键词
  • 搜索引擎 FlashDB
  • apache禁止搜索引擎收录、网络爬虫采集的配置方法
  • 后台C语言程序(搜索引擎模块) 如何和前台页面交互???
  • Redis加Node.js的全文搜索引擎 Reds
  • 基于lucene 4.3的知识图谱搜索引擎XunTa (一种用"知识点"来找人的搜人引擎)
  • MySQL全文搜索引擎 mysqlcft
  • PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3