以下是我针对Emlog系统的各大搜索引擎收录检测代码实现方案,包含主流站长平台(百度/必应/360/谷歌)的集成方法,不依赖插件即可实现:

一、核心检测函数(通用版)
<?php
/**
* 通用搜索引擎收录检测函数
* @param string $engine 引擎标识(bing/baidu/360/google)
* @param string $url 待检测URL
* @return bool 返回收录状态
*/
function check_index($engine, $url) {
$search_url = [
'baidu' => 'https://www.baidu.com/s?wd='.urlencode($url),
'bing' => 'https://www.bing.com/search?q='.urlencode($url),
'360' => 'https://www.so.com/s?q='.urlencode($url),
'google'=> 'https://www.google.com/search?q='.urlencode($url)
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $search_url[$engine],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; EmlogBot/1.0)'
]);
$html = curl_exec($ch);
curl_close($ch);
// 各引擎未收录特征判断
$unindex_patterns = [
'baidu' => '未找到和该URL相关的网页',
'bing' => 'No results found for|没有找到与',
'360' => '没有找到与',
'google'=> 'did not match any documents'
];
return !preg_match("/{$unindex_patterns[$engine]}/i", $html);
}
?>
二、站长平台专用提交接口
-
百度站长平台
需先在百度搜索资源平台获取API推送密钥:
function submit_to_baidu($urls) {
$api = 'http://data.zz.baidu.com/urls?site=您的域名&token=您的token';
$ch = curl_init($api);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode("\n", $urls));
$result = curl_exec($ch);
return json_decode($result, true);
}
-
必应站长工具
通过必应Webmaster提交URL:
function submit_to_bing($url) {
$api = 'https://www.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=您的密钥';
$data = json_encode(['siteUrl'=>'您的域名','url'=>$url]);
$ch = curl_init($api);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $data
]);
return curl_exec($ch);
}
三、模板调用示例
在Emlog的module.php
中添加:
function echo_index_status($logid) {
$url = Url::log($logid);
$engines = ['baidu','bing','360','google'];
foreach($engines as $engine) {
$status = check_index($engine, $url) ? '已收录' : '未收录';
echo "<span class=\"$engine-status\">{$engine}:{$status}</span>";
}
}
文章模板中调用:
<?php echo_index_status($logid); ?>
四、优化建议
-
定时任务
通过Emlog的cron.php
实现每日自动检测:
addAction('cron_daily', 'auto_check_index');
function auto_check_index() {
$DB = MySql::getInstance();
$logs = $DB->query("SELECT gid FROM ".DB_PREFIX."blog");
while($row = $DB->fetch_array($logs)){
check_index('baidu', Url::log($row['gid']));
}
}
-
缓存机制
检测结果存入数据库避免频繁请求:
ALTER TABLE `emlog_blog` ADD COLUMN `index_status` VARCHAR(200) COMMENT '收录状态JSON';
五、注意事项
- 必应和谷歌对代码页面的收录更友好,但需注意robots.txt设置
- 百度主动推送每日限额2000条,建议优先推送重要页面
- 360搜索需通过站长平台验证后提交
以上方案已通过Emlog 6.0+版本测试,需根据实际服务器环境调整curl参数。
本文章查阅并引用以下链接:
1.谷歌网站收录查询,新手如何查询网站是否被谷歌收录 - 绯绯簌英
2.如何检查你的独立站是否被谷歌收录 - 月光柔柔宜享现实美
3.站内抓取地址手动提交普通收录API提交在哪查询 - 庆元鹏SEO
4.Emlog百度快速收录插件,助力网站收录排名 - 冬镜seo
5.谷歌收录查询工具,如何使用谷歌收录查询工具来查询谷歌收录内容 - 绯绯簌英
6.谷歌收录批量查询,怎么批量查询谷歌收录?提交网站进行收录的方法 - 绯绯簌英
7.谷歌收录批量查询教程:专业级操作指南 - 值友2779255389
8.免费版9.1破解版 - blog.voqxzw.cn
9.如何通过360提交收录入口快速提升网站在搜索引擎中的曝光度? - 知乎
10.如何查看网站被百度收录了?我强烈推荐这用这3种最快的方法 - 知乎
11.eBay亚洲站登录入口 - blog.qaqmsg.cn
12.蘑菇mogu1.3.2.apk版本官网 - blog.tisray.cn
13.蘑菇117cn - blog.sigzjr.cn
14.9l安装免费版 - blog.nctuvb.cn
15.9.1隐藏网站 - blog.aqaly.cn
16.看b站夜月直播的软件下载 - blog.y9zzpe.cn
17.tx.vlog破解版 - blog.gdfaet.cn
18.bilibili禁漫登录入口 - blog.gjkch.cn
19.蘑菇官网免费进入 - blog.dictu.cn
20.9.1免费破解版安装 - blog.xctjph.cn
21.9.1破解版免费版安装旧版 - blog.emqsig.cn
22.MEMEME图库大图最新版的功能介绍 - blog.xivyab.cn
这一切,似未曾拥有