padosoft/laravel-google-structured-data-testing-tool

Laravel 包,用于使用谷歌结构化数据测试工具的未公开 API 测试 Schema.org 标记或其他结构化数据格式。

1.1.1 2018-08-02 13:34 UTC

This package is auto-updated.

Last update: 2024-09-22 11:05:53 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads SensioLabsInsight

本包提供了一系列命令,用于自动化和批量检查 Schema.org 标记或其他结构化数据格式,使用的是我找到的谷歌结构化数据测试工具未公开的 API。谷歌已经提供了使用 Webmaster Tools 中的搜索控制台测试标记数据的好工具。但是,如果你想以编程方式测试你的网站 URL 或一系列 URL,该如何测试标记数据呢?你无法使用谷歌 WMT 做到这一点。本包试图解决这些问题。

警告

注意:这是一个未公开的谷歌 API。我在与谷歌结构化数据测试工具和谷歌 Chrome 调试控制台交互时发现了它,因此无法保证 API 保持公开或 API 变更会使包无法使用。

目录

要求

  • php: >=7.0.0
  • illuminate/support: ^5.0
  • illuminate/http: ^5.0
  • padosoft/support": ^1.9

安装

您可以通过 composer 安装此包

$ composer require padosoft/laravel-google-structured-data-testing-tool

您必须安装此服务提供者。

// config/app.php
'provider' => [
    ...
    Padosoft\Laravel\Google\StructuredDataTestingTool\GoogleStructuredDataTestToolServiceProvider::class,
    ...
];

您不需要在 app/Console/Kernel.php 中注册此命令,因为它由 GoogleStructuredDataTestToolServiceProvider 的 register() 方法提供。

您可以使用以下命令发布此包的配置文件

php artisan vendor:publish --provider="Padosoft\Laravel\Google\StructuredDataTestingTool\GoogleStructuredDataTestToolServiceProvider"

以下配置文件将发布在 config/laravel-google-structured-data-testing-tool.php

return array(
    'mailSubjectSuccess' => env(
        'STRUCTURED_DATA_TESTING_TOOL_SUBJECT_SUCCESS',
        '[google-structured-data-testing-tool]: Ok - markup data is ok.'
    ),
    'mailSubjetcAlarm' => env(
        'STRUCTURED_DATA_TESTING_TOOL_SUBJECT_ALARM',
        '[google-structured-data-testing-tool]: Alarm - markup data error detected.'
    ),
    'mailFrom' => env('STRUCTURED_DATA_TESTING_TOOL_MESSAGE_FROM', 'info@example.com'),
    'mailFromName' => env('STRUCTURED_DATA_TESTING_TOOL_MESSAGE_FROM_NAME', 'Info Example'),
    'mailViewName' => env('STRUCTURED_DATA_TESTING_TOOL_MAIL_VIEW_NAME', 'laravel-google-structured-data-testing-tool::mail'),
    'logFilePath' => env('STRUCTURED_DATA_TESTING_TOOL_LOG_FILE_PATH', storage_path() . '/logs/laravel-google-structured-data-testing-tool.log')
);

在您的 app 配置文件夹中,您可以从 src/config/.env.example 复制设置用于您的 .env 文件,用于 laravel-google-structured-data-testing-tool.php。如果您在 src/config 文件夹中使用 mathiasgrimm/laravel-env-validator,您将找到验证 env 设置的示例。

用法

安装完成后,您可以轻松运行命令以打印帮助信息

php artisan google-markup:test https://www.padosoft.com

google-markup:test 命令检查给定网站 https://www.padosoft.com 中的结构化数据和 schema.org 标记

您还可以通过将 URL txt 文件的路径(每行一个 URL 的文件)作为参数传递:php google-markup:test /path/to/my/url.txt,这样您就可以在一个命令中检查多个网站/URL(批量)!

默认情况下,命令在控制台中显示结果,但您也可以使用 --mail 选项发送 HTML 邮件

php google-markup:test https://www.padosoft.com --mail=mymail@mydomain.me

示例

以下是一个基本示例,检查这些目录中的 composer.lock

php artisan google-markup:test https://www.padosoft.com

以下是将输出报告发送到邮件的示例

php artisan google-markup:test https://www.padosoft.com --mail=mymail@mydomain

以下是一个示例,忽略两个 URL 的标记错误(如果命令在这些目录中找到任何标记错误,则将其写入输出,但电子邮件主题不设置为警报)

php artisan google-markup:test /path/to/my/url.txt --mail=mymail@mydomain --whitelist="https://www.padosoft.com,https://blog.padosoft.it"

定时命令

您可以通过在 app/Console/Kernel.php 中的 schedule 方法中添加此行轻松安排每日(或每周等)报告

// app/console/Kernel.php

protected function schedule(Schedule $schedule)
{
    ...
	$schedule->command('google-markup:test "/path/to/my/url.txt" --mail=mymail@mydomain')
            ->daily()
            ->withoutOverlapping()
            ->sendOutputTo(Config::get('laravel-google-structured-data-testing-tool.logFilePath'));
}

屏幕截图

以下是一个使用单个 URL 测试的输出控制台截图: screenshoot

输出控制台批量检查正常:屏幕截图

输出控制台批量检查存在错误:屏幕截图

电子邮件视图:屏幕截图

电子邮件视图存在错误:屏幕截图

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

贡献

有关详细信息,请参阅贡献指南

安全

如果您发现任何与安全相关的问题,请通过电子邮件联系,而不是使用问题跟踪器。

致谢

关于 Padosoft

Padosoft(https://www.padosoft.com)是一家位于意大利佛罗伦萨的软件公司。专注于电子商务和网站。

许可证

MIT许可(MIT)。有关更多信息,请参阅许可文件