የWordPress ማስተናገጃ እና ፕለጊኖች
WordPressን ፈጣን እና ደህንነቱ የተጠበቀ ማድረግ፦ የአፈጻጸም እና የፕለጊን የማረጋገጫ ዝርዝር
WordPress ፈጣን እና ደህንነቱ የተጠበቀ ሊሆን የሚችለው በሚያስተናግደው መድረክ ልክ ብቻ ነው። በምናስተናግደው እያንዳንዱ WordPress ድረ-ገጽ ላይ የምንተገብረው ተግባራዊ የማረጋገጫ ዝርዝር ይኸውና — ምን ማከማቸት እንዳለበት፣ ምን መጠበቅ እንዳለበት፣ እና የትኞቹ ተሰኪዎች አስፈላጊ እንደሆኑ ከመድረኩ ተደጋጋሚ ከሚያደርጋቸው አንጻር።
WordPress ጥሩ ሊሆን የሚችለው በሚያሰራው ነገር ልክ ብቻ ነው
WordPress ተለዋዋጭ ስለሆነ የድረ-ገጹን ትልቅ ድርሻ ይደግፋል፤ ነገር ግን ያ ተለዋዋጭነት ቀርፋፋ እና ደህንነቱ ያልተጠበቀ የሚሆንበትም ምክንያት ነው፡ ነባሪ ጭነት በአንድ ገጽ ላይ የውሂብ ጎታውን በደርዘን የሚቆጠሩ ጊዜያት ይጠይቃል፣ ስሪቱን እና ቴክኖሎጂውን ለሚመለከት ለማንኛውም ሰው ያሰራጫል፣ እንዲሁም አፈጻጸም እና የጥቃት ተጋላጭነት በጸጥታ እስኪያድጉ ድረስ ተሰኪዎችን እንዲያከማቹ ይጋብዝዎታል። ይህ ሁሉ የ WordPress ጉድለት ከመሆን ይልቅ እሱን ለማገዝ ምንም በማያደርግ መሰረተ ልማት ላይ የማስኬድ ውጤት ነው።
መልካሙ ዜና ጥቂት ተመሳሳይ ውሳኔዎች አብዛኛውን ችግር የሚፈቱ መሆናቸው ነው፣ እናም እነዚህ ውሳኔዎች ከይዘቱ ይልቅ ስለ ቴክኖሎጂ መዋቅሩ (stack) ናቸው። በትክክለኛው ንብርብር ላይ በጥብቅ መሸጎጥ (cache)፣ የመረጃ ቋቱን ከተደጋጋሚ የጥያቄ መስመር (hot path) ውጭ ማድረግ፣ ቦታቸው ተገቢ የሆኑ ጥቂት ፕለጊኖችን ብቻ ማስኬድ፣ ሁሉንም ነገር ወቅታዊ ማድረግ እና ችግር ቢፈጠር እንዳይዛመት ድረ-ገጹን መነጠል። ይህ ጽሑፍ በመድረኩ ላይ ላለ እያንዳንዱ የ WordPress ድረ-ገጽ በምንተገብረው ቅደም ተከተል የተዘጋጀ የማረጋገጫ ዝርዝር ነው።
በተሰኪ ውስጥ ብቻ ሳይሆን በአገልጋዩ ላይ መሸጎጫ ያድርጉ
ለWordPress ፍጥነት ትልቁ ነጠላ ማንሻ ለአብዛኞቹ ጉብኝቶች WordPressን በጭራሽ አለማስኬድ ነው። መደበኛ ጥያቄ አንድ ባይት ከመላኩ በፊት WordPressን ያስጀምራል፣ ፕለጊኖችዎን ያሂዳል እንዲሁም የውሂብ ጎታውን ይጠይቃል፤ የሙሉ-ገጽ መሸጎጫ (full-page cache) ግን ሙሉውን የማስነሳት ሂደት በመዝለል በተከታዩ ጥያቄ ያለቀለትን ገጽ በቀጥታ ከድር አገልጋዩ ያቀርባል። ያ መሸጎጫ የሚገኝበት ቦታ ወሳኝ ነው፦ የመሸጎጫ ፕለጊን በPHP ውስጥ ስለሚቀመጥ፣ መሸጎጫው ምላሽ ከመስጠቱ በፊት PHP አሁንም መጀመሩ አይቀርም፣ በአንጻሩ የአገልጋይ-ደረጃ መሸጎጫ በጥያቄው ውስጥ ቀድሞ ምላሽ ይሰጣል እንዲሁም ገጾችን አገልጋዩ ወዲያውኑ ሊያጸዳው በሚችል መልኩ ይይዛል።
እኛ የምናስተናግደው እያንዳንዱ የ WordPress ጣቢያ በአገልጋይ-ደረጃ LSCache ባለው በ LiteSpeed Enterprise ላይ ይሰራል፣ እና የራሳችን የካሽ ፕለጊን WordPressን ሳጥኑ እንደተከፈተ በትክክል ያገናኘዋል — አስቀድሞ የተጫነ እና በራስ-ሰር የሚዘመን በመሆኑ ለማዋቀር ወይም ወቅታዊ ለማድረግ አንድ ተጨማሪ ነገር ይቀንሳል። LiteSpeed ባልሆነ መነሻ ላይ ያው ፕለጊን በቀላሉ ምንም ሙሉ-ገጽ ራስጌዎችን አያወጣም እና የነገር ካሽ መስራቱን በሚቀጥልበት ጊዜ ከመንገድ ውጭ ይቆያል፣ ስለዚህ የተሰደደ ጣቢያ በጭራሽ በከፊል እንደተዋቀረ አይቀርም። ለእርስዎ የራሱ ማረጋገጫ ዝርዝር ተግባራዊው ደንብ፡ አንድ ሙሉ-ገጽ ካሽ፣ በአገልጋዩ ላይ፣ እና በላዩ ላይ ሁለተኛ የካሽ ፕለጊን አይደርቡ — እርስ በእርስ ይጋጫሉ።
የነገር መሸጎጫ እና የውሂብ ጎታ
እያንዳንዱ ጥያቄ የማይንቀሳቀስ ገጽ ሊሆን አይችልም። የገቡ ክፍለ-ጊዜዎች፣ አስተዳዳሪው፣ ፍለጋ፣ ጋሪዎች እና ማንኛውም ግላዊነት የተላበሰ ክፍልፋይ PHP ን ማሄድ አለባቸው፣ እና ለእነዚያ ግቡ መተግበሪያውን ከመዝለል ይልቅ የውሂብ ጎታውን ወደ መዝለል ይቀየራል። በጣቢያ ደረጃ የሚገኝ የነገር መሸጎጫ — በእኛ ሁኔታ Redis — ተደጋጋሚ የውሂብ ጎታ ንባቦችን ውጤቶች በማህደረ ትውስታ ውስጥ ይይዛል፣ ስለዚህ ተመሳሳይ አማራጮች፣ ጊዜያዊ መረጃዎች እና ፍለጋዎች በእያንዳንዱ ጉብኝት ከውሂብ ጎታው ጋር አይጠየቁም። ውጤቱ የሚታየው ሙሉ ገጽ መሸጎጫ ሊረዳ በማይችልበት ቦታ ላይ ነው፡ ፈጣን አስተዳዳሪ፣ ፈጣን ጋሪዎች እና በትራፊክ ወቅት እጅግ በጣም ዝቅተኛ የሆነ የውሂብ ጎታ ጭነት።
ዋናው ቃል «በእያንዳንዱ ድረ-ገጽ» (per-site) የሚለው ነው። የተጋራ የነገር መሸጎጫ (shared object cache) ማለት አንድ ስራ የበዛበት ወይም በመጥፎ ሁኔታ የተጻፈ ድረ-ገጽ የሌሎችን ሁሉ የተቀመጠ መሸጎጫ ውሂብ ሊያስወጣ እና ጎረቤቶቹ የውሂብ ጎታውን እንዳያገኙ ሊያደርግ ይችላል፤ ለእያንዳንዱ ድረ-ገጽ የተመደበ መሸጎጫ ከእያንዳንዱ ድረ-ገጽ የውሂብ ጎታ ገደቦች ጋር ተዳምሮ የጉዳት ስፋቱን የተገደበ ያደርገዋል። በማረጋገጫ ዝርዝርዎ ላይ፣ የገቡ ተጠቃሚዎች ላሉት ወይም መደብር ላለው ማንኛውም ድረ-ገጽ ቋሚ የነገር መሸጎጫ (persistent object cache) የግዴታ እንደሆነ አድርገው ይቁጠሩት፣ እና በተከራዮች መካከል በሚጋራ ማስተናገጃ ላይ ጥንቃቄ ያድርጉ።
ሊጠቀሙባቸው የሚገቡ ፕለጊኖች — እና መድረኩ የሚተካቸው
የሚያክሉት እያንዳንዱ ፕለጊን በጥያቄዎች ላይ የሚሠራ ኮድ እና አንድ ሰው አንድ ቀን ሊገባበት የሚችል በር ነው፣ ስለዚህ ትክክለኛው ግብ ከፍተኛውን ሥራ የሚሠሩ አነስተኛ ፕለጊኖች እንዲኖሩ ማድረግ ነው። ጥሩ አስተናጋጅ የአንድን ሙሉ ምድብ ፍላጎት ያስወግዳል፦ በአገልጋይ-ደረጃ መሸጎጫ፣ የሚተዳደር የነገር መሸጎጫ እና የመሣሪያ ስርዓት መጠባበቂያዎች አማካኝነት የመሸጎጫ ፕለጊን፣ የተለየ የነገር መሸጎጫ ፕለጊን ወይም የመጠባበቂያ ፕለጊን አያስፈልግዎትም — እነዚያ ሥራዎች ከWordPress በታች በተሻለ ሁኔታ ይከናወናሉ፣ እና በላዩ ላይ ማስኬድ ግጭትን እና ተጨማሪ ጫናን ብቻ ይፈጥራል።
እንዲሰራ የሚያስፈልገው ቀሪው ነገር እውነተኛ አቅም የሚጨምረው አነስተኛው ስብስብ ብቻ ነው፡ ጣቢያዎ ለተግባሩ በእርግጥ የሚያስፈልጉት ተሰኪዎች፣ እና — በመድረካችን ላይ — ለእያንዳንዱ ጣቢያ ገንብተን የምናቀርባቸው ሁለት ይፋዊ የሪፖዚቶሪ ደረጃ ያላቸው ተሰኪዎች። የእኛ የሸጎጥ (cache) ተሰኪ WordPressን ከአገልጋይ ሸጎጥ ጋር ያገናኛል እንዲሁም ብልጥ የማጽዳት ሂደትን ያስተናግዳል፣ በዚህም ማስተካከያ ሲደረግ መጽዳት ያለባቸው ገጾች ብቻ ይጸዳሉ። የእኛ የዱካ (footprint) ተሰኪ መደበኛ የWordPress ጭነት የሚያሰራጫቸውን መለያዎች — የስሪት እና የጄኔሬተር መለያ፣ የግኝት የመጨረሻ ነጥቦች፣ XML-RPC፣ ፒንግባኮች እና የ-powered-by ራስጌ — በእያንዳንዱ ዝርጋታ ላይ ያስወግዳል፣ ስለዚህ የተሰኪ ወይም የገጽታ ማሻሻያ በድብቅ መልሶ ሊያስቀምጣቸው አይችልም። ሁለቱም በWordPress.org የተሰኪ ማውጫ መመዘኛዎች የተገነቡ ናቸው፣ ነፃ ናቸው፣ እና እራሳቸውን ያዘምናሉ።
WordPressን ደህንነቱ የተጠበቀ እና ወቅታዊ ማድረግ
አብዛኛዎቹ የWordPress ጥቃቶች የተራቀቁ አይደሉም፤ የቆዩ ናቸው። የታወቀ እና ይፋ የተደረገ ተጋላጭነት ያለው ጊዜው ያለፈበት ኮር፣ ጭብጥ ወይም ፕለጊን ድረ-ገጾች ጥቃት የሚደርስባቸው ዋነኛው የተለመደ መንገድ ነው፤ ይህም ወቅታዊ ሆኖ መቆየት እጅግ ከፍተኛ ዋጋ ያለው የደህንነት ስራ ያደርገዋል — እንዲሁም በጣም አሰልቺ ከመሆኑ የተነሳ ችላ ይባላል። የሚተዳደር ሆስቲንግ ይህን ከእርስዎ ጫና ሊያቃልልዎት ይገባል፦ ከWordPress በታች ያለውን መዋቅር ማስተካከል፣ እንዲሁም የሚፈትሹበት የሙከራ ቅጂ እና ወደነበረበት የሚመልሱበት የመጠባበቂያ ቅጂ ለእርስዎ በመስጠት የኮር እና የፕለጊን ማሻሻያዎችን በአስተማማኝ ሁኔታ ተግባራዊ ማድረግ ናቸው።
ከወቅታዊነት በተጨማሪ ድንበሮች ለእርስዎ እንዲከበሩ ይጠብቁ፡ ኢንፌክሽን በጎብኝ ከመገኘቱ ይልቅ እንዲያዝ የማልዌር ቅኝት በነባሪነት እንዲበራ፣ አንዱ የተጠረጠረ ጣቢያ ወደ ሌላው እንዳይደርስ ማግለል፣ በዳርቻው ላይ የDDoS ጥበቃ፣ እና ሰርተፊኬቶች በራስ-ሰር የሚታደሱበት TLS በሁሉም ቦታ። ከእነዚህ ውስጥ አንዳቸውም መሠረታዊ ጥንቃቄን አይተኩም — ጠንካራ ምስክርነቶች፣ አነስተኛ መብት ያለው መዳረሻ፣ ከአሁን በኋላ የማይጠቀሙባቸውን ፕለጊኖች ማስወገድ — ነገር ግን መሠረተ ልማቱ ደካማው አገናኝ እንዳልሆነ ያሳያል። በተቆጣጣሪ ዝርዝርዎ ላይ፣ ለማንኛውም አስተናጋጅ ጥያቄው ቀላል ነው፡ ደህንነት ነባሪው ነው፣ ወይስ የሚገዙት ጥቅል?
WooCommerce እና በፍጹም መሸጎጥ የሌለብዎት ገጾች
መደብር ማለት ኃይለኛ መሸጎጥ (caching) ትልቁን ድል የሚያስገኝበት እና ባልተገነዘበ መንገድ ከተሰራ ደግሞ የከፋ ጉዳት የሚያስከትልበት ቦታ ነው። የካታሎግ፣ የምርት እና የመደብ ገጾች ያለዎት ከፍተኛ ትራፊክ ያላቸው እና በብዛት ሊሸጎጡ የሚችሉ ገጾች ናቸው፤ እነሱንም ከሙሉ ገጽ መሸጎጫ (full-page cache) ማቅረብ ለመደብር ፍጥነት ማድረግ የሚችሉት ብቸኛው ምርጥ ነገር ነው። ነገር ግን የጋሪ፣ የክፍያ እና የመለያ ገጾች የግል ናቸው እና መቼም ከጋራ መሸጎጫ መቅረብ የለባቸውም — ይህ ከተደረገ ገዢ የሌላ ሰውን ቅርጫት ያያል፣ ይህም ሁለቱንም የተበላሸ መደብር እና የግላዊነት ጥሰትን ያስከትላል።
ሁለቱንም ለማግኘት መንገዱ ገጹን መሸጎጥ እና የቀጥታ ክፍሎቹን ክፍት ማድረግ (punch holes) ነው። የቀረው የገጹ ክፍል ከመሸጎጫ በሚቀርብበት ጊዜ Edge Side Includes የጋሪውን ክፍልፋይ፣ የአነስተኛ ጋሪ ድምሮችን እና የመለያውን ሁኔታ በእያንዳንዱ ጥያቄ ያቀርባል፣ እንዲሁም cart፣ checkout፣ my-account እና ማናቸውም nonce ወይም session ገጾች በነባሪነት የተገለሉ ናቸው። ምርት፣ ዋጋ ወይም ትዕዛዝ ሲቀየር በሚሰራ ብልጥ በሆነ ራስ-ሰር ማጽዳት (auto-purge) አዲስነት ቁጥጥር ይደረግበታል፣ ስለዚህ ጊዜው ያለፈበት ዋጋ ፈጽሞ አይዘገይም። WooCommerce የሚያስኬዱ ከሆነ በትክክል ማስተካከል ያለብዎት የማረጋገጫ ዝርዝር ክፍል ይህ ነው፡ ከመሸጎጫ ፈጣን የመደብር ፊት፣ ለእያንዳንዱ ተጠቃሚ የቀጥታ ጋሪ፣ ምንም አይነት የግል ነገር ፈጽሞ አይሸጎጥም።
ተደጋግመው የሚጠየቁ ጥያቄዎች
አሁንም እንደ WP Rocket ያለ የማከማቻ ተሰኪ ያስፈልገኛል?
አይ። የሙሉ ገጽ መሸጎጫ በድር አገልጋዩ ላይ በLiteSpeed LSCache የሚስተናገድ ሲሆን፣ የራሳችን የመሸጎጫ ፕለጊን WordPressን ከእሱ ጋር ያገናኛል እንዲሁም ብልጥ የማጽዳት ሂደትን ያስተናግዳል፣ እና ለእያንዳንዱ ድረ-ገጽ የሚሆን የRedis ነገር መሸጎጫ ከበስተጀርባው ይገኛል። በላዩ ላይ ሁለተኛ የሙሉ ገጽ መሸጎጫ ፕለጊን ማከል ከመርዳት ይልቅ ከአገልጋይ-ደረጃ መሸጎጫው ጋር ስለሚጋጭ አያስፈልግም እንዲሁም አይመከርም።
መድረኩ የትኞቹን ፕለጊኖች አያስፈልጉም ያደርጋል?
የመሸጎጫ ተሰኪዎች፣ የተለዩ የነገር መሸጎጫ ተሰኪዎች እና የመጠባበቂያ ቅጂ ተሰኪዎች እዚህ አስፈላጊ አይደሉም፤ ምክንያቱም እነዚያ ተግባራት ከWordPress በታች ይከናወናሉ — የአገልጋይ ደረጃ መሸጎጫ፣ ለእያንዳንዱ ጣቢያ የሚተዳደር የነገር መሸጎጫ እና የመድረክ መጠባበቂያ ቅጂዎች። እነሱን ማስወገድ ግጭቶችን እና የጥቃት ተጋላጭነትን ይቀንሳል። ሊቀጥሉ የሚገባቸው ለጣቢያዎ ተግባር በእውነት የሚያስፈልጉት ተሰኪዎች፣ እንዲሁም አስቀድመው ተጭነው የሚመጡት ሁለቱ ነፃ የመሸጎጫ እና የfootprint ተሰኪዎቻችን ብቻ ናቸው።
መሸጎጥ (caching) የWooCommerce ጋሪዬን ወይም የገቡባቸውን ገጾች ያበላሻል?
አይ። Cart፣ checkout፣ my-account እና ማናቸውም የ-nonce ወይም የክፍለ-ጊዜ ገጾች በነባሪነት ከመሸጎጫ የተገለሉ ናቸው፣ እንዲሁም Edge Side Includes በሌላ መልኩ በተሸጎጡ ገጾች ላይ የጋሪ ቁራጭ እና አጠቃላይ ድምር በቀጥታ እንዲቀጥሉ ያደርጋሉ። የሱቅ ፊት አሁንም ከመሸጎጫ እየተጫነ ሳለ ገዢዎች ሁልጊዜ የራሳቸውን ቅርጫት እና የሚሰራ ፍተሻ ያያሉ፣ እና አንድ ምርት፣ ዋጋ ወይም ትዕዛዝ ሲቀየር ብልጥ ራስ-ሰር ማጽዳት የተጎዱ ገጾችን ያጸዳል።
እኔ ሳላስተዳድረው WordPressን እንዴት ደህንነቱ የተጠበቀ ያደርጉታል?
ከWordPress በታች ያለውን መሠረተ-ልማት እናዘምናለን፣ የኮር እና የፕለጊን ዝመናዎችን በመሞከሪያ አካባቢ (staging) እና በአንድ ጠቅታ መልሶ ማቋቋም አስተማማኝ እናደርጋለን፣ የማልዌር ፍተሻን እና የDDoS ጥበቃን በነባሪነት እናስኬዳለን፣ አንዱ ቢጠቃ ሌላው እንዳይጎዳ እያንዳንዱን ድረ-ገጽ እንለያለን፣ እንዲሁም የTLS ሰርተፊኬቶችን በራስ-ሰር እንሰጣለን እና እናድሳለን። ይህም መሠረተ-ልማቱን እንደ ደካማ አገናኝ ያስቀረዋል፤ ጠንካራ የመግቢያ መረጃዎችን መጠቀም እና ጥቅም ላይ ያልዋሉ ፕለጊኖችን ማስወገድ የመሳሰሉ መሠረታዊ ጥንቃቄዎች አሁንም በእርስዎ ኃላፊነት ስር ናቸው።
ተዛማጅ
ለ14 ቀናት በነጻ ይሞክሩት
የመጀመሪያ ድረ-ገጾችዎን ለ14 ቀናት በነጻ ያስጀምሩ — ምንም ካርድ አያስፈልግም። ያለውን ድረ-ገጽ ወይም አውታረ መረብ ያዛውራሉ? ዝውውሮች ያለ ምንም ገደብ ነጻ ናቸው።
በነጻ ይጀምሩ