آموزش ساخت sitemap (سایت مپ) در فریم ورک لاراول

زمان مطالعه
5 دقیقهتعداد بازدید
2960تعداد پرسش ها
2برچسب ها :
جدیدترین مقالات
آموزش ساخت sitemap (سایت مپ) در فریم ورک لاراول

زمان مطالعه
5 دقیقهتعداد بازدید
2960تعداد پرسش ها
2برچسب ها :
جدیدترین مقالاتسایت مپ (sitemap) در فریم ورک لاراول به راحتی می تواند ساخته شود در صورتی که بیشتر افراد از پکیج های آماده برای این کار استفاده می کنند و جالب تر اینکه زمان بیشتری نیز صرف ساخت یک سایت مپ می کنند حتی دارای انعطاف کافی برای پوشش دادن تمام قسمت های سایت از جمله پست، بلاگ، دسته بندی ، صفحات ثابت و ... ندارد. پس بهترین کار ساخت یک سایت مپ حرفه ای می باشد که تمام نیازمندی های سایت شما را پوشش و برای محتوای بسیار زیاد قابل صفحه بندی شدن باشد.
سایت مپ چیست؟
سایت مپ یک روش برای مرتب کردن اطلاعات سایت برای موتورهای جستجو براساس شاخه مناسب می باشد. سایت مپ استاندارد موتور جستجوی گوگل است که در سال 2004 معرفی شد تا ربات های جستجو گر بتوانند با یک نگاه سریع به این فایل تمام تغییرات را به سرعت یافته و سریعا در موتور گوگل ثبت کنند سایت مپ یک فایل XML با بدنه ثابت و اطلاعات داخل بدنه همراه با یک نام مشخص که عموما sitemap.xml است اما این نام و مسیر آن در سایت را می توانید به دلخواه خود انتخاب کنید ولی در هر صورت باید به موتور های جستجو آدرس سایت مپ خود را معرفی کنید.
سایت مپ (sitemap) در فریم ورک لاراول
یک سایت که با فریم ورک لاراول ساخته شده است نیز نیاز دارد که سایت مپ مورد نیاز آن ساخته شود و خود لاراول ساخت آن را به صورت اتوماتیک انجام نمی دهد پس یا باید از پکیج های آماده استفاده کنید یا خودتان یک سایت مپ بسیار قوی و حرفه ای بسازید و پیشنهاد بنده نوع دوم است. پس ما یک فایل xml با نام sitemap.xml خواهیم ساخت که قسمت های مختلف سایت را با آن به موتورهای جستجو معرفی کنیم.
سایت مپ (sitemap) برای محتوای بسیار زیاد در لاراول
در این روش که در ادامه کامل همراه با کد معرفی خواهد شد سعی می کنیم سایت مپ را به تکه های کوچکتری تقسیم کنیم تا سریعا برای ربات ها قابل دسترسی باشد حتی احتمال دارد هر کدام از این سایت مپ های کوچکتر خود نیز به تکه های کوچکتری تقسیم شوند.
مراحل ساخت sitemap در laravel
مراحل مختلف برای ساخت یک سایت مپ ساده و در ادامه sitemap حرفه ای در laravel را انجام خواهیم داد پس مرحله اول ساخت یک کنترلر با نام SitemapController می باشد در کنسول artisan کد ذیل را وارد کنید
ساخت کنترلر برای sitemap
php artisan make:controller SitemapController
سپس مسیر دسترسی به این کنترلر را در فایل web.php تعریف می کنیم
Route::get('sitemap.xml','SitemapController@sitemap');
در کنترلر SitemapController یک تابع به اسم sitemap تعریف و مسیر view قابل نمایش همراه با header های لازم برای استاندارد xml را به آن می افزاییم. همچنین یک کوئری برای واکشی پست ها موجود در دیتابیس نیز برای view ارسال می کنیم
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
class SitemapController extends Controller
}
public function sitemap()
{
$post=Post::all();
return response()->view('sitemap',compact('post'))->header('Content-Type','text/xml');
}
}
ساخت view برای sitemap
یک ویو در قسمت resource پروژه با نام sitemap.blade.php تعریف می کنیم
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
@foreach($post as $value)
<url>
<loc>
{{ urldecode(route('Post.show',$value->id.'-'.$value->title)) }}
</loc>
<lastmod>{{ $value->updated_at }}</lastmod>
<changefreq>hourly</changefreq>
<priority>0.8</priority>
<image:image>
<image:loc>
{{ asset($value->Picture) }}
</image:loc>
<image:caption>جاب تیم</image:caption>
<image:title>{{ $value->title }}</image:title>
</image:image>
</url>
@endforeach
</urlset>
توضیحات : قسمت های مختلف این کد رو مختصر توضیح خواهیم داد تا دقیقا متوجه این قضیه شوید
- <loc></loc> در داخل این قسمت url پست باید قرار گیرد
- <lastmod></lastmod> این قسمت نیز آخرین تاریخچه ویرایش پست را نشان خواهد داد
- <changefreq>hourly</changefreq> امکان ایجاد تغییرات به صورت ساعتی به موتورهای جستجوی معرفی شده است که مقدارهای هفتگی ، روزانه و ... نیز می تواند بگیرد
- <priority>0.8</priority> اهمیت این پست در سایت از نمره یک نمره 0.8 داده شده است که عموما صفحات اصلی نمره یک ، دسته بندی ها نمره 0.9 و پست ها نمره 0.8 می گیرند و همینطور می توانید برای موضوعات دیگر نیز این نمرات را ادامه دهید
- <image:image></image:image> داخل این تگ نیز اطلاعات تصویر مربوط به پست گذاشته شده است شامل آدرس، عنوان و کپشن
خوب من فقط یک بخش کوچک رو توضیح دادم که یک سایت مپ کوچک به راحتی به روش بالا ساخته می شود در ادامه می خواهم در مورد سایت مپ بزرگتر مطلب رو کاملتر کنم و تجربه بهتری برای شما دوستان ارائه کنم
مراحل ساخت سایت مپ بزرگ با فریم ورک لاراول
ساخت کنترلر به توابع مختلف برای بخش بندی و تکه کردن سایت مپ در لاراول
<?php
namespace App\Http\Controllers;
use App\Category;
use Illuminate\Http\Request;
use App\Product;
use App\PageStatic;
class SitemapController extends Controller
{
public function sitemap()
{
return response()->view('sitemap')->header('Content-Type','text/xml');
}
public function statics()
{
return response()->view('statics')->header('Content-Type','text/xml');
}
public function category()
{
$query=Category::active()->get();
return response()->view('category',compact('query'))->header('Content-Type','text/xml');
}
public function post()
{
$query=Product::active()->with('PictureFirst')->orderBy('id','desc')->get();
return response()->view('post',compact('query'))->header('Content-Type','text/xml');
}
}
ساخت url های این کنترلر نیز به صورت ذیل خواهد بود
Route::get('sitemap.xml','SitemapController@sitemap');
Route::get('sitemap-static.xml','SitemapController@statics');
Route::get('sitemap-category.xml','SitemapController@category');
Route::get('sitemap-post.xml','SitemapController@post');
خب بعدش view های هر کدوم از این قسمت هارو خواهیم ساخت
اول view اصلی که به صورت یک شبکه عمل میکنه و آدرس سایت مپ های دیگه رو معرفی میکنه با اسم sitemap.blade.xml
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>{{ url('sitemap-static.xml') }}</loc>
</sitemap>
<sitemap>
<loc>{{ url('sitemap-category.xml') }}</loc>
</sitemap>
<sitemap>
<loc>{{ url('sitemap-post.xml') }}</loc>
</sitemap>
</sitemapindex>
گزینه بعدی معرفی صفحات ثابت و بدون تغییر در سایت می باشد با اسم statics.blade.php
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>{{ url('/') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('/UploadFile') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('/login') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('/register') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('/blog') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/jobteam-about') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/jobteam-question') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/Privacy-Policy') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/jobteam-terms') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/register-jobteam') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>{{ url('blog/jobteam-upload-file') }}</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
</urlset>
من برخی از صفحات ثابت سایت جاب تیم رو معرفی کردم تا کاملا برای شما قابل بررسی باشد و بعدش view دسته بندی (category) های را با اسم category.blade.php درست می کنیم
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
@foreach($query as $value)
<url>
<loc>{{ urldecode(url('category',$value->title)) }}</loc>
<lastmod>{{ $value->updated_at }}</lastmod>
<changefreq>always</changefreq>
<priority>1</priority>
</url>
@endforeach
</urlset>
و آخرین مرحله ساخت view پست های سایت با اسم post.blade.php می باشد که من به صورت ساده درستش کردم ولی شما بازهم می تونید به قسمت های کوچکتری تقسیم کنید
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
@foreach($query as $value)
<url>
<loc>
{{ urldecode(route('Post.show',$value->id)) }}
</loc>
<lastmod>{{ $value->updated_at }}</lastmod>
<changefreq>hourly</changefreq>
<priority>0.8</priority>
<image:image>
<image:loc>
{{ asset($value->PictureFirst->name) }}
</image:loc>
<image:caption>جاب تیم</image:caption>
<image:title>{{ $value->title }}</image:title>
</image:image>
</url>
@endforeach
</urlset>
برای دسترسی و مشاهده نمونه این سایت مپ به آدرس https://jobteam.ir/sitemap.xml مراجعه کنید.
این آموزش برای ساخت سایت مپ در لاراول بود این نوع سایت مپ کاملا برای گوگل استاندارد و خیلی سریع لود می شود امیدوارم این مطلب برای تمام دوستداران این فریم ورک مفید بوده باشد.


آموزش لیست ها (Lists) در html

سئو تکنیکال، آموزش و دوره ای برای برنامه نویسان و سئو کاران حرفه ای

گوگل ترندز چیست و آموزش کار با گوگل ترندز

آموزش گوگل تگ منیجر (GTM)

آموزش لینکدین صفر تا صد به صورت حرفه ای

آموزش چند زبانه کردن سایت در وردپرس بصورت تصویری

آموزش اتصال به درگاه پرداخت در وردپرس

طرح تجاری یا بیزینس پلن چیست؟آموزش نگارش بیزینس پلن موفق

آموزش مقدماتی کار با افزونه المنتور وردپرس

آموزش نمایش نقشه گوگل در وردپرس و رفع مشکلات نقشه گوگل

برنامه نویس خوب، موفق و توانایی هایی که باید داشته باشید

وسط چین کردن تصاویر با css داخل متن

کلیک بر روی دکمه های موجود بر روی صفحه با جاوا اسکریپت

تگ picture در html

تصاویر پس زمینه در html

تگ map (نقشه تصویری) در html

تصاویر (img) در html

نشانه گذاری (bookmarks) در html

تغییر رنگ لینک ها در html

مخفی کردن متن بلند با css