给你的网站添加谷歌AMP、百度MIP、神马MIP链接自动提交功能

我们在做网站的时候,经常会听到别人说SEO优化,网站优化等等。但是我们经常听的云里雾里的,但是经过我们运营一段时间之后,我们慢慢的就会熟悉了,知道什么是SEO。
SEO中文译名为搜索引擎优化,既然是叫搜索引擎优化,那么肯定的是从各个方面对网站的链接和内容进行优化了。
在移动互联网高速发达的今天,仅仅只是依靠PC端的网页展示是不够的,还需要针对移动端进行优化和展示,在这里我给大家普及一下,SEO的中AMP、MIP和熊掌号的几个知识点。

1.AMP(Accelerated Mobile Pages),是谷歌的一项开放源代码计划,可在移动设备上快速加载的轻便型网页,旨在使网页在移动设备上快速加载并且看起来非常美观。

2.MIP(Mobile Instant Page - 移动网页加速器),是一套应用于移动网页的开放性技术标准。通过提供MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速。

3.熊掌号,是百度熊掌号是内容和服务提供者入驻百度生态的实名账号。通过历史内容接口,每天可提交最多500万条有价值的内容,所提交内容会进入百度搜索统一处理流程。

好了,以上知识点内容普及完了,接下来即将开始上干货了。

我今天在网上使用站长工具查看本网站SEO信息的时候,看到几个不常用的权重,其中就是神马权重和头条权重。

头条的权重我不清楚,但是我知道他说的应该是今日头条,但是神马权重,我就不是很清楚了,不知道神马权重是啥,然后在百度上一搜索,才知道有一个神马搜索引擎的。

好吧,虽然不知道这是一个什么样的搜索引擎,但是既然是在站长工具上看到的,即使流量再小,也还是不要放过。

进到神马搜索引擎站长工具里面,我们会看到有站长相关的工具,其中有一栏为 MIP数据提交 。

既然有这个接口那我们就不要放过。

然后我们查看一下,如果使用PHP来做MIP数据的提交以及如何进行判断数据是否提交成功了。

使用PHP进行MIP数据提交的代码

$urls = array(
    ‘http://www.example.com/1.html‘,
    ‘http://www.example.com/2.html‘,
);
$api = ‘http://data.zhanzhang.sm.cn/push?site=www.ddsiot.cn&[email protected]&resource_name=mip_add&token=xx‘;
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $urls),
    CURLOPT_HTTPHEADER => array(‘Content-Type: text/plain‘),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

查看推送反馈:
推送成功:

{
    "returnCode" : 200, //接收成功,但需要进一步校验提交的内容是否正确
    "errorMsg" : ""
}

推送失败:

{
    "returnCode" : 201, // 201: token不合法; 202: 当日流量已用完; 400: 请求参数有误; 500: 服务器内部错误
    "errorMsg" : ""
}

 嗯,我们已经知道如何进行MIP数据推送,也知道怎么判断数据是否推送成功,我们现在针对Typecho的网站,添加一个MIP链接自动提交的插件。

<div class="row typecho-page-main" role="main">
                <form action="<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php&send=1‘); ?>" method="POST">
                    <div class="operate" style="text-align: center;">
                        <select name="type" style="width:200px;text-align-last: center;">
                            <option value="amp">百度AMP</option>
                            <option value="mip">百度MIP</option>
                            <option value="smmip">神马MIP</option>
                            <option value="batch">熊掌号</option>
                        </select>
                        <button type="submit" class="btn btn-s"><?php _e(‘开始提交‘); ?></button>
                    </div>
                </form>
                <div>

我们制作的这个Typecho插件支持百度MIP、百度AMP、神马MIP、熊掌号链接的自动提交。

插件提交界面预览:

插件提交结果提示代码:

if (isset($_GET[‘send‘])) {
    $http = Typecho_Http_Client::get();
    $db = Typecho_Db::get();

    //URL分页
    if (isset($_GET[‘page‘])) {
        $page = (int)($_GET[‘page‘]);
    } else {
        $page = 1;
    }
    //URL类型
    if ((isset($_GET[‘type‘]) and $_GET[‘type‘] == ‘amp‘) OR (isset($_POST[‘type‘]) and $_POST[‘type‘] == ‘amp‘)) {
        $sendtype = ‘amp‘;
        $type = ‘amp‘;
    } elseif ((isset($_GET[‘type‘]) and $_GET[‘type‘] == ‘mip‘) OR (isset($_POST[‘type‘]) and $_POST[‘type‘] == ‘mip‘)) {
        $sendtype = ‘mip‘;
        $type = ‘mip‘;
    } elseif ((isset($_GET[‘type‘]) and $_GET[‘type‘] == ‘smmip‘) OR (isset($_POST[‘type‘]) and $_POST[‘type‘] == ‘smmip‘)) {
        $sendtype = ‘mip‘;
        $type = ‘smmip‘;
    } elseif ((isset($_GET[‘type‘]) and $_GET[‘type‘] == ‘batch‘) OR (isset($_POST[‘type‘]) and $_POST[‘type‘] == ‘batch‘)) {
        $sendtype = ‘mip‘;
        $type = ‘batch‘;
        if (isset(Helper::options()->plugin(‘AMP‘)->baiduAPPID) and isset(Helper::options()->plugin(‘AMP‘)->baiduTOKEN)) {
            $appid = Helper::options()->plugin(‘AMP‘)->baiduAPPID;
            $token = Helper::options()->plugin(‘AMP‘)->baiduTOKEN;
            $api = "http://data.zz.baidu.com/urls?appid={$appid}&token={$token}&type=batch";
        } else {
            throw new Typecho_Widget_Exception(‘未设置熊掌号参数!‘);
        }
    } else {
        $sendtype = ‘mip‘;
        $type = ‘mip‘;
    }

    $articleList = Typecho_Widget::widget(‘AMP_Action‘)->MakeArticleList($sendtype, $page, 20);

    //接口类型
    if (!isset($api))
    {
        if((‘mip‘ == $type)||(‘amp‘ == $type) ||(‘batch‘ ==  $type))
        {
            if (empty(Helper::options()->plugin(‘AMP‘)->baiduAPI)) {
                throw new Typecho_Widget_Exception(‘未设置MIP/AMP推送接口调用地址!‘);
            } else {
                $api = Helper::options()->plugin(‘AMP‘)->baiduAPI;
                $api = preg_replace("/&type=[a-z]+/", "&type={$sendtype}", $api);//替换接口中的类型

            }
        }else if(‘smmip‘ == $type){
            if (empty(Helper::options()->plugin(‘AMP‘)->SMAPI)) {
                throw new Typecho_Widget_Exception(‘神马未设置MIP推送接口调用地址!‘);
            } else {
                $api = Helper::options()->plugin(‘AMP‘)->SMAPI;
            }
        }

    }

    $urls = array();
    foreach ($articleList AS $article) {
        if(Helper::options()->plugin(‘AMP‘)->PostURL !== Helper::options()->index){
            $article[‘permalink‘]=str_replace(Helper::options()->index,Helper::options()->plugin(‘AMP‘)->PostURL,$article[‘permalink‘]);//替换提交的前缀
        }
        echo ‘正在提交:‘ . $article[‘permalink‘] . " <br>";
        $urls[] = $article[‘permalink‘];
    }

    if (count($urls) > 0) {
        $http->setData(implode("\n", $urls));
        $http->setHeader(‘Content-Type‘, ‘text/plain‘);
        try {
            $result = $http->send($api);
        } catch (Exception $e) {
            throw new Typecho_Plugin_Exception(_t(‘对不起, 您的主机不支持远程访问。<br>请检查 curl 扩展、allow_url_fopen和防火墙设置!<br><hr>出错信息:‘.$e->getMessage()));
        }

//    string ‘{"remain":4999960,"success":0,"not_valid":[""]}‘
//    string ‘{"success_mip":20,"remain_mip":9980}‘ (length=36)
//    $result=‘{"success_amp":20,"remain_amp":9980}‘;
//    string(43) "{"success_batch":20,"remain_batch":4999960}"

        $obj = json_decode($result, true);

        if((‘mip‘ == $type)||(‘amp‘ == $type) ||(‘batch‘ ==  $type))
        {
            $name = "success_{$type}";
            if (isset($obj[$name])) {

                echo ‘<hr>‘;
                echo "第{$page}页提交成功,";
                print_r($obj);
                $count = $obj["remain_{$type}"];
                echo "还可提交{$count}条URL,准备提交下一页>>>";
                $page += 1;

                ?>
                <script language="JavaScript">
                    window.setTimeout("location=‘<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘ . "&send=1&type={$type}&page={$page}");
                        ?>‘", 2000);
                </script>
                未自动跳转请点击<a
                        href="<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘ . "&send=1&type={$type}&page={$page}"); ?>">这里</a>
                <?php
            } else {
                echo "<hr>错误提示:";
                print_r($obj);
                echo "<br>提交失败,请检查提交地址。如有必要,请将错误提示<a href=‘https://github.com/xiaodingding/Typecho-AMP/issues‘>反馈给作者</a>";
            }
        }else if(‘smmip‘ == $type)
        {
            if(200 == isset($obj["returnCode"] ))
            {
                echo ‘<hr>‘;
                echo "第{$page}页提交成功,";
                echo "准备提交下一页>>>";
                $page += 1;

                ?>
                <script language="JavaScript">
                    window.setTimeout("location=‘<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘ . "&send=1&type={$type}&page={$page}");
                        ?>‘", 2000);
                </script>
                未自动跳转请点击<a
                        href="<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘ . "&send=1&type={$type}&page={$page}"); ?>">这里</a>
                <?php
            }else{
                echo "<hr>错误提示:";
                print_r($obj);
                echo "<br>提交失败,请检查提交地址。如有必要,请将错误提示<a href=‘https://github.com/xiaodingding/Typecho-AMP/issues‘>反馈给作者</a>";
            }
        }
    } else {
        echo "已全部提交完成";
        ?>
        <script language="JavaScript">
            window.setTimeout("location=‘<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘);?>‘", 2000);
        </script>
        未自动跳转请点击<a href="<?php $options->adminUrl(‘extending.php?panel=AMP/Links.php‘); ?>">这里</a>
        <?php
    }

插件神马MIP提交结果预览:

神马MIP提交成功,大公告成。

插件源码下载链接:https://www.ddsiot.cn/archives/310.html

食用方法:

将插件下载之后,放在Typecho的Plugins目录下面,并将文件夹重命名为AMP。

原文地址:https://www.cnblogs.com/kmust/p/12208713.html

时间: 2024-10-05 05:07:13

给你的网站添加谷歌AMP、百度MIP、神马MIP链接自动提交功能的相关文章

你的网站做好神马搜索优化了吗?神马搜索站长工具提交

神马搜索借助uc的优势,可直接在地址输入框中输入关键词就可以搜索了,免去了输网址的麻烦(这个在国外有点long duan的嫌疑).如果你的网站被bd等se收录了以后一般也是会被神马搜索收录的,查询方法也是用site:***.com.那么我们做好神马搜索优化呢? 既然神马搜索支持site指令,根据genfeng是思路,那它是不是也有站长工具平台呢?答案是有的,只不过得到这个结果稍微有点迂回.起初在网上搜索了相关问题都没找到,后面想想神马搜索是在uc上的,那在uc官网应该有一些提示.在uc社区的神马

C#实现百度站长工具链接主动提交功能

百度站长工具上提供了链接推送的功能,让广大站长更加方便的把自己的链接推送到百度,增加收录的机会和缩短收录时间(当然,百度也说了,你提交了链接,我不一定收录!) 百度提供了好几种方式,有主动推送,自动推送,sitemap推送等.今天我们要说的就是主动推送,从字面意思上就可以明显的看出,主动推送,就是指站长自行将链接推送给百度.那么如何实现呢?其实原理很简单,就是把要推送的链接post到百度指定的地址去就可以了. 下面我们用C#来实现,源代码如下: //推送链接到百度 private string 

如何为网站添加百度统计功能

1 获取百度统计代码 首先登录tongji.baidu.com,在百度统计中申请账号,申请登录后,在管理中加入需要统计的网站地址,添加完成后百度会生成统计代码,不同的网站百度生成的代码是不一样的.在百度统计的管理界面,在需要统计的网站一行,后面有获取代码,点击后会得到百度的统计代码,是一段js文件.类似于 <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"

网站添加百度分享按钮代码实例

百度分享是一个提供网页地址收藏.分享及发送的WEB2.0按钮工具,借助百度分享按钮,网站的浏览者可以方便的分享内容到人人网.开心网.QQ空间.新浪微博等一系列SNS站点. 网站主可以在百度分享网站中获得分享按钮JS代码,嵌入到自己的网站,让网站链接分享到互联网各个角落! 步骤/方法 进入百度分享也面,选择分享按钮样式,有按钮式,文字式,图标式,浮窗式几种可一选择   选定样式后,点击免费获取代码,进去代码页面,复制分享按钮代码   进自己的网站后台,在需要的地方用源代码模式粘贴刚刚复制的代码  

几行代码为自己的网站添加划词翻译功能

为网站添加自动翻译网页.网页划词.在线翻译.在线词典.每日一句功能. 适合各类网站 百变语种,自动翻译网页 把中文的网站,变成十几种不同语种的网站,会不会感觉很新奇? 要实现自动翻译网站上文字的功能,看似很困难,但是通过,百度,Google的翻译小工具实现起来就非常简单.只要添加一段网页源代码,就可以翻译多种语种的网页,让其他国家的用户也能看懂你的网站. 说简单,那是真简单--将以下代码加入网站合适位置,就可以实现网页的多语种翻译了. 如果使用的是CMS网站管理系统,如joomla,phpwin

网站添加第三方登陆(PHP版)

这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,Web,IOS,三大模块,现在没有找到人帮忙写安卓,唉...  网站API已经写完了,Web端正在完善开发中,毕业答辩之前会吧基本功能上线,小伙伴们可以访问看看增加人气,不过没有写完,并且看着不咋好看,因为没人写前端,我又不擅长写页面所以有点低端.域名是:http://www.olas.cn 上面说的

谷歌、百度、1万ip能赚多少钱?1000IP能够值多少钱呢?

谷歌.百度.1万ip能赚多少钱?1000IP能够值多少钱呢? (2014-04-03 11:50:52) 转载▼ 标签: 广告联盟 百度联盟 谷歌联盟 ip赚钱   很多在人问:谷歌.百度:1万ip能赚多少钱?1000IP能够值多少钱呢?一个IP呢? 笔者本着实践和时效性,今天就给大家说说IP能赚钱的问题.其实问这样的问题的网友大多心里没底,因为你的网站还没有达到这个IP数,所以能赚多少也不得而知,而网络上传言和事实经过测验有很大的出入,这里简单的分析一下. 什么是IP?大多主要指网站的访问量,

网站添加微信支付功能(小白填坑)

本周的工作安排就是在网站添加支付功能,包括支付宝.微信.财付通等,今天这篇文章先说一下微信支付吧,支付宝的太容易了基本看一下都会了 1.首先准备工作,开通了支付功能的账号,具体怎么开通的我也不熟悉因为我做的时候都是使用开通好的账号(目前微信支付好像只支持商家不支持个人吧?) 2.按照我的性格当然是百度一下啦,但是微信支付的文档说明事例实在是太坑了,完全不是我这种小白可以一下看懂的,在这夸奖一下支付宝,支付宝的事例文档做的太好了基本做的时候没什么坑 准备工作结束开工: 我的开发环境是java,所以

谷歌、百度页面交互设计简约风格之谈

搜索引擎当真在中国互联网的浪潮中起了无可替代的巨大作用,尤其是谷歌和百度-世界级的老大和中文级的老大.随着用户对信息索取渠道的重要性越来越重要,搜索引擎页面的设计业越来越值得关注,毕竟用户的上网操作能力与互联网素质都在不断的提高中,昨晚网页浏览到一篇关于视频未来发展方向的访谈,艾瑞某高级市场营销负责人谈到互联网的普及也无形中增加了产品设计人员压力,不断的需要自身瘦身,另一方面还得不断增加专业服务强度等,有数据显示,中国网民变得越来越"懒",正如目前知名的这些电子产品和手机应用的变得越来