360搜索引擎自動收錄功能,官方提供了代碼,帶式,十分坑爹,沒有提供批量提交入口,只是提供了一段js代碼,關鍵是 一個js去下載另一個js,document.write到文檔,而後再 重複2遍如此工做。php
弱弱地問:爲何不像百度同樣提供 批量提交入口?html
難道是,靠這個自動提交功能,蒐集網站的數據,好比document.refer等數據?這個也是比較流氓了吧?app
聽說360的搜索引擎目前在中國 市場佔有率爲20%以上,不知道真假,本人是十分懷疑的!jsp
起碼本人基本只用谷歌!奈何在天朝仍是基本用百度,小白仍是太多太多的!網站
只好忍了,加360的自動收錄吧!this
因而對代碼進行一番改造!搜索引擎
官網的原始代碼以下:url
<script>(function(){
var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?970506d365e969bd0e92a2611c18678e":"https://jspassport.ssl.qhimg.com/11.0.1.js?970506d365e969bd0e92a2611c18678e";
document.write('<script src="' + src + '" id="sozz"><\/script>');
})();
http://js.passport.qihucdn.com/11.0.1.js?970506d365e969bd0e92a2611c18678espa
document.write('<script charset="utf-8" src="http://s7.qhres.com/static/ab77b6ea7f3fbf79.js"></script>')
http://s7.qhres.com/static/ab77b6ea7f3fbf79.jscode
官網提供的代碼進過二次方document.write的代碼以下,這個js的代碼以下:
(function (e) {
function t(e) {
var t = location.href, n = t.split("").reverse(), r = e.split(""), i = [];
for (var s = 0, o = 16; s < o; s++)i.push(r[s] + (n[s] || ""));
return i.join("")
}
var n = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.so\.com)/gi, r = e.location.href;
if (r && !n.test(r) && window.navigator.appName) {
var i = "//s.360.cn/so/zz.gif", s = document.getElementById("sozz"), o = s.src.split("?")[1], u = t(o), a = new Image;
r && (i += "?url=" + encodeURIComponent(r)), o && (i += "&sid=" + o), u && (i += "&token=" + u), o && (a.src = i)
}
})(window);
分析發現
最終目的仍是 img 請求提交,尼瑪,因而,改造以下:
在phpcms v9的 phpcms/libs/functions/ 目錄下,找到 extention.func.php 文件,添加以下代碼:
/**
* 360推送 @www.zhoulujun.cn
*/
function getPushSoUrl($url){
$token="970506d365e969bd0e92a2611c18678e";
return $str="http://s.360.cn/so/zz.gif?url=".urlencode($url)."&sid=". $token."&token=".getPushToken($url,$token);
}
function getPushToken($url,$o){
$n = str_split($url,1);
$n=array_reverse($n);
$r = str_split($o,1);
$i=[];
for($s=0,$o=16;$s<$o;$s++)
{
array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);
}
return implode($i);
}
/*
class push_so_url{
private $token="970506d365e969bd0e92a2611c18678e";
public function setToken($token){
$this->token=$token;
}
// function __construct($token) {
// $this->token=$token;
// }
public function getPushToken($url,$o){
$n = str_split($url,1);
$n=array_reverse($n);
$r = str_split($o,1);
$i=[];
for($s=0,$o=16;$s<$o;$s++)
{
array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);
}
return implode($i);
}
public function getImgUrl($url){
return $str="http://s.360.cn/so/zz.gif?url=".urlencode($url)."&sid=". $this->token."&token=".$this->getPushToken($url,$this->token);
}
}
*/
在 模板 phpcms/templates/default/content/ 好比show index 添加以下代碼:
<img src="{getPushSoUrl($_SERVER['HTTP_HOST'].$url)}">
okay,驗證下
和js的效果是同樣的。
手工,不知道官方對此方案態度如何,目前尚未收到回覆,郵寄給官方發過郵寄和論壇、知乎都提問,無人問津啊
先幹了再說吧!
轉載請註明來源:
周陸軍的我的網站-360搜索引擎so自動收錄php改寫方案——適合phpcms等cms
http://www.zhoulujun.cn/zhoulujun/html/Operation/seo/2018_0426_8102.html