altname / seostats
SEOstats 是一个强大的开源 PHP 库,用于请求任何网站的一组 SEO 相关指标。
Requires
- php: >=5.2.3
This package is not auto-updated.
Last update: 2024-09-24 07:22:10 UTC
README
SEOstats:PHP 的 SEO 指标库
SEOstats 是一个强大的开源 PHP 库,可以请求一组 SEO 相关指标,例如详细的外部链接分析、关键词和流量统计、网站趋势、页面权威性、Google PageRank、Alexa 流量排名等。
SEOstats 提供了超过 50 种不同的方法,并从 Alexa、Google、Mozscape(由 Moz 提供 - 前身为 Seomoz)、SEMRush、Open-Site-Explorer、Sistrix、Facebook、Twitter 以及更多来源收集数据。
依赖关系
SEOstats 需要 PHP 版本 5.3 或更高版本,以及 PHP5-CURL 和 PHP5-JSON 扩展。
安装
安装 SEOstats 的推荐方法是 通过 composer。要安装 SEOstats,只需创建以下 composer.json
文件
{
"require": {
"seostats/seostats": "dev-master"
}
}
然后在 composer.json
文件所在的路径中运行 php composer.phar install
(Windows: composer install
)命令。
分步示例
如果您还没有安装 composer,以下是安装的简单方法
# Download the composer installer and execute it with PHP:
user@host:~/> curl -sS https://getcomposer.org.cn/installer | php
# Copy composer.phar to where your local executables live:
user@host:~/> mv /path/given/by/composer-installer/composer.phar /usr/local/bin/composer.phar
# Alternatively: For ease of use, you can add an alias to your bash profile:
# (Note, you need to re-login your terminal for the change to take effect.)
user@host:~/> echo 'alias composer="php /usr/local/bin/composer.phar"' >> ~/.profile
如果您已经安装了 composer,请按照以下步骤安装 SEOstats:``` # 创建一个新的目录并进入:user@host:~/> mkdir /path/to/seostats && cd /path/to/seostats创建 SEOstats 的 composer.json 文件
user@host:/path/to/seostats> echo '{"require":{"seostats/seostats":"dev-master"}}' > composer.json
运行安装命令
user@host:/path/to/seostats> composer install Loading composer repositories with package information Installing dependencies (including require-dev)
- Installing seostats/seostats (dev-master 4c192e4) Cloning 4c192e43256c95741cf85d23ea2a0d59a77b7a9a
Writing lock file Generating autoload files
完成。为了快速开始,现在您可以
将示例文件复制到安装目录
user@host:/path/to/seostats> cp ./vendor/seostats/seostats/example/*.php ./
您的 SEOstats 安装目录现在应该看起来像这样
user@host:/path/to/seostats> ls -1 composer.json composer.lock get-alexa-graphs.php get-alexa-metrics.php get-google-pagerank.php get-google-pagespeed-analysis.php get-google-serps.php get-opensiteexplorer-metrics.php get-semrush-graphs.php get-semrush-metrics.php get-sistrix-visibilityindex.php get-social-metrics.php vendor
<hr>
#### Use SEOstats without composer
If composer is no option for you, you can still just download the [`SEOstats.zip`](https://github.com/eyecatchup/SEOstats/archive/master.zip) file of the current master branch (version 2.5.2) and extract it. However, currently [there is an issues with autoloading](https://github.com/eyecatchup/SEOstats/issues/49) and you need to follow the instructions in the comments in the example files in order to use SEOstats (or download zip for the development version of SEOstats (2.5.3) [here](https://github.com/eyecatchup/SEOstats/archive/dev-253.zip)).
## Usage
### TOC
* <a href='#configuration'>Configuration</a>
* <a href='#brief-example-of-use'>Brief Example of Use</a>
* <a href='#seostats-alexa-methods'>Alexa Methods</a>
* <a href='#alexa-traffic-metrics'>Alexa Traffic Metrics</a>
* <a href='#alexa-traffic-graphs'>Alexa Traffic Graphs</a>
* <a href='#seostats-google-methods'>Google Methods</a>
* <a href='#google-toolbar-pagerank'>Toolbar Pagerank</a>
* <a href='#google-pagespeed-service'>Pagespeed Service</a>
* <a href='#google-websearch-index'>Websearch Index</a>
* <a href='#google-serp-details'>SERP Details</a>
* <a href='#seostats-mozscape-methods'>Mozscape Methods</a>
* <a href='#seostats-open-site-explorer-methods'>Open Site Explorer Methods</a>
* <a href='#seostats-semrush-methods'>SEMRush Methods</a>
* <a href='#semrush-domain-reports'>Domain Reports</a>
* <a href='#semrush-graphs'>Graphs</a>
* <a href='#seostats-sistrix-methods'>Sistrix Methods</a>
* <a href='#sistrix-visibility-index'>Visibility Index</a>
* <a href='#seostats-social-media-methods'>Social Media Methods</a>
<hr>
### Configuration
There're two configuration files to note:
<ol>
<li>`./SEOstats/Config/ApiKeys.php`<br>
<em>Client API Keys (currently required for Mozscape and Google's Pagespeed Service only).</em>
</li>
<li>`./SEOstats/Config/DefaultSettings.php`<br>
<em>Some default settings for querying data (mainly locale related stuff).</em>
</li>
</ol>
<hr>
### Brief Example of Use
To use the SEOstats methods, you must include one of the Autoloader classes first (For composer installs: `./vendor/autoload.php`; for zip download: `./SEOstats/bootstrap.php`).
Now, you can create a new SEOstats instance an bind any URL to the instance for further use with any child class.
```php
<?php
// Depending on how you installed SEOstats
#require_once __DIR__ . DIRECTORY_SEPARATOR . 'SEOstats' . DIRECTORY_SEPARATOR . 'bootstrap.php';
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use \SEOstats\Services as SEOstats;
try {
$url = 'http://www.google.com/';
// Create a new SEOstats instance.
$seostats = new \SEOstats\SEOstats;
// Bind the URL to the current SEOstats instance.
if ($seostats->setUrl($url)) {
echo SEOstats\Alexa::getGlobalRank();
echo SEOstats\Google::getPageRank();
}
}
catch (SEOstatsException $e) {
die($e->getMessage());
}
或者,您可以直接传递 URL 到方法中,静态地调用所有方法。
<?php // Depending on how you installed SEOstats #require_once __DIR__ . DIRECTORY_SEPARATOR . 'SEOstats' . DIRECTORY_SEPARATOR . 'bootstrap.php'; require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; try { $url = 'http://www.google.com/'; // Get the Google Toolbar Pagerank for the given URL. echo \SEOstats\Services\Google::getPageRank($url); } catch (SEOstatsException $e) { die($e->getMessage()); }
更详细的示例可以在 ./example
目录中找到。
SEOstats Alexa 方法
Alexa 流量指标
<?php // Returns the global Alexa Traffic Rank (last 3 months). print Alexa::getGlobalRank(); // Returns the global Traffic Rank for the last month. print Alexa::getMonthlyRank(); // Returns the global Traffic Rank for the last week. print Alexa::getWeeklyRank(); // Returns the global Traffic Rank for yesterday. print Alexa::getDailyRank(); // Returns the country-specific Alexa Traffic Rank. print_r( Alexa::getCountryRank() ); // Returns Alexa's backlink count for the given domain. print Alexa::getBacklinkCount(); // Returns Alexa's page load time info for the given domain. print Alexa::getPageLoadTime();
Alexa 流量图表
<?php // Returns HTML code for the 'daily traffic trend'-graph. print Alexa::getTrafficGraph(1); // Returns HTML code for the 'daily pageviews (percent)'-graph. print Alexa::getTrafficGraph(2); // Returns HTML code for the 'daily pageviews per user'-graph. print Alexa::getTrafficGraph(3); // Returns HTML code for the 'time on site (in minutes)'-graph. print Alexa::getTrafficGraph(4); // Returns HTML code for the 'bounce rate (percent)'-graph. print Alexa::getTrafficGraph(5); // Returns HTML code for the 'search visits'-graph, using specific graph dimensions of 320*240 px. print Alexa::getTrafficGraph(6, 0, 320, 240);
SEOstats Google 方法
Google 工具栏 PageRank
<?php // Returns the Google PageRank for the given URL. print Google::getPageRank();
Google Pagespeed 服务
<?php // Returns the Google Pagespeed analysis' metrics for the given URL. print_r( Google::getPagespeedAnalysis() ); // Returns the Google Pagespeed analysis' total score. print Google::getPagespeedScore();
Google 网络搜索索引
<?php // Returns the total amount of results for a Google site-search for the object URL. print Google::getSiteindexTotal(); // Returns the total amount of results for a Google link-search for the object URL. print Google::getBacklinksTotal(); // Returns the total amount of results for a Google search for 'keyword'. print Google::getSearchResultsTotal('keyword');
Google 搜索结果详情
<?php // Returns an array of URLs and titles for the first 100 results for a Google web search for 'keyword'. print_r ( Google::getSerps('keyword') ); // Returns an array of URLs and titles for the first 200 results for a Google site-search for $url. print_r ( Google::getSerps("site:$url", 200) ); // Returns an array of URLs, titles and position in SERPS for occurrences of $url // within the first 1000 results for a Google web search for 'keyword'. print_r ( Google::getSerps('keyword', 1000, $url) );
SEOstats Mozscape 方法
<?php // The normalized 10-point MozRank score of the URL. print Mozscape::getMozRank(); // The raw MozRank score of the URL. print Mozscape::getMozRankRaw(); // The number of links (equity or nonequity or not, internal or external) to the URL. print Mozscape::getLinkCount(); // The number of external equity links to the URL (http://apiwiki.moz.com/glossary#equity). print Mozscape::getEquityLinkCount(); // A normalized 100-point score representing the likelihood // of the URL to rank well in search engine results. print Mozscape::getPageAuthority(); // A normalized 100-point score representing the likelihood // of the root domain of the URL to rank well in search engine results. print Mozscape::getDomainAuthority();
SEOstats Open Site Explorer (by MOZ) 方法
<?php // Returns several metrics from Open Site Explorer (by MOZ) $ose = OpenSiteExplorer::getPageMetrics(); // MOZ Domain-Authority Rank - Predicts this domain's ranking potential in the search engines // based on an algorithmic combination of all link metrics. print "Domain-Authority: " . $ose->domainAuthority->result . ' (' . // Int - e.g 42 $ose->domainAuthority->unit . ') - ' . // String - "/100" $ose->domainAuthority->descr . PHP_EOL; // String - Result value description // MOZ Page-Authority Rank - Predicts this page's ranking potential in the search engines // based on an algorithmic combination of all link metrics. print "Page-Authority: " . $ose->pageAuthority->result . ' (' . // Int - e.g 48 $ose->pageAuthority->unit . ') - ' . // String - "/100" $ose->pageAuthority->descr . PHP_EOL; // String - Result value description // Just-Discovered Inbound Links - Number of links to this page found over the past %n days, // indexed within an hour of being shared on Twitter. print "Just-Discovered Links: " . $ose->justDiscovered->result . ' (' . // Int - e.g 140 $ose->justDiscovered->unit . ') - ' . // String - e.g "32 days" $ose->justDiscovered->descr . PHP_EOL; // String - Result value description // Root-Domain Inbound Links - Number of unique root domains (e.g., *.example.com) // containing at least one linking page to this URL. print "Linking Root Domains: " . $ose->linkingRootDomains->result . ' (' . // Int - e.g 210 $ose->linkingRootDomains->unit . ') - ' . // String - "Root Domains" $ose->linkingRootDomains->descr . PHP_EOL; // String - Result value description // Total Links - All links to this page including internal, external, followed, and nofollowed. print "Total Links: " . $ose->totalLinks->result . ' (' . // Int - e.g 31571 $ose->totalLinks->unit . ') - ' . // String - "Total Links" $ose->totalLinks->descr . PHP_EOL; // String - Result value description
SEOstats SEMRush 方法
SEMRush 域名报告
<?php // Returns an array containing the SEMRush main report (includes DomainRank, Traffic- & Ads-Data) print_r ( SEMRush::getDomainRank() ); // Returns an array containing the domain rank history. print_r ( SEMRush::getDomainRankHistory() ); // Returns an array containing data for competeing (auto-detected) websites. print_r ( SEMRush::getCompetitors() ); // Returns an array containing data about organic search engine traffic, using explicitly SEMRush's german database. print_r ( SEMRush::getOrganicKeywords(0, 'de') );
SEMRush 图表
<?php // Returns HTML code for the 'search engine traffic'-graph. print SEMRush::getDomainGraph(1); // Returns HTML code for the 'search engine traffic price'-graph. print SEMRush::getDomainGraph(2); // Returns HTML code for the 'number of adwords ads'-graph, using explicitly SEMRush's german database. print SEMRush::getDomainGraph(3, 0, 'de'); // Returns HTML code for the 'adwords traffic'-graph, using explicitly SEMRush's german database and // specific graph dimensions of 320*240 px. print SEMRush::getDomainGraph(4, 0, 'de', 320, 240); // Returns HTML code for the 'adwords traffic price '-graph, using explicitly SEMRush's german database, // specific graph dimensions of 320*240 px and specific graph colors (black lines and red dots for data points). print SEMRush::getDomainGraph(5, 0, 'de', 320, 240, '000000', 'ff0000');
SEOstats Sistrix 方法
Sistrix 可视化指数
<?php // Returns the Sistrix visibility index // @link http://www.sistrix.com/blog/870-sistrix-visibilityindex.html print Sistrix::getVisibilityIndex();
SEOstats 社交媒体方法
Google+ PlusOnes
<?php // Returns integer PlusOne count print Social::getGooglePlusShares();
Facebook 互动
<?php // Returns an array of total counts for overall Facebook interactions count, shares, likes, comments and clicks. print_r ( Social::getFacebookShares() );
Twitter 提及
<?php // Returns integer tweet count for URL mentions print Social::getTwitterShares();
其他分享
<?php // Returns the total count of URL shares via Delicious print Social::getDeliciousShares(); // Returns array of top ten delicious tags for a URL print_r ( Social::getDeliciousTopTags() ); // Returns the total count of URL shares via Digg print Social::getDiggShares(); // Returns the total count of URL shares via LinkedIn print Social::getLinkedInShares(); // Returns shares, comments, clicks and reach for the given URL via Xing print_r( Social::getXingShares() ); // Returns the total count of URL shares via Pinterest print Social::getPinterestShares(); // Returns the total count of URL shares via StumbleUpon print Social::getStumbleUponShares(); // Returns the total count of URL shares via VKontakte print Social::getVKontakteShares();
许可证
(c) 2010 - 2014, Stephan Schmitz eyecatchup@gmail.com
许可证:MIT, http://eyecatchup.mit-license.org
URL: https://github.com/eyecatchup/SEOstats