roberthucks/seo-magic

该软件包已废弃,不再维护。未建议替代包。
此软件包的最新版本(2.0.2)没有可用的许可证信息。

当你被误导去制作一个SPA时,如何让SEO生效?魔法。

2.0.2 2019-08-20 13:42 UTC

This package is auto-updated.

Last update: 2020-08-20 16:06:19 UTC


README

当你被误导去制作一个SPA时,如何让SEO生效?魔法。

安装

$ composer require roberthucks\seo-magic
$ npm install @nesk/puphpeteer

使用

<?php

include 'vendor/autoload.php';

use roberthucks\SEOMagic\SEOMagic;

$magic = new SEOMagic();

配置

需要更改一些默认设置吗?

<?php

include 'vendor/autoload.php';

use roberthucks\SEOMagic\SEOMagic;
use roberthucks\SEOMagic\Configuration;

//Change the cache mechanism to disable the cache
$configuration = Configuration::getInstance();
$configuration->cache = roberthucks\SEOMagic\Cacher\NullCache::class;

$magic = new SEOMagic();

fetchPage(string $uri, bool $fresh = false)

fetchPage() 将返回一个包含请求URI的HTML内容的 PageResponse 对象。默认情况下,页面缓存24小时,但可以通过变量 redis_cache_default_ttl 进行自定义。将 $fresh 设置为true将强制获取页面的新副本。但请注意,这并不是世界上最快的事情。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');

cachePage(string $uri)

cachePage() 将存储请求的URI到缓存中。这有助于预先在缓存中存储页面以加快合法页面请求的结果。

$magic = new SEOMagic();
$magic->cachePage('https://example.com');

响应对象

这是由 fetchPage() 函数返回的对象,并用于内部存储页面响应。

getHtml(): string

这将返回一个包含页面HTML内容的字符串(不包括脚本或样式标签)。这是响应的核心。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');
$magic->getHtml(); //<h1>Hello</h1>

getHeaders(): array

这将返回所有头的数组。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');
$magic->getHeaders(); //['content-type' => 'text/html']

getResponseCode(): int

这将返回请求的响应代码。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');
$magic->getResponseCode(); //200

getRenderTime(): float

这返回一个表示渲染页面所需时间的浮点数。这主要用于性能指标。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');
$magic->getRenderTime(); //1.56423

isFromCache(): bool

这返回一个布尔值,表示页面是否从缓存中获取。这可以用来检查你的缓存系统是否正常工作以及你获得了多少次命中/未命中。

$magic = new SEOMagic();
$magic->fetchPage('https://example.com');
$magic->isFromCache(); //true