xorgxx / neox-seo-bundle
为您的项目提供简单的SEO功能
0.1
2023-09-30 08:34 UTC
Requires
- php: >=8.1
- symfony/framework-bundle: 6.3.*
This package is auto-updated.
Last update: 2024-09-10 12:03:37 UTC
README
此捆绑包为开发者提供简单灵活的SEO功能。使用方式:1 - 属性 2 - 注入 & 1+2 😉
安装 !!
安装捆绑包,使用Composer !! 因为它仍然处于beta版本 !!
composer require xorgxx/neox-seo-bundle
or
composer require xorgxx/neox-seo-bundle:0.*
确保在您的AppKernel中注册捆绑包
Bundles.php <?php return [ ..... NeoxSeo\NeoxSeoBundle\neoxSeoBundle::class => ['all' => true], ..... ];
注意: 您可能需要使用[symfony composer dump-autoload]来重新加载自动加载
..... 完成 🎈
!! 您需要配置样式 !!
目前我们还没有完全优化 !!
配置
- 安装和配置 ==> Symfony配置
- 在配置文件夹中创建neox_seo.yaml
└─── config
│ └─── packages
│ └─── neox_seo.yaml
| └─── .....
neox_seo.yaml
自动设置,但您可以自定义
neox_seo:
seo:
title: '%name_projet% Bienvenue | Creation de site web, mobile, application station'
charset: "utf-8"
link:
canonical: auto #href="%web_site%"
alternate@FR: hreflang="fr" href="https://www.xxxxx.wip/fr"
alternate@En: hreflang="en" href="https://www.xxxxx.wip/en"
icon: href="data:image/svg+xml,<svg xmlns=http://www.w3.org/2000/svg viewBox=0 0 128 128><text y=1.2em font-size=96>⚫️</text></svg>"
metas:
metasHttpEquiv:
content-type: "text/html; charset=utf-8"
x-ua-compatible: "IE=edge"
metasName:
viewport: "width=device-width, initial-scale=1"
description: |
%name_projet% ....
image: '%web_site%/images/logo/logoWhite.png' # This one is shared by open graph and twitter only
# TWITTER
"twitter:card": summary
metasProperty:
# FACEBOOK
"og:description": blablabla.
metasItemprop:
html:
lang: fr
如何使用?
通过属性名称
myController.php <?php use NeoxSeo\NeoxSeoBundle\Attribute\NeoxSeo; .... #[NeoxSeo( title: 'home page', charset: 'UTF-8', metasHttpEquiv: ['Content-Type'=>'text/html; charset=utf-4', 'Accept'=>'text/html; charset=utf-8'])] class HomeController extends _CoreController { #[Route('/{id}/send', name: 'app_admin_tokyo_crud_send', methods: ['GET'])] #[NeoxSeo( title: 'home index', metasName: ['keywords' =>'bar', 'description' => 'foo', 'robots' => 'index,follow'])] public function index( Request $request): Response { .... }
通过注入
myController.php <?php #[NeoxSeo( title: 'home page', charset: 'UTF-8', metasHttpEquiv: ['Content-Type'=>'text/html; charset=utf-4', 'Accept'=>'text/html; charset=utf-8'])] class HomeController extends _CoreController { /** * @param NeoxSeoService $neoxSeoService * * @return Response */ #[Route('/{id}/send', name: 'app_admin_tokyo_crud_send', methods: ['GET'])] #[NeoxSeo( title: 'home index', metasName: ['keywords' =>'bar', 'description' => 'foo', 'robots' => 'index,follow'])] public function index(NeoxSeoService $neoxSeoService): Response { $neoxSeoService->getSeoBag() ->setTitle("home-page") ->setMetasHttpEquiv([ 'Content-Type'=>'text/html; charset=utf-56', 'Accept'=>'text/html; charset=utf-8', 'capnord'=>'text/html; charset=utf-8', ]) ; } .....
设置twig标签
<html {{ neoxSeoHtmlAttributes()|raw }}> <head> {{ neoxSeoTitle()|raw }} {{ neoxSeoMetadata()|raw }} {{ neoxSeoLink()|raw }}
..... 完成 🎈🎉🎉🎉
贡献
如果您想为此捆绑包做出贡献(谢谢!)以下是一些指南
- 请尊重Symfony指南
- 测试一切!请在修复未涵盖的bug时,将测试案例添加到tests/目录中
- 您修复了一个之前未涵盖的bug
- 您添加了一个新功能
- 您看到代码可以工作,但没有任何测试覆盖(天堂有一个特殊的地方为您留出)
待办事项列表
- 面包屑
- 网站地图