SEO优化
来源:互联网 发布:Java建立图书类 编辑:程序博客网 时间:2024/05/03 20:17
在网站开发优化过程中避免不了要使用SEO优化,一般会生成sitemap.xml文件供搜索引擎抓取。
如何生成sitemap.xml文件呢。
1.一般我们把需要放到sitemap.xml文件中的数据分类生成,比如说一个网站中的文章,活动,产品,这时候我们要分类生成sitemap.xml文件,因此我们先生成一个sitemapindex.xml文件,存放分类生成的sitemap.xml文件的地址
例如:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://localhost:8080/shopxx/sitemap/0.xml</loc>
</sitemap>
</sitemapindex>
2.一般一个sitemap.xml文件中存放的条数不能超过40000,所以要获取某一个分类的总的数量。例如。先获取文章的总的数量,判断生成几个sitemap.xml文件。然后把对应的sitemap.xml文件存放的地址写入到sitemapindex.xml文件中去
3.分别生成对应的sitemap.xml文件。然后把数据写入到sitemap.xml文件中去。
4.分类生成的sitemap.xml文件如果比较大,可以生成sitemap.xml.gz文件也是可以的。具体看每个分类生的文件的大小
生成sitemap.xml文件以及写入数据
OutputFormat format = OutputFormat.createPrettyPrint();//格式化生成xml文件
XMLWriter writer = new XMLWriter(new FileWriter(siteMap), format);//生成sitemap.xml文件
Document doc = this.createSiteMap(list);//先把数据放入一个doc中
writer.write(doc);//写入xml文件中
writer.close();//关闭writer
//如实需要压缩sitemap.xml文件。可以接着写
this.compressFile(new File(siteMap), true);
写入数据:
private Document createSiteMap(List<SeoVO> list) {
Document doc = DocumentHelper.createDocument();
// 添加根节点
Element urlset = doc.addElement("urlset",
"http://www.sitemaps.org/schemas/sitemap/0.9");
// 添加文章的sitemap文件链接
for (int i = 0; i < list.size(); i++) {
Element url = urlset.addElement("url");
Element loc = url.addElement("loc");
loc.addText(list.get(i).getLoc());
Element lastmod = url.addElement("lastmod");
lastmod.addText(list.get(i).getLastmod());
Element changefreq = url.addElement("changefreq");
changefreq.addText(list.get(i).getChangefreq());
Element priority = url.addElement("priority");
priority.addText(list.get(i).getPriority());
}
return doc;
}
生成sitemap.xml.gz的方法
//读取sitemap.xml文件生成File
File file = new File(”sitemap.xml“);
private void compressFile(File file, boolean delete) throws Exception{
//delete表示生成压缩文件以后,删掉原文件
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(file.getPath() + SUFFIX);
this.compress(fis, fos);
fis.close();
fos.flush();
fos.close();
if (delete) {
file.delete();
}
}
private void compress(InputStream is, OutputStream os)
throws Exception {
GZIPOutputStream gos = new GZIPOutputStream(os);
int count;
byte data[] = new byte[BUFFER];
while ((count = is.read(data, 0, BUFFER)) != -1) {
gos.write(data, 0, count);
}
gos.finish();
gos.flush();
gos.close();
}
}
- SEO:SEO优化总结
- SEO 优化
- SEO优化
- SEO 优化
- SEO 优化
- seo优化
- SEO 优化
- seo优化
- seo优化
- SEO 优化
- SEO优化
- seo 优化
- SEO优化
- SEO优化
- SEO优化
- seo优化
- seo优化
- SEO优化
- HDU 2896 AC自动机
- JSTL简单教程--JSTL核心标签(JSTL Tutorial with Examples – JSTL Core Tags)
- 内核 API,第 2 部分:可延迟函数、内核微线程以及工作队列
- Android eclipse SVN使用详解
- 切勿妄谈Hadoop,以及4个数据管道打造实践
- SEO优化
- MVC DropDownListFor 的使用和无限级分类的展示
- 站长该如何做外链
- spoj 375 Query on a tree(树链剖分)
- 菜鸟SEOer谈:你真的懂提高用户体验吗
- vector使用
- php_遍历目录_返回文件数组
- 清理 zabbix 历史数据, 缩减 mysql 空间
- Java byte[] 转String