給你的網站添加谷歌AMP、百度MIP、神馬MIP鏈接自動提交功能

2020-7-8

 我們在做網站的時候,經常會聽到別人說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 
 
如果評論之后,不能正常下載可以給我留言,也可以關注微信公眾號:ddiot,回復:MIP插件,獲取下載鏈接。
 
 
 
使用方法:
 
將插件下載之后,放在Typecho的Plugins目錄下面,并將文件夾重命名為AMP。
 
 
————————————————
版權聲明:本文為CSDN博主「dwx1005526886」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dwx1005526886/java/article/details/104029020

在線咨詢
客服微信
聯系電話

15987118523

葵宇科技電話

昆明市官渡區云秀路灣流海A5-3-502
0871-63361315、15987118523
[email protected]

© 2004-2020 JTBC(CMS) Ynkui.Com All Rights Reserved. 滇ICP備19007467號-3

掃描二維碼分享到微信

加拿大卑诗快乐8开奖结果网