تولیدکنندگان سایت های استاتیک (SSG) محبوب هستند و مزایای بسیاری دارند ، اما در این مقاله به دلایلی پرداخته می شود که ممکن است جایگزین مناسبی برای سیستم مدیریت محتوای شما نباشند.

در مقاله قبلی من ، ما در مورد چگونگی بهره مندی سایت شما از استفاده از یک تولید کننده سایت ثابت بحث کردیم:

  • آ سایت ایستا مجموعه ای از صفحات موجود در پرونده های اصلی HTML است. می توانید این موارد را به صورت دستی در یک ویرایشگر متن بنویسید ، اما مدیریت دارایی ها و عناصر تکراری مانند ناوبری می تواند مشکل ساز شود.
  • آ سیستم مدیریت محتوا محتوای صفحه را در یک پایگاه داده ذخیره می کند و امکاناتی را برای ویرایش و استفاده از مضامین فراهم می کند. مدیریت به هزینه انعطاف پذیری ، عملکرد ، نیازهای سرور ، امنیت و پشتیبان گیری آسان تر می شود.
  • آ ژنراتور سایت استاتیک سازش بین استفاده از یک سایت استاتیک کدگذاری دستی و CMS کامل است. شما یکبار سایت کامل را با استفاده از داده های خام (مانند پرونده های Markdown) و الگوها ایجاد می کنید. مجموعه پرونده های حاصل به سرور زنده شما منتقل می شود.
  • اصطلاح “Jamstack” (جاوا اسکریپت ، API ها و نشانه گذاری) در رابطه با سایت های ثابت استفاده می شود. این به افزایش چارچوب ها ، توابع بدون سرور و ابزارهای مرتبط اشاره دارد که فایل های استاتیک را ایجاد می کنند اما اجازه می دهند تعامل پیچیده ای اضافه شود.

ژنراتورهای معروف سایت استاتیک شامل جکیل، یازده، گتسبی، هوگو، و فلزکار. SSG برای اکثر زبانها در دسترس است. دیدن StaticGen برای بسیاری دیگر

به نظر می رسد SSG مزایای CMS و جهان استاتیک را ارائه می دهد ، اما ممکن است برای هر پروژه مناسب نباشد …

1. شما خودتان هستید

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

این را با وردپرس مقایسه کنید. یک کاربر غیر فنی ممکن است به کمک نصب نیاز داشته باشد ، اما پس از اتمام کار ، می تواند سایتی را ویرایش کرده و یکی از هزاران موضوع و پلاگین موجود را نصب کند. آنها ممکن است بهترین وب سایت سفارشی را نداشته باشند ، اما با حداقل دخالت در حال کار هستند.

2. فلج انتخاب

زیاد است ژنراتورهای سایت استاتیک، اما حتی محبوب ترین ابزارها نیز توسط تعداد کمی از جامعه وب استفاده می شود. برای تحقیق ، تحقیق و ارزیابی گزینه ها به زمان نیاز دارید. یکی از اولین SSG ها مستقر در روبی بود جکیل اما اگرچه لزوماً به مهارت روبی احتیاج ندارید ، اگر قبلاً از این زبان استفاده کرده باشید به شما کمک می کند.

CMS های زیادی وجود دارد ، اما یک انتخاب واضح وجود دارد: وردپرس. قدرت می دهد بیش از 40٪ وب است، بنابراین کمک فراوان است. باز هم ، اگر تجربه PHP داشته باشید به شما کمک می کند ، اما حتی یک فرد غیر توسعه دهنده نیز می تواند با استفاده از تم ها و پلاگین های خارج از وب سایت ، یک وب سایت مناسب ایجاد کند.

3. زمان تنظیم اولیه

ایجاد اولین سایت ثابت شما زمان بر است. شما باید فرایند ساخت را بیاموزید و بسیاری از کد الگو باید توسعه یابد. اسکریپت های استقرار نیز ممکن است لازم باشد.

توسعه تم CMS سفارشی نیز می تواند پیچیده باشد ، اما الگوهای از پیش ساخته شده در دسترس هستند و یافتن کمک آسان تر است. ممکن است پس از نصب اولیه نیازی به توسعه بیشتر نباشد.

4. بدون رابط مدیریت

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

  • با استفاده از CMS موجود خود به عنوان منبع داده SSG ، یا
  • ارائه گردش کار ساده تر ، مانند ویرایش فایلهای مبتنی بر Git در StackEdit یا Hackmd.io.

اما این بیشتر بر زمان توسعه اولیه شما تأثیر می گذارد.

5. سازگاری وب سایت

سایت های ثابت انعطاف پذیر هستند: هر آنچه در محتوای منبع وجود دارد می تواند در یک صفحه وب ارائه شود. کاربران ممکن است بتوانند اسکریپت ها ، ابزارک ها یا موارد نامطلوب متعددی را در آن قرار دهند.

CMS می تواند برای محدود کردن کاربر پیکربندی شود. محتوا به طور معمول به یک پایگاه داده با زمینه های خاص محدود می شود ، بنابراین پانل های مدیریت کاربر را وادار می کنند که عنوان ، محتوای متن ، متن ، تصاویر برجسته و غیره را وارد کند. حتی اگر کاربر در زمینه غیرمنتظره چیزی وارد کند ، در وب سایت نمایش داده نمی شود مگر اینکه در قالب قالب پیاده سازی شود.

6. مدیریت سایت های بزرگ

وب سایتی را در نظر بگیرید که دارای هزاران صفحه ، انتشار مطالب روزانه ، اخبار فوری و ده ها نویسنده در چندین مکان است. مدیریت محتوا با استفاده از یک سایت ایجاد کننده سایت امکان پذیر است ، اما:

  • ویرایش و انتشار محتوا می تواند بی دست و پا باشد. ویرایشگران ممکن است به جای یک رابط وب یا برنامه ساده ، به مخزن Git یا پوشه های مشترک دسترسی داشته باشند.
  • به روزرسانی های زمان واقعی به تأخیر می افتد زیرا سایت باید دوباره ساخته شود ، آزمایش شود و مستقر شود.
  • زمان ساخت می تواند به سرعت افزایش یابد و استقرار آن دست و پا گیر شود.

ژنراتورهای سایت استاتیک شاید بهترین گزینه برای سایتهای حاوی بیش از چند صد صفحه با چند پست جدید هر هفته باشد. فرآیندهای ساخت و استقرار خودکار مورد نیاز خواهد بود و ممکن است به مرحله ای برسید که CMS به گزینه عملی تری تبدیل شود.

7. عملکرد سمت سرور

سایتهای استاتیک برای صفحات محتوا مناسب هستند ، اما هنگامی که به ورود به سیستم کاربر ، پر کردن فرم ، امکانات جستجو ، تالارهای گفتگو یا سایر تعاملات سرور و پایگاه داده نیاز دارید ، وضعیت چالش برانگیزتر می شود. گزینه ها عبارتند از:

  1. افزودن م componentلفه شخص ثالث و سمت مشتری مانند جستجوی آنگولیا یا نظرات.
  2. ایجاد API های سرور (یا بدون سرور) خود که می تواند توسط JavaScript سمت مشتری مصرف شود تا ویژگی های مورد نیاز را اضافه کند.
  3. ایجاد صفحات حاوی <?php ... ?> یا بلوک های کد سمت سرور مشابه.
  4. تغییر به چارچوبی مانند Next.js، که محتوای استاتیک را در صورت امکان ارائه می دهد اما پردازش سمت سرور را نیز امکان پذیر می کند.

با این حال ، زمان توسعه ، پیچیدگی ساخت ، پیامدهای امنیتی ، تلاش برای آزمایش و هزینه افزایش می یابد. این را برای نصب یک افزونه مناسب وردپرس که می تواند عملکرد سمت کلاینت یا سمت سرور را در عرض چند دقیقه پیاده سازی کند ، مقایسه کنید.

آیا یک سایت Static برای شما مناسب است؟

قبل از تصمیم گیری ، موارد زیر را بررسی کنید:

  • نیازهای پروژه ، اندازه ، پیچیدگی ، فرکانس بروزرسانی و غیره
  • کاربران ، موقعیت مکانی ، انتظارات و غیره
  • مهارت های توسعه تیم شما ، و
  • هرگونه عوامل میزبانی و / یا استقرار.

اکثریت قریب به اتفاق وب سایت ها به ندرت از چند ده صفحه عبور می کنند ، به روزرسانی های ناگهانی دریافت می کنند و برای ایجاد این تغییرات به توسعه دهنده بستگی دارند. CMS اغلب بیش از حد مجاز است ، بنابراین یک تولید کننده سایت ثابت می تواند توسعه را ساده کرده و هزینه ها را کاهش دهد. ترغیب مشتری خود برای کنار گذاشتن پانل های مدیریت محتوای خود ممکن است کار سخت تری باشد!

برای نمایش عملی سایت های ساختمانی با یک مولد سایت استاتیک ، به موارد زیر مراجعه کنید: