نویسنده: Neil Lock

  • Page Builder Sandwich چگونه کار می‌کند

    How-Page-Builder-Sandwich-Worksاین مقاله خلاصه‌ای کوتاه از نحوه کار Page Builder Sandwich ارائه می‌دهد و هدف آن آشنایی اولیه برای کسانی است که علاقه‌مندند بدانند صفحه‌ساز ما چگونه با بخش‌های مختلف وردپرس یکپارچه می‌شود. من به ویژگی‌های جداگانه Page Builder Sandwich نخواهم پرداخت؛ اگر به آن‌ها نیاز دارید، به صفحه ویدیوهای ما مراجعه کنید که در آنجا هر ویژگی را به صورت جداگانه با اسکرین‌کست‌های کوتاه نمایش داده‌ایم.

    اگر می‌خواهید بدانید Page Builder Sandwich چه تفاوتی با سایر صفحه‌سازهای موجود دارد، مقاله ما را با عنوان چگونه Page Builder Sandwich با بقیه متفاوت است.

    Where is the page builder?

    کجاست؟ و چه چیزهایی را می‌توانم با آن ویرایش کنم؟

    برخلاف بسیاری از صفحه‌سازهای دیگر، Page Builder Sandwich در فرانت‌اند وب‌سایت شما قرار دارد. اگر در بک‌اند هستید، ما یک دکمه «Frontend» را در کنار دکمه‌های ویرایشگر محتوا قرار داده‌ایم که شما را به بخش فرانت‌اند صفحه‌تان هدایت می‌کند.

    Page Builder Sandwich به شما امکان می‌دهد نوشته‌ها، برگه‌ها و محتوای انواع پست سفارشی خود را ویرایش کنید. با این حال، به شما اجازه نمی‌دهد مستقیماً پست‌های تجمیع‌شده وبلاگ در صفحه اصلی یا سایر بخش‌های غیرتکی سایت خود را ویرایش کنید. فقط این‌طور فکر کنید: اگر آنچه می‌خواهید ویرایش کنید در بک‌اند دارای یک ویرایشگر محتوا است (مانند «نوشته تازه» و «برگه تازه»)، پس می‌توانید از Page Builder Sandwich استفاده کنید. شما می‌توانید برگه‌ها و پست‌های وبلاگ مجزای خود را ویرایش کنید، و به عنوان مثال اگر افزونه‌ای دارید که منوی رستوران یا نمونه‌کارها را ارائه می‌دهد، می‌توانید آن‌ها را نیز ویرایش کنید.

    هنگامی که در فرانت‌اند هستید، ما یک دکمه آبی‌رنگ «Edit with Page Builder Sandwich» را در نوار مدیریت شما قرار داده‌ایم. فقط کافی است روی آن کلیک کنید تا ویرایش صفحه خود را شروع کنید.

    ویرایش مستقیم محتوا

    با Page Builder Sandwich، ما ویرایش محتوا را تا حد ممکن آسان و بدون دردسر کرده‌ایم. ویرایش محتوا ساده و آسان است؛ فقط کلیک کنید و تایپ کنید. به همین سادگی.

    The inspector

    معرفی بازرس

    ما متوجه شده‌ایم که بسیاری از صفحه‌سازها پنجره‌های پاپ‌آپ زیادی دارند. من شخصاً پاپ‌آپ‌ها را دوست ندارم چون حواس‌پرت‌کننده هستند و اساساً به شما می‌گویند «هی، کاری را که انجام می‌دهید متوقف کنید تا ابتدا این فیلدها را پر کنید». آن‌ها روند یک تجربه ویرایش روان را مختل می‌کنند. به همین دلیل، ما استفاده از پاپ‌آپ‌ها را در همه بخش‌ها به حداقل رسانده‌ایم و در عوض «بازرس» (inspector) را ایجاد کرده‌ایم.

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

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

    یکپارچه‌سازی با قالب‌های وردپرس

    Page Builder Sandwich ذاتاً تقریباً هیچ استایلی به همراه خود ندارد. هنگامی که در حال ویرایش محتوای خود هستید، استایل‌هایی که مشاهده می‌کنید عمدتاً بر اساس قالب شما هستند.

    یکپارچه‌سازی با کدهای کوتاه

    کدهای کوتاه بخش مهمی در وردپرس هستند و به احتمال زیاد از چندین کد کوتاه در سایت خود استفاده خواهید کرد. Page Builder Sandwich این موارد را به خوبی مدیریت می‌کند به طوری که کدهای کوتاه شما به صورت رندرشده در فرانت‌اند ظاهر می‌شوند. کدهای کوتاه همچنین قابل ویرایش باقی می‌مانند، و بهترین بخش این است که پس از ویرایش کدهای کوتاه، آن‌ها همراه با تغییرات شما مجدداً رندر خواهند شد.

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

    No bloat

    در مورد کدهای زائد وب‌سایت چطور؟

    چه کسی وب‌سایت‌های کند را دوست دارد؟ نه ما، و قطعاً نه شما. ما اطمینان حاصل کرده‌ایم که Page Builder Sandwich تقریباً هیچ تأثیر نامطلوبی بر عملکرد وب‌سایت شما نداشته باشد. در حالت خروج از حساب کاربری، در کمترین حالت، تنها استایل‌های CSS ردیف و ستون در صف بارگذاری قرار می‌گیرند، به همراه اسکریپت‌های ضروری JS و CSS برای کدهای کوتاهی که استفاده کرده‌اید.

    برای توسعه‌دهندگان

    اگر توسعه‌دهنده هستید و در افزونه‌های وردپرس خود کدهای کوتاه دارید، Page Builder Sandwich یک API کد کوتاه ارائه می‌دهد تا بتوانید به راحتی فیلدهایی را برای ایجاد و تغییر آسان کدهای کوتاه در اختیار مشتریان خود قرار دهید.

    اگر می‌خواهید قابلیت‌ها را بیشتر گسترش دهید یا با بخش‌هایی از Page Builder Sandwich یکپارچه‌سازی کنید، ما همچنین تعدادی قلاب اکشن و فیلتر کاربردی داریم که می‌توانید از آن‌ها استفاده کنید.

  • چرا ما از EDD به Freemius مهاجرت کردیم

    چرا ما از EDD به Freemius مهاجرت کردیم

    When Page Builder Sandwich was launched in 2016, we were using Easy Digital Downloads. In 2017, we moved to Freemius. Here’s why we switched:

    EDD چیست و چرا آن را انتخاب کردیم؟

    افزونه Easy Digital Downloads (EDD) یک جایگزین محبوب و خودمیزبان برای تجارت الکترونیک / ووکامرس در وردپرس است. به صورت پیش‌فرض، واقعاً نمی‌توانید یک محصول وردپرسی را با استفاده از EDD بفروشید، اما افزونه جانبی Software Licensing آن را برای فروش پلاگین‌ها ایده‌آل می‌کند. این افزونه جانبی ایجاد و اعتبارسنجی کلیدهای لایسنس را نیز بر عهده داشت.

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

    Since it worked well, and since we’re a big fan of Pippin Williamson, this was Sandwich’s first option.

    در مقایسه با Freemius چگونه کار می‌کند و چه زمانی مهاجرت کردیم؟

    در سال ۲۰۱۶، وُوا فلدمن (Vova Feldman)، توسعه‌دهنده اصلی و هم‌بنیان‌گذار Freemius، خلاصه‌ای از Freemius را برای ما ایمیل کرد و توضیح داد که این پلتفرم فراتر از یک راهکار تجارت الکترونیک است — ویژگی‌های دیگری مانند راهکار تحلیل و بینش, ابزار اتوماسیون بازاریابی، و ابزار پشتیبانی درون‌برنامه‌ای ارائه می‌دهد تا مشتریان بتوانند مستقیماً از پیشخوان وردپرس با شما تماس بگیرند.

    در ابتدا، ما فقط از «Freemius Insights’ — یکی از قابلیت‌های Freemius — استفاده کردیم زیرا درباره آمارهای تحلیلی کنجکاو بودیم. این ابزار واقعاً به ما کمک کرد تا دلایل رایجی را که چرا افراد در آن زمان افزونه ما را حذف نصب می‌کردند، درک کنیم.

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

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

    گذشته از بخش تحلیلی، پلتفرم Freemius طوری ساخته شده است که می‌توانید به راحتی از آن برای فروش مؤثرتر محصولات وردپرسی خود استفاده کنید!

    پس از بررسی مزایا و معایب، در ژانویه ۲۰۱۷ به Freemius مهاجرت کردیم. دلایل آن در ادامه آمده است:

    فریمیوس به مشتریان اجازه می‌دهد محصول شما را مستقیماً از پیشخوان وردپرس خود خریداری کنند

    Instead of being redirected to an external website, Freemius allows customers to purchase straight from their WordPress Dashboard. This made huge impact on sales of course! Generally, the fewer things the user has to do to purchase something, the more likely it is that they actually make the purchase.

    با EDD، افرادی که به ساندویچ (Sandwich) علاقه‌مند بودند مجبور بودند برای خرید کلید لایسنس از تجربه صفحه‌ساز خود خارج شده و به یک وب‌سایت خارجی بروند. آن‌ها باید چندین کلیک — و حواس‌پرتی‌های بسیار بیشتری — را پشت سر می‌گذاشتند تا در نهایت بتوانند خرید کنند.

    در مقابل، با Freemius مشتریان دقیقاً از داخل پیشخوان وردپرس خود در حالی که در حال امتحان کردن ساندویچ هستند خرید می‌کنند — بدون نیاز به رفتن به سایتی دیگر برای خرید.

    راحتی تمام این فرآیند باعث شد خرید برای مشتریان ده برابر روان‌تر و آسان‌تر شود و به افزایش چشمگیر فروش انجامید.

    توسعه‌دهندگان نیز روی موفقیت شما سرمایه‌گذاری می‌کنند

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

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

    وُوا و تیمش بسیار همراه و پاسخگو هستند. آن‌ها نکات و ترفندهای خود را در مورد نحوه کسب درآمد بیشتر، نحوه بهبود افزونه‌مان و نحوه استفاده بهینه از Freemius به نفع خودمان در اختیار ما گذاشتند. سخاوت آن‌ها در به اشتراک‌گذاری اطلاعات به رشد ساندویچ کمک کرد.

    نتیجه‌گیری: اگر شما سازنده محصول وردپرسی هستید و می‌خواهید درآمدزایی کنید، Freemius بهترین انتخاب است.

    هدف صفحه‌ساز ساندویچ (Page Builder Sandwich) ارتقای شهودی بودن و تجربه کاربری از طریق ساخت صفحه است. Freemius نیز همین کار را انجام می‌دهد: این پلتفرم به طور موثری تجربه را هم برای خریداران و هم برای فروشندگان هموار می‌سازد.

    از زمان مهاجرت به Freemius در سال ۲۰۱۷، مشتریان راضی‌تر، نرخ حذف نصب کمتر و در مجموع فروش بهتری داشته‌ایم. اگر به دنبال کسب درآمد از افزونه‌ها یا قالب‌های وردپرس خود هستید، Freemius قطعاً بهترین راهکار است.

    ویژگی‌های آن بهتر از رقبا است. این ابزار به ما کمک کرد تا تصمیمات هوشمندانه‌تری برای پیشرفت بگیریم. تیم آن‌ها پشتیبانی فوق‌العاده‌ای ارائه می‌دهد. اگر شما سازنده محصول وردپرسی هستید، امیدواریم همان تأثیر مثبتی را که ما با Freemius تجربه کردیم، شما نیز تجربه کنید.

  • راز ارائه پشتیبانی خوب به مشتریان

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

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

    حالا، این باریستا یک معادل در جامعه‌ی پشتیبانی آنلاین نیز دارد.

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

    خدمات مشتریان خوب، بله، کلید رشد کسب‌وکار شماست. اما صرفاً داشتن پشتیبانی مشتریان کافی نیست.

    شما باید خدمات خوب (اگر نگوییم عالی) ارائه دهید که به مشتریانتان احساس مهم بودن بدهد، چون آنها واقعاً مهم هستند. در نهایت، آنها دلیلی هستند که کسب‌وکار شما اصلاً وجود دارد.

    با این حال، همه درک نمی‌کنند که این کافی نیست که خدمات مشتریان صرفاً بدون کیفیت ارائه شود.

    در واقع، حتی اگر بدیهی باشد که شرکت‌ها تیم‌های پشتیبانی دارند، آمارهای اخیر نشان می‌دهد که ۶۸٪ از مشتریان یک شرکت را ترک می‌کنند چون فکر می‌کنند شرکت به آنها اهمیتی نمی‌دهد (در حالی که باید بدهد).

    اما چه چیزی واقعاً پشتیبانی خوب از مشتری را تضمین می‌کند و چگونه آن را حفظ می‌کنید؟

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

    ۱. از بازخوردهای منفی به نفع خود استفاده کنید

    چه در صنعت فناوری باشید و چه در غیر آن، شما همیشه به هر شکلی بازخوردهایی در مورد محصول خود دریافت خواهید کرد. اما توجه داشته باشید: همه‌ی آنها چیزهایی نخواهند بود که دوست دارید بشنوید.

    و شما باید برای آن آماده باشید.

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

    دیر یا زود، با شکایات، درخواست‌های ویژگی‌های جدید، و نظرات حاکی از نارضایتی بمباران خواهید شد.

    آنها را یادداشت کنید.

    شنیدن و پذیرا بودن در برابر هرگونه نظری که دریافت می‌کنید – چه مثبت و چه غیر آن – حیاتی است. این نظرات نشان می‌دهند که محصول یا خدمات شما چه کمبودی دارد و به شما این فرصت را می‌دهد تا نیازهای مخاطبان یا بازار خود را برآورده کنید.

    به عنوان مثال، اگر شکایات متعددی در مورد سخت بودن ناوبری در رابط کاربری خود دریافت می‌کنید، این بدان معناست که باید رابط کاربری خود را تغییر دهید.

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

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

    ۲. بگذارید بدانند که شما انسان هستید

    یک چیزی که واقعاً مرا آزار می‌دهد، دریافت ایمیل‌های خشک و رسمی است که شبیه به پاسخ‌های خودکار تولیدشده به نظر می‌رسند.

    شرکت‌های بزرگ معمولاً به پاسخ‌های خودکار و بات‌های واقعی تکیه می‌کنند، اما دلیلش این است که برندهای آنها از قبل در بازار تثبیت شده و قابل اعتماد هستند.

    حالا اگر مثل ما هستید و افراد واقعی پشتیبانی مشتریان را ارائه می‌دهند، مهم است که به مخاطبان خود بفهمانید شما هم انسان هستید—اینکه می‌توانند با شما ارتباط برقرار کنند، می‌توانند کمک بخواهند، و اینکه می‌توانند پاسخی صادقانه و واقعی دریافت کنند که شبیه به یک پاسخ کپی-پیست‌شده و از پیش‌آماده نباشد.

    برای پشتیبانی ایمیلی تک به تک، توصیه‌ای که دارم این است که هرگز چیزی به مشتری خود نگویید که در زندگی واقعی نخواهید گفت. این یعنی زمان آن رسیده که عباراتی مانند «درود!» یا «ما صمیمانه بابت تأخیر در پاسخ پوزش می‌طلبیم» را کنار بگذارید.

    شخصاً احساس می‌کنم که رسمیت بیش از حد این تصور را القا می‌کند که شما به این دلیل پشتیبانی نمی‌دهید که اهمیت می‌دهید—بلکه صرفاً به این دلیل پشتیبانی می‌دهید که شغل شماست و مجبورید.

    و این یک اشتباه بسیار بزرگ است.

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

    ۳. هرگز آنها را بلاتکلیف نگذارید

    این مورد احتمالاً کاملاً بدیهی است.

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

    با این حال گاهی اوقات، مسائلی که راه‌حل مستقیم ندارند می‌توانند اجتناب‌ناپذیر باشند. برای مثال، فرض کنیم مشتری درباره ویژگی‌ای سؤال می‌کند که می‌دانید به این زودی‌ها منتشر نخواهد شد.

    چه می‌گویید؟

    «متأسفیم، ما این ویژگی را نداریم. خداحافظ.

    با احترام،
    پشتیبانی»

    خب… این کار اصلاً درست نیست.

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

    «به محض اینکه رنگ‌های بیشتری موجود شد، دوباره با شما تماس خواهیم گرفت!» و پیگیری کنید.

    ۴. پاسخ‌های سریع مهم هستند—اما پاسخ‌های کارآمد نیز همین‌طورند

    بله، پاسخ دادن به مشتریان در سریع‌ترین زمان ممکن مهم است. اما فقط ارسال یک پاسخ کافی نیست.

    پاسخ‌های شما باید دارای بار معنایی و محتوا باشند و باید راه‌حل یا جایگزینی برای موضوع مطرح‌شده به مشتری ارائه دهند (به شماره ۳ مراجعه کنید). هیچ‌کدام بدون دیگری کارساز نیست.

    بله، مشتریان شما عجله دارند – اما ارائه یک پاسخ سرسری و بی‌کیفیت به آنها به همان اندازه بد است که اصلاً پاسخ ندهید (و احتمالاً حتی بدتر به نظر خواهد رسید، زیرا به محض اینکه دکمه «ارسال» را بزنید، راه بازگشتی وجود ندارد).

    ۵. از دادن قول‌هایی که نمی‌توانید به آنها عمل کنید پرهیز کنید

    «نگران نباشید. ما آن را تا یک ساعت دیگر برای شما درست می‌کنیم!»

    اگر بیش از این طول بکشد، هم شما و هم اعتبار شرکتتان به خطر می‌افتد.

    اگرچه این در ابتدا برای مشتریان شما جذاب به نظر می‌رسد، اما ناتوانی در پیگیری و انجام آن می‌تواند واکنش‌های مخرب‌تری به همراه داشته باشد.

    اگر می‌دانید که ارائه راه‌حل ۲۴ ساعت طول خواهد کشید، صادق باشید و به آنها بگویید. آنها از محصولی که به درستی کار کند حتی اگر تکمیل آن کمی طول بکشد، خوشحال‌تر خواهند بود تا محصولی عجولانه که به سختی کار می‌کند.

    نتیجه‌گیری

    بنابراین راز ارائه پشتیبانی خوب از مشتریان چیست؟ هرگز آن را دست‌کم نگیرید.

    مشتریان شما نیروی محرکه شما هستند و از بیشترین اهمیت برخوردارند.

    با آنها همان‌گونه رفتار کنید.

    و دفعه بعد که در سرمایه‌گذاری روی پشتیبانی خوب از مشتری مردد بودید، این سخنان از نیل پاتل را به خاطر بیاورید:

    «صاحبان کسب‌وکارهای هوشمند می‌دانند که از دست رفتن هر رابطه با مشتری، چه به نفع رقیب باشد یا به هر دلیل دیگر، به طور متوسط ۲۸۹ دلار در سال برای آنها هزینه دارد.

    و اگر فکر می‌کنید می‌توانید آن هزینه را صرفاً با مشتریان جدید جبران کنید، دوباره فکر کنید. مشخص شده است که جذب یک مشتری جدید، شش تا هفت برابر بیشتر از حفظ یک مشتری موجود هزینه دارد.»

  • به‌زودی چیزی بزرگ منتشر خواهیم کرد.

    In a few short months, we’ll be relaunching as Frontly Builder.

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

    از پیج بیلدر ساندویچ تا فرانتلی بیلدر

    Before the idea of Sandwich, we noticed a little pattern with page builders everywhere: A lot of them were difficult to use.

    For example, some of these builders would have you go through numerous pop-ups and other settings if you want to add something as simple as an image, a row, a button.

    And if you wanted to change a column’s settings, clicking on the edit button takes you to yet another pop-up that requires you to input settings like size and margins through dropdown options that aren’t very flexible.

    It was frustrating because we knew that page builders should exist to make things easier for users, not the other way around.

    Other wordpress page builders
    Other WordPress Page Builders

    This is how we came up with Page Builder Sandwich.

    We wanted to introduce a builder that was going to maximize users’ experience when creating webpages, allowing them to create awesome things the fast and easy way.

    We received lots of great feedback that allowed Sandwich to evolve. And the more our audience grew, the more suggestions we received on how we could further improve the plugin.

    We were in a state of constant development, and we loved it.

    Page Builder Sandwich has true front-end power, and so will Frontly Builder.

    بازتعریف معنای اجرا روی فرانت‌اند واقعی

    تکامل ساندویچ مداوم و پیوسته بود.

    Apart from the feedback (both negative— things we could work on; and positive ones— which we knew we had to retain), Sandwich’s capacity to grow increased, too. We kept finding more and more ideas and solutions to further improve PBS.

    And the more wants and needs from PBS arose, the more our code’s main foundation got tweaked.

    یک ساندویچ واقعی با تمام مخلفات مورد علاقه‌تان را تصور کنید.

    مطمئناً طعم فوق‌العاده‌ای خواهد داشت، اما چطور قرار است در دهان شما جا شود؟ چگونه قرار است به هدف اصلی‌اش— یعنی خورده شدن— عمل کند؟

    This is kind of what happened with PBS. We realized that so much more could be done with it with an even more efficient, stronger foundation. That we could take it further.

    همان‌طور که اشاره کردیم، پیج بیلدر ساندویچ در وضعیت تکامل مداوم است.

    Frontly is the next step to that evolution.

    You’ll still get an awesome support team, theme and plugin compatibility, and more.

    این یک خداحافظی برای پیج بیلدر ساندویچ نیست.

    It’s a hello to Frontly.

    So what makes Frontly different from Page Builder Sandwich?

    We’ve been working really hard to maximize Frontly’s development. The goal now is to make it an insanely better version of PBS — to embody what it means to operate on true front-end.

    Right now, we’re focusing on further improving Frontly’s UX and UI. We’ve worked on giving it a smoother look, a more user-friendly experience, and features that’ll let you build professional-looking websites in even less effort and less time.

    Questions on Frontly?

    We have a short FAQ post you can check out. Add a comment below so we can add your questions to our list!

    خیلی زود از راه می‌رسد.

    While we’re crazy excited to show you guys what we’ve come up with, we wanna make sure everything is just right for you. So leave us your email to get first dibs on updates, tips and trick, and big promos on the release date.

    We are relaunching as Frontly Builder.

    Leave your email so you don’t miss out.

     
  • Frontly Builder: پرسش‌های متداول

    A few months ago, we announced the launch Frontly Builder, a bigger, better front-end page builder with increased performance and awesome new stuff. Think of it as a new and improved version of Page Builder Sandwich.

    هنوز در دست ساخت است، اما خیلی زود عرضه خواهد شد. در این میان، مطمئنیم شما سؤالاتی درباره Frontly دارید. بنابراین این یک پرسش و پاسخ کوتاه برای همه است!

    What will happen to my PBS-run site?/Will I lose everything I’ve built using PBS?/Will the Frontly update destroy my website?

    • No, definitely not! Everything you’ve made using Page Builder Sandwich will remain intact, and nothing will change.

    I purchased Page Builder Sandwich before the Frontly release. What do I do?

    • The only thing you have to do is… nothing. For current PBS users, Frontly will be released as an “update”. You’ll just be upgraded to a “better” version of PBS- Frontly.

    Will I have to repurchase Frontly?

    • No. If you’ve purchased PBS before the Frontly release, you don’t need to purchase anything. As mentioned, everything will be released as an “update” for old users, so you won’t have to lift a finger or shell anything out- we’ve sorted everything out for you guys. ?

    فعلاً همین! اگر سؤالات بیشتری دارید، در بخش نظرات در ادامه برایمان بنویسید تا بتوانیم به این فهرست پرسش‌های متداول اضافه کنیم.

    امیدواریم شما هم به اندازه ما برای Frontly هیجان‌زده باشید! آنجا می‌بینیمتان. ؟

    ایمیل خود را برای ما بگذارید تا جزء اولین نفراتی باشید که از به‌روزرسانی‌ها باخبر می‌شوند!

  • #PBSUpdate: قالب‌های تمام‌صفحه و مبتنی بر حوزه تخصصی

    PBS Version 4.0 has been our biggest update yet, and with its release, we’ve included a new game-changing feature, the Full Page, Niche-Based Templates.

    The Full Page Templates are a set of 10 professionally designed, niche-based templates. They’re ready to use upon downloading PBS, and can be used as is, or may be tweaked to fit your taste.

    Use as a Starting Point for Your Page

    استفاده از قالب‌ها یکی از کارآمدترین روش‌ها برای تولید صفحات وب است. آن‌ها معمولاً به‌عنوان راه‌حلی سریع برای مشکلات مربوط به طراحی و چیدمان سایت ارائه می‌شوند و گزینه‌های متعددی (معمولاً با موضوعات مختلف) را برای انتخاب در اختیار کاربر قرار می‌دهند. با به‌روزرسانی نسخه ۴.۰، Page Builder Sandwich سرانجام مجموعه‌ای اختصاصی از قالب‌های خود را منتشر کرده است.

    A screenshot of one of our templates, the PBS Farm Template

    The Benefits

    قالب‌های تمام‌صفحه PBS به‌گونه‌ای طراحی شده‌اند تا زحمت طراحی صفحه وب از ابتدا را از دوش شما بردارند. هر قالب متناسب با یک حوزه تخصصی طراحی شده و شامل عناصری است که برای صنعتی خاص مناسب هستند. برای مثال، قالب هتل شامل ویژگی‌هایی مانند نقشه گوگل، فرم تماس و بخش‌هایی است که برای نمایش امکانات رفاهی هتل شما طراحی شده‌اند. از سوی دیگر، قالب مد شامل یک اسلایدر (کاروسل) است که می‌توانید در آن جدیدترین محصولات خود را به همراه قیمت در زیر آن‌ها به نمایش بگذارید.

    Tweak, Tweak, Tweak

    از آنجا که قالب‌ها از پیش طراحی شده‌اند، با صرفه‌جویی در زمان و منابع، فرایند ساخت صفحه را نیز تسهیل می‌کنند. اما اگر قالب انتخابی شما ویژگی خاصی را که برای صفحه‌تان مد نظر دارید شامل نمی‌شود (مثلاً اگر برای قالب صنعتی، یک سربرگ اصلی با پس‌زمینه ویدئویی می‌خواهید)، جای نگرانی نیست. شما می‌توانید به سادگی و با تنظیم ویژگی‌های عناصر مستقیماً از طریق PBS، طراحی قالب را متناسب با سلیقه و نیازهای خود تغییر دهید.

    A section of the PBS Farm Template with tweaked colors and different photo that may cater to a different niche

    The 10 templates we currently have available (we’ll be releasing more soon!) are themed according to the following common niches and industries:

    1. Hotel Template

    • For hotels, spas, or similar business.
    • Includes video background hero header, carousel testimonials, contact form, Google Map, and more.

    2. Law/Corporate Template

    • For law firms and other corporate businesses.
    • Includes about us section, carousel testimonials, meet the team section, and more.

    3. Fashion Template

    • Use for online clothing stores and other e-commerce sites. Includes featured products carousel, call–to–action buttons, latest blogpost previews, and more.
    • Includes featured products carousel, call–to–action buttons, latest blogpost previews, and more.

    4. Farm Template

    • Ideal for subscription e–commerce sites.
    • Includes promo header, call–to–action buttons, subscription plan sections, and more.

    5. Restaurant Template

    • Perfect for restaurants and other delivery service businesses.
    • Includes hero header with space for delivery numbers, menu section, business hours section, and more.

    6. Concert Template

    • Ideal for concerts and other big events or gatherings.
    • Includes countdown, video background, affiliates section, prices section, subscription button, and more.

    7. Forum Template

    • Use for communities, small organizations, and more.Includes call-to-action buttons, about section, count up, meet the team section, and more.
    • Includes call-to-action buttons, about section, count up, meet the team section, and more.

    8. Portfolio Template

    • For photography or art portfolios, and more.
    • Includes iconified skillset section, gallery, social media buttons, and more.

    9. Industrial Template

    • Use for industrial or manufacturing businesses, and more.
    • Includes hero header with video background, about us/featured product sections, carousel testimonials, and more.

    10. Wedding Template

    • Perfect for weddings and other small intimate events.
    • Includes hero header with video background, photo gallery, RSVP section, Google Map, and more.

    Some samples of PBS’ Full Page Templates: the Law, Forum, and Hotel Templates

    The Future of Full Page Templates

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

    ساخت سایت خوبی داشته باشید!

  • نحوه افزودن افکت پارالاکس، پس‌زمینه ویدیویی و افکت کن برنز

    صفحه‌ساز Page Builder Sandwich دارای قابلیتی است که مجموعاً آن را جلوه‌های پس‌زمینه فانتزی می‌نامیم. سه مورد از آن‌ها وجود دارد: جلوه پارالاکس، پس‌زمینه‌های ویدیویی، و جلوه کن برنز.

    What are the different Fancy Background Effects?

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

    جلوه پارالاکس

    پیاده‌سازی جلوه پارالاکس در صفحه‌تان به پس‌زمینه شما حس عمق می‌بخشد و باعث می‌شود عناصر خاصی از سایت شما هنگام پیمایش «برجسته» به نظر برسند. در اینجا نمونه‌ای از یک صفحه با پس‌زمینه پارالاکس پیاده‌سازی‌شده و نمونه‌ای بدون آن آورده شده است.

    With Parallax Scrolling

    The background image scrolls at a different rate as the rest of the elements in the page.

    Without Parallax Scrolling

    The elements of the web page – the text, images, buttons, etc – all scroll at the same rate as the background.

    Video Backgrounds

    پس‌زمینه‌های ویدیویی به شما امکان می‌دهند به جای تصاویر ثابت، ویدیوهای در حال تکرار را در پس‌زمینه قرار دهید. ویژگی عالی پس‌زمینه‌های ویدیویی PBS این است که می‌توانید به‌سادگی پیوند یوتیوب یا ویمیو دلخواه خود را در صورت درخواست جای‌گذاری کنید و ما آن را به یک پس‌زمینه ویدیویی برای شما تبدیل خواهیم کرد. همچنین می‌توانید ویدیوهای خودتان را نیز برای این کار بارگذاری کنید.

    چند نمونه از پس‌زمینه‌های ویدیویی که می‌توانید بررسی کنید:

    The Ken Burns Effect

    Ken Burns, who popularized the Ken Burns effect in film.

    In documentaries, do you ever notice when they show photos that slowly zoom into detail? That’s called the Ken Burns Effect. You can access these effects on Page Builder Sandwich, too.

    How do I add the Fancy Background Effects?

    می‌توانید تمام جلوه‌های پس‌زمینه فانتزی را از طریق مراحل زیر پیدا کنید:

    Step 1: Choose a row you’d like to add an effect on. Click on this row’s settings button (the gear icon on the left). This will open the Properties Inspector.

    Step 2: Once the Properties Inspector pops up, scroll down a bit until you find the option called “Fancy Background Effects”.

    Step 3: Once you’ve found it, you’ll see that you can click a dropdown button and select which background effect you’d like on your row.

    Step 4: Depending on which Fancy Background Effect you choose, you can adjust each effect’s settings. For example, for the Parallax effect, you can adjust its height and position.

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

    Have you used PBS’ Fancy Backgrounds yet?

    آیا جلوه پس‌زمینه دیگری هست که بخواهید پیشنهاد دهید به امکاناتمان اضافه کنیم؟ یا می‌خواهید سایتی را که با PBS و یکی از این جلوه‌ها ساخته‌اید به ما نشان دهید؟ در بخش دیدگاه‌های زیر به ما اطلاع دهید!

  • اسکرول پارالاکس: چیست؟

    The parallax scrolling effect is a design technique that’s relatively new in development and web design. Over the past few years since it’s hit the scene though, it’s grown pretty popular in its own right, and with good reason, too.

    تعریف اسکرول پارالکس

    Parallax scrolling is a technique wherein your web page’s background image scrolls at a slower rate compared to the foreground image. It gives the user a unique sense of depth and action while scrolling through a page when used on a website.

    Without Parallax Scrolling

    The elements of the web page – the text, images, buttons, etc – all scroll at the same rate as the background.

    With Parallax Scrolling

    The background image scrolls at a different rate as the rest of the elements in the page.

    تأثیر اسکرول پارالکس بر کاربر

    با این حال، این تکنیک دقیقاً جدید نیست و در واقع از اوایل دهه ۱۹۲۰ در انیمیشن سنتی استفاده می‌شده است. همچنین در بسیاری از بازی‌های ویدیویی کلاسیک، مانند برادران سوپر ماریو (Super Mario brothers)، به کار رفته است.

    با این حال در دنیای طراحی وب، نایک اغلب به عنوان یکی از اولین کسانی که در سال ۲۰۱۱ از اسکرول پارالکس استفاده کردند شناخته می‌شود. از آن زمان، اصطلاح «اسکرول پارالکس» (که گاهی «پس‌زمینه/های پارالکس» نامیده می‌شود) به اصطلاحی رایج میان طراحان و توسعه‌دهندگان تبدیل شده و محبوبیت آن به‌طور پیوسته افزایش یافته است.

    Parallax scrolling as used in a version of Super Mario Brothers. Notice how the hills in the background move
    in slightly varying speeds, as compared to Mario and the other characters in the foreground.

    چه سودی برای کاربر دارد

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

    کارتان را با ما به اشتراک بگذارید!

    خب، شما چه فکر می‌کنید؟ آیا تا کنون از جدیدترین ویژگی پس‌زمینه پارالکس در PBS v4 استفاده کرده‌اید؟ آیا برایتان کارآمد بوده است؟ خوشحال می‌شویم لینک کار خود را برای ما بفرستید یا پیشنهادهایتان را در بخش نظرات در ادامه بنویسید.

    ساخت سایت خوبی داشته باشید!

  • ۴ اشتباه در طراحی وب‌سایت که در سال ۲۰۱۸ باید از آن‌ها اجتناب کنید

    If there’s one thing you need to remember when building a website, it’s to never take good design for granted.

    As we’ve mentioned in a previous article, a site visitor’s first impression on your website can make or break you in just a matter of seconds.

    In other words, if they don’t like what they see within that timeframe, chances are they’re going to close their browser windows and direct their attention elsewhere.

    Fortunately, there are a lot of ways to prevent this from happening; one of them is to familiarize yourself with good web design practices. And the good news is you don’t need to be a professional web designer in order to do so.

    Because while it’s true that not everyone has a good eye for design, preventing bad design becomes easier once you know what to avoid.

    با این حال، حتماً این ۴ اشتباه رایج طراحی وب را به خاطر داشته باشید. به این ترتیب، وقتی بالاخره شروع به ساخت وب‌سایت خود می‌کنید، یک دغدغه کمتر خواهید داشت.

    اشتباه شماره ۱: استفاده از بیش از ۳ فونت

    A rule of thumb when designing websites? Try not to have too much visual elements going on within your space. Having more than 3 fonts on your site design is a surefire way to break this one rule. It’ll also overwhelm your site visitors.

    محدود نگه داشتن فونت‌های وب‌سایت به حداکثر ۳ فونت، یک اصل طراحی کلی است که توسط حرفه‌ای‌ها رعایت می‌شود. علاوه بر این، سطح خوانایی و یکدستی سایت شما را افزایش می‌دهد که برای موفقیت ترافیک سایت‌تان کلیدی هستند.

    DON’T DO THIS:

    Don’t use more than 3 fonts and try to avoid “fancy fonts” as much as possible. These tend to make your site look unprofessional and outdated.

    DO THIS:

    Use only 2 fonts, or a maximum of 3 if you have to. Notice how the page below looks clean and sleek, all while keeping readability and consistency all throughout the design.

    Try comparing the differences between this example and the previous one. The example below with only two fonts is a website that your visitors will likely take seriously.  This previous one above with the overwhelming amount of fonts isn’t.

    Mistake #2: Failing to Use White Space

    White space is one of the most important aspects of web design. But what is it?

    Put simply, white space is literally the empty space between elements in a composition.

    In other words, it’s negative space. This pertains to anything on your website that isn’t filled with text, photos, or other design elements.

    Now, the problem arises when website owners want to fill all of the white space in, which is an absolute no-no.

    White space matters because it gives your site visitors and readers some breathing space when going through your site. Just how it was mentioned in the first design mistake to avoid, overwhelming your website with too much design elements is more than enough reason for your site visitors to leave and for your traffic to decrease significantly. It also makes for poorly executed design.

    DON’T DO THIS:

    In the example below, take a look at how the text is nearing the edges of the purple section’s margin. Notice as well how all elements leave almost zero room for white space.

    DO THIS INSTEAD:

    Give your site readers some room to breathe. If adding in long paragraphs is unavoidable, just remember to always take the rules of spacing into account—they’re pretty easy to remember anyway ?.  It will leave your page looking cool, crisp, and professional.

    Mistake #3: Designing Websites With Zero Flow in Your Site’s Content

    It’s important to pay attention as to how  information on your website is presented. Moreover, site content should generally follow a logical flow, taking the site viewer’s intuition into consideration.

    دو نمونه زیر را بررسی کنید تا متوجه منظور ما بشوید.

    DON’T DO THIS:

    Unless you’re a graphic designer by profession, it’s probably not a good idea to experiment with the standard flow of your website’s sections.

    Below, you can see that the site’s design lacks both visual and logical flow; everything is all over the place. You don’t want your audience having a hard time navigating through your site, either. This is another surefire way to do it.

    DO THIS INSTEAD:

    Notice how the sections of the website flow depending on what actions the visitor is most likely to take.

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

    Mistake #4: Trying to Fit in Every Bit of Information Onto Your Website

    اضافه کردن دیوارهایی از متن‌های غیرضروری در جایی که باید فضای خالی باشد، می‌تواند مخاطبان شما را فراری دهد. به یاد داشته باشید که فقط جزئیات مهم را نگه دارید.

    Studies find that readers only visit 20% of your webpage; everyone else outside that percentage will probably just scroll through your site.

    DON’T DO THIS.

    Don’t overwhelm your visitors with inconsistent, giant walls of text, especially if it means having to sacrifice your website design’s cohesiveness and structure.

    DO THIS INSTEAD:

    Keep your copy short and concise, and take out chunks of unecessary text if you can help it. Only keep vital information that your site visitors absolutely need to know.

    Conclusion

    Website design is important, and can be a huge deciding factor in whether or not you gain site traffic.

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

    Design in less time!

    Check out how much faster Page Builder Sandwich let you design your web pages.

    Try Live Preview

    This week’s useful resource:

    CANVA has hundreds of resources that you can access on their website. Apart from useful and easy-to-follow design tips, they also have photo editing tools, graphs, and a wide range of useful resources you can use for your creative projects.

    برای پروژه طراحی بعدی خود، این راهنمای رنگ جذاب از Canva را بررسی کنید.

    Canva Design Wiki

    خلاقیت خود را آزاد کنید.

    راهنمای رنگ کانوا را بررسی کنید

  • چگونه عملکرد افزونه خود را ۲۰۰٪ افزایش دادیم

    در ۲ فوریه ۲۰۱۷، ان تیلور مقاله‌ای با عنوان ۱۲ چیزی که باید از صفحه‌سازهای وردپرس در سال ۲۰۱۷ ببینیم + چه کسانی از قبل آن را درست انجام داده‌اند در CodeInWP نوشت. ما بیش از یک سال بود که به طور مداوم در حال بهبود Page Builder Sandwich بودیم: تحقیق می‌کردیم، به مشتریانمان گوش می‌دادیم، بنابراین فکر می‌کردیم Page Builder Sandwich قرار است به مقاله «چه کسانی آن را درست انجام داده‌اند» CodeInWP راه پیدا کند. اما به دلیل عملکرد، این اتفاق نیفتاد. ?

    بنابراین از آن در این باره پرسیدیم، و او پاسخ داد:

    …من کمی با نسخه رایگان کار کردم. بسیار نویدبخش است: ماژول‌های زیاد، رابط کاربری بسیار شهودی، تجربه WYSIWYG عالی، همه چیز به راحتی کشیده و رها می‌شود. با این حال، وقتی حدود ۱۰ ماژول در صفحه داشتم، به دلیل سرعت پایین ویرایش، ادامه کار با آن دشوار شد…

    بنابراین به گفته او، Page Builder Sandwich مشکلات عملکردی دارد. و از آنجایی که ما همیشه به بازخوردها گوش می‌دهیم، آن را بررسی کردیم.

    آزمایش عملکرد

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

    فکر کردیم ابتدا باید ساده‌ترین مراحل را آزمایش کنیم – حرکت دادن ماوس روی چندین المان و ردیف. ساده است، درست است؟ مطمئن بودیم که با چیزی به این سادگی با مشکل عملکردی مواجه نخواهیم شد. متأسفانه اشتباه می‌کردیم.

    پس از زدن دکمه ضبط، ماوس را حدود ۲ ثانیه روی صفحه حرکت دادیم، سپس دکمه توقف را زدیم.  این تایم‌لاین حاصل از پروفایلر است:

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

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

    اما تمام این بخش‌های بنفش واقعاً چه معنایی دارند؟

    پروفایلر لطف کرد و به ما گفت که آنها reflow (تغییر چیدمان) نامیده می‌شوند. در اینجا تعریف reflow از سایت توسعه‌دهندگان گوگل:

    Reflow نام فرآیند مرورگر وب برای محاسبه مجدد موقعیت‌ها و هندسه المان‌ها در سند است.. reflow یک عملیات مسدودکننده کاربر در مرورگر است.

    این یعنی حرکت دادن ماوس در PBS باعث ایجاد تعداد بسیار زیادی reflow می‌شود. آنچه بدتر است این است که هر reflow مرورگر را برای لحظه‌ای متوقف می‌کند تا بتواند محاسبات خود را به پایان برساند. reflowهای بیشتر یعنی توقف‌های بیشتر مرورگر، و تجربه کاربری حتی پر از لگ و کندی می‌شود. به زبان ساده‌تر، بخش‌های بنفش زیاد = بد.

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

    حل مشکل Reflow / کندی ما

    قبل از هر چیز، نیاز به کمی تحقیق داشتیم تا متوجه شویم در وهله اول چه چیزی باعث این reflow می‌شود. ما متوجه شدیم که ظاهراً، بسیاری از موارد رایج در جاوا اسکریپت می‌توانند مرورگر را وادار به ایجاد reflow کنند.

    تقریباً هر تابعی که بتوانید برای دریافت عرض، ارتفاع یا موقعیت یک المان DOM استفاده کنید، می‌تواند یک reflow ایجاد کند. پائول آیریش فهرست کاملی از تمام ویژگی‌ها و توابعی در جاوا اسکریپت که می‌توانند این کار را انجام دهند، نوشته است. خبر بد این است که Page Builder Sandwich از بسیاری از این ویژگی‌ها و توابع استفاده می‌کند که همگی باعث reflow می‌شوند:

    • elem.getBoundingClientRect()
    • window.getComputedStyle()
    • window.scrollY
    • و موارد بسیار بیشتر…

    راه‌حل شماره ۱: کش کردن فرآیندهای سنگین Reflow

    واضح‌ترین راه‌حل این است که از این ویژگی‌ها و توابع استفاده نکنیم. با این حال، PBS به شدت به آنها وابسته است و ما نمی‌توانیم بدون آنها کار را پیش ببریم.

    راه‌حلی که برای ما باقی می‌ماند این است که تا جای ممکن فراخوانی این توابع را کاهش دهیم. بخش سخت ماجرا اینجا بود که ما از این ویژگی‌ها و توابع بارها در بخش‌های مختلف PBS استفاده کرده بودیم و در بیشتر مواقع، آنها را چندین بار روی یک المان DOM مشابه به کار می‌بردیم. برای رفع این مشکل، ما مکانیسم کش اختصاصی خود را برای هر ویژگی/تابع مشکل‌ساز ایجاد کردیم.

    به عنوان مثال، تابع getBoundingClientRect اندازه‌های پیکسلی فعلی بالا، چپ، عرض، ارتفاع، راست و پایین یک المان DOM را به ما می‌دهد. ما همیشه از این تابع برای محاسبه موقعیتی که خطوط دور المان در PBS باید کشیده شوند استفاده می‌کنیم. در اینجا تابع کشی که برای این کار ساختیم را می‌بینید:

    // Cache: Our client rects are kept here, we can use this to clear them later.
    var elemsWithBoundingRects = [];
    
    window.pbsGetBoundingClientRect = function( element ) {
    
    	// Check if we already got the client rect before.
    	if ( ! element._boundingClientRect ) {
    
    		// If not, get it then store it for future use.
    		element._boundingClientRect = element.getBoundingClientRect();
    		elemsWithBoundingRects.push( element );
    	}
    	return element._boundingClientRect;
    };
    ​

    به جای فراخوانی getBoundingClientRect، اکنون از pbsGetBoundingClientRect استفاده کردیم. حالا هر بار که مستطیل المان مورد پرس‌وجو قرار می‌گیرد، ما آن مقدار را برای ارجاع بعدی ذخیره می‌کنیم و در نتیجه تعداد محرک‌های reflow را محدود می‌سازیم.

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

    var clearClientRects = function() {
    	var i;
    	for ( i = 0; i < elemsWithBoundingRects.length; i++ ) {
    		if ( elemsWithBoundingRects[ i ] ) {
    			elemsWithBoundingRects[ i ]._boundingClientRect = null;
    		}
    	}
    	elemsWithBoundingRects = [];
    };​

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

    راه‌حل شماره ۲: گروه‌بندی خواندن‌ها و نوشتن‌ها در کنار هم با استفاده از FastDom

    اجرای راه‌حل شماره ۱ عملکرد PBS را افزایش داد، اما کافی نبود.

    با کمی جستجوی بیشتر در گوگل، به مقاله‌ای از ویلسون پیج درباره جلوگیری از کوبش چیدمان (Layout Thrashing) برخوردیم. ویلسون می‌گوید:

    کوبش چیدمان (reflow) زمانی اتفاق می‌افتد که جاوا اسکریپت به شدت و چندین بار متوالی در DOM می‌نویسد و سپس از آن می‌خواند که باعث reflowهای مکرر در سند می‌شود.

    ظاهراً، محدود کردن فراخوانی‌ها به ویژگی‌ها و توابع خاص محرک reflow کافی نیست. وقتی چندین «خواندن» و «نوشتن» متوالی روی DOM انجام می‌دهید، این کار نیز یک reflow مرورگر را فعال می‌کند. در اینجا یک سناریوی معمول آورده شده است، برگرفته مستقیم از سایت ویلسون:

    // Read
    var h1 = element1.clientHeight;
    
    // Write (invalidates layout)
    element1.style.height = (h1 * 2) + 'px';
    
    // Read (triggers reflow)
    var h2 = element2.clientHeight;
    
    // Write (invalidates layout)
    element2.style.height = (h2 * 2) + 'px';
    
    // Read (triggers reflow)
    var h3 = element3.clientHeight;
    
    // Write (invalidates layout)
    element3.style.height = (h3 * 2) + 'px';
    
    // Document reflows at end of frame​

    مثال بالا ۳ بار reflow ایجاد می‌کند زیرا ابعاد کل صفحه بعد از هر نوشتن نامعتبر می‌شود. راه‌حل پیشنهادی برای این کار این است که کد را دوباره مرتب کنید تا همه خواندن‌ها و نوشتن‌ها را با هم گروه‌بندی کنید تا کل این فرآیند فقط ۱ بار reflow مرورگر ایجاد کند:

    // Read
    var h1 = element1.clientHeight;
    var h2 = element2.clientHeight;
    var h3 = element3.clientHeight;
    
    // Write (invalidates layout)
    element1.style.height = (h1 * 2) + 'px';
    element2.style.height = (h2 * 2) + 'px';
    element3.style.height = (h3 * 2) + 'px';
    
    // Document reflows at end of frame​

    قطعه کد بالا رفع مشکل را آسان نشان می‌دهد. اما در واقعیت، در PBS، خواندن و نوشتن موارد محرک reflow در جاهای بسیار مختلف و در زمان‌های بسیار متفاوتی در چرخه حیات PBS رخ می‌دهد. سازماندهی مجدد هزاران خط کد جاوا اسکریپت امکان‌پذیر نیست.

    خوشبختانه برای ما، ویلسون در مقاله خود یک راه‌حل نیز ارائه داد. او یک اسکریپت کاربردی کوچک به نام FastDom ساخت تا به گروه‌بندی این خواندن‌ها و نوشتن‌ها کمک کند.

    در اینجا کدی از Page Builder Sandwich آمده است که از FastDom استفاده می‌کند و همچنین راه‌حل شماره ۱ ما در بالا را نیز در بر دارد:

    // Bunch together the reads from other threads.
    fastdom.measure( function() {
    
    	// Use our cached client rect.
    	var rect = window.pbsGetBoundingClientRect( elem );
    
    	// Bunch together the writes from other threads.
    	fastdom.mutate( function() {
    		elem.style.top = ( rect.top + window.pbsScrollY() ) + 'px';
    		elem.style.height = rect.height + 'px';
    		elem.style.left = rect.left + 'px';
    		elem.style.width = rect.width + 'px';
    	}.bind( this ) );
    }.bind( this ) );​

    کاری که FastDom انجام می‌دهد این است که تمام فراخوانی‌های fastdom.measure و تمام فراخوانی‌های fastdom.mutate را گروه‌بندی کرده و آنها را به صورت ناهمگام اجرا می‌کند، که به طور مؤثری همه خواندن‌ها و نوشتن‌ها را با هم دسته‌بندی می‌کند تا تمام reflowها را در مرورگر کاهش دهد.

    راه‌حل شماره ۳: دسترسی به اشیاء Style هزینه‌بر است

    ما همچنین با کمک jsPerf متوجه شدیم که برخی از توابع دریافت استایل سریع‌تر از بقیه هستند.

    در PBS، معمولاً باید مقدار فعلی یک استایل خاص از یک المان را به دست آوریم. برای مثال، ما به طور معمول از این برای دریافت مارجین بالا استفاده می‌کنیم:

    var styles = window.getComputedStyle( elem );
    var marginTop = styles.marginTop;​

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

    var marginTop = elem.style.marginTop;​

    با این حال، elem.style.marginTop و getComputedStyle بسیار متفاوت هستند. اولی فقط استایل درون‌خطی المان را به ما می‌دهد و هیچ شیوه‌نامه‌ای را در نظر نمی‌گیرد؛ و دومی هم استایل‌های درون‌خطی و هم شیوه‌نامه‌ها را در نظر می‌گیرد.

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

    خوشبختانه برای ما، PBS استایل‌های درون‌خطی را به المان‌ها اضافه می‌کند، و از آنجا که استایل‌های درون‌خطی (در بیشتر مواقع) نسبت به شیوه‌نامه‌ها اولویت دارند، مواردی وجود خواهد داشت که دریافت مقدار استایل درون‌خطی کافی خواهد بود. بنابراین اگر دو روش بالا را ترکیب کنیم، می‌توانیم به کدی با اجرای بسیار سریع‌تر برسیم:

    var marginTop = elem.style.marginTop;
    if ( ! marginTop ) {
    	var styles = window.getComputedStyle( elem );
    	marginTop = styles.marginTop;
    }​

    نتایج بهبودهای کد

    ۳ راه‌حل بالا نیاز به تحقیقات زیاد، آزمایش و پیاده‌سازی واقعی داشت (و انتشار ویژگی فونت‌های ما را به تأخیر انداخت)، اما در نهایت کاملاً ارزشش را داشت.

    بازگردیم به آزمایش اولیه ما یعنی حرکت دادن ماوس روی صفحه به مدت ۲ ثانیه. این تایم‌لاین زشت/کند قبلی است:

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

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

    اگر مقدار نواحی بنفش بلند/پهن را در نمودارهای قدیم و جدید مقایسه کنید، ما شاهد یک افزایش ۲۰۰ درصدی چشمگیر در عملکرد هستیم! ما همچنین شاهد افزایش عملکرد در همه بخش‌ها هستیم. اصلاً بد نیست!

    نکات کلیدی و آموخته‌ها

    صادقانه بگویم، تا قبل از اینکه ان این موضوع را مطرح کند، فکر نمی‌کردیم PBS مشکلات عملکردی داشته باشد. عمدتاً به این دلیل که ما از سیستم‌های مخصوص توسعه استفاده می‌کردیم و گلوگاه‌های عملکردی چندان مشهود نبودند. با نگاه به گذشته، بررسی عملکرد باید یکی از اولویت‌های اصلی می‌بود. اما حداقل اکنون، از نسخه ۴.۳ به این موضوع رسیدگی شده است. ?

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

    1. فراخوانی‌های خود را به ویژگی‌ها/توابعی که reflow ایجاد می‌کنند محدود/کش کنید. از این به عنوان راهنما استفاده کنید: چه چیزی باعث layout/reflow اجباری می‌شود. فهرست جامع.
    2. «خواندن‌ها» و «نوشتن‌ها» در استایل‌های DOM را با هم گروه‌بندی کنید. از FastDom استفاده کنید تا این کار را برای شما انجام دهد.
    3. از پروفایلر تایم‌لاین کروم استفاده کنید و مطمئن شوید که تا حد ممکن reflow (موارد بنفش) کمی دارید.