seo工具

Sitemaps定义:

Google、雅虎、和微软都支持一个被称为xml网站地图(xml Sitemaps)的协议,而百度Sitemap是指百度支持的收录标准,在原有协议上做出了扩展。百度sitemap的作用是通过Sitemap告诉百度蜘蛛全面的站点链接,优化自己的网站。百度Sitemap分为三种格式:txt文本格式、xml格式、Sitemap索引格式。


具体实现,请查看代码注释:

        /**使用本工具请加载jar包org.dom4j
        * 使用方法请看main方法
        * sitemap文件例子可看:
        * https://www.zulily.com/sitemap.xml
        */
        public  class SitemapUtil {
    
        //xml文件头xmlns属性值:例
        private static String xmlns ="http://www.sitemaps.org/schemas/sitemap/0.9";
        //存放文件路径:可为/aaa/bbb/等,最后位必须带/符号
        private static final String filePath="E:/aa/";
        //private static final String filePath=System.getenv("SITE_MAP_PATH");//可通过环境变量拿
        //生成xml文件的编码
        private static final String encode="gbk";
    
        //以上值可按情况修改
    
        //用于记录子sitemap文件名,最后用于生成主sitemap文件
        private static ArrayList childSitemaps=new ArrayList();
        //先声明节点
        private static Element urlElement;
        private static Element locElement;
        private static Element freqElement;
        private static Element priElement;
    
        /**
         * 使用示例
         * @param args
         */
        public static void main(String[] args){

        //初始化document,并赋予带namespace的根节点
        Document document=new DefaultDocument();
        //xmlns即命名空间
        Element root=document.addElement("urlset",xmlns);
        document.setRootElement(root);

        //写入n个子sitemap文件的示例========================
        boolean isOk=false;
        for (int i=1;i<20;i++) {
            //构建document
            for (int j = 0; j < 50000; j++) {
                createChildDom(root, "https://www.scut.edu.cn/new/gasdvgaswcsfes" + j, "weekly", "0.9");
            }
            //写入文件
             isOk =   SitemapUtil.createChoildSitemap(document, "sitemap-child-"+i+".xml");
            if (!isOk){
                //生成出错
            }
        }
        //=====================================================

       //写入主sitemap
        isOk= SitemapUtil.createMainSitemap();
        if (!isOk){
            //生成出错
        }

    }


    /**
     * 创建主sitemap文件,该方法应该在生成所有子sitemap文件调用。
     */
    public static   boolean  createMainSitemap(){
       Document document=new DefaultDocument();
        Element root=document.addElement("sitemapindex",xmlns);
       for (int i=0;i
     * https://www.zulily.com/baby-boy-outerwear
     * daily 值只能为always, hourly, daily, weekly, monthly, yearly及never
     * 0.4数值为0到1.0,最高为1.0,一般首页的priority最高为1.0
     * 
     * @param root
     * @param url
     * @param changefreq
     * @param priority
     */
    private  static void createChildDom(Element root,String url,String changefreq ,String priority){
        urlElement=root.addElement("url");
        locElement=urlElement.addElement("loc");
        freqElement=urlElement.addElement("changefreq");
        priElement=urlElement.addElement("priority");
        locElement.setText(url);
        freqElement.setText(changefreq);
        priElement.setText(priority);
    }

    //递归创建目录
    private static void recursionMkDir(File file) {
        if (file.getParentFile().exists()) {
            file.mkdir();
        } else {
            recursionMkDir(file.getParentFile());
            file.mkdir();
        }
    }

}

0     1    2     3    4     5    6     7    8     9    10     11    12     13    14     15    16     17    
18     19    20     21    22     23    24     25    26     27    28     29    30     31    32     33    34     35    
36     37    38     39    40     41    42     43    44     45    

Coding Blog     Github Blog

你可能感兴趣的:(seo工具)