fullmvc / yii2-metamanager
这是为yii2开发的元标签管理器。
dev-master
2019-09-15 08:29 UTC
Requires
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-imagine: ^2.1
This package is auto-updated.
Last update: 2024-09-15 19:39:49 UTC
README
这是一个为yii2开发的扩展,帮助网站添加元标签以获得更好的SEO评分。
安装
安装此扩展最简单的方法是通过 composer。
运行以下命令之一:
php composer.phar require --prefer-dist fullmvc/yii2-metamanager "dev-master"
或者
"fullmvc/yii2-metamanager": "dev-master"
将以下内容添加到您的 composer.json
文件的require部分。
配置
安装此扩展后,您需要在配置文件中将它添加为组件,如下所示
'components' => [ 'metaManager' => 'fullmvc\metamanager\MetaManager', ],
在这里,您可以指定每个标签的默认值,例如
'components => [ 'metaManager' => [ 'class' => 'fullmvc\metamanager\MetaManager', 'titlePostfix' => ' - My Webshop', // default: 150, the maximum char length for description is 160 at 2019.04.08 'descriptionLength' => 150, 'defaultMetaDatas' => [ 'DC.description' => ['content' => 'My website\'s title'], 'DC.title' => ['content' => 'This is my very own website'], 'twitter:description' => ['content' => 'This is my very own website'], 'twitter:title' => ['content' => 'My website\'s title'], 'og:description' => ['content' => 'This is my very own website'], 'og:title' => ['content' => 'My website\'s title'], ], ], ]
用法
直接调用注册方法
Yii::$app->metaManager->registerTitle('My website\'s title'); Yii::$app->metaManager->registerDescription('This is my very own website');
或者注册一个模型,该类将为您完成所有工作
Yii::$app->metaManager->registerModel($myModel);
请注意,模型需要具有某些属性或getter方法才能添加您想要的元标签
- 基础标题通过:getMetaTitle() 方法或 metaTitle 属性,getTitle() 方法或模型的 title 属性获取
- 基础描述通过:getMetaDescription() 方法或 metaDescription 属性,getDescription() 方法或模型的 description 属性获取
- 基础关键词通过:getMetaKeywords() 方法或 metaKeywords 属性,getKeywords() 方法或模型的 keywords 属性获取
- 基础图像通过:getMetaImageUrl() 方法或 metaImageUrl 属性,getImageUrl() 方法或模型的 imageUrl 属性获取
这些基本方法可以通过在配置文件中指定来覆盖
'components' => [ 'metaManager' => [ 'class' => 'fullmvc\metamanager\MetaManager', 'metaAttributes'=> [ 'common\models\Blog' => [ // for a specific model 'title' => 'myTitleAttribute', 'description' => 'myDescriptionAttribute', 'image' => 'myImageAttribute' ], ... [ // or by globally 'title' => 'myTitleAttribute', 'description' => 'myDescriptionAttribute', 'image' => 'myImageAttribute' ] ] ] ],