Tác giả: Neil Lock

  • Cách thêm shortcode tùy chỉnh trên Page Builder Sandwich

    Cách thêm shortcode tùy chỉnh trên Page Builder Sandwich

    From the word itself, the word shortcode means exactly that: A short code; a shortcut code.

    Shortcode cho phép bạn thêm các thành phần vào trang web của mình (chẳng hạn như widget) mà không cần phải chèn các đoạn mã khổng lồ như các nhà phát triển thường làm.

    Ví dụ: một đoạn mã thông thường, xét về độ dài, có thể trông giống như thế này:

    <html>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    Etiam id aliquam turpis. Vivamus quis arcu tincidunt, finibus urna eget, placerat risus.
    
    Aliquam arcu massa, finibus et lacinia sed, scelerisque nec augue. Quisque eu viverra sapien, vel consequat lorem. Integer vel erat tortor.
    
    Phasellus condimentum magna eget congue venenatis. Suspendisse blandit vehicula consectetur.
    
    Nullam sodales eleifend massa, in bibendum purus fermentum id.
    
    Morbi et turpis feugiat, malesuada ipsum sit amet, interdum nulla. In non ante nec nisl mattis gravida sit amet id lectus.
    
    </html>​

    Đối với ví dụ này, hãy giả sử rằng đoạn mã ở trên sẽ cho phép bạn thêm toàn bộ một đoạn văn bản giữ chỗ Lorem Ipsum.

    Now, a shortcode with the same exact function as the code above will look something like this, in contrast:

    [lorem ipsum dolor estat]Lorem Ipsum[/lorem]​

    You can see how they’re miles different from each other in terms of length.

    Bây giờ hãy tưởng tượng rằng cả hai đoạn mã – Đoạn mã dài ban đầu, so với shortcode chỉ chứa từ “lorem”, đều sẽ thực hiện cùng một việc hoàn toàn giống nhau: Thêm văn bản Lorem Ipsum.

    This is what shortcodes do. They make adding widgets, functions, and a bunch of other cool stuff easier for both ordinary WordPress users and developers alike.

    Where can I find shortcodes?

    Nếu bạn có một plugin hoặc widget yêu thích, rất có thể chúng có sẵn shortcode để bạn sử dụng.

    Shortcodes Ultimate, for example, will let you choose from hundreds of shortcodes that you can use on Page Builder Sandwich (or anywhere, actually) by simply grabbing the shortcode of your choice from Shortcode Ultimate’s repository or documentation page.

    Adding Custom Shortcodes on PBS

    Trên Page Builder Sandwich, bạn có thể thêm shortcode trực tiếp vào trang của mình chỉ bằng cách gõ hoặc sao chép-dán nó vào khu vực nội dung của bạn.

    Chúng tôi đã thực hiện điều này bên dưới với một shortcode từ Shortcodes Ultimate, thêm một hộp nội dung trên trang demo Page Builder Sandwich:

    Another thing you’ll find handy when using Page Builder Sandwich is our Shortcode Mapping feature.

    Từ một trong những bài viết trước của chúng tôi về Shortcode Mapping, định nghĩa như sau:

    Shortcode mapping is like letting Page Builder Sandwich memorize all the shortcodes available on your site: their names, descriptions, their attributes, and what each of these attributes do.

    Một phần điều này có nghĩa là bạn không còn phải tìm kiếm shortcode theo cách thủ công trên các tài liệu hướng dẫn hoặc kho lưu trữ tương ứng của chúng nữa.

    Miễn là bạn đã cài đặt plugin có chứa shortcode đó vào trang web WordPress của mình, nó sẽ dễ dàng có sẵn để bạn sử dụng trên Page Builder Sandwich.

    So for example, if I wanted to add a WooCommerce shortcode on my page, all I have to do is make sure that it’s installed on my WordPress site, like so:

    And then, to actually add the shortcode, I’ll just go to my page, and drag and drop the Shortcode Element:

    Because we already have WooCommerce installed on our WordPress site, you can see that all of the shortcodes that are available on the WooCommerce plugin are already available on Page Builder Sandwich. This is what Shortcode Mapping is.

    You can also see on the upper left corner that the ACF (Advanced Custom Fields) and MailChimp shortcodes are available– because we have those instlled on our WordPress site, too.

    Vì vậy, nếu bạn muốn thêm các shortcode tùy chỉnh hoặc các shortcode do chính bạn tạo ra, bạn hoàn toàn có thể làm được, miễn là bạn đã cài đặt chúng vào trang web WordPress của mình.

    Here are some other helpful plugins that you can use to create your own custom shortcodes:

  • Tạo Một Trang Web WordPress Cực Đỉnh với Các Ưu Đãi Black Friday 2017 Này

    Create WordPress Website With Black Friday Sale 2017 Deals Black Friday and Cyber Monday are coming in a couple of days (5 to be exact), but you’ll find that a bunch of websites have already started announcing their discount deals every which way. WordPress tools and plugins are definitely no exception.

    Vì vậy, khi vẫn còn (tương đối) sớm, chúng tôi đã tổng hợp danh sách các ưu đãi tốt nhất có thể tìm thấy cho WordPress Black Friday 2017, cùng những thứ cần thiết để bạn tạo một trang web WordPress– tất cả đều nằm trong ngân sách của bạn.

    Không để bạn phải chờ lâu nữa, dưới đây là 5 công cụ và plugin được giảm giá cực sâu mà bạn sẽ cần để xây dựng trang web WordPress cơ bản đầu tiên của mình.

    Cloudways

    Cloudways is a managed cloud hosting platform that’s quick to start, easy to manage, and made to scale. It’s feature-rich, plus it lets you choose your server resources, allowing you to get your site up and running within minutes.

    Enter the coupon code HOLIDAY25 upon checkout to get a 25% discount on Cloudways for 3 months, valid until 28th November 2017.

    Nhận Mã Giảm Giá Của Bạn Từ Cloudways

    Yoast SEO

    Yoast SEO is one of the most popular (if not most trusted) search optimization plugin for WordPress, and for good reason too. With over 7 million installs, it’s probably the most comprehensive SEO tool in the digital market, and their millions of users (ourselves included) can attest: you simply can’t go wrong with a plugin as functional as Yoast.

    While they haven’t announced this year’s Black Friday coupons yet, they’ve made an announcement in one of their articles that they’ll definitely having a sale on November 24 and 25.

    Khám Phá Yoast SEO Ngay!

    WP Rocket Cache

    WP Rocket offers a good range of caching functions, giving your site the performance boost that it needs. It’s a breeze to configure as well, so it’s great for beginners as it only requires minimal effort for setup.

    This year, they’re having their biggest sale yet: 35% off on ALL their licenses.

    Nhận Mã Giảm Giá WP Rocket

    Theme Discounts from WeDevs.com

    WeDevs là một tập hợp các plugin và tiện ích mở rộng WordPress tiện lợi. Họ có một cộng đồng khá vững mạnh và đã hoạt động từ năm 2008. Dịp Black Friday 2017 (và các ngày lễ tiếp theo trong năm nay), họ đã tập hợp danh sách các Ưu đãi Ngày lễ WordPress, bao gồm vô số khuyến mại và coupon cho các theme WP tuyệt vời.

    Nhận Mã Giảm Giá Theme

    BONUS RESOURCE: First Site Guide

    First Site Guide is a resource site and tool that contains easily accessible knowledge on how to create your first website, both on WordPress and off of it. It also has great infographics that guide you through the basics of blogging, design, and marketing as well. And best of all, you get this good share of site-building knowledge for free.

    Chúng tôi cũng sẽ sớm giới thiệu một bài viết hướng dẫn tạo landing page với các tài nguyên tuyệt vời từ First Site Guide, vì vậy hãy đón chờ trong những tuần tới nhé!

    Đến First Site Guide

    (And last but not least) Page Builder Sandwich!

    We definitely don’t want to miss out on all the fun. So this 2017, we’re giving you guys 33%-off on any license. Just use the promo code CYBERMONDAY33 upon checkout to start building your site today!

    Premium Single Site

    $39 $26.79

    Mua Ngay

    Apply CYBERMONDAY33 upon checkout to save $13.20

    Premium Unlimited Sites

    $89 $60.29

    Mua Ngay

    Apply CYBERMONDAY33 upon checkout to save $29.70

    So what are you waiting for? Grab these kick-ass WordPress deals now. After all, Black Friday only happens once a year. ?

  • Page Builder Sandwich Khác Biệt Như Thế Nào So Với Phần Còn Lại

    How-Page-Builder-Sandwich-Is-Different-from-the-RestCó hàng tá trình tạo trang (page builder) ngoài kia, và hẳn bạn đang tự hỏi: Page Builder Sandwich có gì đặc biệt? Tại sao bạn phải bận tâm sử dụng nó nếu bạn đã có sẵn một công cụ trong tay?

    Trong bài viết này, tôi sẽ liệt kê một số tính năng chính có trong Page Builder Sandwich khiến nó trở nên độc đáo và là một công cụ thực sự phải có cho cả người sáng tạo nội dung lẫn các nhà thiết kế. Nếu bạn chưa biết trình tạo trang là gì và tại sao bạn lại cần nó, đừng lo lắng, chúng tôi có một số tài liệu có thể giúp ích cho bạn.

    1. Bạn không chỉ nhìn thấy hình ảnh đại diện trực quan của nội dung, bạn thấy và chỉnh sửa nội dung thực tế của mình

    Trong các trình tạo trang khác, bạn chỉ thấy các khu vực đại diện cho nội dung của mình. Bạn chủ yếu bố cục nội dung bằng các khối và hình chữ nhật, và kết quả trông giống một khung sườn mô phỏng nội dung của bạn cuối cùng sẽ hiển thị như thế nào trên trang hơn. Điều này dẫn đến việc phải liên tục nhấp vào nút xem trước chỉ để xem kết quả trông ra sao.

    Với Page Builder Sandwich, mọi thao tác chỉnh sửa đều được thực hiện ở giao diện người dùng (front-end) của trang web và bạn chỉnh sửa trực tiếp nội dung của mình để có trải nghiệm thấy-sao-được-vậy (WYSIWYG) chân thực.

    2. Chỉnh sửa trực tiếp nhanh chóng và dễ dàng mà không có những hộp thoại bật lên (popup) phiền toái

    Popup vốn là yếu tố quen thuộc của các trình tạo trang. Ở hầu hết các trình tạo trang, nếu bạn muốn chỉnh sửa bất kỳ thứ gì trong bố cục của mình, cho dù đó là tiêu đề, nhãn nút hay một đoạn văn bản khẩu hiệu nhỏ, trước tiên bạn sẽ phải đợi một hộp thoại popup mở ra và thực hiện các thay đổi bên trong đó.

    Chúng tôi đã đặt mục tiêu giảm thiểu tối đa việc sử dụng popup trên toàn bộ Page Builder Sandwich. Bằng cách loại bỏ popup, việc chỉnh sửa bất kỳ nội dung nào cũng trở nên dễ dàng và mượt mà hơn bao giờ hết.

    Việc chỉnh sửa được thực hiện một cách trực quan và đơn giản – nhấp vào văn bản để đặt con trỏ ở đó và bắt đầu gõ. Bạn không còn phải đợi hộp thoại popup chứa trình soạn thảo TinyMCE để bắt đầu chỉnh sửa nữa. Điều tuyệt vời nhất là bạn vẫn có thể kéo và thả nội dung của mình xung quanh.

    Một cải tiến khác giúp việc chỉnh sửa không còn rắc rối là thanh kiểm tra (inspector) luôn hiện diện. Inspector đóng vai trò là hộp công cụ và trình chỉnh sửa thuộc tính của bạn. Các công cụ để định dạng nội dung của bạn: màu văn bản, tiêu đề, điều chỉnh kích thước phông chữ, margin, padding, viền, trích dẫn khối và nhiều tính năng khác chỉ cách một cú nhấp chuột dễ dàng.

    Reused functionality

    3. Tái sử dụng các chức năng có sẵn của WordPress

    Một điều khác chúng tôi nhận thấy ở các trình tạo trang khác là họ thường chế tạo lại bánh xe (reinvent the wheel). Một số triển khai bộ chọn màu, trình tải lên hình ảnh, trình tạo thư viện ảnh riêng và nhiều công cụ khác. Về bản chất thì điều này không có gì sai, nhưng WordPress là một kho tàng các đoạn mã sẵn có, vậy tại sao không sử dụng chúng?

    WordPress là một nền tảng khổng lồ và tuyệt vời, chứa đựng rất nhiều công cụ thú vị được xây dựng bởi vô số người đóng góp xuất sắc. Page Builder Sandwich tận dụng tối đa các chức năng đã được tích hợp sẵn trong WordPress.

    Thay vì sử dụng bộ chọn màu riêng, chúng tôi sử dụng bộ chọn màu Iris. Thay vì trình tải lên hình ảnh riêng, chúng tôi sử dụng trình quản lý đa phương tiện (media manager). Ngoài ra còn có backbonejs, underscorejs, wp.hooks và wp.shortcode cùng một vài script tiện lợi khác. Chúng tôi sử dụng tất cả những thứ đó, và điều này đã giúp công việc của chúng tôi dễ dàng hơn cũng như mang lại một cơ sở mã (codebase) ổn định hơn.

    Việc tái sử dụng chức năng của WordPress cũng mang lại một số bất ngờ tuyệt vời. Ví dụ, vì chúng tôi sử dụng media manager để chèn hình ảnh, nên thật bất ngờ và thú vị khi giờ đây chúng tôi cũng có thể xử lý ngay lập tức các thư viện ảnh WordPress, danh sách phát video, âm thanh và các URL từ xa. Chúng tôi cũng có thể chỉ cần dùng media manager để chỉnh sửa hình ảnh, giúp loại bỏ hàng giờ đau đầu phát triển không cần thiết.

    4. Điều hướng bằng bàn phím và phím tắt

    Trong các trình tạo trang khác, chuột là người bạn đồng hành của bạn. Bạn kéo và thả mọi thứ bằng chuột và nhấp đúp vào các mục để chỉnh sửa. Nhưng bàn phím thường bị bỏ quên.

    Ví dụ, ở một số trình tạo trang, bạn không thể dễ dàng chỉnh sửa văn bản ở đoạn/phần ngay phía trên nơi bạn đang chỉnh sửa vì bạn sẽ phải nhấp chuột để thoát khỏi một hộp thoại popup rồi nhấp vào một hộp thoại mới. Trong Page Builder Sandwich, bạn có thể điều hướng bằng bàn phím của mình. Nhấn các phím mũi tên để điều hướng giữa các nội dung, thao tác này vẫn hoạt động ngay cả khi nội dung khác của bạn nằm gọn bên trong một hàng hoặc cột khác.

    Một tính năng quan trọng khác là các phím tắt hoàn tác (undo) và làm lại (redo). Ban đầu chúng có vẻ không có gì to tát, nhưng hãy nghĩ về điều này: điều gì sẽ xảy ra nếu bạn vô tình kéo và thả nội dung của mình vào sai vị trí. Trong một số trình tạo trang, bạn sẽ phải kéo nó trở lại vị trí ban đầu. Trong Page Builder Sandwich, cả hoàn tác và làm lại đều hoạt động. Vì vậy, cho dù bạn muốn làm lại nội dung đã nhập hay muốn khôi phục lại nội dung đã kéo thả (hoặc nhiều nội dung đã kéo thả), bạn chỉ cần nhấn undo hoặc redo. Undo và redo hoạt động đối với nội dung được kéo và thả, thậm chí đối với các thay đổi thuộc tính như kích cỡ phông chữ và padding hàng. Điều này biến chúng thành những công cụ đắc lực trong kho vũ khí chỉnh sửa của bạn.

    Relaxing experience

    5. Trình tạo trang front-end thực thụ – Trải nghiệm chỉnh sửa thư thái và dễ dàng hơn

    Tư duy của chúng tôi trong quá trình phát triển là việc chỉnh sửa ở front-end không nên mang lại cảm giác như bạn vẫn đang chỉnh sửa bằng các công cụ back-end. Không nên tạo cảm giác như trình tạo trang ban đầu được tạo cho back-end rồi sau đó mới được chuyển đổi sang front-end.

    Tóm lại, đối với tôi, điểm khác biệt chính của Page Builder Sandwich là chúng tôi đã xây dựng nó với mục tiêu trở thành một trình tạo trang front-end “thực thụ” – tái định hình cách thức chỉnh sửa front-end vốn nên có.

  • Frontly API: Giúp Frontly Builder thân thiện hơn với nhà phát triển

    Tin tuyệt vời dành cho các nhà phát triển: trong bản phát hành sắp tới của Frontly, cuối cùng chúng tôi sẽ ra mắt Frontly API.

    Hiện tại tính năng này vẫn đang được phát triển, nhưng cuối cùng bạn sẽ có thể tạo các tiện ích bổ sung (addon) và tiện ích mở rộng cho Frontly. Tất nhiên, chúng tôi cũng sẽ ra mắt tài liệu API đi kèm để mang lại trải nghiệm mượt mà, đầy đủ chức năng hơn.

    Chúng tôi rất nóng lòng được thấy những điều tuyệt vời mà các bạn sẽ tạo ra.

    Here’s a short list of some of the APIs we have so far:

    1. Text Formatting Bar API

    Với Text Formatting Bar API, các nhà phát triển có thể mở rộng chức năng của thanh định dạng văn bản trong Frontly. Nhờ đó, bạn có thể thêm các nút/tùy chọn mới trên thanh định dạng văn bản.

    2. Add Element API

    API này sẽ cho phép bạn tạo các phần tử mới, thêm chúng vào danh sách các phần tử hiện có trong phần Elements ở bên trái của trình chỉnh sửa nội dung.

    3. Inspector API

    Inspector API sẽ cho phép bạn tạo, thêm hoặc xóa các cài đặt trên Properties Inspector của từng phần tử.

    4. Text API

    Text API sẽ cho phép bạn sửa đổi kiểu văn bản, cụ thể là khả năng sửa đổi định dạng văn bản, thay đổi màu nền văn bản, v.v.

    Developers! It’d be great if you could send over some suggestions

    These are just some of the basic APIs we have in store for you. We’re in the middle of creating more, but if you have any other ideas of APIs we can add to our console, just leave a comment below, or hit us up at [email protected]. We might just feature your suggestions in the upcoming Frontly release ?

  • Cách tận dụng tiếp thị qua e-mail bằng Page Builder Sandwich

    Cách tận dụng tiếp thị qua e-mail bằng Page Builder Sandwich

    Có, bạn có thể.

    The more important question, though, is how and why do you need to do it?

    My business is small. Can’t I just wing it?

    Email marketing has an average ROI of 3,800 percent. For every dollar invested, the average return is $38, according to Salesforce.

    In other words, it’s definitely something worth investing your time in.

    Because while there are tons of ways to market your products and capture leads– you can still try to make use of the less-popular cold call, for example– the most sure-fire way to connect and communicate with your target audience in the 21st century is through e-mail marketing.

    So if you’re running a business –any kind of business, whether small, big, online or otherwise– digital and e-mail marketing is an absolute must.

    Aside from cutting on costs (e-mail is free, after all), businesses rely on it not just because it’s been proven to be successful, but also because it yields results that are both measurable and flexible; you can track your audience’s responses to your e-mails, for example, or note how many clicks and opens your e-mail marketing campaigns get.

    How you can do it with Page Builder Sandwich

    There are lots of available software you can use to help you market your products and content digitally, like Hubspot’s E-mail Marketing Software, or Mailchimp, which gives you a management system that helps you create, organize, and analyze your newsletters.

    But did you know that using Sandwich, you can actually integrate some of the popular software mentioned via the Newsletter Element?

    The Newsletter Element (and how it works)

    You can find the Newsletter Element by hovering over to the Elements Inspector over to the left side of the screen, and selecting Newsletter from the bottom area.

    Using the Properties Inspector, you can also choose which newsletter integration you’d like to use with the Newsletter Element. For this exmple, we’re going to use MailChimp (highlighted in blue in the dropdown below).

    And, using the Input Field button, you can try to play around with the Newsletter Element’s settings as well, so you can change colors, customize success message options, and other settings, like so:

    By trying your hand at the different available settings for the Newsletter Element’s options, you can end up with something like this:

    Plus, with the help of our Pre-Designed Sections and other design tips, you can actually do a whole lot more.

    Other useful resources for e-mail marketing beginners

    • 11 Types of Marketing E-mails That Actually Generate a Response

    Conclusion

    While other noteworthy marketing trends still exist today, one thing’s for sure: E-mail marketing is definitely here to stay, and it’s important that you utilize it when you can. Who knows? Through e-mail marketing, your business could just get that big break it’s been looking for.

    Design in less time!

    Get access to Sandwich’s Pre-Designed Sections, Templates, and a whole lot more.

    Try Live Preview
  • Bí quyết để cung cấp dịch vụ hỗ trợ khách hàng tốt

    Mỗi sáng trên đường đi làm, luôn có một nhân viên pha chế đưa cà phê cho tôi với khuôn mặt lạnh lùng không cảm xúc nhất có thể tưởng tượng được. Đây là thói quen hàng ngày của hai chúng tôi.

    And nếu quán cà phê cụ thể này không tiện đường tới văn phòng, có lẽ tôi đã đổi quán ruột từ lâu rồi.

    Giờ đây, nhân viên pha chế này cũng có một phiên bản tương đương trong cộng đồng hỗ trợ trực tuyến.

    Nhưng vì bạn không thể nhìn thấy khuôn mặt lạnh lùng trong các cuộc trao đổi qua email và trò chuyện trực tiếp, nên chúng có phần khó nhận biết hơn một chút. Nhưng hãy tin tôi đi, chúng thực sự tồn tại.

    Dịch vụ khách hàng tốt là chìa khóa cho sự phát triển của doanh nghiệp, đúng vậy. Nhưng chỉ hỗ trợ khách hàng thôi là chưa đủ.

    Bạn phải cung cấp dịch vụ tốt (nếu không muốn nói là xuất sắc) để khiến khách hàng cảm thấy họ quan trọng, bởi vì họ thực sự quan trọng. Rốt cuộc, họ chính là lý do doanh nghiệp của bạn tồn tại.

    Tuy nhiên, không phải ai cũng hiểu rằng việc dịch vụ khách hàng chỉ đơn thuần được cung cấp mà thiếu đi chất lượng là không đủ.

    Trên thực tế, ngay cả khi việc các công ty có đội ngũ hỗ trợ đứng sau là điều hiển nhiên, thống kê gần đây cho thấy 68% khách hàng rời bỏ một công ty vì họ cảm thấy công ty đó không quan tâm đến họ (trong khi đáng lẽ phải có).

    Nhưng điều gì thực sự bảo chứng cho một dịch vụ hỗ trợ khách hàng tốt, và làm thế nào để bạn duy trì nó?

    Từ một chuyên viên hỗ trợ gửi đến những người đồng nghiệp khác, dưới đây là một số yếu tố then chốt giúp khách hàng của bạn — và từ đó là doanh nghiệp của bạn — luôn hài lòng.

    1. Tận dụng phản hồi tiêu cực

    Dù là trong ngành công nghệ hay bất kỳ lĩnh vực nào khác, bạn sẽ luôn nhận được phản hồi về sản phẩm của mình bằng cách này hay cách khác. Nhưng hãy lưu ý: không phải tất cả đều là những điều bạn muốn nghe.

    Và bạn phải chuẩn bị sẵn sàng cho điều đó.

    Tuy nhiên, hơn cả sự chuẩn bị, điều bạn cần làm là đón nhận và tận dụng các phản hồi tiêu cực.

    Sớm hay muộn, bạn cũng sẽ bị bủa vây bởi các khiếu nại, yêu cầu tính năng và những lời bình phẩm không hài lòng.

    Hãy ghi nhận chúng.

    Việc lắng nghe và cởi mở với mọi ý kiến gửi đến bạn là vô cùng quan trọng – dù là tích cực hay tiêu cực. Những phản hồi này chỉ ra những gì sản phẩm hoặc dịch vụ của bạn còn thiếu, mang lại cho bạn cơ hội đáp ứng nhu cầu của khán giả hoặc thị trường của mình.

    Ví dụ: Nếu bạn nhận được nhiều lời phàn nàn về việc giao diện người dùng khó điều hướng, điều đó có nghĩa là bạn phải thay đổi giao diện người dùng của mình.

    Nếu đây là lần thứ ba trong tháng bạn nhận được lời phàn nàn về hiệu suất kém của sản phẩm, thì có lẽ bạn nên họp nhanh với nhóm của mình và ưu tiên giải quyết vấn đề hiệu suất nói trên.

    Nói cách khác, phản hồi tiêu cực là tốt. Đó là cơ hội để bạn cải thiện sản phẩm của mình hơn nữa; để lấy cảm hứng từ sự không hài lòng của khách hàng. Điều này sẽ giúp doanh nghiệp và sản phẩm của bạn phát triển hơn nữa, và điều đó càng diễn ra nhiều, cả bạn và khách hàng của bạn sẽ càng hài lòng hơn.

    2. Hãy cho họ biết bạn là một con người

    Một điều thực sự khiến tôi khó chịu là nhận được những email với giọng văn cứng nhắc, nghe như các câu trả lời tự động.

    Các công ty khổng lồ thường dựa vào các câu trả lời tự động và bot thực sự, nhưng đó là vì thương hiệu của họ đã có chỗ đứng vững chắc và được tin cậy trên thị trường.

    Giờ đây, nếu bạn cũng giống như chúng tôi, có những con người thực sự làm nhiệm vụ hỗ trợ khách hàng, điều quan trọng là phải cho khách hàng biết bạn cũng là con người – rằng họ có thể tiếp cận bạn, họ có thể yêu cầu giúp đỡ, và họ có thể nhận được một phản hồi chân thành chứ không giống như một câu trả lời được sao chép, định dạng sẵn.

    Đối với việc hỗ trợ qua email 1-1, một mẹo của tôi là đừng bao giờ nói bất cứ điều gì với khách hàng mà bạn sẽ không nói ngoài đời thực. Điều đó có nghĩa là đã đến lúc từ bỏ các cụm từ như “Kính chào!” hoặc “Chúng tôi thành thật xin lỗi vì sự chậm trễ trong việc phản hồi”.

    Cá nhân tôi cảm thấy rằng sự trang trọng quá mức mang lại ấn tượng rằng bạn không hỗ trợ vì bạn quan tâm – mà bạn hỗ trợ đơn giản vì đó là công việc của bạn và bạn bắt buộc phải làm.

    Và đó là một điều tối kỵ.

    Vì vậy, trừ khi điều đó được quy định trong chính sách của công ty, hãy nhớ nỗ lực cho khách hàng biết và cảm nhận được rằng họ có thể trò chuyện với bạn. Rằng bạn ở đó để thực sự giúp đỡ, chứ không chỉ phát ra những câu trả lời như robot chỉ vì có người trả tiền cho bạn làm việc đó.

    3. Đừng bao giờ để họ phải chờ đợi trong vô vọng

    Điều này có lẽ là điều hiển nhiên.

    Đừng bao giờ, không bao giờ bỏ lơ khách hàng mà không có một giải pháp – hoặc ít nhất là một phương án khắc phục tạm thời – cho vấn đề của họ.

    Tuy nhiên, đôi khi những vấn đề không có giải pháp trực tiếp là không thể tránh khỏi. Chẳng hạn, giả sử một khách hàng hỏi về một tính năng mà bạn biết rằng sẽ không được ra mắt trong thời gian sớm.

    Bạn sẽ nói gì?

    “Xin lỗi, chúng tôi không có tính năng đó. Tạm biệt.

    Trân trọng,
    Đội ngũ hỗ trợ”

    Chà… cách đó chắc chắn là không ổn rồi.

    Nếu bạn phải đưa ra những giải pháp thay thế nhỏ, hãy làm điều đó. Nếu khách hàng của bạn đang yêu cầu một món đồ màu hồng, nhưng hiện tại bạn chỉ có màu đỏ, hãy thành thật, nhưng cũng hãy cho họ biết họ có thể làm gì trong thời gian chờ đợi.

    “Chúng tôi sẽ liên hệ lại với bạn ngay khi có thêm các màu khác!” và hãy giữ đúng lời hứa.

    4. Phản hồi nhanh rất quan trọng – nhưng phản hồi hiệu quả cũng vậy

    Đúng vậy, phản hồi khách hàng càng sớm càng tốt là điều quan trọng. Nhưng chỉ gửi đi một câu trả lời thôi là chưa đủ.

    Các phản hồi của bạn phải chứa đựng giá trị thực tế, và phải cung cấp cho khách hàng một giải pháp hoặc một phương án thay thế cho vấn đề đang gặp phải (xem mục #3). Thiếu một trong hai yếu tố thì đều không hiệu quả.

    Đúng, khách hàng của bạn đang vội – nhưng việc cung cấp cho họ một câu trả lời hời hợt cũng tệ như việc không trả lời chút nào (và thậm chí nó có thể còn tồi tệ hơn, bởi vì một khi bạn đã nhấn nút “gửi”, bạn không thể quay lại được nữa).

    5. Tránh đưa ra những lời hứa bạn không thể thực hiện

    “Đừng lo. Chúng tôi sẽ sửa xong vấn đề đó cho bạn trong vòng một giờ!”

    Nếu bạn mất nhiều thời gian hơn thế, cả bạn và danh tiếng của công ty bạn đều sẽ gặp rắc rối lớn.

    Mặc dù ban đầu nghe có vẻ hấp dẫn đối với khách hàng, nhưng việc không thể thực hiện đúng cam kết có thể dẫn đến phản ứng gây tổn hại nặng nề hơn.

    Nếu bạn biết mình sẽ mất 24 giờ để đưa ra giải pháp khắc phục, hãy thành thật và nói với họ. Họ sẽ hài lòng hơn với một sản phẩm hoạt động tốt dù mất chút thời gian để hoàn thành, hơn là một sản phẩm làm vội vàng mà hầu như không dùng được.

    Kết luận

    Vậy bí quyết để cung cấp dịch vụ hỗ trợ khách hàng tốt là gì? Đừng bao giờ đánh giá thấp nó.

    Khách hàng là động lực của bạn, và là điều quan trọng nhất.

    Hãy đối xử với họ đúng như vậy.

    Và lần tới khi bạn có vẻ do dự trong việc đầu tư vào dịch vụ hỗ trợ khách hàng tốt, hãy nhớ những lời này từ Neil Patel:

    “Các chủ doanh nghiệp thông minh đều biết rằng mỗi mối quan hệ khách hàng bị mất đi, dù là vào tay đối thủ cạnh tranh hay vì lý do khác, đều khiến họ thiệt hại trung bình 289 đô la mỗi năm.

    Và nếu bạn đang nghĩ rằng mình có thể bù đắp chi phí đó bằng những khách hàng mới, hãy suy nghĩ lại. Hóa ra, chi phí để có được một khách hàng mới tốn kém gấp sáu đến bảy lần so với việc giữ chân một khách hàng hiện có.”

  • Khả năng tương thích trên thiết bị di động trong PBS Phiên bản 4.0

    Làm cho giao diện tương thích với di động (mobile responsiveness) hoạt động chuẩn xác có thể rất phức tạp, và khi làm sai, kết quả thường rất tệ hại. Trên thực tế, nếu bạn chưa biết, Google thậm chí đã bắt đầu xử phạt các trang web không thân thiện với thiết bị di động vào tháng 4 năm 2015. Tóm lại, tính tương thích trên thiết bị di động là một vấn đề cực kỳ quan trọng.

    Vậy Tính Tương Thích Di Động Là Gì?

    Một trang web được coi là responsive khi nội dung của nó có khả năng thích ứng với các kích thước và hướng màn hình khác nhau khi xem trên các thiết bị khác ngoài máy tính để bàn. Nói một cách đơn giản hơn, nếu bạn đã nâng cấp lên PBS v4 và muốn thiết kế hoặc xây dựng một trang, bạn sẽ không gặp bất kỳ khó khăn nào khi xem chúng, bất kể bạn đang dùng máy tính để bàn, điện thoại di động hay máy tính bảng.

    Tính Tương Thích Trong Phiên Bản 4.0

    Trong bản cập nhật mới nhất, đội ngũ của chúng tôi đã đảm bảo rằng tính năng xem trên thiết bị di động mới của PBS trở thành một trải nghiệm mượt mà hơn, phản hồi nhạy bén hơn trên mọi phương diện: với văn bản, hình ảnh và tất cả các nội dung khác tự động thích ứng với độ phân giải màn hình của thiết bị.

    Giờ đây, tất cả các tiêu đề sẽ tự động điều chỉnh theo kích thước màn hình, nhờ đó bạn không gặp phải tình trạng chữ quá to khi xem trang web hoặc trang được tạo bằng PBS trên điện thoại di động. Để minh họa rõ hơn một chút:

    Xem Trang Web Của Bạn Ở Các Kích Thước Màn Hình Khác Nhau

    Để giúp đảm bảo bạn biết rõ trang của mình trông như thế nào trên di động, chúng tôi cũng đã kích hoạt tính năng xem giao diện di động ngay trên máy tính để bàn. Bằng cách này, nếu muốn kiểm tra xem trang của mình trông có đẹp mắt hay không, bạn không cần phải tốn công chuyển đổi qua lại giữa điện thoại (hoặc máy tính bảng) và máy tính để bàn. Giờ đây, bạn có thể dễ dàng chuyển đổi qua lại giữa các kích thước màn hình khác nhau bất cứ lúc nào trong khi đang thiết kế trang.

    Thêm vào đó, giờ đây bạn cũng có thể tinh chỉnh khoảng cách giữa các phần tử dành riêng cho máy tính bảng và điện thoại di động.

    Vậy các bạn nghĩ sao? Tuyệt hay không? Còn tính năng nào khác mà chúng tôi có thể cải thiện liên quan đến thiết bị di động không? Hãy cho chúng tôi biết trong phần bình luận bên dưới nhé!

  • Cập nhật đổi thương hiệu Frontly #1: Sao chép – Dán đoạn văn

    Over our past blog posts, we mentioned that PBS will be rebranding as Frontly, and that we’ll be changing and improving a lot of aspects for the better. One of these aspects is being able to use Frontly to experience a smoother, more intuitive page building experience that’s even better than PBS.

    Vì vậy, trong khi chúng tôi vẫn đang hoàn thiện Frontly cho các bạn, chúng tôi đã quyết định phát hành một loạt bài viết để bạn biết chính xác những gì bạn sẽ nhận được khi Frontly ra mắt thị trường.

    Copy-paste blocks of text on Frontly

    Chúng tôi đã thiết kế PBS theo cách mà mỗi đoạn văn của bạn là một phần tử riêng biệt. Việc sao chép-dán văn bản dài sẽ chia vùng chọn thành các khối văn bản riêng biệt.

    What do we mean by this? Here’s an example to illustrate.

    Trên phiên bản hiện tại của PBS (phiên bản bạn đang sử dụng), việc sao chép-dán nhiều dòng sẽ bị chia thành nhiều phần tử văn bản, khiến việc di chuyển các phần văn bản xung quanh trở nên khó khăn hơn. Điều này làm cho việc chỉnh sửa văn bản gặp khó khăn.

    Vì vậy, nếu tôi muốn di chuyển văn bản vừa sao chép-dán sang một cột khác, việc đó sẽ khó khăn hơn vì tôi phải kéo từng dòng một.

    This is something we’re definitely addressing with Frontly.

    This is a small test page Benjamin made for Frontly. Here, you’ll see that we copy-pasted the same paragraph we tried to copy-paste on PBS. Only this time, everything is retained in a single area that you can drag around and place wherever you want to.

    Điều này có nghĩa là bạn có thể thêm và chỉnh sửa văn bản mượt mà hơn, mang lại cho bạn trải nghiệm nhập liệu (và xây dựng trang) không gặp rắc rối.

    Retain full text formatting with Frontly

    Một điều khác mà chúng tôi rất hào hứng muốn các bạn trải nghiệm trong Frontly là mọi định dạng đều được giữ nguyên – tất cả các tiêu đề đều được giữ lại, bao gồm cả danh sách dấu đầu dòng và thậm chí cả biểu tượng cảm xúc.

    Copy-pasting with PBS vs copy-pasting with Frontly

    Trên Frontly (bên phải), bạn sẽ thấy rằng tất cả định dạng văn bản đều được giữ nguyên từ nguồn gốc. Mọi thứ được in đậm, in nghiêng, gạch chân hoặc chỉnh sửa thành kích thước tiêu đề khác đều được giữ nguyên vẹn khi dán vào khu vực Frontly (so với PBS, nơi thứ duy nhất được giữ lại là biểu tượng cảm xúc).

    What else do we have in store for you?

    Như chúng tôi đã đề cập, đây mới chỉ là bài viết đầu tiên trong loạt bài về việc Frontly sẽ vượt xa PBS hàng năm ánh sáng như thế nào. Chúng tôi rất nóng lòng muốn giới thiệu cho bạn tất cả những thứ khác, vì vậy hãy đón chờ bài đăng blog tiếp theo của chúng tôi nhé!

    Gợi ý hay nhận xét? Hãy liên hệ với chúng tôi và để lại câu trả lời bên dưới!

  • Cách chúng tôi tăng hiệu suất plugin lên 200%

    Vào ngày 2 tháng 2 năm 2017 vừa qua, Ann Taylor đã viết bài viết 12 điều chúng ta cần thấy từ các WordPress Page Builder vào năm 2017 + Ai đã làm đúng trên CodeInWP. Chúng tôi đã liên tục cải tiến Page Builder Sandwich trong hơn một năm qua: chúng tôi nghiên cứu, lắng nghe khách hàng, vì vậy chúng tôi đã nghĩ rằng Page Builder Sandwich sẽ lọt vào bài viết “Ai đã làm đúng” của CodeInWP. Tuy nhiên, chúng tôi đã không có tên trong đó, vì vấn đề hiệu năng. ?

    Vì vậy, chúng tôi đã hỏi Ann về điều đó và cô ấy trả lời:

    …Tôi đã dùng thử phiên bản miễn phí một chút. Nó rất hứa hẹn: nhiều mô-đun, giao diện người dùng khá trực quan, trải nghiệm WYSIWYG tuyệt vời, mọi thứ đều được kéo thả dễ dàng. Tuy nhiên, khi tôi có khoảng 10 mô-đun trên trang, việc tiếp tục làm việc trở nên khó khăn do tốc độ chỉnh sửa chậm…

    Vì vậy theo cô ấy, Page Builder Sandwich gặp sự cố về hiệu năng. Và vì chúng tôi luôn lắng nghe phản hồi, chúng tôi đã tiến hành kiểm tra.

    Kiểm tra hiệu năng

    Chúng tôi cần một cách để kiểm tra hiệu năng của PBS; vì PBS chủ yếu chạy trên trình duyệt thông qua Javascript, nên trình phân tích Timeline của Chrome là công cụ hoàn hảo cho công việc này. Trình phân tích timeline có thể xác định và đo lường các tiến trình đang diễn ra trên một trang web trong thời gian chạy, điều này hoàn hảo để tìm ra các điểm nghẽn tốc độ.

    Chúng tôi nghĩ rằng trước tiên nên kiểm tra các bước đơn giản nhất – rê chuột qua nhiều phần tử và hàng. Đơn giản phải không? Chúng tôi tự tin rằng mình sẽ không gặp phải vấn đề về hiệu năng với một việc đơn giản như thế này. Đáng tiếc là chúng tôi đã nhầm.

    Sau khi nhấn nút ghi (record), chúng tôi rê chuột khoảng 2 giây trên màn hình, rồi nhấn nút dừng.  Dưới đây là biểu đồ thời gian kết quả từ trình phân tích:

    Và hãy nhìn xem. Nó chứa đầy các điểm nghẽn hiệu năng!

    Có rất nhiều thứ đang diễn ra trong biểu đồ, nhưng vấn đề rõ ràng nhất là có rất nhiều vùng màu tím trong đó (điều không nên xảy ra). Hơn nữa, các vùng màu tím này nhìn thấy rất rộng và dường như đều chạm đỉnh của biểu đồ. Bạn cũng sẽ nhận thấy rằng biểu đồ luôn đầy và các vùng màu tím hầu như không bao giờ giảm xuống mức 0. Có vẻ như trình duyệt luôn bận rộn làm một việc gì đó và gần như không bao giờ được nghỉ ngơi.

    Nhưng tất cả các vùng màu tím đó thực sự có ý nghĩa gì?

    Trình phân tích đã chỉ ra cho chúng tôi biết rằng chúng được gọi là reflow. Dưới đây là định nghĩa về reflow từ trang dành cho nhà phát triển của Google:

    Reflow là tên của tiến trình trình duyệt web dùng để tính toán lại vị trí và hình học của các phần tử trong tài liệu.. reflow là một thao tác chặn người dùng (user-blocking) trong trình duyệt.

    Điều này có nghĩa là việc rê chuột trong PBS kích hoạt một loạt reflow. Điều tồi tệ hơn là mỗi lần reflow lại tạm dừng trình duyệt trong chốc lát để hoàn thành các phép tính toán. Càng nhiều reflow đồng nghĩa với việc trình duyệt tạm dừng càng nhiều và trải nghiệm càng trở nên giật lag (janky). Nói một cách đơn giản hơn, nhiều vùng màu tím = tệ.

    Hóa ra Ann đã đúng: chúng tôi thực sự có một điểm nghẽn hiệu năng khổng lồ, vì vậy đội ngũ của chúng tôi đã ngay lập tức bắt tay vào việc để khắc phục nó ngay.

    Khắc phục sự cố Reflow / Giật lag của chúng tôi

    Trước khi làm bất cứ điều gì khác, chúng tôi cần nghiên cứu để tìm ra nguyên nhân chính xác gây ra hiện tượng reflow này ngay từ đầu. Chúng tôi phát hiện ra rằng rõ ràng, rất nhiều thao tác phổ biến trong Javascript có thể khiến trình duyệt thực hiện reflow.

    Hầu như bất kỳ hàm nào bạn dùng để lấy chiều rộng, chiều cao hoặc vị trí của một phần tử DOM đều có thể kích hoạt reflow. Paul Irish đã viết một danh sách đầy đủ về tất cả các thuộc tính và hàm trong Javascript có thể gây ra điều này. Tin xấu là Page Builder Sandwich sử dụng rất nhiều thuộc tính và hàm này, tất cả đều gây ra reflow:

    • elem.getBoundingClientRect()
    • window.getComputedStyle()
    • window.scrollY
    • và còn nhiều nữa…

    Cách khắc phục #1: Lưu vào bộ nhớ đệm các tiến trình Reflow tốn kém

    Giải pháp rõ ràng nhất là KHÔNG sử dụng các thuộc tính và hàm đó. Tuy nhiên, PBS phụ thuộc rất nhiều vào chúng và chúng tôi không thể thiếu chúng.

    Giải pháp còn lại cho chúng tôi là cắt giảm tối đa các lệnh gọi tới các hàm đó. Điều khó khăn ở đây là chúng tôi đã sử dụng các thuộc tính và hàm đó rất nhiều lần ở các phần khác nhau của PBS, và phần lớn thời gian, chúng tôi sử dụng chúng trên cùng một phần tử DOM nhiều lần. Để khắc phục điều này, chúng tôi đã tạo cơ chế bộ nhớ đệm (caching) riêng cho từng thuộc tính/hàm có vấn đề.

    Ví dụ: hàm getBoundingClientRect  cung cấp cho chúng tôi các kích thước pixel trên cùng, bên trái, chiều rộng, chiều cao, bên phải và dưới cùng hiện tại của một phần tử DOM. Chúng tôi luôn sử dụng hàm này để tính toán vị trí vẽ đường viền phần tử trong PBS. Dưới đây là hàm lưu vào bộ nhớ đệm mà chúng tôi đã tạo cho mục đích này:

    // Cache: Các client rect của chúng tôi được lưu ở đây, chúng ta có thể dùng để xóa chúng sau.
    var elemsWithBoundingRects = [];
    
    window.pbsGetBoundingClientRect = function( element ) {
    
    	// Kiểm tra xem chúng ta đã lấy client rect trước đó chưa.
    	if ( ! element._boundingClientRect ) {
    
    		// Nếu chưa, hãy lấy rồi lưu trữ để sử dụng sau này.
    		element._boundingClientRect = element.getBoundingClientRect();
    		elemsWithBoundingRects.push( element );
    	}
    	return element._boundingClientRect;
    };
    ​

    Thay vì gọi getBoundingClientRect , giờ đây chúng tôi sử dụng pbsGetBoundingClientRect . Giờ đây, mỗi khi client rect được truy vấn, chúng tôi lưu giá trị đó để tham chiếu sau này, nhờ đó hạn chế số lượng kích hoạt reflow.

    Chúng tôi cũng cần một cách để xóa bộ nhớ đệm khi các client rect đã lưu không còn hợp lệ. Giá trị của client rect được lưu trữ sẽ thay đổi khi người dùng cuộn trang hoặc thêm/thay đổi/xóa các phần tử trên màn hình. Vì vậy, chúng tôi đã tạo một hàm xóa bộ nhớ đệm mà chúng tôi có thể gọi bất cứ khi nào cần các giá trị client rect mới:

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

    Chúng tôi cũng đã áp dụng cơ chế bộ nhớ đệm tương tự này cho các lệnh gọi hàm tốn kém khác mà chúng tôi thường dùng.

    Cách khắc phục #2: Gom nhóm các thao tác Đọc & Ghi bằng FastDom

    Việc triển khai cách khắc phục #1 đã tăng hiệu năng của PBS, nhưng vẫn chưa đủ.

    Tìm kiếm thêm trên Google một chút, chúng tôi tình cờ đọc được một bài viết của Wilson Page về Ngăn chặn ‘layout thrashing’. Wilson chia sẻ:

    Hiện tượng Layout Thrashing (reflow) xảy ra khi JavaScript liên tục ghi rồi đọc từ DOM nhiều lần, gây ra hiện tượng reflow tài liệu.

    Rõ ràng, chỉ hạn chế các lệnh gọi đến các thuộc tính và hàm kích hoạt reflow cụ thể là chưa đủ. Khi bạn thực hiện nhiều thao tác “đọc” và “ghi” liên tiếp trên DOM, nó cũng kích hoạt reflow trình duyệt. Dưới đây là một tình huống điển hình, trích từ trang của Wilson:

    // Đọc
    var h1 = element1.clientHeight;
    
    // Ghi (làm mất hiệu lực layout)
    element1.style.height = (h1 * 2) + 'px';
    
    // Đọc (kích hoạt reflow)
    var h2 = element2.clientHeight;
    
    // Ghi (làm mất hiệu lực layout)
    element2.style.height = (h2 * 2) + 'px';
    
    // Đọc (kích hoạt reflow)
    var h3 = element3.clientHeight;
    
    // Ghi (làm mất hiệu lực layout)
    element3.style.height = (h3 * 2) + 'px';
    
    // Tài liệu reflow ở cuối frame​

    Ví dụ trên kích hoạt 3 lần reflow vì kích thước của toàn bộ trang bị mất hiệu lực sau một lần ghi. Cách khắc phục được đề xuất cho việc này là sắp xếp lại mã để gom nhóm tất cả các lần đọc và ghi lại với nhau để toàn bộ quá trình chỉ kích hoạt 1 lần reflow trình duyệt:

    // Đọc
    var h1 = element1.clientHeight;
    var h2 = element2.clientHeight;
    var h3 = element3.clientHeight;
    
    // Ghi (làm mất hiệu lực layout)
    element1.style.height = (h1 * 2) + 'px';
    element2.style.height = (h2 * 2) + 'px';
    element3.style.height = (h3 * 2) + 'px';
    
    // Tài liệu reflow ở cuối frame​

    Đoạn mã trên làm cho việc khắc phục sự cố trông có vẻ dễ dàng. Nhưng trên thực tế, trong PBS, việc đọc và ghi những thứ kích hoạt reflow diễn ra ở rất nhiều nơi khác nhau vào nhiều thời điểm khác nhau trong vòng đời của PBS. Việc tổ chức lại hàng nghìn dòng mã Javascript là không khả thi.

    May mắn cho chúng tôi, Wilson cũng đã cung cấp một giải pháp trong bài viết của mình. Anh ấy đã tạo một script tiện ích nhỏ để giúp gom nhóm các lần đọc và ghi đó lại với nhau, có tên là FastDom.

    Dưới đây là một số mã từ Page Builder Sandwich sử dụng FastDom và cũng bao gồm Cách khắc phục #1 của chúng tôi ở trên:

    // Gom nhóm các lần đọc từ các luồng khác.
    fastdom.measure( function() {
    
    	// Sử dụng client rect đã lưu trong cache của chúng tôi.
    	var rect = window.pbsGetBoundingClientRect( elem );
    
    	// Gom nhóm các lần ghi từ các luồng khác.
    	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 ) );​

    Những gì FastDom làm là gom nhóm tất cả các lệnh gọi fastdom.measure  và tất cả các lệnh gọi fastdom.mutate  lại và thực thi chúng bất đồng bộ, gom nhóm hiệu quả tất cả các lần đọc và ghi lại với nhau để giảm bớt tất cả các lần reflow trong trình duyệt.

    Cách khắc phục #3: Việc truy cập các đối tượng Style rất tốn kém

    Chúng tôi cũng phát hiện ra với sự trợ giúp của jsPerf rằng một số hàm lấy kiểu dáng (style) chạy nhanh hơn những hàm khác.

    Trong PBS, chúng tôi thường cần lấy giá trị hiện tại của một style cụ thể của một phần tử. Ví dụ: chúng tôi thường sử dụng cách này để lấy lề trên (top margin):

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

    Nhưng chúng tôi phát hiện ra rằng làm như thế này nhanh hơn nhiều:

    var marginTop = elem.style.marginTop;​

    Tuy nhiên, elem.style.marginTop  và getComputedStyle  rất khác nhau. Cách thứ nhất chỉ cung cấp cho chúng tôi kiểu dáng nội tuyến (inline style) của phần tử và không tính đến bất kỳ stylesheet nào; còn cách thứ hai tính đến cả kiểu dáng nội tuyến và stylesheet.

    Hơn nữa, ngay cả khi kết quả của getComputedStyle  được lưu vào bộ nhớ đệm, nó vẫn rất chậm. Hóa ra, việc truy cập chính đối tượng style mới là tiến trình chậm chạp.

    May mắn cho chúng tôi, PBS thêm các kiểu dáng nội tuyến vào các phần tử và vì các kiểu dáng nội tuyến được ưu tiên (hầu hết thời gian) hơn các stylesheet, nên sẽ có những trường hợp việc lấy giá trị kiểu dáng nội tuyến là đủ. Vì vậy, nếu chúng tôi kết hợp hai phương pháp trên, chúng tôi có thể đưa ra một đoạn mã chạy nhanh hơn nhiều:

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

    Kết quả cải tiến mã nguồn

    3 cách khắc phục ở trên của chúng tôi đã tốn rất nhiều thời gian nghiên cứu, thử nghiệm và triển khai thực tế (và làm trì hoãn tính năng Fonts phát hành), nhưng cuối cùng tất cả đều xứng đáng.

    Quay trở lại thử nghiệm ban đầu của chúng tôi là di chuyển chuột trên màn hình trong 2 giây. Đây là biểu đồ thời gian cũ đầy xấu xí/giật lag:

    Và đây là diện mạo biểu đồ thời gian mới của chúng tôi sau các cải tiến hiệu năng:

    Như bạn có thể thấy, có ít phần màu tím hơn trên biểu đồ. Và có sự khác biệt rõ rệt về số lượng tiến trình được trình duyệt thực hiện. Các khối hình chữ nhật ở phía dưới cũng mỏng hơn, có nghĩa là các tiến trình đang được chạy nhanh hơn trước.

    Nếu bạn so sánh số lượng vùng màu tím cao/rộng trong biểu đồ cũ và mới, chúng ta đang thấy mức tăng hiệu năng ấn tượng lên tới 200%! Chúng tôi cũng nhận thấy hiệu năng tăng lên trên toàn bộ hệ thống. Không tồi chút nào!

    Đúc kết & Bài học kinh nghiệm

    Thành thật mà nói, chúng tôi đã không nghĩ PBS gặp vấn đề về hiệu năng trước khi Ann đề cập đến. Chủ yếu là vì chúng tôi đang sử dụng các máy chuyên dùng cho phát triển và các điểm nghẽn hiệu năng không rõ ràng như vậy. Nhìn lại, việc kiểm tra hiệu năng đáng lẽ phải là một trong những ưu tiên hàng đầu. Nhưng ít nhất bây giờ, kể từ phiên bản 4.3, nó đã được giải quyết. ?

    Đối với những ai muốn cải thiện hiệu năng plugin WordPress của riêng mình, đặc biệt nếu bạn cũng đang sử dụng nhiều Javascript, đây là những bài học tôi rút ra từ trải nghiệm này:

    1. Giới hạn/lưu vào bộ nhớ đệm các lệnh gọi tới các thuộc tính/hàm kích hoạt reflow. Sử dụng tài liệu này làm hướng dẫn: Những gì buộc phải layout/reflow. Danh sách đầy đủ.
    2. Gom nhóm các thao tác “đọc” và “ghi” vào các style DOM. Sử dụng FastDom để làm điều này giúp bạn.
    3. Sử dụng trình phân tích Timeline của Chrome và đảm bảo bạn có càng ít reflow (các phần màu tím) càng tốt.
  • Lý do chúng tôi chuyển từ EDD sang Freemius

    Lý do chúng tôi chuyển từ EDD sang 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 là gì và tại sao chúng tôi lại chọn nó?

    Easy Digital Downloads (EDD) là một giải pháp thương mại điện tử tự lưu trữ / giải pháp thay thế WooCommerce phổ biến dành cho WordPress. Khi vừa cài đặt, bạn thực sự không thể bán sản phẩm WordPress bằng EDD, nhưng tiện ích mở rộng Software Licensing của nó khiến nó trở nàn hoàn hảo để bán các plugin. Tiện ích mở rộng này cũng xử lý việc tạo và xác minh khóa cấp phép.

    EDD cũng hoạt động hiệu quả vì nó cho phép khách hàng mua sản phẩm của chúng tôi trực tiếp từ trang web, đồng thờng cung cấp cho họ trang tài khoản riêng để họ có thể đăng nhập và xem lịch sử mua hàng của mình.

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

    Nó hoạt động như thế nào so với Freemius, và chúng tôi đã chuyển đổi khi nào?

    Vào năm 2016, Vova Feldman, nhà phát triển chính kiêm đồng sáng lập của Freemius, đã gửi email cho chúng tôi bản tóm tắt về Freemius, giải thích rằng nó không chỉ là một giải pháp thương mại điện tử — Nó cung cấp các tính năng khác như giải pháp phân tích và thông tin chi tiết, công cụ tự động hóa tiếp thị, và công cụ hỗ trợ tích hợp sẵn để khách hàng có thể liên hệ trực tiếp với bạn từ Bảng điều khiển WordPress.

    Ban đầu, chúng tôi chỉ sử dụng ‘Freemius Insights’ — một trong những tính năng của Freemius — vì chúng tôi tò mò về các số liệu phân tích. Nó thực sự đã giúp chúng tôi hiểu được những lý do phổ biến khiến mều ngường gỡ cài đặt plugin của chúng tôi vào thờng điểm đó.

    Nó cũng giúp chúng tôi đưa ra nhiều quyết định dựa trê n dữ liệu hơn thông qua các cuộc khảo sát nhanh dành cho khách hàng. Ví dụ, nếu ngường dùng gỡ cài đặt plugin của chúng tôi, một biểu mẫu phản hồi nhanh sẽ bật lê n và hỏ i lý do tại sao họ chọn gỡ cài đặt. Những phản hồi này đã giúp chúng tôi hiểu được nhu cầu của khách hàng.

    Qua hoạt động này, chúng tôi phát hiện ra rằng ngường dùng gỡ cài đặt vì họ không biết phải làm gì sau khi kích hoạt. Chúng tôi chỉ đơn giản là thê m màn hình chào mừng và video hướng dẫn để giảm tỷ lệ gỡ cài đặt. Thật dễ dàng.

    Bỏ qua khía cạnh phân tích, nền tảng Freemius được xây dựng để bạn có thể sẵn sàng sử dụng nhằm bán các sản phẩm WordPress của mình hiệu quả hơn!

    Sau khi cân nhắc ưu và nhược điểm, chúng tôi đã chuyển sang Freemius vào tháng 1 năm 2017. Đây là lý do:

    Freemius cho phép khách hàng mua sản phẩm của bạn trực tiếp trê n Bảng điều khiển WordPress của họ

    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.

    Vớ i EDD, những ngường quan tâm đến Sandwich phải rờ i khỏ i trải nghiệm dựng trang để đến một trang web bê n ngoài nhằm mua khóa cấp phép. Họ phải trải qua vài lần nhấp chuột — cùng nhiều sự phân tâm hơn — trước khi có thể hoàn tất việc mua hàng.

    Ngược lại, vớ i Freemius, khách hàng mua hàng ngay từ Bảng điều khiển WordPress của chính họ trong khi họ đang dùng thử Sandwich — không cần phải chuyển hướng sang trang web khác để mua.

    Sự tiện lợi của tất cả những điều này đã giúp việc mua hàng của khách hàng mượt mà và dễ dàng hơn gấp mường lần, dẫn đến sự gia tăng doanh số đáng kể.

    Các nhà phát triển cũng đồng hành cùng sự thành công của bạn

    Bán sản phẩm của bạn bằng Freemius không miễn phí. Vớ i mỗi lần bán, họ thu một phần nhỏ doanh thu của bạn, số tiền đó được dùng cho thanh toán và chi phí xử lý. Đó là mô hình kinh doanh của họ.

    Nhưng điều quan trọng cần lưu ý ở đây là mô hình kinh doanh của họ xoay quanh sự thành công của sản phẩm WordPress của bạn.

    Vova và đội ngũ của anh ấy rất nhiệt tình hỗ trợ. Họ đã chia sẻ cho chúng tôi những mẹo và thủ thuật riêng về cách tạo thê m doanh thu, cách cải thiện plugin cũng như cách tận dụng Freemius làm lợi thế cho mình. Sự hào phóng trong việc chia sẻ thông tin của họ đã đóng góp vào sự phát triển của Sandwich.

    Kết luận: Nếu bạn là tác giả sản phẩm WordPress muốn kiếm tiền, Freemius là lựa chọn đúng đắn.

    Page Builder Sandwich hướng tớ i việc nâng cao tính trực quan và trải nghiệm ngường dùng thông qua việc dựng trang. Freemius cũng làm được điều này: Nó giúp trải nghiệm trở nê n mượt mà hơn một cách hiệu quả cho cả khách hàng lẫn ngường bán.

    Kể từ khi chuyển sang Freemius vào năm 2017, chúng tôi đã có những khách hàng hài lòng hơn, tỷ lệ gỡ cài đặt thấp hơn và nhìn chung doanh số bán hàng tốt hơn. Nếu bạn đang muốn kiếm tiền từ các plugin hoặc giao diện WordPress của mình, Freemius chắc chắn là lựa chọn đúng đắn.

    Các tính năng của nó vượt trội hơn các đối thủ cạnh tranh. Nó đã giúp chúng tôi đưa ra những quyết định thông minh hơn để cải tiến. Đội ngũ của họ cung cấp dịch vụ hỗ trợ xuất sắc. Nếu bạn là tác giả sản phẩm WordPress, chúng tôi hy vọng bạn sẽ trải nghiệm được tác động tích cực tương tự như chúng tôi đã có vớ i Freemius.