Technology

รู้จักกับ Ghost CMS สุด Lean ที่สุดกับการทำ Blog และ ประสบการณ์การใช้งาน

By Arnon Puitrakul - 10 กรกฎาคม 2020 - 2 min read min(s)

รู้จักกับ Ghost CMS สุด Lean ที่สุดกับการทำ Blog และ ประสบการณ์การใช้งาน

ก่อนหน้านี้เราเล่าไปก่อนแล้วว่า เว็บนี้ได้เปลี่ยนมาใช้ Ghost กันแล้ว วันนี้เราจะมารีวิวว่า จากการใช้งานที่ผ่านมา มันเหมือน และ แตกต่างจาก CMS (Content Managing System) ตัวอื่นอย่างไร และ เว็บไหนละที่เหมาะกับมันบ้าง

Ghost CMS ที่โคตร Lean

Ghost เป็น CMS ที่ผู้พัฒนาเคลมว่า เป็น Blogging Platform หรือก็คือเป็น CMS ที่ออกแบบมาเพื่อการทำ Blog โดยเฉพาะเลย ทำให้ Feature ค่อนข้างน้อยกว่า และ แอบต่างในบางจุดเมื่อเทียบกับ Wordpress ที่น่าจะเรียกได้ว่าเป็น General-Purposed CMS ไปซะแล้ว

 src=

พอมันออกแบบมาเพื่อทำ Blog โดยเฉพาะแล้ว มันทำให้ระบบ Lean ลงไปค่อนข้างมาก แถมหน้าตาทำออกมาได้ดูดี และ ใช้ง่ายได้ง่ายมาก ๆ แม้แต่กับมือใหม่เองก็ถาม ดูได้จากเมนูที่ไม่ได้มีอะไรมาก ออกแบบมาเพื่อให้เราสามารถ Focus กับ Content ของเราได้มากขึ้น

 src=

ระบบ Taxonomy เองก็ออกแบบมาเพียงพอแล้วสำหรับการทำ Blog สักเว็บนึง มีเพียงแค่ Tag เท่านั้น ซึ่งต่างจาก Wordpress ที่มีทั้ง Category และ Tag ร่วมกัน ทำให้บางทีมันเยอะไปสำหรับการใช้งานเพียงแค่การทำ Blog เท่านั้น

ด้วยการออกแบบ Concept ระบบการจัดวาง Content และ ความเรียบง่ายของหน้าจอ มันทำให้เราสามารถ Focus กับ Content ของเราได้ดีขึ้นอย่างไม่น่าเชื่อ ตอนที่กำลังเลือกก็แอบเป็นห่วงว่าการไม่มี Feature บางตัวจะทำให้การทำงานยากขึ้นแต่เปล่าเลย ตรงข้ามอย่างสิ้นเชิง เพราะมันทำให้เราทำงานได้ง่ายขึ้นเยอะเลย

Modern Editor

 src=

อีกหนึ่ง Feature ที่พอเราได้เห็นครั้งแรกในตอนที่ออก Version 1 มา ทำให้เราอยากจะย้ายจาก Wordpress จนใจสั่นเลยคือ Editor นี่แหละ ที่มันออกแบบมาได้คล้ายกับ Medium มาก ๆ

ความเจ๋งของมันเมื่อเทียบกับตัวอื่น ๆ ที่เราลองมาคือ ความง่าย มาก ๆ อันความไม่ต้องมีเมนู ไม่ซับซ้อน แต่มันมาพร้อมกับ Feature ที่พร้อมสำหรับการเขียน Content ดี ๆ

 src=

อีกหนึ่ง Feature ที่ทำให้เราสนใจมาก ๆ คือ การรองรับ Markdown ที่เราสามารถเขียน Markdown ลงไปตรง ๆ ได้เลย แล้วมันจะแปลงออกมาอยู่ในรูปแบบที่ Ghost เข้าใจเอง หรือ ถ้าเราจะใช้ Markdown Card เขียน Markdown ได้เลยตรง ๆ

มันเป็นข้อดีที่ทำให้เรารอดเลยก็ว่าได้ เพราะเว็บเก่าเราเขียนด้วย Markdown ทั้งหมด เราแค่เอา Markdown ที่เราเขียนยัดลงไปใน Ghost ตรง ๆ ได้เลย ปรับแค่ Path ของรูปเท่านั้น แตกต่างจาก CMS อื่น ๆ ที่เราอาจจะต้องใช้กระบวนการท่ายากเยอะหน่อยมาก

Out of the Box SEO Features

 src=

เว็บเราเป็นอีกเว็บที่ผู้เข้าส่วนใหญ่มากจาก Search Engine ทั้งสิ้น ดังนั้น เรื่องของ SEO (Search Engine Optimisation) ถือว่าเป็นเรื่องสำคัญมาก ๆ ของเว็บเราเลยก็ว่าได้

หากกำลัง งง พูดง่าย ๆ คือ เราต้องติด อันดับต้น ๆ ของ Keyword ที่เราต้องการบน Search Engine ซึ่งมันเกิดจากลักษณะโครงสร้างของเว็บที่เข้า Guideline ของ Search Engine นั้น ๆ และ Content เองก็ต้องเขียนให้เข้ากับ Keyword ที่เราต้องการด้วย ถึงจะมีสิทธิ์ในการติดอันดับ และ จริง ๆ มันมีอีกหลายเงื่อนไขอยู่ ข้ามไปละกัน วันนี้เราไม่ได้พูดถึงเรื่องนี้

อีกหนึ่ง Feature ที่เราว่า Wordpress ไม่มีเลยคือ เรื่องการทำ SEO ของ Content เพราะมันมาพร้อมกับเครื่องมือในการ Custom Metadata และ Social Tag ต่าง ๆ เพื่อให้มีโอกาสในการติดอันดับใน Keyword นั้น ๆ เพิ่มขึ้นได้

แต่สิ่งที่เราว่ายังขาด และ ไม่มีใครมีเลยเป็นค่าเริ่มต้นคือพวก Content Analysis ที่เราจะเจอได้ใน Yoast SEO ที่เป็น Plugin ใน Wordpress มันจะแสดงขึ้นมาให้เห็นเลยว่า เราเขียนสั้นไป ยาวไป และมีการใช้คำที่เป็น Keyword มากน้อยแค่ไหน เยอะไป น้อยไปได้ด้วย ถือว่าเป็น Feature  ที่เราชอบมาก อยากให้มีใน Ghost บ้าง ไม่งั้นจะเขียนเองแล้วนะ

Handlebar as a Theme Engine

 src=

Theme ของ Ghost ตัว Default ชื่อ Casper เองก็ทำออกมาได้สวยแล้วนะ แต่ถ้าใครที่ต้องการที่จะทำ Theme ของตัวเองออกมาใช้เองก็ไม่ได้เป็นเรื่องยากอะไร เพราะ Ghost ใช้ Handlebar ในการทำ Theme ทั้งหมด

มันทำให้ Learning Curve ในการทำ Theme ออกมานั้นเตี้ยมาก ๆ เราเองที่ไม่เคยเขียน Theme ของ Ghost มาก่อน กลับทำเว็บนี้เสร็จออกมา โดยใช้เวลาแค่ 2 วันเท่านั้นเอง แถมภาษาที่ใช้มันก็ยังคงเป็น HTML อยู่ทั้งหมดไม่ต้องไปเรียนอะไรเพิ่มเลย อ่านตาม Document ก็แทบจะทำได้เลยด้วยซ้ำ

เอาจริง ๆ จากตอนที่นั่งเขียน เราว่าเผลอ ๆ ไม่ต้องไปอ่าน Document เลย แค่เอา Casper Theme มาก๊อปตรง ๆ เลยก็ได้ด้วยซ้ำ เพราะหน้า และ การแสดงผลต่าง ๆ ส่วนใหญ่ของ Blog มันคล้าย ๆ กันหมด ที่เหลือมันก็เป็นเรื่องของการจัดวาง และ Element พิเศษ ๆ ในหน้าที่ Casper ไม่มีอันนั้นอาจจะต้องไปเปิด Document เช็คหน่อย

โดยรวมแล้วพวก Style ในการเขียนต่าง ๆ ถือว่าทำออกมาไม่ไปเพิ่มความอ่านยากให้กับ Code แต่อย่างใด มันทำให้เรา Focus กับการแสดงผลได้ดีขึ้นไปอีกว่า เราต้องการจะแสดงผลอะไรออกมาในหน้าไหน มันทำให้เราเสร็จหมดเลย  ไม่ต้องมานั่งเขียน Logic ไม่ต้องมานั่งเขียน Function อะไรเลย เรียกที่เขาเตรียมให้มาอย่างเดียวเลยก็เพียงพอสำหรับเว็บส่วนใหญ่แล้ว

อันความง่ายแบบนี้แหละ มันทำให้มีข้อเสียเกิดขึ้นทันที เพราะหลาย ๆ ครั้ง เราไม่สามารถ Custom การแสดงผลได้ดั่งใจเท่าไหร่ เขียน Logic อะไรก็ยาก เลยต้องยอมแพ้ไป

จริง  ๆ มันก็แอบมีท่ายากอยู่นะ คือ เราก็อาจจะให้มันเรียกผ่าน API ที่ Client ไปก็ได้เหมือนกัน แต่มันจะแปลก ๆ และ Maintain Code ยากหน่อย เป็นวิธีที่ถ้าจำเป็นก็น่าสนใจดี แต่ถ้าไม่จำเป็นขนาดนั้นเราว่าข้าม ๆ  ไปเถอะนะ

Javascript as a Foundation

หลังจากที่เราใช้ Wordpress มา เรามีภาพที่ไม่ได้ดีเท่าไหร่นักกับการใช้ CMS เลยเป็นหนึ่งในเหตุผลที่ทำให้เราไม่อยากใช้ CMS ที่รันด้วย PHP ในเว็บอีกเลย เหตุผลส่วนใหญ่เป็นเพราะ ราคาต่อ Request ถือว่าสูงเมื่อเทียบกับ Web Server ที่ใช้ภาษาอื่นในการทำงาน

อีกปัญหาที่เราเจอจาก Wordpress คือ เมื่อจำนวน Post เราเยอะมาก ๆ เข้า และ คนเข้าเยอะขึ้นเรื่อย ๆ นอกจากตัว PHP ที่ Interpret ไม่ทันแล้ว MySQL หรือ Database ยังอ่านข้อมูลไม่ทันอีกด้วย ทำให้เจอปัญหาคอขวดอย่างหนักเลยทีเดียว

แต่พอมาใช้ Backend ที่รันด้วย Javascript Performance ถือว่าดุดัน เพราะการออกแบบวิธีการทำงานของ V8 Engine ทำให้มันสามารถที่จะ Handle Traffic จำนวนมากได้ชิว ๆ และถ้าถามความเห็นเรา (ยังไม่เคยพิสูจน์ เลยเป็นแค่ความเห็นก่อน) เราว่ามันสามารถ Scale Load ได้ง่ายกว่า PHP เยอะเลย

จากการที่เราลองใช้เครื่องเดียวกันแล้ว Load Test ดูพบว่า Per Task ในเรื่องของการ ดึงข้อมูลจาก Database มา และ การ Process ข้อมูลเพื่อแสดงผลออกในหน้าเว็บ PHP ทำเวลาได้สั้นกว่า Javascript พอสมควรเลย แต่พอเรายัด Concurrent ไปพบว่า Javascript ทำ Request  ต่อเวลาได้ดีกว่า PHP อยู่พอสมควรเลย

แถมความดีงามของ Javascript คือพวกนี้มัน Built-in เรื่องของ Web Server มาให้เราเลย ทำให้เราไม่ต้องมานั่ง Config ทั้ง Web Server และ PHP ทั้งคู่ ย่นเวลาลงไปได้เยอะเลยทีเดียว

Modern and Simple are made to be Lighting Fast

เมื่อเราแคะเข้าไปดูใน Source Code ของ Ghost แล้วเราจะรับรู้ถึงความสวยงาม และ ความเรียบง่ายของ Code ได้เลย เพราะเขาเขียนมาให้มันเรียบง่าย เข้าใจได้ง่ายมาก ๆ ที่สำคัญด้วยความเรียบง่ายขนาดนี้ ทำให้มันเร็วมาก

นอกจากนั้น มันยัง Pack Feature ที่จำเป็นต่อเว็บในปัจจุบันมาอย่างครบครัน อย่าง Web Server และ HTTPS เรียกได้ว่า แค่ Start Serv Project เว็บก็คือ พร้อมรันได้เลย

How to Host Ghost

 src=

อ่านมาถึงตรงนี้แล้ว น่าจะโดนป้ายยากันไม่น้อยก็มาก มาถึงคำถามที่น่าจะอยากรู้แล้วว่า เราจะ Host เจ้าผีนี่ได้ยังไงบ้าง

ถ้าไม่อยากคิดมากเชิญไปใช้เงินแก้ปัญหาด้วย Ghost Pro ได้เลย เพราะตรงนั้นเตรียมทุกอย่างมาให้เราหมดเลย ก็คือจ่ายเงินพร้อมใช้ได้เลย อันนี้ง่ายสุดแล้ว

หรือถ้าเราไม่อยากที่จะใช้ Ghost Pro เราก็ยังสามารถที่จะเอามา Host เองได้เช่นกัน ซึ่งเราก็สามารถเอาไป Host ได้ตาม VPS หรือเราอาจจะเช่า Cloud เพื่อรันเลยก็ได้เช่นกัน

Digital Ocean Price

ถ้าเป็น Cloud สำหรับเริ่มต้นเราแนะนำให้ไปใช้ Digital Ocean เพราะราคาที่ถือว่าไม่แพง และมี One-Click-Installer มาให้เราเลย ทำให้เราไม่ต้องเสียเวลาไป Install และ Config อะไรให้มันยุ่งยาก พร้อมใช้งานได้เลย เหลือแค่เรา Setup Domain Name ก็พร้อมเป็นเว็บที่ให้คนเข้าใช้งานได้ปกติละ

ส่วนถ้าใครที่กำลังคิดถึงการเช่า Shared Hosting เพื่อ Host เจ้าผีนี่ ต้องบอกเลยว่า ณ ตอนนี้ยังไม่ได้ เพราะส่วนใหญ่ อย่างน้อยก็ในไทยที่เราหามา เรายังไม่เจอ Shared Hosting ที่สามารถรัน Ghost ได้เลย เศร้าใจจัง TT

สรุป

Arnondora in Ghost CMS

ต้องยอมรับเลยว่า Ghost เป็น CMS ที่เรียบง่าย ทั้งหน้าตา Feature และ Performance ที่ยอดเยี่ยม เราว่า มันทำให้เรา Focus กับ Content ของเราได้มากขึ้น ไม่ต้องมาห่วงหน้าห่วงหลังเลย เราว่ามันน่าจะเหมาะกับเว็บที่เน้นการเป็น Blog ซะมาก คนเขียนไม่ได้เยอะ และ Content ไม่ได้มีความซับซ้อนอะไรมากมายถือว่าดีเลยทีเดียว แนะนำให้ลองมาใช้ดู แต่สำหรับเว็บไหนที่มีทีมขนาดใหญ่ เขียนกันท่วม ๆ ท้นเลย เรายังไม่แนะนำ จนกว่าจะมีระบบจัดการ Content ที่ดีกว่านี้