原创

seo之新链接自动推动到搜索引擎(java实现)

作者:残城碎梦 围观群众:658 更新于 标签:seo百度seo

简介

最近在开发自己的博客,想着可以让各大搜索引擎能够尽快收录我的网站。在各大搜索引擎的站长平台都绑定了我的网站。网站验证过后发现百度、神马两个平台提供了新链接推动到搜索引擎的接口。在这里记录一下。

封装

我项目为springboot 的。发现无论是百度还是神马发现只有推送的链接是不一样的。所以我在项目中把百度和神马的链接写到了配置文件中。对推送链接到搜索引擎的post方法尽心了封装。

配置文件

searchEngine:
baidu: http://data.zz.baidu.com/urls?site=替换成你的网站域名&token=替换成你的tocken
shenma: https://data.zhanzhang.sm.cn/push?site=替换成你域名&user_name=替换成你的用户名&resource_name=mip_add&token=替换成你的token

封装链接如下

package top.jhone.blog.utils;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;


/** * 处理搜索引擎自动推送 * @author zzy * @date 2021/4/20 20:26 */
public class EnginePushUtils {
   

    private static Logger logger = LoggerFactory.getLogger(EnginePushUtils.class);


    public static String enginePush(String url,String param){
   
        if (null == url || StringUtils.isBlank(param)) {
   
            return null;
        }
        String host = "";
        try {
   
            URL hosturl = new URL(url);
            host = hosturl.getHost();
        } catch (MalformedURLException e) {
   
            logger.error("发送post请求出现异常,异常原因为:{}",e.getMessage());
            e.printStackTrace();
        }
        String result = "";
        PrintWriter out = null;
        BufferedReader in = null;
        try {
   
            //建立URL之间的连接
            URLConnection conn = new URL(url).openConnection();
            //设置通用的请求属性
            conn.setRequestProperty("Host", host);
            conn.setRequestProperty("User-Agent", "curl/7.12.1");
            conn.setRequestProperty("Content-Length", "83");
            conn.setRequestProperty("Content-Type", "text/plain");
            //发送POST请求必须设置如下两行
            conn.setDoInput(true);
            conn.setDoOutput(true);
            //获取conn对应的输出流
            out = new PrintWriter(conn.getOutputStream());
            //发送请求参数
            out.print(param.trim());
            //进行输出流的缓冲
            out.flush();
            //通过BufferedReader输入流来读取Url的响应
            in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
   
                result += line;
            }
        } catch (Exception e) {
   
            logger.error("发送post请求出现异常,异常原因为:{}",e.getMessage());
            e.printStackTrace();
        } finally {
   
            try {
   
                if (out != null) {
   
                    out.close();
                }
                if (in != null) {
   
                    in.close();
                }
            } catch (IOException ex) {
   
                ex.printStackTrace();
            }
        }
        return result;
    }

}

业务层代码

//baiduUrl shenmaUrl 都是在配置文件里读取的链接。链接获取方式在下面。
 if(getEngineSwitch()){
   
                String param = domain + "/read/"+article.getId();
                logger.info("向搜索引擎推送的链接:{}",param);
                String baiduRes = EnginePushUtils.enginePush(baiduUrl,param);
                logger.info("百度推送数据结果:{}",baiduRes);
                String shenmeRes = EnginePushUtils.enginePush(shenmaUrl,param);
                logger.info("神马推送数据结果:{}",shenmeRes);
            }

百度

百度站长平台:https://ziyuan.baidu.com/
登录到百度站长平台。绑定网站。认证网站我就不说了。进入平台后依次点击搜索服务->资源提交->普通收录->api提交。可以看到API接口以及推送示例。

 

神马

神马站长平台 :https://zhanzhang.sm.cn/
同理登录站长平台。绑定网站。认证网站的过程就不说了。按照以下步骤可以获得推动到神马的接口。
 

 

注意事项

最好可以看看接口返回示例。看看是否吧自己网站的新建的url给推动到了两大平台。


欢迎大家访问我的个人博客:zShare个人博客

加入收藏