麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 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 [email protected]  * @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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中国videos露脸hd | 九九热这里只有精品8 | 港台三级在线观看 | 中文字幕亚洲视频 | 国产韩国精品一区二区三区久久 | 亚洲精品一区二区三区免 | 综合在线视频 | 免费一及片 | 精品国产91久久久久久浪潮蜜月 | 美女黄污视频 | 欧美中文日韩 | 夜添久久精品亚洲国产精品 | 蜜桃91丨九色丨蝌蚪91桃色 | 免费在线观看国产 | 欧美成年视频 | 国产一国产精品一级毛片 | 羞羞视频在线免费 | 国产成人77亚洲精品www | 一区二区久久精品66国产精品 | 91羞羞 | 午夜精品成人一区二区 | 久久青草影院 | 禁漫天堂久久久久久久久久 | 久久在草 | 草草在线观看 | 二区三区在线观看 | 日韩电影一区二区 | 日韩 综合| 亚洲一区二区免费 | 天天夜碰日日摸日日澡性色av | 精品视频一区二区三区四区 | chinese hd xxxx tube| 日韩高清影视 | 黄色特级视频 | 欧美亚洲一级 | 中文字幕爱爱视频 | 色999国产| 免费看搡女人无遮挡的视频 | 欧美 日韩 国产 在线 | 九九热免费视频在线观看 | 国产在线观看91一区二区三区 |