padosoft / laravel-google-structured-data-testing-tool
Laravel 包,用于使用谷歌结构化数据测试工具的未公开 API 测试 Schema.org 标记或其他结构化数据格式。
Requires
- php: >=7.0.0
- illuminate/console: ~5.0
- illuminate/support: ^5.0
- padosoft/support: ^1.9
- tightenco/mailthief: 0.*
Requires (Dev)
- mockery/mockery: ^0.9.5
- orchestra/testbench: ^3.2
- padosoft/laravel-test: ^2.0
- padosoft/test: ^0.2
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-09-22 11:05:53 UTC
README
本包提供了一系列命令,用于自动化和批量检查 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')); }
屏幕截图
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
贡献
有关详细信息,请参阅贡献指南。
安全
如果您发现任何与安全相关的问题,请通过电子邮件联系,而不是使用问题跟踪器。
致谢
关于 Padosoft
Padosoft(https://www.padosoft.com)是一家位于意大利佛罗伦萨的软件公司。专注于电子商务和网站。
许可证
MIT许可(MIT)。有关更多信息,请参阅许可文件。