亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php基于seoreport類針對網站SEO信息檢查與獲取

2020-03-22 20:27:00
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php實現專業獲取網站SEO信息類,實例分析了seoreport類針對網站SEO信息檢查與獲取的技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了php實現專業獲取網站SEO信息類。具體如下:

這個seo類的功能包括:
- 檢查指定的網站響應
- 獲取從該網站主頁的語言和其他meta標簽數據的
- 獲取網站的導入鏈接,從Alexa的流量排名
- 獲取網站的導入鏈接,由谷歌索引的網頁數量
- 獲取網站的信任,從WOT排名。
- 獲取,因為它是第一個注冊的網站域名年齡
- 獲取的Twitter網站頁面的數量
- 獲取的Facebook鏈接的網站頁面
- 獲取網站谷歌網頁速度等級
- 獲取網站的谷歌網頁排名

 ?php * SEO report for different metrics * @category SEO * @author Chema chema@garridodiaz.com  * @copyright (c) 2009-2012 Open Classifieds Team * @license GPL v3 * Based on seo report script http://www.phpeasycode.com PHP html' target='_blank'>class SEOstatsclass seoreport{ * check if a url is online/alive * @param string $url * @return bool public static function is_alive($url) $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADERFUNCTION, curlHeaderCallback  curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_exec ($ch); $int_return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close ($ch); if ($int_return_code != 200 $int_return_code != 302 $int_return_code != 304) return FALSE; else return TRUE; * HTTP GET request with curl. * @param string $url String, containing the URL to curl. * @return string Returns string, containing the curl result. protected static function get_html($url) $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_MAXREDIRS,2); if(strtolower(parse_url($url, PHP_URL_SCHEME)) == https ) curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,1); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,1); $str = curl_exec($ch); curl_close($ch); return ($str)?$str:FALSE; * get the domain from any URL * @param string $url public static function domain_name($url) $nowww = ereg_replace( www/. , ,$url); $domain = parse_url($nowww); if(!empty($domain[ host ])) return $domain[ host  else return $domain[ path  * get the metas from a url and the language of the site * @param string $url * @return array public static function meta_info($url) //doesn t work at mediatemple /*$html = new DOMDocument(); if(!$html- loadHtmlFile($url)) return FALSE;*/ if (!$html_content = self::get_html($url)) return FALSE; $html = new DOMDocument(); $html- loadHtml($html_content); $xpath = new DOMXPath( $html ); $url_info = array(); $langs = $xpath- query( //html  foreach ($langs as $lang) $url_info[ language ] = $lang- getAttribute( lang  $metas = $xpath- query( //meta  foreach ($metas as $meta) if ($meta- getAttribute( name )) $url_info[$meta- getAttribute( name )] = $meta- getAttribute( content  return $url_info; * Alexa rank * @param string $url * @return integer public static function alexa_rank($url) $domain = self::domain_name($url); $request = http://data.alexa.com/data?cli=10 dat=s url= . $domain; $data = self::get_html($request); preg_match( / POPULARITY URL= (.*?) TEXT= ([/d]+) // /si , $data, $p); return ($l[2]) ? $l[2] : NULL; * Alexa inbounds link * @param string $url * @return integer public static function alexa_links($url) $domain = self::domain_name($url); $request = http://data.alexa.com/data?cli=10 dat=s url= . $domain; $data = self::get_html($request); preg_match( / LINKSIN NUM= ([/d]+) // /si , $data, $l); return ($l[1]) ? $l[1] : NULL; * Returns total amount of results for any Google search, * requesting the deprecated Websearch API. * @param string $query String, containing the search query. * @return integer Returns a total count. public static function google_pages($url) //$query = self::domain_name($url); $url = http://ajax.googleapis.com/ajax/services/search/web?v=1.0 rsz=1 q= .$url; $str = self::get_html($url); $data = json_decode($str); return (!isset($data- responseData- cursor- estimatedResultCount)) ? 0  : intval($data- responseData- cursor- estimatedResultCount); * gets the inbounds links from a site * @param string $url * @param integer public static function google_links($url) $request = http://www.google.com/search?q= . urlencode( link: . $url) . hl=en  $data = self::get_html($request); preg_match( / p id=resultStats (About )?([/d,]+) result/si , $data, $l); return ($l[2]) ? $l[2] : NULL; * web of trust rating * @param string $url * @reutn integer public static function WOT_rating($url) $domain = self::domain_name($url); $request = http://api.mywot.com/0.4/public_query2?target= . $domain; $data = self::get_html($request); preg_match_all( / application name= (/d+) r= (/d+) c= (/d+) // /si , $data, $regs); $trustworthiness = ($regs[2][0]) ? $regs[2][0] : NULL; return (is_numeric($trustworthiness))? $trustworthiness:NULL; * how old is the domain? * @param string $domain * @return integer unixtime public static function domain_age($domain) $request = http://reports.internic.net/cgi/whois?whois_nic= . $domain . type=domain  $data = self::get_html($request); preg_match( /Creation Date: ([a-z0-9-]+)/si , $data, $p); return (!$p[1])?FALSE:strtotime($p[1]); * counts how many tweets about the url * @param string $url * @return integer public static function tweet_count($url) $url = urlencode($url); $twitterEndpoint = http://urls.api.twitter.com/1/urls/count.json?url=%s  $fileData = file_get_contents(sprintf($twitterEndpoint, $url)); $json = json_decode($fileData, true); unset($fileData); // free memory return (is_numeric($json[ count ]))? $json[ count ]:NULL; * Returns the total amount of Facebook Shares for a single page * @link https://graph.facebook.com/ * @param string The URL to check. * @return integer Returns the total amount of Facebook public static function facebook_shares($q) //Execution and result of Json $str = self::get_html( http://graph.facebook.com/?id= .urlencode($q)); $data = json_decode($str); //Return only number of facebook shares $r = $data- shares; return ($r != NULL) ? $r : intval( 0  * get the pagespeed rank over 100 * @param string $url * @return integer public static function page_speed($url) $url = https://developers.google.com/_apps/pagespeed/run_pagespeed?url= .$url. format=json  $str = self::get_html($url); $data = json_decode($str); return intval($data- results- score); * get google page rank * @param string $url * @return integer public static function page_rank($url) $query = http://toolbarqueries.google.com/tbr?client=navclient-auto ch= .self::CheckHash(self::HashURL($url)). features=Rank q=info: .$url. num=100 filter=0  $data = self::get_html($query);//die(print_r($data)); $pos = strpos($data, Rank_  if($pos === false) return NULL; else $pagerank = substr($data, $pos + 9); return $pagerank; // functions for google pagerank * To calculate PR functions public static function StrToNum($Str, $Check, $Magic) $Int32Unit = 4294967296; // 2^32 $length = strlen($Str); for ($i = 0; $i $length; $i++) { $Check *= $Magic; //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), // the result of converting to integer is undefined // refer to http://www.php.net/manual/en/language.types.integer.php if ($Check = $Int32Unit) { $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit)); //if the check less than -2^31 $Check = ($Check -2147483648) ? ($Check + $Int32Unit) : $Check; $Check += ord($Str{$i}); return $Check; * Genearate a hash for a url public static function HashURL($String) $Check1 = self::StrToNum($String, 0x1505, 0x21); $Check2 = self::StrToNum($String, 0, 0x1003F); $Check1 = 2; $Check1 = (($Check1 4) 0x3FFFFC0 ) | ($Check1 0x3F); $Check1 = (($Check1 4) 0x3FFC00 ) | ($Check1 0x3FF); $Check1 = (($Check1 4) 0x3C000 ) | ($Check1 0x3FFF); $T1 = (((($Check1 0x3C0) 4) | ($Check1 0x3C)) 2 ) | ($Check2 0xF0F ); $T2 = (((($Check1 0xFFFFC000) 4) | ($Check1 0x3C00)) 0xA) | ($Check2 0xF0F0000 ); return ($T1 | $T2); * genearate a checksum for the hash string public static function CheckHash($Hashnum) $CheckByte = 0; $Flag = 0; $HashStr = sprintf( %u , $Hashnum) ; $length = strlen($HashStr); for ($i = $length - 1; $i $i --) { $Re = $HashStr{$i}; if (1 === ($Flag % 2)) { $Re += $Re; $Re = (int)($Re / 10) + ($Re % 10); $CheckByte += $Re; $Flag ++; $CheckByte %= 10; if (0 !== $CheckByte) { $CheckByte = 10 - $CheckByte; if (1 === ($Flag % 2) ) { if (1 === ($CheckByte % 2)) { $CheckByte += 9; $CheckByte = 1; return 7 .$CheckByte.$HashStr;}

使用范例

 ?phpinclude seoreport.php ini_set( max_execution_time , 180); $url = (isset($_GET[ url ]))?$_GET[ url ]: http://phpclasses.org  $meta_tags = seoreport::meta_info($url); //die(var_dump($meta_tags)); //first check if site online if ($meta_tags!==FALSE) $stats = array(); $stats[ meta ] = $meta_tags; $stats[ alexa ][ rank ] = seoreport::alexa_rank($url); $stats[ alexa ][ links ] = seoreport::alexa_links($url); $stats[ domain ][ WOT_rating ] = seoreport::WOT_rating($url);  $stats[ domain ][ domain_age ] = seoreport::domain_age($url);  $stats[ social ][ twitter ] = seoreport::tweet_count($url);  $stats[ social ][ facebook ] = seoreport::facebook_shares($url); $stats[ google ][ page_rank ] = seoreport::page_rank($url); $stats[ google ][ page_speed ] = seoreport::page_speed($url); $stats[ google ][ pages ] = seoreport::google_pages($url); $stats[ google ][ links ] = seoreport::google_links($url); var_dump($stats); else Site not online. .$url;

總結:以上就是本篇文的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php操作圖片的大小修改、加水印、生成驗證碼、輸出及保存

php流程控制及數學運算

php實現新聞發布系統

以上就是php基于seoreport類針對網站SEO信息檢查與獲取的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
另类专区欧美制服同性| 国产69精品久久久久99| 亚洲va码欧洲m码| 日本高清+成人网在线观看| 久久韩国免费视频| 97热精品视频官网| 一区二区三区回区在观看免费视频| 亚洲va欧美va国产综合剧情| 成人黄色av免费在线观看| 久久99久久亚洲国产| 国产精品久久久久秋霞鲁丝| 欧美激情按摩在线| 亚洲高清一区二| 亚洲国产99精品国自产| 亚洲精品网址在线观看| 国产91免费观看| 久久精品99久久香蕉国产色戒| 亚洲综合在线中文字幕| 国产一区二区三区视频| 欧美午夜xxx| 久久久久久久一区二区三区| 992tv成人免费影院| 日韩欧美成人免费视频| 97在线观看视频| 亚洲人成电影在线观看天堂色| 高清欧美性猛交xxxx黑人猛交| 中文字幕日韩高清| 欧美亚州一区二区三区| 中文字幕精品一区二区精品| 国产日韩欧美自拍| 日韩精品免费在线视频| 亚洲aa中文字幕| 国产欧美一区二区| 国产精品电影观看| 亚洲精品乱码久久久久久金桔影视| 久久免费视频这里只有精品| 久久久久在线观看| 亚洲精品日产aⅴ| 日韩精品视频免费专区在线播放| 91免费的视频在线播放| 亚洲精品福利免费在线观看| 粉嫩老牛aⅴ一区二区三区| 国产亚洲人成网站在线观看| 久久精品亚洲热| 国产精品男人的天堂| 欧美成人免费全部| 欧美日韩另类字幕中文| 一个人看的www欧美| 久久影院中文字幕| 亚洲欧洲黄色网| 欧美性极品少妇精品网站| 国产精品福利网站| 国产日韩精品在线| 亚洲综合国产精品| 亚洲精品www久久久久久广东| 97视频com| …久久精品99久久香蕉国产| 国产女同一区二区| 国产精品海角社区在线观看| 日韩在线观看免费av| 午夜精品在线视频| 疯狂做受xxxx欧美肥白少妇| 98精品国产高清在线xxxx天堂| 国产精品久久99久久| 98午夜经典影视| 亚洲人成五月天| 色av中文字幕一区| 国产福利精品视频| 久久久免费观看视频| 国产z一区二区三区| 国产精品麻豆va在线播放| 最近免费中文字幕视频2019| 国产香蕉一区二区三区在线视频| 丰满岳妇乱一区二区三区| 亚洲另类欧美自拍| 成人午夜在线影院| 欧美中文字幕在线| 日韩专区在线播放| 久久视频精品在线| 亚洲精品aⅴ中文字幕乱码| 中文字幕av一区二区| 久久天天躁狠狠躁老女人| 亚洲最大福利视频| 欧美做爰性生交视频| 日韩精品在线免费播放| 成人免费大片黄在线播放| 国产精品99久久久久久久久久久久| 欧美限制级电影在线观看| 51精品国产黑色丝袜高跟鞋| 日本午夜精品理论片a级appf发布| 91久久国产精品91久久性色| 久久这里有精品| 日本不卡免费高清视频| 伊人青青综合网站| 国产视频精品免费播放| 777午夜精品福利在线观看| 久久久日本电影| 美女精品视频一区| 欧美色另类天堂2015| 热re91久久精品国99热蜜臀| 姬川优奈aav一区二区| 久久伊人免费视频| 黄色成人在线播放| 成人精品视频久久久久| 亚洲在线视频福利| 色综合天天综合网国产成人网| 国产91精品视频在线观看| 中文欧美日本在线资源| 精品视频在线播放免| 性欧美长视频免费观看不卡| 国产精品男女猛烈高潮激情| 欧美黄色三级网站| 亚洲美女性生活视频| 美女视频久久黄| 国产性猛交xxxx免费看久久| 亚洲欧美国产一本综合首页| 亚洲在线第一页| 久久精品国产96久久久香蕉| 久久深夜福利免费观看| 国产精品网红直播| 97在线视频免费| 亚洲欧美在线看| 久久亚洲精品成人| 久久亚洲精品中文字幕冲田杏梨| 久久久在线免费观看| 欧美亚洲午夜视频在线观看| 欧美性在线视频| 国产精品va在线播放| 欧美黑人性猛交| 欧美性猛交xxxx久久久| 97国产精品免费视频| 欧美久久久精品| 国产精品高潮呻吟久久av野狼| 日韩精品视频在线观看免费| 亚洲欧美另类在线观看| 国产一区二区三区三区在线观看| 精品视频9999| 国产精品免费久久久| 国产精品福利在线观看| 亚洲桃花岛网站| 亚洲国产高潮在线观看| 日韩在线观看免费全集电视剧网站| 欧美大尺度激情区在线播放| 国产91成人在在线播放| 亚洲国产精品人人爽夜夜爽| 欧美日韩国产91| 国产精品美腿一区在线看| 欧美精品aaa| 亚洲区一区二区| 亚洲大尺度美女在线| 亚洲午夜精品久久久久久久久久久久| 欧美精品久久久久久久久| 日韩电视剧在线观看免费网站| 国产精品自产拍在线观| 国产成人午夜视频网址| 国产一区二区丝袜高跟鞋图片| 国产精品成人观看视频国产奇米| 亚洲最大福利视频网| 丝袜亚洲欧美日韩综合| 另类少妇人与禽zozz0性伦| 日韩美女在线看| 久久精品国产v日韩v亚洲| 午夜精品一区二区三区在线视频| 久久亚洲私人国产精品va|