نحوه تولید نقشه سایت بصورت اتوماتیک با استفاده از لاراول
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 3 دقیقه

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

مورد اول: نقشه سایت چیست؟

نقشه سایت‌ها فایلهای xml هستند که شامل داده‌های ساختاری در مورد صفحات وبسایت اند. هر صفحه یک ورودی مشابه این صفحه دارد:

 <url>
    <loc>https://startupnamecheck.com</loc>
    <lastmod>2020-03-06T20:31:03+00:00</lastmod>
    <priority>0.9</priority>
    <changefreq>monthly</changefreq>
  </url>

استفاده از نقشه سایت چه موقع مناسب است؟

نقشه‌های سایت کمک کننده موتورهای جستجو برای کشف تمام صفحات و مطالب مربوطه در وب سایت هستند. در حالی که نقشه سایت برای تصاویر نیز وجود دارد، در اینجا تمرکز فقط بر روی صفحات وب است.

چگونه می‌توان نقشه سایت تولید کرد؟

نقشه سایت به روش‌های مختلفی ایجاد می‌شود. اگر از فریمورکی مانند لاراول استفاده می‌کنید، می‌توانید این موارد را هر زمان که محتوای خود را منتشر یا به روز می‌کنید، ایجاد کنید.

بعد از چند آزمایش و بررسی چندین راه‌حل در گیت هاب، راه‌حلی را که می‌خواستیم پیدا نکردیم:

  • یک کرالر ساده و دائمی از وب سایت واقعی.
  • تگ‌های ربات noindex را و همچنین canonicals و البته تگ ‘article:modified_time’ را در نظر می‌گیرد.
  • جاوااسکریپت را نادیده می‌گیرد همانطور که گوگل اغلب انجام می‌دهد. این کار اجازه می‌دهد تا خیلی سریع‌تر از اجرای یک مرورگر بی هدف فقط برای دسترسی به یک صفحه خالص HTML5 / CSS3 استفاده کنید.

راهکار ما برای نقشه سایت بصورت اتوماتیک

همانطور که گفته شد، بعد از برخی تحقیقات آنچه را که در ذهن داشتم پیدا نکردم. بنابراین، در کنار توسعه دهنده بودن، تصمیم گرفتم راه حل خودم را بسازم. این به شدت وابسته به پی اچ پی اسپایدر است، یک پکیج کرالر برای پی اچ پی. علاوه بر این، این بسته از برخی regex برای شناسایی جالب‌ترین قسمت‌های وبسایت استفاده می‌کند. مقادیر دیگر مانند "اولویت" با عمق وبسایت (سطح تودرتو) حدس زده می‌شوند. جزئیات بیشتر را می‌توان در repo GitHub برای سایت‌های Laravel-Sitemaps نیز یافت.

چگونه می‌توان این پکیج را نصب کرد؟

پکیج با استفاده از کامپوزر توزیع می‌شود و می‌تواند با استفاده از نصب شود:

composer require bringyourownideas/laravel-sitemap

این به طور خودکار پیکربندی مورد نیاز Laravel ServiceProvider را انجام می‌دهد. اگر از کشف پکیج انصراف دادید می‌توانید آن را به صورت دستی نصب کنید:

php artisan vendor:publish --provider="BringYourOwnIdeas\LaravelSitemap\SitemapServiceProvider"

چگونه از پکیج استفاده کنیم؟

این بسته دستور "artisan" را به نام "generate: sitemap" ثبت می‌کند. این باعث کرال سایت شما و نوشتن نقشه سایت در فهرست عمومی می‌شود. برای راحتی کار، می‌توانید این مورد را به مراحل استقرار خود اضافه کنید.

به روز رسانی‌های معمول نقشه سایت

اگر می‌خواهید به روزرسانی‌های 'sitemap.xml' را به طور مرتب اجرا کنید، می‌توانید در عملکرد "برنامه" خط جدیدی را در `app/Console/Kernel.php` اضافه کنید:

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    $schedule->command('generate:sitemap')->daily();

    // ...or with a defined time...

    $schedule->command('generate:sitemap')->daily()->at('02:50');
}

خلاصه و بازخورد

اگر به مشکلی برخوردید می‌توانید با ما در میان بگذارید و نظرات خود را برای ما ارسال کنید.

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
4.5 از 2 رای

/@heshmati74
عرفان حشمتی
Full-Stack Web Developer

کارشناس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید