【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網(wǎng)站設計教程!【道勤網(wǎng)】
標題: 百度WordPress結(jié)構化數(shù)據(jù)插件會延長文章發(fā)布時間 [打印本頁]
作者: discuz美化 時間: 2015-2-7 10:24
標題: 百度WordPress結(jié)構化數(shù)據(jù)插件會延長文章發(fā)布時間
之前百度推出了一款WordPress結(jié)構化數(shù)據(jù)插件,經(jīng)使用感覺還不錯。只是最近發(fā)現(xiàn)一個問題,在WordPress后臺發(fā)布新文章時,點擊發(fā)布后,要等很久頁面才能提交成功,而且經(jīng)常造成主機資源超限,出現(xiàn)500錯誤。
經(jīng)排查,露兜發(fā)現(xiàn)此問題是由WordPress結(jié)構化數(shù)據(jù)插件造成的,它的publish_post執(zhí)行函數(shù)耗時15秒!停用該插件后,文章發(fā)布就變得很快了。當然也有可能是這個插件跟我網(wǎng)站的某些代碼不兼容造成。如果你的WordPress后臺發(fā)布文章也要等很長時間,并且安裝了這個插件,不妨用下面的方法排查一下,確定這段代碼的執(zhí)行時間是否過長:
用文本編輯器打開該插件目錄下的main.php,即baidusubmit/main.php
查找:publishPost
可找到以下代碼:
- static function publishPost($postid)
- {
- require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './inc/sitemap.php';
- $schema = BaidusubmitSitemap::genSchemaByPostId($postid, $xpost);
- if ('publish' != $xpost->post_status || '' != $xpost->post_password) {
- self::deletePost($postid);z
- return;
- }
- $xml = $schema->toXml();
- $content = BaidusubmitSitemap::genPostXml($xml);
- //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."\n".$content, FILE_APPEND);
- $r = BaidusubmitSitemap::sendXml($content, 1);
- //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."\n".$r, FILE_APPEND);
- }
復制代碼改成以下代碼,以便計算程序運行時間:
- static function publishPost($postid)
- {
- // 標記程序執(zhí)行開始時間
- list($usec, $sec) = explode(" ",microtime());
- $time_start = ((float)$usec + (float)$sec);
- require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './inc/sitemap.php';
- $schema = BaidusubmitSitemap::genSchemaByPostId($postid, $xpost);
- if ('publish' != $xpost->post_status || '' != $xpost->post_password) {
- self::deletePost($postid);z
- return;
- }
- $xml = $schema->toXml();
- $content = BaidusubmitSitemap::genPostXml($xml);
- //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."\n".$content, FILE_APPEND);
- $r = BaidusubmitSitemap::sendXml($content, 1);
- //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."\n".$r, FILE_APPEND);
- // 標記程序執(zhí)行結(jié)束時間
- list($usec, $sec) = explode(" ",microtime());
- $time_end = ((float)$usec + (float)$sec);
- // 計算程序執(zhí)行總用時
- $time = $time_end - $time_start;
- // 發(fā)送郵件,將ludou#ludou.org改成你的郵件地址
- wp_mail('ludou#ludou.org', '程序用時', '總時長(單位:秒):'.$time);
- }
復制代碼將代碼中的 ludou#ludou.org 改成你的郵箱地址,然后上傳到你的網(wǎng)站服務器,并在WordPress后臺發(fā)布或更新一篇文章,這時你的郵箱中就會收到一封標題為 程序用時 的郵件,郵件內(nèi)容中就會看到程序運行時長。我這里測試的運行時間是15秒,這樣的時間實在沒法忍受,不過看在它還有點用處的份上,還是忍忍吧。
最后,測試完畢,記得將代碼還原到修改之前。
PS:小清新圖片建議,關閉實時推送可以緩解這個問題。
歡迎光臨 【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網(wǎng)站設計教程!【道勤網(wǎng)】 (http://bmrsportswear.com/) |
Powered by Discuz! X3.4 |