make error handler: How to use commit to abort work after an error

error handler Commit is a feature designed to keep previously completed workand abort post-error workwhen an error occurs during the execution of a task. it is primarily used to ensure data integrity, and when you need to ensure that successfully processed data is not lost.

What Commit does

  1. maintain work before the error
    • actions that were successfully completed before the error are reflected in the database.
    • example: If an email is sent successfully, even if an error occurs afterward, the sent email is retained.
  2. abort post-error actions
    • the steps after the error are not executed.
    • example: If an error occurs during an inventory update after a successful payment, then the payment is retained, but the inventory update is not executed.
  3. data preservation
    • if sensitive data has already been processed, then it is preserved without restoring it.
    • example: if some customer records have been saved, but the remaining work is aborted.

When to use Commit

1. when you need to maintain data integrity

  • when you need to preserve data that has already been successfully processed without reverting it.
  • for example: sending an email, authorizing a payment, etc.

2. when you need to save intermediate results

  • when some successful actions are independent of the next step.
  • example: an error saving the database after a customer email has been sent.

3. when partial success is acceptable

  • when the results of a previous action are useful even if not all actions are successful.
  • example: processing a large amount of data and only part of the data is successfully processed.

Real-world use cases for Commit

example 1: Database save error after sending an email

  1. workflow
    • send an email to a customer → Save email sending history to database.
  2. error situation
    • after sending the email successfully, an error occurs while saving the database.
  3. Commit behavior
    • the email has already been sent, so keep it as is.
    • save database fails, so abort further steps.

example 2: Inventory update error after payment authorization

  1. workflow
    • process customer payment → Update inventory → Send order confirmation email.
  2. error situation
    • error updating inventory.
  3. Commit action
    • payment completed successfully, so keep.
    • inventory update fails, and no order confirmation email is sent.

example 3: Data synchronization system

  1. workflow
    • import data from external database → Synchronize to internal system.
  2. error situation
    • after synchronizing some data, interrupted by a network error.
  3. Commit behavior
    • synchronized data kept, rest of data not synchronized.

How to set up Commit (on Make.com)

모둘 선택 후 오른쪽 버튼 클릭 후 add error handler 클릭 후 오류 처리기를 선택할 수 있습니다.
  1. add an error handler
    • On the Edit Workflow screen in Make.com, select the module where an error is likely to occur.
    • add an error handlerto that module.
  2. Select the Commit option
    • in the error handler, select the “Commit” option.
    • this sets it to keep the results of the previous action.
  3. save and test
    • after completing the setup, test the scenario to ensure that Commit works correctly when an error occurs.

Cautions when using Commit

  1. check your data dependencies
    • make sure that the results of previous actions are independent of the next step.
    • if your work is highly dependent, Rollback may be more appropriate.
  2. avoid data loss
    • Be careful, as incorrect commit settings can cause unintentional data loss.
  3. keep a history of your work
    • Set up to keep a log of your actions after Commit so that you can analyze issues.

Commit summary

itemdescription
rolepreserves previous work and aborts subsequent work when an error occurs.
use casesfailure to save the database after sending an email, failure to update inventory after authorizing a payment, etc.
precautionscheck data dependencies and ensure that no unintentional data loss occurs.
examplefailure to save the database after a successful customer email, retaining payment information when an inventory update fails.

Commit is very useful in situations where you need to preserve the results of intermediate actions while maintaining data integrity. It’s easy to set up, especially on automation platforms like Make.com, and is a powerful option for handling errors efficiently.

how to Protect Your WordPress AdSense Revenue: Allow Visitors with Ad Blocker Detection

many people use WordPress to run a blog or website and monetize it through various ad platforms such as Google AdSense, Dable, and Tenning. However, if some of your visitors are using an **Ad Block extension**, your ads may not be displayed properly, which can directly affect your revenue.

광고 차단 프로그램 방지 사이트를 
광고 차단 프로그램 활성화 하고 방문한 경우
visitors visit your site with ad blockers enabled

as the percentage of ad block users grows, the decrease in revenuedue to ad blocking can mean a decrease in revenue for those of you who make money from AdSense ads. There are two ways to detect or work around AdSense ad block users to address the decrease in AdSense revenue

  1. utilize the AdSense Ad Recovery Program
    you can use AdSense’s ad block recovery feature to prompt ad blockers to allow ads and encourage them to view your ads again.
  2. utilize ad blocking plugins and scripts
    wordPress plugins or your own JavaScript code can also be effective ways to detect ad blockers, display alternative messages, or restrict access to your content.

a word of caution, while ad revenue may increase, your SEO may be impacted by the bounce rate of users requesting to disable ad blockers.
depending on the situation, it is recommended to choose and operate according to whether you mainly use search or external traffic.

in this article, we’ll walk you through two methods you can use to prevent ad blockers from reducing your revenue, step by step.

1. setting up an AdSense Ad Recovery Program

blocking ad blockers with the AdSense Ad Recovery Program

  1. from the AdSense home page, go to Privacy & Messages > Manage ad block recovery

    go to the AdSense homepage and click Privacy & Messages in the AdSense menu.
    Scroll down to the bottom and click Manage under the Ad Block Recovery menu.
    애드센스 홈페이지에 접속 후 애드센스 메뉴에서 개인정보 보호 및 메시지를 클릭합니다.
아래로 스크롤을 내리면 광고 차단 회복 메뉴에서 관리를 클릭 합니다.

  2. create an AdSense Ad Block Allow message.

    in the ad block recovery prompt, click Messages, and then click Create message.광고차단 회복 프래램에서 메시지를 클릭 후 메시지 만들기를 클릭합니다.

  3. proceed with the ad blocking acceptable message settings.

    select the ad blocked site in the ad blocking acceptable message settings.
    Include and exclude pages, you can set the URLs within the site to include and exclude the ad blocking acceptable message.
    The default language is Korean, and you can select one of three placement settings.
    choose from centered, centered with no close option , or fixed at the bottom of each of the 3 positions.

    광고 차단 허용 메시지 설정에서 광고 차단된 사이트를 선택 합니다.
페이지 포함 및 제외 에서 사이트 내의 광고 차단허용 메시지를 포함하는 url 과 제외하는 url 을 설정할 수 있습니다.
기본 언어는 한국어, 게재위치 설정은 3가지중 1개로 선택할 수 있습니다. 
 중앙에 표시되는 모델, 중앙에 표시 되면서 닫기 옶션없음, 각 하단에 고정 3기지중 선택 합니다.

  4. styling the ad blocking acceptance message


    in the Ad Blocking Allowed Message, in Styling, you can convert the text of the ad message, change the color of the ad message, etc.

    To convert the text first, click Styling, then hover your mouse next to the ad message, you can edit the ad blocking message title and body.
    You can choose the color of the ad message, as well as the buttons, font size and color, after clicking Header, Title, Body on the right, you can choose the color and size.
    After selecting all, click Publish on the top right.

  5. insert the ad blocking allow script code into the header.

    once the ad blocking acceptable message has been generated, you need to insert the code on your own site.
    The generated ad blocking acceptable message script code can be found in Privacy and Messages – > Tagging -> Copy.
    Once copied, enter the code between <header> and </header> on your own site.광고 차단 허용 메시지가 생성 되었다면, 운영하는 사이트의 코드를 삽입해야합니다.
생성된 광고차단 허용 메시지 스크립트 코드는 개인정보 보호 및 메시지 - > 태그하기 -> 복사 클릭 후 스크립트를 복상합니다.
복사한 스크립트는 본인 사이트의 <header> 와 </header> 사이에 코드를 입력합니다.

2.using an ad block detection plugin

using a plugin that provides ad block detection in WordPress is a simple setup. with an ad block plugin, you can display alternative content for ad-blocked users or hide your content. there are three plugins used in WordPress to detect ad blocking, listed below.

adblock Detection Plugin 1 – Admiral Adblock Analytics

  • features
    • detects ad blocking software and displays a notification window asking the user to unblockthe ad blocker.
    • provides data to analyze the percentage of ad block usage and its impact on your site.
    • simple setup and quick to apply on your WordPress site.
  • how it works
    • display an ad block disable message.
    • Analyze ad block usage rates to manage lost ad revenue.
    • download the plugin

ad Blocking Plugin 2 – CHP Ads Block Detector

  • features
    • providesmore advanced functionality, including the ability to detect and bypass ad blocks.
    • provide alternative content or restrict access after detecting ad block users.
    • optimize user experience with customized messages and designs.
  • how it works
    • Target Ad Block users with a message asking them to unblock ads.
    • prevent ad block users from viewing content with content blocking features.More
    • provides Ad Block detection and bypass with advanced features.
    • download the plugin

how to install the Ad Block Detection plugin

  1. install the plugin from
    • in your WordPress admin page, go to [Plugins] -> [Add New].
    • search for the plugin name above and click the [Install] -> [Activate ] button.
  2. setting up the plugin
    • on the plugin settings page, set the following options
      • show notification message: “You are using an ad blocker. please disable your ad blocker for a smooth experience on our site.”
      • content blocking: Hide or block some content when an ad blocker is detected.
      • custom message: Customize the notification pane with a design and wording that fits your site.
  3. test
    • Visit your site in a browser with Ad Block enabled to make sure the plugin is working properly.

adding ad blocker detection code directly: Installing the plugin ❌

withoutthe WordPress Ad Block Detection plugin, you can also add JavaScriptcode directly to headr to detect ad blocks and display notifications to users.

below is the code for the ad block detection script.

<script> document.addEventListener('DOMContentLoaded', function () { var adBlockEnabled = false; var testAd = document.createElement('div'); testAd.className = 'adsbox'; testAd.style.display = 'none'; document.body.appendChild(testAd); window.setTimeout(function () { if (testAd.offsetHeight === 0) { adBlockEnabled = true; } testAd.remove(); if (adBlockEnabled) { alert('Ad blocker detected, please disable ad or set exception'); } }, 100); }); </script>

how to add the ad block detection script code

  1. go to your WordPress admin page.
  2. select [Appearance] -> [Theme File Editor].
  3. open the header.php file of your activated theme, and add the above code just below the <head> tag.
  4. save and test.

settingadditional content access restriction code

additionally, you can block or restrict site content when an ad blocker is detected, making your site unavailable to visitors unless they disable their ad blocker.

enable the plugin’s built-in content blocking functionality, or add JavaScript code like this

if (adBlockEnabled) { document.body.innerHTML = '<h1>Ad blocker detected:</h1><p>Please disable your ad blocker to use the site:</p>'; }

Buffer Social Media Automation: Learn About Plans and How It Works

Bufferis a powerful platform to help you manage your social media, with a range of plans to suit everyone from beginners to expert marketers. in this article, we’ll walk you through the details and features of each plan, step by step, and carefully guide you through which plan is right for you in which situation. Let’s take a look at each of Buffer’s plans in a way that’s easy to understand for beginners.

for reference, I’m using make.com and the buffer free plan to summarize my blog posts and automate them to Threads and Instagram. thread does not provide a separate API, so you need to connect buffer to make.com and buffer to automate it, and in the case of Twitter(x), you can issue an API, but the API keeps changing to only read, so I’m using it in conjunction with buffer.

Buffer Pricing Plans: Features of each plan

plancan connect channelsscheduled postshashtag manageradvanced analyticsnumber of usersrecommendations
Freeup to 310 per channelnot includedbasic (30 days)1 usersocial media beginner, simple management
Essentials1 basic (can be added)unlimitedincludedincluded1 usersmall businesses, individual marketers
Team1 basic (can be added)unlimitedincludedincludedunlimitedteam-based operations, agencies

1️⃣ Free Plan: Entry-level plan for social media beginners

🔹 Pricing: Free (available forever)

🔹 Key features:

  • channel connections: You can connect up to 3 social media channels (e.g. Twitter, Instagram, Facebook).
  • scheduled posts
    • you can schedule up to 10 postsper channel.
    • once a scheduled post is published, you can schedule more again, which is enough for small management.
  • content creation assistance
    • AI Assistant: Provides the ability to create or improve posts with AI.
    • idea storage: Store up to 100 content ideas.
  • basic analytics
    • you can view engagement rate data per post for 30 days.

🔹 Recommended for:

  • personal bloggers who are new to social media or those working on small projects.
  • if you don’t have a large number of scheduled posts and only need basic management features.

2️⃣ Essentials Plan: A streamlined plan for individual marketers and small businesses

🔹 Rates:

  • monthly rate: $6/month
  • annual plan: $60/year (with 2 months off)

🔹 Key features:

  • scheduled Posts: Schedule an unlimited numberof posts
    • no more worrying about how many posts you can schedule.
  • hashtag Manager
    • store and reuse up to 250 ofyour favorite hashtags.
  • advanced Analytics
    • overview ofyour posts’ performance andrecommendations for optimal posting times.
    • analyze your content with user-specified tags.
  • additional features
    • First Comment Scheduling: schedule first comments on Instagram and LinkedIn posts.
    • Custom Video Covers: Customize your own video thumbnails.

🔹 Recommended for:

  • solopreneurs or freelancers who need to publish content consistently.
  • social media marketers who want to stay organized and manage their performance with advanced analytics.

3️⃣ Team Plan: Optimized for team-based collaboration and large-scale management

🔹 Pricing:

  • monthly rate: $12/month
  • annual plan: $120/year (with 2 months off)

🔹 Key features:

  • unlimited users: Allows team members to manage social media accounts simultaneously.
  • approval workflow
    • after you draft a post, you can set up an approval process between team members.
    • this is an essential feature for working with clients or running a large team.
  • branding reports
    • add your brand logo and customized cover page to your reports for added professionalism.
  • add-ons
    • Includes all features in the Essentials plan.
    • granular control over user roles and permissions.

🔹 Recommended for:

  • agencies that run social media operations as a team or manage multiple clients.
  • if you need to manage approval processes and permissions per team member.

💡 What to consider when choosing a plan

  1. number of channels and number of scheduled posts
    • if you have 3 or fewer channels and a small number of scheduled posts, the Free plan issufficient.
    • if you need more channels and posts, upgrade to Essentials or Team.
  2. whether you need collaboration and approvals
    • if collaboration and approval workflows are important to you, the Team plan isfor you.
    • if you’re a solo operator, the Essentials plan is enough.
  3. budget
    • if you’re looking to save money, opt for the annual subscription to the Essentials plan. you’ll get advanced features for as little as $6 per month.
  4. whether you need advanced analytics
    • if you want to strategize with your post performance data, the Essentials or Team plan is a must.

Key takeaways for choosing a Buffer plan

Buffer is a powerful tool for efficiently managing your social media.

  • The Free planis great for small management and beginners.
  • The Essentials planis a practical option for solopreneurs and freelancers.
  • The Team planis for team-based operations and collaboration.

choose a plan that fits your social media goals and budget, and start managing your content efficiently with Buffer! 😊

Learn how Buffer marketing and automation works

How Buffer works

Buffer simplifies the marketing process with steps like.

🔹 Create and schedule content

Buffer’s AI Assistanthelps you quickly create content or optimize existing content. once written, content can be scheduled for publication by platform.

  • scheduled publishing: schedule publishing to multiple platforms, including Twitter, Instagram, Facebook.Threads, and more.
  • published content: create long-form posts to platforms like Twitter, Threads, and more.

🔹 Hashtag management and optimization

  • reuse your favorite hashtags by saving them in Buffer Hashtag Manager.
  • get recommendations for the best hashtags to maximize your posts’ exposure.

Buffer’s Hashtag Managerlets you save and reuse your favorite hashtags, saving you time and effort.

🔹 Performance analytics

Buffer’s performance analytics tools provide you with the following information

  • reach: How many users your posts reached.
  • engagement rate: User reactions like likes, comments, and shares.
  • best time recommendations: Ideal posting times based on performance data

for example, it analyzes the reach and engagement rate of your posts during certain times of the day and suggests the best time to post to maximize your reach.

🔹 Team collaboration and workflow management

  • advanced plans enable collaboration between team members
    • role division: separate content creators from reviewers.
    • approval process: Team leader approval before publishing.

Buffer use cases

  1. personal blogger example
    • situation: a blogger wants to automatically share his weekly posts to various platforms.
    • How to use Buffer
      • write a short summary content with a link to your blog.
      • Schedule the same content on Twitter, Instagram, and Facebook in Buffer.
      • easily add new hashtags each time with the hashtag management feature.
  2. small business example
    • the Situation: A small cafe wants to announce weekly events.
    • How to use Buffer
      • Create event posts with AI Assistant.
      • Schedule a post on Instagram with an image.
      • Schedule the same post on Facebook, but add a link to your menu in the first comment.
      • after the event, check the performance data to see which platforms were most effective.
  3. marketing team example
    • the situation: A large e-commerce company manages a Black Friday sales campaign.
    • How they use Buffer
      • team members each write a draft, and the team leader reviews posts with an approval workflow.
      • Text optimization with AI Assistant.
      • scheduled publishing of campaign posts to Instagram, Facebook, and Twitter.
      • analyze campaign performance to inform your next marketing strategy.

Benefits of Buffer

  1. save time
    • prepare the same content for multiple platforms at once with scheduled publishing.
    • Quickly create and optimize content with AI Assistant.
  2. increase efficiency
    • stay organized with a hashtag manager and content calendar to manage your marketing strategy.
    • continuously improve your strategy with performance data.
  3. increase collaboration
    • set up roles and approval processes among team members for an efficient workflow.
  4. reduce costs
    • The Free plan is enough to manage a small team.
    • Essentials and Team plans offer advanced features at an affordable price.

Tips for automation success with Buffer

  1. set goals: Be clear about the purpose of your posts (reach, sales, engagement)
  2. manage your schedule: Utilize Buffer’s calendar to maintain a consistent publishing cycle.
  3. analyze yourperformance: Use analytics data to identify the best times and platforms.
  4. collaborate efficiently: Increase collaboration among team members with Team plans and utilize approval workflows.

aWS Litesale WHM & CPANEL Email Account Creation to Activation

you can manage email addresses and email servers with your own website domain address using AWS LiteSail instances and WH & CPANEL. Let’s see how to create an email account and email management server using AWS LiteSail instances and CPANEL & WHM.The steps below will show you how to create an AWS email account and create emails.

how to create and activate an AWS LiteSail WHM & CPANEL email account

time required: 30 minutes.

how to create an AWS Litesale Instance WHM & CPANEL email account and register your server

  1. set up your domain and DNS records in AWS Litesale

    a record – mail.example.co.kr – > set public ip
    MX record – > set priority 10, set record name example.co.kr. next, set traffic routing mail.example.co.kr
    txt record sets 3 things

    txt value
    @.example.co.kr / spf1 response key
    _dmarc. : dmarc response key
    efault._domainkey : dkim response key
    a 레코드 - mail.example.co.kr - > public ip (공공아이피 설정) 
mx 레코드 - > 우선순위 10 으로 설정, 레코드이름 example.co.kr 설정. 다음으로 트래픽 라우팅 mail.example.co.kr 설정
txt 레코드는 3가지를 설정합니다.

txt 값
@.example.co.kr /  spf1 응답키 설정 
_dmarc.  : dmarc 응답킵 설정
efault._domainkey : dkim 응답키

  2. open AWS ports 25, 465,587,2096

    if you don’t open port 2096, you won’t be able to access the webmail server itself from cpanel, and if you don’t open ports 25, 2465, 587, you won’t be able to receive and send emails.
    In the Lightsail console, go to the Networking tab.
    open the following additional ports:
    TCP 25 (SMTP)
    TCP 465 (SMTPS)
    TCP 587 (Submission)
    TCP 2096 (Webmail SSL)
    5.2. Check your IPv6 firewall rules
    If you are using IPv6, remove any duplicate rules and open the ports. Lightsail 콘솔에서 네트워킹 탭으로 이동합니다.
다음 포트를 추가로 엽니다:
TCP 25 (SMTP)
TCP 465 (SMTPS)
TCP 587 (Submission)
TCP 2096 (Webmail SSL)
5.2. IPv6 방화벽 규칙 확인
IPv6를 사용하는 경우 중복된 규칙을 제거하고 포트를 열어줍니다.

  3. connect to WHM and proceed with IMAP & POP 3 activation

    enter https://<Elastic_IP>:2087 or example.com:2087 in a web browser and connect to WHM.
    home – > Service Configuration -> Mailserver Configuration and select IMAP, POP3 and proceed to activate IPv6.

    웹 브라우저에서 https://<Elastic_IP>:2087 또는 example.com:2087 입력 후 whm 에 접속합니다.
home - > Service Configuration ->  Mailserver Configuration 접속 후 imap, pop3 를 선택 후 ipv6 활성화를 진행합니다.

  4. activate exim mail server and imap server from whm service manager

    go to whm service configuration – > service manager – > exim mail server & imap enabled and activate it.whm service configuration - > service manager - > exim mail server & imap enbled 를 클릭 후 활성화를 시켜줍니다.

  5. check DKIM and SPF & DMARC settings

    go to whm -> email -> email deliverabilliy settings and check the valid content.
    If it is not set to valid, set the txt record file in your aws light sail dns zone.whm -> email -> email deliverabilliy 설정 접속 후 valid 내용을 확인합니다. 
valid 로 설정되어 있지 않다면, aws light sail dns 존에서 txt 레코드 파일을 설정합니다.

  6. set up WHM email routing

    set up the email routing set by DNS in WHM. Go to WHM -> email routing, select a domain, click LOCAL MAIL EXCHANNER, and set TTL 14400, priority value is 10, and MX destination is mail.example.co.kr.whm 에서 dns 설정한 이메일 라우팅을 설정합니다. whm - > email routing 에서 도메인을 서택 한 후 local mail exchaner  클릭 후 ttl 14400, priority 값은 10 , mx destisation 은 mail.example.co.kr 을 설정합니다.

  7. installing an SSL certificate for a mail domain from CPANEL

    go to CPANEL -> SECURITY -> SSL/TLS STATUS and enter the domain address of the mail server to install the SSL certificate.
    mail.example.co.kr and click RUN AUTO SSL to install the SSL certificate.
    cpanel -> security -> ssl/tls status  접속 후 메일 서버의 도메인 주소를 ssl 인증서 설치를 진행합니다.
mail.example.co.kr 클릭 후 run auto ssl 클릭 시 ssl 인증서가 설치 됩니다.

  8. cPANEL – > EMAIL ACCOUNT Create an account and log in.

    check the EMAIL account in CPANEL.
    The email address that is created by default when you create a CPANEL account is set to example@example.co.kr.
    If you want to change the email address, you can create an email address according to your preference after clicking the CREATE button.
    You can create an email address such as official@example.co.kr.

    cpanel 에서 email 계정을 확인합니다. 
cpanel 계정 생성시 기본으로 생성되는 이메일 주소는 example@example.co.kr 으로 설정 되어 있습니다.
만약 이메일 주소를 변경하고 싶으시다면 create 버튼을 클릭 후 앞에 사용자 설정에 따른 이메일 주소를 생성할 수 있습니다.
official@example.co.kr 같은 이메일 주소로 생성 가능합니다.

  9. request to unlock AWS email sending restrictions

    in the case of AWS Litesale, email sending is restricted. You will receive emails, but you need to request to unrestrict AWS Litesale separately to send them.

    You can request to unrestrict Litesale emails through the shortcut below.

    shortcutto Litesail Email Unrestriction Request

    After accessing the Litesail Email Unrestriction Request service, enter the email address you want to receive a response from, and write a description of your email use case.
    For IP information, enter the public ip address, which is the PUBLIC IP address of your Litesail instance.
    For reverse DNS record, enter the mail server domain address as mail.example.co.kr, and click Submit.
    aws 라이트세일의 경우 이메일 발송에 제한을 걸어두었는데요. 이메일은 수신되지만 발송을 위해 별도로 aws 라이트세일 제하 해제요청을 진행해주셔야합니다.

라이트 세일 이메일 제한 해제 요청은 아래 바로가기를 통해 가능합니다.

라이트세일 이메일 제한 해제 요청 바로가기

라이트세일 이메일 제한 해제 요청 서비스에 접속 후 본인의 답변받을 이메일 주소를 입력 후, 이메일 사용 사례 설명을 작성합니다.
ip 정보는 라이트세일 인스턴스의 public ip 주소인 공공 아이피 주소를 입력 합니다.
역방향 dns 레코드는 mail.example.co.kr 로 메일 서버 도메인 주소를 입력 한 후 제출 하기를 클릭합니다.

  10. installing the clam av plug in for virus scanning

    when using a homepage server, incoming emails may contain viruses. please install the clam av plug in to prevent viruses.
    clam av plug in is installed by clicking whm -> plugin -> clam av install.
    After installing the plug in, go to whm -> service manager -> clam av daemon enabled , monitor checkbox and proceed with activation.

we’ve checked all the steps from creating an AWS LiteSail WHM & CPANEL email account to activating it. If you can’t receive or send emails even if you follow the steps above, please check your port configuration and DNS settings.

if you’re having trouble configuring your email server, submit a service request and we’ll set up your server for you for a small fee.

noteson CPANEL & WHM email setup

sometimes port 2096 is not open after installing an instance of AWS LiteSail. Please open port 2096 on your instance after installing LiteSail to enable WHM webmail login.

add port 2096 and ports 25, 465, and 587.

the 2096 port is a way to open the way to access the webmail server when you log in to example.com:2096. When you create an AWS Litesale instance, the 2096 port is not created, so you need to open the 2096 port to sign up for email.

in DNS ZONE, check if the AWS domain and DNS zone CNAME , A records match with the WHM EMAIL DELIVERY tab, and if the VALID mark is checked, the DNS settings will proceed correctly.

to prevent hacking, you need to set up 2FA login authentication or white-list IPs of commonly used addresses, or set up CPHulk Brute Force Protection to be safe from hacking.

CGI Access vs. Shell (Shell Access) Access Differences and Appropriateness

The suitability ofCGI access versus Shell Access (SSH access) depends on how you manage your server and run your site. let’s compare their features, uses, and pros and cons.

1️⃣ What is CGI access?

Common Gateway Interface (CGI) is a protocol that allows external programs (scripts ) to run on your server. when a request comes in from a web browser, the CGI script dynamically generates content or processes data.

features

  • how it works: The server executes a specific script (PHP, Perl, Python, etc.) and returns the result.
  • security: Dynamic content can be generated without Shell (SSH) access.
  • hosting restrictions: CGI access is typically allowed in shared hosting environments.
  • inability to run complex commands: CGI access alone makes it difficult to change detailed settings on the server.

pros

  1. beginner-friendly: Set up by default, no additional management required.
  2. low security risk: Limited scope without SSH privileges.
  3. hosting support: cGI is enabled by default on most shared hosting environments.

cons

  1. limited functionality: You can’t manage the entire server or perform advanced tasks.
  2. efficiency issues: CGI creates a new process for each request, which can reduce performance.

2️⃣ What is Shell Access (Shell)?

Shell access (SSH access) refers to the ability to connectto a server directly through a terminal andexecute commands. Secure Shell (SSH) is a protocol that provides increased security through an encrypted connection.

features

  • operational: Allows users to log in directly to the server, run commands, and perform advanced tasks such as file management, service settings, and debugging.
  • security: Requires strong security settings (e.g., public key authentication).
  • hosting limitations: SSH access is restricted on shared hosting or must be enabled by request.

pros

  1. professional tools: allows you to set up and manage all aspects of your server.
  2. work efficiently: Check server status, view logs, run scripts, and perform advanced tasks.
  3. automatable: Set up Bash scripts, Cron Jobs, and more to perform automated tasks.

cons

  1. security risks: Poor password or key management can lead to your server being hacked.
  2. learning curve: Command-based interface can be difficult for beginners.
  3. error-prone: Potential to compromise your server if you run the wrong command.

3️⃣ Key differences between the two approaches

criteriaCGI approachShell (SSH) approach
purpose of usecreate dynamic content and perform limited tasksserver administration, file editing, debugging, checking logs, etc
security riskrelatively lowpossible security vulnerabilities depending on how it is managed
privilegeslimited (limited to running scripts)full server access
technical requirementsnone (beginner-friendly)requires basic commands and server administration knowledge
speed and efficiencycreates a new process for each request → inefficientfast and efficient with continuous sessions
hosting Support Availabilitybuilt-in on shared hostinglimited on shared hosting or requires activation after request

4️⃣ Which approach is suitable in which situations?

✅ When CGI access is right for you:

  • when you are operating in a shared hosting environment.
  • you only need to run WordPress, a blog, or a simple website and not manage the server.
  • you want to increase security and leave administrative responsibilities to your hosting provider.

✅ When Shell (SSH) access is appropriate:

  • When running a virtual private server (VPS), dedicated server, or cloud server.
  • when you want to customize your server or perform advanced tasks (e.g., analyze logs, install services).
  • when you want to use automation scripts (Bash, Cron Jobs, etc.).
  • when you need to work inside the server to optimize site performance.

5️⃣ Recommended settings for WHM environments

  • shared Hosting: Enable CGI access only to increase security.
  • VPS/Dedicated Server: Enable Shell Access and set up public key authentication (SSH Key) for security.
  • How to enable Shell Access (WHM)
    1. Goto WHM → Manage Shell Access.
    2. select Jailed Shell or Full Shell permissions for the user account.
    3. save and test access from an SSH client (e.g. PuTTY).

🔥 Conclusion

  • CGI access: sufficient if you only need to do simple tasks (install WordPress, manage plugins).
  • Shell (SSH) access: needed for advanced tasks (optimization, debugging, automation, etc.) on a VPS or dedicated server.
  • security aspects: Be sure to apply strong authentication settings (e.g. public key, password restrictions) when using Shell Access.

👉 Recommended: CGI access is sufficient for basic operation of WordPress and your website, but use SSH access for server optimization and advanced tasks. 🚀

WP-Optimize vs. WP Rocket: Which Plugin is Better?

WP-Optimize and WP Rocket are both plugins for optimizing WordPress speed, but they have different features and purposes.
we’ll compare the differences between each plugin and explain which one you should choose in which situations.

1️⃣ Key differences between WP-Optimize and WP Rocket

functionalityWP-Optimize 🚀vs WP Rocket 🚀 â
main Purposeprovides database optimization & cachingcaching & Page Speed Optimization
optimize your database✅ Powerful DB cleaning features❌ Basic DB cleaning (Auto-optimize X)
page Caching✅ (Not in free version, paid feature)✅ Advanced page caching support
image Optimization✅ Provides basic image compression❌ (requires a separate image compression plugin)
CSS/JS file optimization✅ Support for minifiles (minification)✅ Support for minifiles, merges, asynchronous loading, and lazy loading
Lazy Load✅ Support forsupport for advanced features
Gzip compression support✅ Yes✅ Yes
CDN support❌ None (requires direct CDN setup)✅ Cloudflare and various CDN support
mobile caching❌ None✅ Yes
pricingfree & Paid (Premium version required)
premium version:
2 domains: $49
5 domains: $99
unlimited Domains: $199
paid (1-year license required)
1 domain: $59
3 domains: $119
50 domains: $299

2️⃣ Detailed comparison by plugin

✅ WP-Optimize: a plugin that specializes in database optimization

WP-Optimize is a plugin that offers WordPress database optimization, image compression, and some cachingfeatures.

its main features include

  1. database cleanup 🛠
    • allows you to delete revisions, transient cache, spam comments, and trash data.
    • speed up your site by reducing unnecessary database load.
  2. image compression 📷
    • Support for WebP conversion and JPEG compression.
    • no need for a separate image optimization plugin.
  3. basic caching features (paid)
    • caching features are available in the paid version.
    • focused on DB optimization rather than page caching.

WP-Optimize is recommended for

sites where database optimization is important
if you only need image optimization and basic caching
If you want to use it for free

✅ WP Rocket: A caching plugin that specializes in speed optimization

WP Rocket is a paid plugin that targets advanced caching features, CSS/JS optimization, and speed improvements.

its main features include

  1. advanced caching system 🚀
    • generates static HTML files to significantly reduce page loading speed.
    • mobile caching support → speed up mobile page loading.
    • cache preload feature → faster when visitors first access your page.
  2. CSS & JS Optimization 🎨
    • Merge CSS/JS files to reduce HTTP requests.
    • Asynchronous JavaScript loading → faster page speed.
    • Unused CSS can be removed.
  3. Lazy Load support 📷
    • improve initial loading speed by making images load every time the page loads.
  4. CDN and Cloudflare support 🌍
    • integrate with Cloudflare to increase global speed without the need for a separate CDN service.

WP Rocket is recommended for

✅ If you want to maximize WordPress speed optimization
Need professional caching and performance optimization features
Want to integrate with a CDN to increase global speed

3️⃣ WP-Optimize vs. WP Rocket Choice Guide

purpose of Userecommended plugin
database optimization is most important✅ WP-Optimize
need basic speed optimization for free✅ WP-Optimize
needs full caching + optimization features✅ WP Rocket
Needs CSS/JS compression and loading speed optimization✅ WP Rocket
Need global speed boost with CDN integration✅ WP Rocket

4️⃣ UsingWP-Optimize and WP Rocket Efficiently

if you are not currently purchasing the WP Rocket plugin, we recommend that you install WP-Optimize first to clean up your database, which is not supported by the wp rocket plugin, and then use the wp rocket plugin.

if you use both plugins, your site may crash due to plugin conflicts, or your site may become slower. you can proceed with the 2 caching plugins in the order below.

  1. Install WP-Optimize plugin and optimize it (clean the database)
  2. Deactivate the WP-Optimize plugin and uninstall the plugin
  3. install the WP Rocket plugin
  4. Installing the WP rocket plugin + imagyiy plugin

After optimizing your database with WP-Optimize, you can significantly improve the speed of your website by using WP-Rocket’s caching feature. if you additionally utilize a CDN, you can improve your site’s speed considerably. If you do, you can improve your site’s speed considerably, as you can see from the distant

wp optimize 데이터 베이스 정리하기

Clean up your database after installing the WP-Optimize plugin

Go to theWP Rocket homepage , select a plan, pay and download the plugin.

install the downloaded WP ROCKET plugin to WordPress – > Add New Plugin – > Upload Plugin – > Upload Plugin -> Select a file to upload the plugin, click Install Now and the WP ROCKET plugin will be installed.

after installing WP ROCKET plugin, you need to activate it and then proceed with optimization settings in WP ROCKET plugin settings. I wrote a separate article on how to set up WP ROCKET plugin and what it does, and you can find more details in this article.

🔥 Final conclusion: which plugin should you choose?

  • if you need database cleanup and light speed optimization:WP-Optimize (available for free)
  • if you want the best speed optimization:WP Rocket (paid, but the best)

💡 Recommended combination:
👉 WP-Optimize (free) + LiteSpeed Cache (free) combination → Performance & Free Optimization
👉 WP Rocket (paid) + imagify (free) alone → powerful caching and image optimization

🚀 We recommend choosing the right plugin based onyour budget and site goals.

how to Create a Multilingual WordPress Site at a Glance

there are three main ways to create a multilingual sitewith WordPress.

  1. using a plugin (recommended) – WPML, Polylang, TranslatePress, etc
  2. subdomain or subdirectory approach – separate sites for each language
  3. multisite setup – manage multiple sites from one WordPress

we’ll explain the pros and cons of each method and how to set them up in detail.

building a multilingual site using the 1️⃣ plugin (easiest way)

to run a multilingual site in WordPress, it’s usuallyeasiest and most effective to use a multilingual plugin.

🚀 Compare our recommended plugins

pluginpricekey Features
WPMLpaid ($3-$10/year)most robust multilingual support, excellent SEO optimization
Polylangfree/Paidfree version supports basic multilingual features, easy to use
TranslatePressfree/Paidreal-time translation support, AI translation (Google Translate) available

💡 **WPML (WordPress Multilingual Plugin)** is the best choice for creating SEO-friendly multilingual sites.

🔹 Installation and Setup

  1. Purchase and install the WPML plugin(available for downloadat wpml.org)
  2. Select the languages you want to addin WPML > Languages
  3. Add strings to translatein WPML > String Translation
  4. Set SEO settings in WPML > Settings(you can change URL structure)
    • you can set URL structure likemydomain.com/en/, mydomain.com/fr/, etc
  5. translate each page/post to add multilingual content

📌 Pros
✅ Provides SEO optimization (supports Google multilingual search)
✅ Fully compatible with WooCommerce (shopping cart)

📌 C ons
❌ Paid plugin ($39 to $99 per year)

✅ Method 2: Polylang plugin (free to use)

💡 Polylangis a free-to-use multilingual plugin.

🔹 Install and set up

  1. plugins > Add New > Search for Polylang, install and activate it
  2. select the languages you want to addin Settings > Languages
  3. add multilingual translations from existing content (pages, posts)
  4. add navigation menus for each languagein the menu settings

📌 Pros
✅ Free to use
✅ Great for simple sites

📌 C ons
string Translation feature is paid (fewer translation options than WPML)

✅ Method 3: TranslatePress plugin (supports real-time translation)

💡 TranslatePressis a plugin that allows real-time translation by utilizing the Google Translate API.

🔹 Install and set up

  1. plugins > Add New > Install and activateTranslatePress
  2. set which languages to addin Settings > TranslatePress
  3. edit the text to be translated directlyin page edit mode
  4. AI translation (Google Translate API) available

📌 Pros
✅ Offers real-time translation functionality
intuitive UI for editing translations

📌 C ons
❌ Extra cost for automatic translation (Google API usage fee)

2️⃣ Subdomain / subdirectory method (run a separate site)

example:

  • subdomain method: en.mydomain.com, fr.mydomain.com
  • subdirectory method: mydomain.com/en/, mydomain.com/fr/

📌 How to set it up

  1. set up domain
    • subdomain method: create en.mydomain.com and install WordPress separately
    • subdirectory method: Build a new site at mydomain.com/en/ path
  2. run a WordPress site for each language
  3. addhreflang tags to optimize SEO

📌 Advantages
✅ You can run completely independent sites
✅ SEO optimization for each language is possible

📌 C ons
❌ Difficult to maintain (need to manage each language site separately)

3️⃣ Utilize the WordPress Multisite feature

by setting up WordPress Multisite, you can run multiple language sites on a single WordPress.

📌 How to set it up

  1. add the following code to your wp-config.php file
    • define('WP_ALLOW_MULTISITE', true);
  2. enable network settings in your WordPress admin
  3. add sites with subdomains or subdirectoriesfor each language
  4. connect languages using the plugin MultilingualPress

📌 Pros
✅ Manage multiple language sites from one WordPress
✅ Plugins, themes can be shared

📌 C ons
❌ Somewhat complicated to set up, increases server resource usage

🚀 Final Choice Guide (Which is the Best?)

methodrecommended forkey Features
WPML (Paid)SEO optimized, works with WooCommercepowerful multilingual features, easy to manage translations
Polylang (free)simple multilingual sitesfree to use, more limited features than WPML
TranslatePress (free/paid)requires real-time translationGoogle Translate API available
subdomains/Subdirectoriesfully independent site operationSEO powerful, difficult to maintain
multisitemultilingual blogs, portalsrun multiple language sites on one WordPress

📌 Recommended combinations: ✅ WPML + SEO optimization → professional multilingual site
Polylang (free) + cache optimization → small multilingual site
TranslatePress + AI translation → build an automatic translation site

🔹 Conclusion

there are many ways to create a multilingual site in WordPress, but using a plugin is the most efficientway.
For SEO optimization and ease of maintenance, the WPML pluginis the most recommended.
however, you can also utilize **free plugins (Polylang, TranslatePress) to add multilingual capabilities while saving money.

💡 Not sure which one is best for you?Simple blogPolylang (free)
Shopping malls, corporate sitesWPML (paid)
Automatic translation supportTranslatePress + Google Translate API

🚀 S etting up your multilingual site will be much easier if you follow this method! 💪

what to do when your WordPress site admin page and site are slow to load

there are many reasons why your WordPress admin (Admin) page might be slow. server issues, plugin overload, and lack of database optimization are the main culprits. below, we’ll walk you through the possible causes and solutions step-by-step.

1️⃣ Top Causes of Slow WordPress Admin Page

1. server performance issues

  • Low PHP version: Performance degradation occurs when using PHP 7.4 or lower.
  • LowPHP memory limit: A low default (128M) can cause slow admin pages.
  • InsufficientCPU and server resources: Possible overload when using low-end shared hosting.

slower PHP version itself can slow down site performance, and a low PHP memory limit can slow down the admin page itself.

2. plugin/Theme Over-Installation and Conflicts

  • over-installation of plugins: If you have a lot of plugins that you don’t need, it can slow down the loading of the admin page.
  • using heavy plugins: e.g.) SEO plugins, security plugins, inefficient cache plugins.
  • theme performance issues: Inefficiently written theme causing poor performance.
  • theme and plugin conf licts: server errors caused by conflicting plugins that are incompatible with the theme

this can happen if unused plugins are not deleted properly, your site slows down if you have a lot of heavy plugins installed, or if an existing plugin conflicts with an existing plugin because it was not deleted properly.

conflicting plugins that are incompatible with your WordPress theme can also cause your site to slow down.

3. database overload

  • outdated revisions (post revisions) and temporary data (transients) overwhelming the database.
  • slow admin if there is a lot of data set to autoload in thewp_options table.

4. AJAX overload (admin-ajax.php)

  • overloaded when there are many AJAX requests, such as real-time notifications, WooCommerce dashboard data, etc.

2️⃣ How to optimize WordPress admin speed

1. Optimize your PHP settings

  1. Upgrade your PHP version
    • We recommend using PHP 8.0 or higher.
    • upgrade your PHP version from your cPanel or hosting admin page.
  2. change your PHP-PHM settings
    • changing PHP-FPM settings, PHP FPM plays an important role in improving the speed of your admin page.
  3. Increase PHP memory limit
    • set memory_limitto 512M or higher in cPanel.
    • add the code below to yourwp-config.php file.
define('WP_MEMORY_LIMIT', '512M'); define('WP_MAX_MEMORY_LIMIT', '512M');

2. optimize plugins and themes

  1. deactivate unnecessary plugins
    • check all of your currently active plugins and deactivate the ones you don’t use.
  2. replace heavy plugins
    • examples of plugins that can be problematic
      • Elementor: Heavy page builder plugin.
      • WooCommerce: Can cause inefficient AJAX requests.
    • alternative: Use a lightweight plugin.
  3. test changing to the default theme
    • to test admin page speed, check the performance after changing to a lightweight theme like Twenty Twenty-One and generaterpress.
  4. Use the WP-Optimize plugin
    • Install the WP-Optimize plugin to perform database optimization tasks
      • deleting post revisions.
      • deleting temporary data (transient).
      • removing trash and spam comments.
  5. manual database optimization
    • run the following queries in phpMyAdmin to delete expired and unnecessary data:sqlCopyEditDELETEFROM wp_options WHERE option_name LIKE '_transient_%'; DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%';

3. Reduce AJAX requests

  1. Install the Heartbeat Control plugin from
    • Reduce admin-ajax.php load by limiting Heartbeat API requests from WordPress.
    • Install the Heartbeat Control plugin → Reduce or disable “Heartbeat Frequency”.
  2. Disable the WooCommerce dashboard
    • WooCommerce → Settings → Advanced → Disable “WooCommerce Dashboard”.

4. optimize your cache plugin

  1. Optimize WP Rocket settings
    • If WP Rocket is enabled, check the options below
      • Disable CSS/JS minification: it can conflict with certain plugins or themes.
      • limit cache preloads: to prevent excessive preloading.
    • Run WP Rocket → “Clear Cache”.
  2. avoid conflicts with other cache plugins
    • Avoid using other cache plugins like LiteSpeed Cache, W3 Total Cache, etc. with WP Rocket.

5. check server performance

  1. upgrade your hosting
    • if you’re on a low-cost shared hosting, you may be underutilizing your CPU or RAM and need to upgrade the hosting server itself.
  2. Use the Query Monitor plugin
    • Install the Query Monitor plugin to analyze the queries executed on your admin pages.
    • identify which plugins or themes are causing inefficient queries and take action.

3️⃣ Additional checklists

  1. clear your browser cache and cookies
    • if your admin page is slow, clear your browser cache and cookies and retest.
  2. Check your CDN settings
    • If you are using a CDN (e.g. Cloudflare), check your CDN cache settings if the admin page is slow.
  3. check your site health
    • Go to WordPress → “Tools → Site Health” to see recommendations regarding your server and plugins.

🚀 Conclusion

  1. Prioritizeoptimizing your PHP settings, disabling unnecessary plugins, and optimizing your database.
  2. Use plugins like Query Monitor and WP-Optimize to analyze performance and iterate on optimizations.
  3. if you continue to have issues, consider upgrading your server environment or seeking professional help.

speeding up WordPress with whm & cpanel: Setting up PHP-FPM

PHP-FPM (FastCGI Process Manager) plays an important role in improving the speed of the WordPress admin page. PHP-FPM can increase server performance by efficiently processing PHP requests, and can solve the problem of slow admin pages. we’ll walk you through how to change your PHP-FPM settings below.

when should you use PHP-FPM?

You should consider using PHP-FPM in the following situations

  1. high-traffic websites
    • on high-traffic sites that need to handle thousands or more concurrent requests per day, PHP-FPM reduces bottlenecks and improves response times.
  2. server environments with limited resources
    • Because PHP-FPM manages memory and CPU resources efficiently, it provides performance improvements even in limited server environments.
  3. when your WordPress admin page is slow
    • admin pages generate more PHP requests than regular pages, so PHP-FPM optimizations can improve speed.
  4. When PHP requests are overloaded
    • when your existing PHP settings can’t handle enough concurrent requests, resulting in a 504 Gateway Timeout error, applying PHP-FPM can fix the problem.

PHP-FPM Key Settings Explained and Recommended Values

To optimize the performance of PHP-FPM, we’ve summarized the important settings and recommended values below, each of which affects the performance of request handling for dynamic websites, such as the WordPress admin page.

name: 1️⃣ pm.max_children

  • description
    • defines the maximum number of requests that can be processed at the same time.
    • Sets the maximum number of requests that PHP-FPM can handle at once, after which requests will be put into a queued state.
    • this value is determined by the memory capacity of the server.
  • recommended values
    • 10-50: Small websites.
    • 50-150: Medium traffic websites.
    • 150-300: High-traffic websites.
    • (For example, you can have about 20 max_children per 1 GB of RAM)

description: 2️⃣ pm.start_servers

  • description
    • The number of processes PHP-FPM prepares at startup.
    • sets the number of processes that are ready and waiting to handle initial requests.
    • a setting that is too low can increase the latency of initial requests.
  • recommended value
    • set between the values of pm.min_spare_servers and pm.max_spare_servers
      • example) If pm.min_spare_servers=5 and pm.max_spare_servers=10,set pm.start_servers=7.

description: 3️⃣ pm.min_spare_servers

  • description
    • defines the minimum number of processes that should always be kept alive while waiting for requests.
    • if there are fewer processes than this value, PHP-FPM will create a new process.
  • recommended value
    • small sites: 2-5
    • high-traffic sites : 5-10

4️⃣ pm.max_spare_servers

  • description
    • defines the maximum number of processes that can be created to wait for requests.
    • processes that exceed the set value will be eliminated.
    • if this value is too high, it can cause memory waste.
  • recommended value
    • small sites: 5 to 10
    • high-traffic sites : 10-20

5️⃣ pm.max_requests

  • description
    • sets the maximum number of requests that each PHP-FPM process can handle.
    • this value serves to periodically recreate the process to prevent memory leaks.
    • a value that is too low can cause performance degradation due to frequent process regeneration, while a value that is too high can cause problems due to memory leaks.
  • recommended values
    • 500 to 1000: Stable request processing.
    • 1000 to 2000 ispossible onhigh-traffic websites ifthere are nomemory issues.

description: 6️⃣ pm=dynamic or static

  • explanation
    • How PHP-FPM processes are managed
      • dynamic: dynamically increase/decrease processes based on the number of requests.
      • static: Maintains a fixed number of processes.
  • recommended
    • dynamic: Suitable for most sites.
    • static: Sites that are very stable and require fixed resource allocation.

example final settings

here are some examples of settings based on your server memory and traffic situation

medium traffic (based on 4 GB of RAM)

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 1000

high Traffic (based on 8GB of RAM)

pm = dynamic
pm.max_children = 150
pm.start_servers = 20
pm.min_spare_servers = 15
pm.max_spare_servers = 30
pm.max_requests = 2000

How to optimize the admin page by changing PHP-FPM settings

1️⃣ Why you need PHP-FPM settings

  1. improving concurrent request handling
    • PHP-FPM greatly improves the performance of dynamic websites like WordPress by managing multiple processes.
  2. increased resource efficiency
    • PHP requests are handled efficiently, reducing CPU and memory usage.
  3. improved speed, especially for admin pages
    • admin pages generate more PHP requests, so it’s important to optimize PHP-FPM’s performance.

2️⃣ Enable PHP-FPM and change the settings in your cPanel

  1. log in to your cPanel
    • log in to your hosting management tool and navigate to the PHP Settings page.
  2. Activate PHP-FPM
    • selectSoftware → MultiPHP Manager.
    • Make sure PHP-FPM is enabled for the domain used for your WordPress site, and if it is not, click the Enable button.
  3. Change PHP-FPM settings
    • goto Software → MultiPHP INI Editor.
    • Adjust the PHP-FPM related settings as shown below:

setting Description:

  • pm.max_children: Maximum number of requests that can be handled simultaneously. (The higher you set it, the more concurrent requests you can handle)
    • recommended value :
  • pm.start_servers: Initial number of processes.
  • pm.min_spare_servers: Minimum number of standby processes.
  • pm.max_spare_servers: Maximum number of spare processes.
  • pm.max_requests: Maximum number of requests that one process can handle. (500 to 1000 is recommended)
pm = dynamic pm.max_children = 20 pm.start_servers = 4 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pm.max_requests = 500

3️⃣ Modifying the PHP-FPM configuration file directly

if your hosting environment is not cPanel, you can connect to your server with SSH and modify the PHP-FPM configuration file directly.

  • Open the PHP-FPM configuration file:
    After connecting to the server via SSH, open the PHP-FPM configuration file. To open the PHP-FPM configuration file, open a shell and enter the code below.
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
  • modify the settings:
    adjust the main items as below
pm = dynamic pm.max_children = 30 pm.start_servers = 5 pm.min_spare_servers = 3 pm.max_spare_servers = 10 pm.max_requests = 1000
  • Restart PHP-FPM:
    restart the PHP-FPM service after changing the settings.
sudo systemctl restart php7.x-fpm


4️⃣ Additional work to optimize the admin page

In addition to changing the PHP-FPM settings, to optimize your WordPress admin page speed, do the following tasks together

  1. Limit the Heartbeat API
    • Install the Heartbeat Control plugin to limit the frequency of AJAX requests on the admin page.
  2. set up cache plugins
    • Utilize cache plugins like WP Rocket and W3 Total Cache to improve admin page performance.
  3. optimize your database
    • Use the WP-Optimize plugin to clean up outdated revisions, temporary data, and more.
  4. Upgrade your PHP version
    • Using PHP 8.0 or higher will significantly improve performance.

check your PHP-FPM optimization results 5️⃣

  1. check site performance
    • check if the admin page speed has improved.
    • if necessary, analyze query processing times with the Query Monitor plugin.
  2. check server resource usage
    • monitor CPU and memory usage in cPanel or your server management tool.

🚀 Conclusion

Properly tuning your PHP-FPM settings can significantly improve the speed of your WordPress admin page. additionally, limiting Heartbeat, cache optimization, database cleanup, etc. can have an even greater effect.

PHP-FPM is a PHP execution environment that improves both performance and resource management, and is especially useful for solving speed issues on high-traffic sites or WordPress admin pages. when set up correctly, it can dramatically improve your website’s performance and provide reliable service through efficient process management.

Let’s take a look at what PHP-FPM offers and how to set it up, then move on to specific steps to troubleshoot WordPress performance issues. 😊

🌍 How to Create a WordPress Multilingual Site Easily 🚀

there are several ways to create a multilingual (multilingual) sitewith WordPress. you can set up a single website to support multiple languages so that visitors can view your content in their preferred language.

1️⃣ 3 Ways to Create a Multilingual Site

the top 3 ways to create a multilingual WordPress site:

methoddescriptionrecommended for
use a pluginthe easiest way, automatic translation support🔹If you want to make it fast and easy
use multisite functionalityyou can run separate sites for each language🔹If you need complete independent translation
manual translation (utilizing subdomains / subdirectories)create separate pages for each language🔹If you want the best SEO and performance

create a multilingual site with 2️⃣ plugin (easiest way)

💡 Recommended plugins:
wordPress has many powerful multilingual plugins.

pluginpricefeatures
WPMLpaidthe most powerful multilingual plugin (SEO ready)
Polylangfree / Paidsimple and lightweight plugin
TranslatePressfree / Paidenables real-time front-end translation
WeglotpaidAI automatic translation support

the easiest way: use TranslatePress or Polylang 🚀

✅ Method 1: Create a multilingual site with Polylang (free)

📌 Features:

  • powerful features even in the free version
  • simple to use and offers a language switcher (toggle button)
  • requires you to manually enter the content to be translated

📌 Installation and setup

1️⃣ Add WordPress Plugins Search for Polylang and install it
2️⃣ Settings → Add Languages

  • add the desired language in Settings → Languages(e.g. Korean 🇰🇷, English 🇺🇸, Japanese 🇯🇵, etc.)
    3️⃣ Add content to translate
  • pages → Create a new post, then copy the existing page to create the translation
    4️⃣ Add language switcher (switch button)
  • widgets → Add language selector (can be placed in menu or sidebar)
    5️⃣ SEO Settings
  • Use withYoast SEO or RankMathfor multilingual SEO optimization

✅ Method 2: Create a multilingual site with TranslatePress (free)

📌 Features:

  • real-time translation on the frontend (site screen)
  • Supports AI translation (Google Translate API)
  • easy to use even for beginners

📌 Installation and setup

1️⃣ Add WordPress Plugins Search for TranslatePress and install it
2️⃣ Settings → Add Languages

  • set default language + additional languages in Settings → TranslatePress
    translate live on your site at 3️⃣
  • click “Translate Site” in the top bar and translate directly
    4️⃣ Automatic translation (optional)
  • Support automatic translation when connected to Google Translate API
    5️⃣ Add Language Switcher
  • add to menu or widgetin Settings → Language Switcher

✅ Method 3: Create a multilingual site with WPML (Paid)

📌 Features:

  • most powerful multilingual plugin (recommended for businesses)
  • WooCommerce (shopping mall) multilingual support
  • Excellent SEO features

📌 Installation and setup 1️⃣ Purchase and install the WPML plugin
2️⃣ Settings → Add Language
3️⃣ Translate your content

  • translate manually or utilize the translation manager feature
    4️⃣ SEO optimization
  • Use with Yoast SEO, RankMath

3️⃣ Multilingual SEO optimization (search engine optimization)

sEO optimization is important when running a multilingual site.

Set up your URL structure (SEO optimization)

  • subdirectories (recommended): example.com/en/, example.com/en/, example.com/en/
  • usesubdomains: en.example.com, ko.example.com
  • use separate domains: example.kr, example.com

Add the hreflang tag

you need to add the hreflang tag so that search engines recognize the correct language page.

example:

<link rel="alternate" hreflang="en" href="https://example.com/ko/" /> <link rel="alternate" hreflang="en" href="https://example.com/en/" />

Use an SEO plugin

  • Yoast SEO or RankMath plugin offers multilingual SEO optimization

4️⃣ Multilingual site performance optimization

multilingual sites can become slow due to the large number of translated pages.
use the following methods to optimize speed

1️⃣ Use a caching plugin → LiteSpeed Cache, WP Rocket
2️⃣ Apply a Content Delivery Network (CDN) → Use Cloudflare
3️⃣ Optimize images → Smush or ShortPixel plugin
4️⃣ Remove unnecessary plugins

5️⃣ Recommendations for building a multilingual site

recommendationdescriptionrecommended for
Polylangsimple free plugin, requires direct translation🔹Personal blogs, small sites
TranslatePressreal-time translation support, AI translation available🔹Enterprise sites, easy to translate
WPMLpowerful features, WooCommerce support🔹Large businesses, shopping malls

👉 Easiest way to get started: TranslatePress + Google Translate API 🚀

🔥 Final Summary

Easiest way: use Polylang or TranslatePress plugin
Need automatic translation? Use TranslatePress + Google API
Want a fully multilingual site? Use WPML
SEO optimization is a must: add hreflang tags, utilize SEO plugins
Optimize for speed: apply caching, CDN, image compression

🚀 Now you can create a multilingual site with ease! 🌍