360搜索引擎so自动收录php改写方案——适合phpcms等cms
360搜索引擎自动收录功能,官方提供了代码,带式,十分坑爹,没有提供批量提交入口,只是提供了一段js代码,关键是 一个js去下载另外一个js,document.write到文档,然后再 重复2遍如此工作。
弱弱地问:为什么不像百度一样提供 批量提交入口?
难道是,靠这个自动提交功能,搜集网站的数据,比如document.refer等数据?这个也是比较流氓了吧?
据说360的搜索引擎目前在中国 市场占有率为20%以上,不知道真假,本人是十分怀疑的!
起码本人基本只用谷歌!奈何在天朝还是基本用百度,小白还是太多太多的!
只好忍了,加360的自动收录吧!
于是对代码进行一番改造!
官网的原始代码如下:
<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?970506d365e969bd0e92a2611c18678e
document.write('<script charset="utf-8" src="http://s7.qhres.com/static/ab77b6ea7f3fbf79.js"></script>')
http://s7.qhres.com/static/ab77b6ea7f3fbf79.js
官网提供的代码进过二次方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
360搜索引擎so自动收录php改写方案——适合phpcms等cms的更多相关文章
- pageresponse.min.js自动缩放页面改写
/* * 名称 :移动端响应式框架 * 作者 :白树 http://peunzhang.cnblogs.com * 版本 :v2.1 * 日期 :2015.10.13 * 兼容 :ios 5+.and ...
- 360搜索引擎取真实地址-python代码
还是个比较简单的,不像百度有加密算法 分析 http://www.so.com/link?url=http%3A%2F%2Fedu.sd.chinamobile.com%2Findex%2Fnews. ...
- Nginx自动加载配置文件方案
nginx自动加载配置文件方案一.nginx+consul+consul-template实现过程:consul作为服务发现软件,consul-template作为nginx配置文件的模板,consu ...
- SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版
上次改编了一下百度的JS推送代码,实现了批量推送 传送门>>>百度链接提交-js代码推送批量推送版 这次我们来研究360js自动推送代码. <script> (funct ...
- 360网站卫士推出google字体加速方案
最近,有网友反映称谷歌官网域名google.com.谷歌香港google.com.hk都打不开, ping了一下google.com和google.com.hk两个域名的服务器情况,最后ping出来的 ...
- 如何使用python来模拟鼠标点击(将通过实例自动化模拟在360浏览器中自动搜索"python")
一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系 ...
- Spring Bean自动注册的实现方案
这里Spring管理的Bean,可以认为是一个个的Service,每个Service都是一个服务接口 自动注册Service的好处: 1.根据指定的name/id获取对应的Service,实现简单工厂 ...
- Windows下mysql自动备份的最佳方案
网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...
- 百度-淘宝-360搜索引擎搜索API
百度(baidu) Api地址:http://suggestion.baidu.com/su?wd=设计&p=3&cb=window.bdsug.sug window.bdsug.su ...
随机推荐
- C# 基于Bootstrap的三级联动
实现效果如图: 一.声明市.县.乡对应的下拉控件select <div class="form-group"> <label class="col-sm ...
- 分享:纯 css 瀑布流 和 js 瀑布流
分享一次纯 css 瀑布流 和 js 瀑布流 纯 css 写瀑布流 1.multi-columns 方式: 通过 Multi-columns 相关的属性 column-count.column-ga ...
- Hibernat 原生SQL运行结果集处理方法
hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 使用list()方法可以把Session.createSQLQuer ...
- TR069网管协议应用在Android系统开发的前言
随着智能平台的终端设备不断发展,迫切需要我们解决这些终端的管理问题,而现有的终端统一管理平台已经成熟,主要是基于tr069协议网管平台,比如华为的itms等终端管理平台.所以,这篇文章就是为了实现一种 ...
- 高下相倾,前后相随——iterator 与 for ... of 循环
iterator 是es6新提供的一种遍历器.本质上是一个接口,为各种不同的数据结构,提供统一的访问机制. 数据只要部署了iterator接口,便是可遍历的数据,标志是具有Symbol.iterato ...
- POJ-3169 Layout---差分约束系统+Bellman
题目链接: https://vjudge.net/problem/POJ-3169 题目大意: 一些母牛按序号排成一条直线.有两种要求,A和B距离不得超过X,还有一种是C和D距离不得少于Y,问可能的最 ...
- with工作原理
进入时,调用对象的__enter__ 退出时,调用对象的__exit__
- getgpc($k, $t='GP'),怎么返回的是 NULL?
<?php /** * 实用小代码 * 获得GET POST COOKIS */ $html=<<<WORD <form method="post"& ...
- Hello——Java10新特性,请了解一下
2018年3月20日,Java 10 正式发布! 相关地址: 官方地址:http://www.oracle.com/technetwork/java/javase/downloads/index.ht ...
- java四种访问控制权限:public ,default,protected,private
四种访问权限的控制 范围 private default protected public 同一个类中 √ √ √ √ 相同包不同类 × √ √ √ 不同包的子类中 × × √ √ 不同包非子类 × ...