cba85 / php-seo-tag
A PHP包,用于为搜索引擎和社交媒体添加元数据标签,以更好地索引和显示您网站的内容。
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: 8.*
This package is auto-updated.
Last update: 2024-09-16 15:11:32 UTC
README
一个受 jekyll-seo-tag 启发的PHP包,用于添加元数据标签以更好地索引和显示您网站的内容。
它做什么
PHP SEO Tag会将以下元数据标签添加到您的网站
- 页面标题
- 页面描述
- 规范URL
- 分页页面上的上一页和下一页URL
- JSON-LD 网站和帖子元数据,以实现更丰富的索引
- Open Graph 标题、描述、站点标题和URL(用于Facebook、LinkedIn等)
- Twitter Summary Card 元数据
PHP SEO tag不是为适应所有可能的用例而设计的。它应该适用于大多数网站,并且不需要配置选项列表,这些选项只会让大多数用户感到困惑。
安装
您可以通过composer安装此包
composer require cba85/php-seo-tag
用法
use Seo\Tag as Seo; $tags = []; // Your tags $seoTag = new Seo($tags); $seo = $seoTag->render();
该包将返回基于您参数的HTML元标签。
然后您只需显示$seo变量。
echo $seo;
示例文件夹中有一个示例。
多个数组
您可以通过参数传递您想要的包含标签的数组数量。该包将合并它们。如果您想区分网站的一般标签和页面的特定标签,这可能很有用。
$siteTags = []; // General tags of your website $pageTags = []; // Tags of your page $seotag = new SeoTag($siteTags, $pageTags); $seo = $seotag->render();
示例文件夹中有一个示例。
标签
如果包含在$tags数组中,SEO标签将尊重以下任何一项(如果未定义,则简单地不包含它们)
-
site_title- 您网站标题(例如,我的精彩网站)$tags['site_title'] => "The title of the website";
-
page_title- 您页面标题(例如,关于)$tags['page_title'] => "The title of the page";
-
description- 简短描述(例如,一个致力于评论猫表情包的博客)$tags['description'] => "The description of the page";
-
url- 您网站的全URL。$tags['url'] => "https://www.example.com";
-
date- 您页面发布日期。$tags['date'] => "2017-11-05 18:00:00";
date_modified和date_published- 您可以手动指定修改日期和发布日期。
此字段将优先用于dateModified JSON-LD输出。这对于文件时间戳不匹配内容实际修改时间的情况很有用。
$tags['date'] => [ 'published' => "2017-11-02 12:30:00", 'modified' => "2017-11-03 15:01:00", ];
-
author- 作者姓名$tags['author'] => "Clement";
-
twitter- 您网站的Twitter名称。$tags['twitter'] => "@jack";
-
facebook- 可以下列属性可用app_id- Facebook insights的Facebook应用IDpublisher- 发布实体的Facebook页面URL或IDadmins- 链接到个人账户的域洞察的Facebook用户ID
您可能希望这样描述一个或多个
$tags['facebook'] => [ 'admins' => "Mark", 'publisher' => "Priscilla", 'app_id' => "123456789", ];
-
image- 网站全站徽标的URL(例如,/assets/img/your-company-logo.png)$tags['image'] => "/img/image.jpg";
对于大多数用户,在每页上设置
$tags['image'] => "path-to-image"应该足够。如果您需要更多控制图像表示方式,则image属性也可以是一个对象,具有以下选项path- 图像的相对路径。与$tags['image'] => "path-to-image"相同height- Open Graph(og:image)图像的高度width- Open Graph(og:image)图像的宽度
您可以使用上述任意一个可选属性,例如:
$tags['image'] => [ 'path' => "/img/image.jpg", 'height' => "350", 'width' => "250", ];
-
social- 用于指定社交档案。请参阅社交档案指定。$tags['social'] => [ "https://twitter.com/user", "https://#/user", "https://www.linkedin.com/in/user", "https://github.com/user", "https://medium.com/@user", ];
-
google_site_verification- 通过谷歌网站管理工具验证所有权。或者,可以使用以下格式一次性通过多个服务验证所有权:$tags['webmaster_verifications'] => [ 'google' => "123456789", 'bing' => "123456789", 'alexa' => "123456789", 'yandex' => "123456789", ];
-
lang- 标记这些标签的语言环境。格式为language_TERRITORY。默认为en_US。$tags['lang'] => "fr_FR";
-
type- 页面所代表的内容类型。这必须是Schema.org类型,通常可能是BlogPosting、NewsArticle、Person、Organization等。$tags['type'] => "WebSite";
-
generator- 您网站的生成器。$tags['generator'] => "My awesome framework";
-
canonical_url- 您可以通过指定 canonical_url 选项来设置页面的自定义规范 URL。如果没有指定 canonical_url 选项,则使用页面 URL 生成规范 URL。$tags['canonical_url'] => "https://www.example.com";
-
previous_page和next_page- 分页页面的上一页和下一页 URL。$tabs['previous_page'] => "https://www.example.com/post/1"; $tabs['next_page'] => "https://www.example.com/post/2";
测试
尚未编写单元测试。
鸣谢
许可协议
有关更多信息,请参阅许可文件。