تعداد بازدید: 1138
در این مقاله به معرفی یک پکیج خوب لاراول یا لومن جهت سئو کردن مقالات می پردازیم.
نام پکیج: seotools
ویژگی های پکیج:
امکانات رابط کاربری ساده دوستانه
تنظیم آسان عناوین و برچسب های متا
متاهای تنظیم شده برای کارتهای توییتر و Open Graph
تنظیم آسان برای داده های مرتبط JSON
آموزش نصب پکیج seotools
1 - اولین قدم استفاده از composer برای نصب بسته و به روزرسانی خودکار فایل composer.json شما است ، می توانید با اجرای این کار:
composer require artesaos/seotools
توجه: اگر از لاراول 5.5 استفاده می کنید ، مراحل 2 و 3 برای شما غیرضروری است. SEOTools از Laravel New Package Discovery پشتیبانی می کند. با اینحال اگر پکیج کار نکرد این مراحل را هم انجام دهید.
2 - تأمین کننده (Provider) برای این بسته را تنظیم کنید ، لاراول می تواند پیکربندی برنامه خود را به روز کنید ، فقط کافی است فایل config / app.php خود را به روز کنید و کد زیر را در انتهای بخش "ارائه دهندگان" اضافه کنید:
return [
// ...
'providers' => [
Artesaos\SEOTools\Providers\SEOToolsServiceProvider::class,
// ...
],
// ...
];
برای لومن:
<?php
// ...
$app = new Laravel\Lumen\Application(
dirname(__DIR__)
);
// ...
$app->register(Artesaos\SEOTools\Providers\SEOToolsServiceProvider::class);
// ...
return $app;
3. تنظیم Facades
return [
// ...
'aliases' => [
'SEOMeta' => Artesaos\SEOTools\Facades\SEOMeta::class,
'OpenGraph' => Artesaos\SEOTools\Facades\OpenGraph::class,
'Twitter' => Artesaos\SEOTools\Facades\TwitterCard::class,
'JsonLd' => Artesaos\SEOTools\Facades\JsonLd::class,
'JsonLdMulti' => Artesaos\SEOTools\Facades\JsonLdMulti::class,
// or
'SEO' => Artesaos\SEOTools\Facades\SEOTools::class,
// ...
],
// ...
];
4. انتشار
php artisan vendor:publish
در کنترلر خود از کدهای زیر استفاده کنید:
public function show($id)
{
$post = Post::find($id);
SEOMeta::setTitle($post->title);
SEOMeta::setDescription($post->resume);
SEOMeta::addMeta('article:published_time', $post->published_date->toW3CString(), 'property');
SEOMeta::addMeta('article:section', $post->category, 'property');
SEOMeta::addKeyword(['key1', 'key2', 'key3']);
OpenGraph::setDescription($post->resume);
OpenGraph::setTitle($post->title);
OpenGraph::setUrl('http://current.url.com');
OpenGraph::addProperty('type', 'article');
OpenGraph::addProperty('locale', 'pt-br');
OpenGraph::addProperty('locale:alternate', ['pt-pt', 'en-us']);
OpenGraph::addImage($post->cover->url);
OpenGraph::addImage($post->images->list('url'));
OpenGraph::addImage(['url' => 'http://image.url.com/cover.jpg', 'size' => 300]);
OpenGraph::addImage('http://image.url.com/cover.jpg', ['height' => 300, 'width' => 300]);
JsonLd::setTitle($post->title);
JsonLd::setDescription($post->resume);
JsonLd::setType('Article');
JsonLd::addImage($post->images->list('url'));
}
در ویو از کدهای زیر استفاده کنید:
<html>
<head>
{!! SEOMeta::generate() !!}
{!! OpenGraph::generate() !!}
{!! Twitter::generate() !!}
{!! JsonLd::generate() !!}
// OR with multi
{!! JsonLdMulti::generate() !!}
<!-- OR -->
{!! SEO::generate() !!}
<!-- MINIFIED -->
{!! SEO::generate(true) !!}
<!-- LUMEN -->
{!! app('seotools')->generate() !!}
</head>
<body>
</body>
</html>