ภายใต้สถานการณ์ปกติ ไม่มีความจำเป็นจริงๆ ที่จะต้องกังวลเกี่ยวกับ โครงสร้างไฟล์ WordPress WordPress มีอินเทอร์เฟซ wp-admin ที่ยอดเยี่ยมซึ่งช่วยให้คุณสามารถเน้นที่การดูแลเว็บไซต์โดยไม่ต้องรู้ว่าเครื่องยนต์ใต้ฝาครอบทำงานอย่างไร
อย่างไรก็ตาม การรู้จักรายละเอียดของเว็บไซต์ของคุณอาจเป็นประโยชน์ นี่เป็นจริงโดยเฉพาะ เมื่อคุณกำลังประสบปัญหาที่ไม่คาดคิด และความช่วยเหลือทุกอย่างพูดถึงการแก้ไขไฟล์ WordPress เฉพาะเจาะจง หรือการตั้งค่าค่าในฐานข้อมูลใหม่
อาจจะเป็นที่คุณไม่ได้ประสบปัญหา แต่กำลังอ่านเกี่ยวกับการสำรองข้อมูลหรือความปลอดภัย คำศัพท์อย่าง ไฟล์หลัก (core files) และฐานข้อมูล หรือ wp-config.php และ wp-uploads ถูกกล่าวถึงบ่อยในบริบทเหล่านี้
การเข้าใจคำศัพท์เหล่านี้มีประโยชน์อย่างมากต่อการได้รับความเข้าใจที่ละเอียดอ่อนของหัวข้อ และดังนั้น จึงสามารถตัดสินใจที่ดีที่สุดสำหรับเว็บไซต์ของคุณได้
หากคุณเคยมีคำถามอย่าง:
- ไฟล์หลัก (Core files) คืออะไร?
- ปลั๊กอินและธีมจัดเก็บที่ไหน?
- ฐานข้อมูลประกอบด้วยอะไร?
- ทำไมโฟลเดอร์ wp-uploads จึงเป็นประเด็นความปลอดภัย?
- โครงสร้างไฟล์และโฟลเดอร์ WordPress เป็นอย่างไร?
คุณอยู่ใน المكانที่ถูกต้อง ในบทความนี้ เราจะพาคุณไปดูเบื้องหลังของเว็บไซต์ เพื่อที่คุณจะสามารถพูดได้อย่างมั่นใจว่าคุณเข้าใจโครงสร้างไฟล์และโฟลเดอร์ของ WordPress
บ่อยครั้งที่เราต้องการทำการเปลี่ยนแปลงบนเว็บไซต์ และบทความวิธีการสั่งเราให้ไปโปรดปรานในโค้ดของเว็บไซต์ หากสิ่งนี้ยังไม่พอ การใช้ไคลเอ็นต์ FTP หรือ File Manager เพื่อดูไฟล์และโฟลเดอร์ของเว็บไซต์อาจดูสับสนมาก
โฟลเดอร์และไฟล์แต่ละอันของเว็บไซต์ดูสำคัญ และมันมักจะสำคัญจริงๆ! คำเตือนร้ายแรงที่ว่าข้อผิดพลาดเล็กที่สุดอาจทำให้เว็บไซต์ล่ม ไม่ได้อยู่ไกลจากความจริง
ที่กล่าวมา การมีความรู้คืออำนาจ การเข้าใจโครงสร้างไฟล์และไดเรกทอรีของ WordPress จะช่วยสร้างความมั่นใจในความสามารถของคุณในการทำการเปลี่ยนแปลงบนเว็บไซต์ หรือแก้ไขปัญหาเล็กๆ น้อยๆ ในทุกกรณี เราขอแนะนำหลายเด่นให้คุณสำรองข้อมูลเว็บไซต์เสมอก่อนจะลองเปลี่ยนแปลงมัน
การเข้าใจโครงสร้างไฟล์และไดเรกทอรีของ WordPress
โครงสร้างไฟล์และโฟลเดอร์ของ WordPress คือเครื่องยนต์ของเว็บไซต์ของคุณ ไฟล์ประกอบด้วยโค้ดที่ขับเคลื่อนเว็บไซต์ของคุณ เนื่องจากส่วนใหญ่เป็นอะไรที่มองไม่เห็น - ตามที่ควรจะเป็น - มันอาจทำให้สับสนเล็กน้อย และเหมือนการดูใต้ฝาครอบของรถยนต์
ไดเรกทอรีรากของ WordPress
เพื่อใช้ WordPress คุณต้องติดตั้งมันบนเซิร์ฟเวอร์ก่อน โฮสต์เว็บส่วนใหญ่จะทำให้โดยอัตโนมัติเมื่อคุณสร้างบัญชีโฮสต์เว็บครั้งแรก หรือคุณสามารถดาวน์โหลด WordPress และอัปโหลดขึ้นเซิร์ฟเวอร์ด้วยตนเอง
การติดตั้งหมายความว่า การติดตั้งใหม่ของไฟล์ WordPress พื้นฐานทั้งหมดถูกวางบนเซิร์ฟเวอร์ของคุณ นี่คือรากฐานของเว็บไซต์ของคุณ
โดยทั่วไป การติดตั้ง WordPress จะไปอยู่ในโฟลเดอร์ public_html หรือ public โฟลเดอร์นี้เรียกว่า ไดเรกทอรีรากของ WordPress หรือเพียงราก (root) และเป็นที่ที่คุณจะพบไฟล์และโฟลเดอร์หลักของ WordPress โฟลเดอร์อาจมีชื่ออื่นที่แตกต่างกันไป แต่ส่วนใหญ่จะเป็นโฟลเดอร์ public_html คุ้มค่าที่จะรู้ว่าอันไหนคือไดเรกทอรีราก เนื่องจากมันเป็นตำแหน่งสำคัญสำหรับงานดูแลระบบหลายอย่าง เช่น การย้ายถิ่นฐานหรือการสำรองข้อมูล
ไดเรกทอรีรากของ WordPress ประกอบด้วยไฟล์และโฟลเดอร์ต่อไปนี้:
- wp-admin
- wp-content
- wp-includes
- .htaccess
- index.php
- license.txt
- readme.html
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config-sample.php
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-login.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
- wp-feed.php
ไฟล์และโฟลเดอร์หลักของ WordPress (Core Files and Folders)
ไฟล์และโฟลเดอร์หลักของ WordPress คือ ไฟล์ที่ติดตั้งระหว่างการติดตั้ง WordPress ไฟล์เหล่านี้ขับเคลื่อนทุกอย่าง ตั้งแต่หน้าล็อกอินและแดชบอร์ดผู้ดูแลระบบ ไปจนถึงการเชื่อมต่อฐานข้อมูลและการจัดการผู้ใช้ มีโฟลเดอร์หลักของ WordPress 2 โฟลเดอร์ ได้แก่ wp-admin และ wp-includes และไฟล์หลายไฟล์
โฟลเดอร์ wp-admin
ตามที่ชื่อบ่งชี้ โฟลเดอร์นี้จัดการประสบการณ์ทั้งหมดของแดชบอร์ด wp-admin ของ WordPress มีโฟลเดอร์ 7 โฟลเดอร์ในโฟลเดอร์ wp-admin ดังนี้:
- css
- images
- includes
- js
- maint
- network
- user
มีไฟล์เยอะมาก ไฟล์สำคัญคือ:
- admin.php – ไฟล์หลักที่จัดการแดชบอร์ด wp-admin
- index.php – โหลดหน้าเพจตอบสนองต่อคำขอของผู้เยี่ยมชม
- install.php – ติดตั้ง WordPress
- plugins.php – ควบคุมปลั๊กอินทั้งหมด ที่เปิดใช้งานหรือไม่ได้เปิดใช้งาน
- themes.php – ควบคุมธีมที่ติดตั้งทั้งหมด
- users.php – จัดการผู้ใช้และสิทธิ์ของพวกเขา
ไฟล์ส่วนใหญ่ค่อนข้างอธิบายตัวเองได้ถึงหน้าที่ของมัน โดยปกติ โฟลเดอร์และไฟล์ WordPress ทั้งหมดภายในโฟลเดอร์ wp-admin กึ่งกลางอยู่ที่ไฟล์ admin.php ซึ่งควบคุมแดชบอร์ดและฟังก์ชันการทำงานทั้งหมดภายใน
โฟลเดอร์ wp-includes
wp-includes ประกอบด้วยซอฟต์แวร์หลักทั้งหมดสำหรับเว็บไซต์ WordPress ของคุณ คุณจะเห็นสิ่งนี้ถูกอ้างอิงในหลายรูปแบบ: แพ็กเกจ ไลบรารีโค้ด และซอร์สโค้ดของ WordPress การเรียกนามไม่สำคัญที่นี่ แต่โค้ดสำคัญ
ดังนั้น จึง ไม่แนะนำให้แก้ไขอะไรก็ตามในไดเรกทอรี wp-includes ไม่ว่าจะเมื่อไหร่ เพราะมันสามารถและจะทำให้เว็บไซต์ของคุณเสียหาย รวมถึง ไม่มีเหตุผลที่ดีที่จะทำเช่นนั้น นานานาจะพบทูทอเรียลที่แนะนำให้เปลี่ยนแปลงโค้ดใดๆ ที่อยู่ในโฟลเดอร์ wp-includes
ข้อยกเว้นที่เป็นไปได้เพียงอย่างเดียวคือ ไฟล์ functions.php ไฟล์ functions.php ประกอบด้วยโค้ดสำหรับฟังก์ชันทั้งหมดบนเว็บไซต์ของคุณ มันเป็นกรณีพิเศษเพราะมันทำงานร่วมกับไฟล์ functions.php ที่มีอยู่ในธีมที่ใช้งานอยู่ของคุณด้วย ปกติแล้ว โค้ดอย่าง Google Analytics และโค้ดติดตามอื่นๆ จะถูกเพิ่มลงในไฟล์ functions.php ของธีม แต่เสี่ยงที่จะสูญหายหากเปลี่ยนธีม นั่นคือเหตุผลที่คุณอาจพบคำแนะนำให้เพิ่มโค้ดติดตามลงในไฟล์ functions.php หลักแทน อย่างไรก็ตาม เราแนะนำให้ไม่เปลี่ยนแปลงอะไรในไฟล์หลัก คุณสามารถคัดลอกโค้ดจากธีมเก่าไปธีมใหม่ได้ง่าย โดยไม่ทำอันตรายต่อเว็บไซต์ทั้งหมด
ไฟล์หลักของ WordPress (WordPress Core Files)
ในโฟลเดอร์ราก คุณจะเห็นไฟล์หลายไฟล์ แม้ว่าทั้งหมดจะสำคัญ บางไฟล์คุ้มค่าที่จะจดจับไว้
index.php
ไฟล์ index.php มีหน้าที่รับผิดชอบแสดงเว็บไซต์ของคุณตอบสนองต่อคำขอของผู้เยี่ยมชม มันเริ่มต้นและโหลดไฟล์หลักที่ถูกต้องเมื่อมีการขอหน้าเพจ แนวคิดนี้เข้าใจได้ดีขึ้นโดยการดูว่าจะเกิดอะไรขึ้นหากไม่มีไฟล์ index
หากโฟลเดอร์รากของคุณไม่มีไฟล์ index เมื่อใครพยายามเยี่ยมชมเว็บไซต์ เนื้อหาของโฟลเดอร์รากจะถูกแสดงบนเบราว์เซอร์ นอกจากประสบการณ์ผู้ใช้ที่แย่โดยไม่ได้ตั้งใจแล้ว นี่ยังเป็นปัญหาด้านความปลอดภัยอีกด้วย
ไฟล์ index เป็นไฟล์ระดับไดเรกทอรี และจะมองเห็นได้ในโฟลเดอร์และโฟลเดอร์ย่อยส่วนใหญ่ ตัวอย่างเช่น มันยังมีอยู่ในโฟลเดอร์ wp-content หากไฟล์นั้นหายไป เนื้อหาของโฟลเดอร์จะมองเห็นได้ ตามปกติ จะแสดงหน้าจอสีขาวเปล่าแทน
นอกจากไฟล์ในโฟลเดอร์ราก ไฟล์ index.php บ่อยครั้งเป็นไฟล์ว่างที่มีคอมเมนต์บรรทัดเดียว: "Silence is golden."
ไฟล์การกำหนดค่าของ WordPress (Configuration Files)
มีส่วนย่อยพิเศษของไฟล์หลักที่เรียกว่าไฟล์การกำหนดค่า ไฟล์การกำหนดค่าคือไฟล์หลักเพียงไฟล์เดียวที่คุณสามารถคาดหวังได้ว่าจะแก้ไขได้อย่างสมเหตุสมผล ไม่ได้หมายความว่ามันไม่สำคัญเท่ากับไฟล์หลักอื่นๆ อย่างไรก็ตาม มีฟังก์ชันการทำงานของเว็บไซต์บางอย่างที่คุณสามารถเปิด/ปิดได้เฉพาะจากภายในไฟล์การกำหนดค่า
ในในที่สุด คุณควรใช้ปลั๊กอินทุกครั้งที่เป็นไปได้เพื่อทำการเปลี่ยนแปลงเหล่านี้ ตัวอย่างเช่น ใช้ปลั๊กอินเพื่อนำการบล็อกตามภูมิศาสตร์ (geo-blocking) ไปปฏิบัติ จะดีกว่าการแก้ไขไฟล์ .htaccess มาก อย่างไรก็ตาม หากคุณกำลังสร้าง Multisite แล้ว คุณจะต้องเพิ่มโค้ดลงในไฟล์การกำหนดค่าด้วยตนเองระหว่างการตั้งค่าเครือข่าย
wp-config.php
ไฟล์ wp-config ใช้จัดเก็บ ข้อมูลการเชื่อมต่อฐานข้อมูล คียวามวามปลอดภัยและเกลือ (security keys and salts) และคำนำหน้าฐานข้อมูล (database prefix) มักถูกเป้าหมายโดยแฮกเกอร์เพราะเหตุผลนี้ เนื่องจากข้อมูลประจำตัวฐานข้อมูลจัดเก็บในรูปแบบข้อความธรรมดา (cleartext) เช่นเดียวกับคีย์และเกลือความปลอดภัย
คีย์ความปลอดภัยและเกลือ เป็นกลไกการเข้ารหัสที่ WordPress ใช้เพื่อยืนยันตัวตนผู้ใช้ที่ล็อกอินอยู่อย่างปลอดภัย เรามีคู่มือขั้นตอนการเปลี่ยนคีย์ความปลอดภัยและเกลือของคุณ หากคุณคิดว่าบัญชีผู้ใช้ถูกเจาะ
ไฟล์ wp-config ยัง ประกอบด้วยคุณสมบัติการดีบั๊ก (debugging) ในตัวของ WordPress โดยค่าเริ่มต้น ฟีเจอร์การดีบั๊กถูกปิดใช้งาน เมื่อเปิดใช้งานจากไฟล์ wp-config มันจะแสดงข้อผิดพลาด คำเตือน และข้อความแจ้งเตือนทั้งหมด นี่แตกต่างจากพฤติกรรมทั่วไปซึ่งอาจแสดงเฉพาะข้อผิดพลาดร้ายแรงหรือ致命的 (fatal errors) เท่านั้น
ในบทความความปลอดภัยหลายบทความ คุณจะเห็นคำแนะนำให้ย้ายไฟล์ wp-config ไปยังตำแหน่งอื่น นอกเหนือจากราก แต่สิ่งนี้มีค่าใช้จ่ายจำกัด เพราะทุกเว็บไซต์ WordPress มีไฟล์ wp-config อยู่ที่ใดที่หนึ่งในการติดตั้ง และแฮกเกอร์ที่มุ่งมั่นและมีการเข้าถึงที่จำเป็นจะค้นพบมันในที่สุด วิธีที่ดีกว่าในการรักษาความปลอดภัยเว็บไซต์ WordPress คือการติดตั้งปลั๊กอินความปลอดภัย ที่ดีที่สุดคือพร้อมกับไฟร์วอลล์ที่ดี
.htaccess
ไฟล์ .htaccess เป็นไฟล์การกำหนดค่าสำคัญอีกไฟล์หนึ่งที่ใช้จัดการลิงก์ของเว็บไซต์ สิ่งต่างๆ เช่น โครงสร้าง Permalink, การ Redirect URL, การบล็อกที่อยู่ IP และอื่นๆ ถูกจัดการโดยไฟล์ .htaccess ตัวอย่างเช่น หากคุณต้องการนำ Geo-blocking ไปปฏิบัติด้วยตนเอง คุณจะต้องแก้ไขไฟล์ .htaccess แม้เราจะไม่แนะนำอย่างแน่ชัด นอกเหนือจากลิงก์ ไฟล์ .htaccess ยังสามารถใช้เพื่อป้องกันเว็บไซต์ด้วยรหัสผ่านได้
ทั้งไฟล์ .htaccess และ wp-config ถูกสร้างขึ้นระหว่างการติดตั้ง WordPress และดังนั้นจะไม่มองเห็นได้ในแพ็กเกจการติดตั้งที่ดาวน์โหลดมา แม้หลังจากติดตั้งแล้ว ไฟล์ .htaccess จะถูกซ่อนอยู่ เพื่อให้มองเห็นได้ คุณต้องเปิดใช้งานตัวเลือกดูไฟล์ซ่อนบนไคลเอ็นต์ FTP ของคุณ
ไฟล์ .htaccess เป็นไฟล์การกำหนดค่าเฉพาะสำหรับเซิร์ฟเวอร์เว็บ Apache บางโฮสต์เว็บใช้ nginx แทนเซิร์ฟเวอร์ Apache ดังนั้นจะไม่มีไฟล์ .htaccess สำหรับเว็บไซต์ของคุณเลย
โฟลเดอร์ wp-content
ไฟล์และโฟลเดอร์ของปลั๊กอินและธีม ตามที่ชื่อบ่งชี้ ถูกติดตั้งพร้อมกับปลั๊กอินและธีม ตัวอย่างเช่น หากคุณติดตั้งปลั๊กอินฟอร์มติดต่อ โค้ดสำหรับปลั๊กอินนั้นจะอยู่ในไฟล์เหล่านี้ เช่นเดียวกับธีม โค้ดสำหรับการแสดงภาพและแบบอักษรอยู่ในไฟล์เหล่านี้
ปลั๊กอินและธีมทั้งหมดโดยทั่วไปจะพบในโฟลเดอร์ wp-content เว้นแต่ในกรณีพิเศษ ตัวอย่างเช่น ปลั๊กอินไฟร์วอลล์จะตั้งอยู่ที่ระดับราก (root level) เพื่อให้โหลดก่อนส่วนอื่นของเว็บไซต์ แนวคิดนี้เรียกว่า Load Order (ลำดับการโหลด) ซึ่งมักเห็นในบริบทของความปลอดภัย WordPress
แต่ละปลั๊กอินหรือธีมจะมีโฟลเดอร์ของตัวเองพร้อมกับไฟล์ที่จำเป็นสำหรับการทำงานอย่างถูกต้อง จริงๆ แล้ว ไฟล์ติดตั้งปลั๊กอินและธีมสามารถอัปโหลดผ่าน FTP โดยตรงไปยังโฟลเดอร์ wp-content และแตกไฟล์ที่นั่นได้
ธีม (Themes)
ปลั๊กอินมีความหลากหลายมาก จึงนادرที่จะสอดคล้องกับเทมเพลต ธีมในทางกลับกัน มักส่งผลต่อองค์ประกอบเดียวกันของเว็บไซต์ ดังนั้นในระดับโค้ดจึงอาจดูคล้ายกันมาก
ตัวอย่างเช่น ทุกธีมมีไฟล์ functions.php เราได้กล่าวถึงนี้สั้นๆ ขณะพูดถึงไฟล์ functions.php ในโฟลเดอร์ wp-includes ไฟล์ functions.php ของธีมประกอบด้วยโค้ดทั้งหมดที่จำเป็นสำหรับการทำงานของธีม มักจะมีโค้ดเพิ่มเติมที่จำเป็นสำหรับการรัน Analytics และตัวติดตามบนเว็บไซต์ของคุณ เมื่อเปลี่ยนไปใช้ธีมใหม่ คุณต้องสำรองไฟล์ functions.php เพื่อให้แน่ใจว่าคุณไม่สูญเสียการปรับแต่งเหล่านั้น
น่าสนใจที่ว่า แม้เว็บไซต์ WordPress จะทำงานได้โดยไม่มีปลั๊กอินเพียงตัวเดียว - แม้จะน่าเบื่อมาก - แต่ไม่สามารถทำงานได้โดยไม่มีธีม ธีมที่ใช้งานอยู่ (active theme) ถูกระบุในฟิลด์ที่จำเป็นในฐานข้อมูล และต้องพร้อมใช้งานสำหรับเว็บไซต์โหลดได้เลย
wp-uploads
โฟลเดอร์ wp-uploads เป็นที่จัดเก็บไฟล์ที่ผู้เยี่ยมชมอัปโหลดไปยังเว็บไซต์ มันสัมพันธ์โดยตรงกับทุกอย่างที่มองเห็นได้ในไลบรารีสื่อ (media library) ของเว็บไซต์ ไฟล์ถูกจัดเก็บในโฟลเดอร์รายปี และจากนั้นรายเดือน เพื่อการดึงข้อมูล
โฟลเดอร์ wp-uploads เข้าถึงได้สากล (universally accessible) โดยค่าเริ่มต้น ดังนั้นมักเป็นความเสี่ยงด้านความปลอดภัย นี่คือเหตุผลที่โฟลเดอร์นี้ไม่ควรมีไฟล์ที่สามารถรันได้ (executable files) เลย
สิ่งสำคัญคือจำไว้ว่าเรากำลังพูดถึงการติดตั้ง WordPress แบบมาตรฐาน (boilerplate) เนื่องจากการปรับแต่งของปลั๊กอิน ธีม และของ WordPress เองอาจแตกต่างกันไปอย่างมากจากเว็บไซต์หนึ่งไปอีกเว็บไซต์หนึ่ง นี่จึงไม่ใช่รายการครบถ้วน بأيเช่น WordPress Codex มีรายการเต็มของไฟล์ WordPress ที่มาพร้อมกับการติดตั้งพื้นฐาน
คุณอาจจะเห็นหรือไม่เห็นบางไฟล์ในโฟลเดอร์ตามที่อธิบายข้างต้น ขึ้นอยู่กับว่าการติดตั้งถูกกำหนดค่าอย่างไร หรือคุณอาจไม่เห็นไฟล์ .htaccess ในไคลเอ็นต์ FTP ของคุณ เพราะมันเป็นไฟล์ซ่อน คุณจะต้องเปิดใช้งานการตั้งค่านั้นเพื่อเห็นมัน
การเข้าใจตารางฐานข้อมูลของ WordPress
ฐานข้อมูลคือระบบที่ใช้จัดเก็บ จัดระเบียบ และดึงข้อมูลเพื่อรันเว็บไซต์ของคุณ ร่วมกับไฟล์ มันเป็นอีกส่วนสำคัญของเว็บไซต์ของคุณ ฐานข้อมูล WordPress ใช้จัดเก็บเนื้อหาที่ผู้ใช้สร้าง เช่น โพสต์ หน้า ความคิดเห็น ฯลฯ ในตาราง
หมายเหตุ: นี่มักเป็นเหตุผลที่คำแนะนำเกี่ยวกับวิธีสำรองข้อมูลเว็บไซต์ WordPress มักแนะนำให้สำรองข้อมูลเฉพาะฐานข้อมูล โดยสมมติว่าคุณสามารถดาวน์โหลดสิ่งอื่นๆ ได้ นี่ไม่ใช่แนวทางที่ดี เพราะคุณควรสำรองข้อมูลเว็บไซต์ทั้งหมดเสมอ
WordPress ใช้ฐานข้อมูล MySQL เพื่อจัดเก็บข้อมูลเว็บไซต์ในตาราง ใช้คำสั่ง SQL เพื่อจัดการข้อมูลภายใน และใช้ภาษาโปรแกรมมิ่ง PHP เพื่อสื่อสารระหว่างไฟล์และฐานข้อมูล ดังนั้น เมื่อคุณติดตั้ง WordPress ครั้งแรก ระหว่างการติดตั้ง คุณจะต้องสร้างผู้ใช้ MySQL สำหรับฐานข้อมูล และ ตามที่เราจะเห็นภายหลัง คุณสามารถใช้ इंटอร์เฟซอย่าง phpMyAdmin หรือ Adminer เพื่อเข้าถึงฐานข้อมูลของเว็บไซต์ของคุณ
แต่ละเว็บไซต์มีฐานข้อมูลเดียวที่เชื่อมโยง และแต่ละฐานข้อมูลประกอบด้วยหลายตาราง ตารางหลักของ WordPress มีดังนี้:
- wp_options
- wp_users
- wp_usermeta
- wp_posts
- wp_postmeta
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_comments
- wp_commentmeta
- wp_links
ตารางเหล่านี้ถูกติดตั้งพร้อมกับ WordPress ตลอดเวลา เมื่อเว็บไซต์เติบโตและเพิ่มปลั๊กอิน ฐานข้อมูลก็เติบโตไปพร้อมกับตารางมากขึ้น และดังนั้นข้อมูลก็มากขึ้น
สิ่งสำคัญที่ต้องจำคือ ตารางมักทำงานร่วมกัน นั่นหมายความว่าข้อมูลสามารถดึงมาจากตารางที่ต่างกัน ตัวอย่างเช่น ความคิดเห็นบนโพสต์จัดเก็บในตาราง wp_comments แต่ wp_commentmeta ก็สำคัญสำหรับการดึงข้อมูลเช่นกัน นี่เป็นจริงโดยเฉพาะสำหรับเว็บไซต์ WooCommerce ที่ข้อมูลคำสั่งซื้อและผลิตภัณฑ์จัดเก็บกระจายอยู่ในหลายตาราง
เรามีบทความเต็มรูปแบบพร้อมข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของฐานข้อมูล WordPress
วิธีการเข้าถึงไฟล์ ไดเรกทอรี และฐานข้อมูลของ WordPress
เว็บไซต์ WordPress ของคุณจัดเก็บอยู่บนเซิร์ฟเวอร์โฮสต์เว็บ ซึ่งเป็นคอมพิวเตอร์ระยะไกล ในการเข้าถึงโครงสร้างไฟล์และฐานข้อมูลของ WordPress คุณต้องเชื่อมต่อกับคอมพิวเตอร์เครื่องนี้ มีหลายวิธีในการทำ แต่วิธีแต่ละวิธีมีข้อดีและข้อเสีย จึงคุ้มค่าที่จะอ่านเกี่ยวกับทุกวิธีและตัดสินใจว่าวิธีไหนเหมาะสมที่สุดสำหรับคุณ
cPanel
วิธีที่พูดถึงมากที่สุดในบทช่วยสอน WordPress คือการใช้ cPanel cPanel เป็นซอฟต์แวร์แผงควบคุมที่โฮสต์เว็บส่วนใหญ่เสนอ มีเครื่องมือหลากหลายสำหรับงานต่างๆ สิ่งที่เราสนใจมากที่สุดสำหรับการดูไฟล์ WordPress และฐานข้อมูลคือ File Manager และ phpMyAdmin ตามลำดับ
เพื่อเข้าถึง cPanel บนเว็บไซต์ของคุณ ให้ใส่ yourdomain.com ในแถบ URL ตามด้วย /cpanel ล็อกอินด้วยข้อมูลประจำตัว cPanel ซึ่งต่างจากข้อมูล wp-admin
ภายใต้ส่วน Files คุณจะพบไอคอนสำหรับ File Manager
File Manager คล้ายกับ File Explorer ของคอมพิวเตอร์ของคุณ คุณจะเห็นโฟลเดอร์และไฟล์ WordPress ในอินเทอร์เฟซที่คล้ายกัน ในการแก้ไขไฟล์ใดๆ คุณต้องดาวน์โหลดมัน แก้ไขบนเครื่องโลคัล และอัปโหลดกลับไปที่โฟลเดอร์ที่ถูกต้อง หลังจากลบไฟล์ที่มีอยู่แล้ว
เพื่อเข้าถึงฐานข้อมูล ให้ค้นหาไอคอน phpMyAdmin ภายใต้ส่วน Databases บน cPanel
phpMyAdmin แยกจาก cPanel ดังนั้นไอคอนจึงเป็นเพียงทางลัดสำหรับการเข้าถึง หากคุณไม่ได้ล็อกอินโดยอัตโนมัติ คุณสามารถหาข้อมูลประจำตัวล็อกอิงฐานข้อมูลในไฟล์ wp-config.php
ภายใต้แท็บ Databases หรือจากแผงด้านซ้าย ให้ค้นหาฐานข้อมูลที่เชื่อมโยงกับเว็บไซต์ของคุณ หากมีฐานข้อมูลมากกว่าหนึ่ง
คลิกที่ฐานข้อมูลของคุณจะเปิดมันเพื่อแสดงตารางทั้งหมดภายใน เพิ่มเติม คลิกที่ชื่อตารางจะแสดงแถวและค่า
บางโฮสต์เว็บไม่ได้ให้ cPanel และอาจมีซอฟต์แวร์แผงควบคุมทางเลือกอย่าง Plesk หรือ Webmin อื่นๆ อาจไม่มีตัวเลือกเลย ในกรณีนั้น คุณจะต้องใช้ FTP เพื่อเข้าถึงไฟล์เว็บไซต์ของคุณ
FTP/SFTP
โปรโตคอลการถ่ายโอนไฟล์ (File Transfer Protocol) หรือ FTP เป็นทางเลือกหนึ่งแทน HTTP เราคุ้นเคยกับ HTTP ทั้งหมด ซึ่งเป็นโปรโตคอลที่ใช้ถ่ายโอนข้อมูลผ่านอินเทอร์เน็ต พวกมันทำงานต่างกันและใช้สลับกันได้เพื่อเข้าถึงข้อมูลบนเซิร์ฟเวอร์
FTP แตกต่างจาก HTTP ในหนึ่งจุดสำคัญ คือ มันต้องการการยืนยันตัวตน (Authentication) นั่นหมายความว่าคุณต้องให้ข้อมูลประจำตัวล็อกอินเพื่อสามารถเข้าถึงเซิร์ฟเวอร์ได้
เพื่อใช้ FTP หรือ SFTP (ซึ่งปลอดภัยกว่า) คุณต้องดาวน์โหลดและติดตั้งไคลเอ็นต์ เช่น FileZilla สำหรับบทความนี้ เราจะใช้ Cyberduck
ก่อนอื่น ให้ค้นหาข้อมูลประจำตัว FTP บนแดชบอร์ดโฮสต์เว็บของคุณ
ต่อไป สร้างการเชื่อมต่อใหม่บนไคลเอ็นต์ FTP และใส่ข้อมูลประจำตัว
เมื่อการเชื่อมต่อได้รับการสร้างขึ้นแล้ว คุณสามารถดูไฟล์และโฟลเดอร์ WordPress บนเซิร์ฟเวอร์ได้
หากโฮสต์เว็บของคุณไม่มีการเข้าถึง cPanel พวกเขาอาจไม่ใช้ phpMyAdmin เช่นกัน อย่างไรก็ตาม โฮสต์เว็บส่วนใหญ่ให้ลิงก์ไปยังฐานข้อมูลเว็บไซต์จากแดชบอร์ด
ในตัวอย่างนี้ Cloudways มีปุ่ม Launch Database Manager จากแดชบอร์ดเว็บไซต์ Cloudways ใช้ Adminer แทน phpMyAdmin
ในทางกลับกัน Dreamhost มี และคุณสามารถหาลิงก์ Manage บนแผงเว็บไซต์ได้
SSH
ย่อมาจาก 'secure shell' SSH เป็นวิธีการเชื่อมต่อกับคอมพิวเตอร์ระยะไกลอย่างปลอดภัยผ่านเครือข่ายที่อาจไม่ปลอดภัย ในกรณีของ WordPress คุณสามารถใช้มันเพื่อเข้าถึงไฟล์บนเซิร์ฟเวอร์เว็บไซต์ของคุณจากที่ไหนก็ได้
SSH ใช้อินเทอร์เฟซบรรทัดคำสั่ง (command-line interface) เพื่อโต้ตอบและควบคุมไฟล์และโฟลเดอร์ของเว็บไซต์แทนเบราว์เซอร์ เหมือนกับ FTP คุณอาจต้องการไคลเอ็นต์เพื่อใช้ SSH แม้ระบบส่วนใหญ่จะมีความสามารถในตัว เราใช้ Terminal บน macOS เพื่อเปิดการเชื่อมต่อไปยังเซิร์ฟเวอร์เว็บของเรา
เหมือนกับ FTP อีกครั้ง คุณจะต้องมีข้อมูลประจำตัวเพื่อล็อกอิน: ที่อยู่เซิร์ฟเวอร์ ชื่อผู้ใช้ และรหัสผ่าน คุณอาจหรืออาจไม่ต้องการหมายเลขพอร์ต เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของคุณด้วย SSH ให้พิมพ์ ssh username@serveraddress คุณจะถูกขอรหัสผ่าน และเมื่อใส่แล้ว คุณจะสามารถโต้ตอบกับไฟล์เว็บไซต์ของคุณได้
กับ SSH คุณต้องมีความคุ้นเคยกับอินเทอร์เฟซบรรทัดคำสั่งบ้าง หรือพร้อมที่จะอ่านเอกสารมากมาย รายการคำสั่งนี้สามารถช่วยคุณเริ่มต้นได้ แม้จะไม่ครบถ้วน
หมายเหตุ: ด้วยอินเทอร์เฟซบรรทัดคำสั่ง คุณยังสามารถใช้ประโยชน์จากคำสั่ง WP-CLI ได้ WP-CLI เป็นเครื่องมือสำหรับโต้ตอบโดยเฉพาะกับไฟล์และฐานข้อมูลของเว็บไซต์ WordPress และจึงมีคำสั่งที่เฉพาะเจาะจงต่อ WordPress
ปลั๊กอิน (Plugins)
หากคุณต้องการหลีกเลี่ยง cPanel และ FTP ทั้งหมด คุณยังสามารถติดตั้งปลั๊กอินเพื่อดูและโต้ตอบกับไฟล์และโฟลเดอร์ WordPress ได้
ข้อดีของการใช้ปลั๊กอินคือ คุณสามารถเห็นไฟล์โดยตรงบนแดชบอร์ด wp-admin ของคุณ โดยไม่ต้องล็อกอินแยกต่างหาก ข้อเสียคือ หากเว็บไซต์ของคุณล่มด้วยเหตุผลใดเหตุผลหนึ่ง และคุณต้องการแก้ไขปลั๊กอินหรือธีมที่ผิดปกติ คุณจะไม่สามารถใช้ปลั๊กอินเหล่านี้เพื่อทำได้ อย่างไรก็ตาม มันยังเป็นทางเลือกที่เป็นไปได้ในกรณีส่วนใหญ่
เราลองใช้ WP File Manager และมันใช้งานง่ายมาก หาปลั๊กอินจากไดเรกทอรีปลั๊กอิน ติดตั้ง และเสร็จแล้ว
แดชบอร์ดแสดงไฟล์ทั้งหมดของเว็บไซต์ของคุณชัดเจน ตั้งแต่ wp-admin
คำเตือนหนึ่งคือ การค้นหา 'file manager' plugins ยังแสดงผลสำหรับ media library file managers ด้วย ปลั๊กอินเหล่านั้นทำหน้าที่ต่างกันโดยสิ้นเชิง
เช่นเดียวกัน คุณสามารถติดตั้งปลั๊กอินเพื่อดูฐานข้อมูลของเว็บไซต์ได้เช่นกัน
เราลอง Database Admin และเห็นว่าเราสามารถเลือกฐานข้อมูลเว็บไซต์ของเราได้โดยไม่ต้องล็อกอิน
อินเทอร์เฟซเป็นพื้นฐานมาก แต่มาช่วยได้หากคุณมีความเข้าใจเล็กน้อยเกี่ยวกับ SQL เพื่อนำทางได้อย่างมีประสิทธิภาพมากขึ้น
เรายังลอง WP Adminer เป็นทางเลือก
มันคล้ายกับการเข้าถึงฐานข้อมูลโดยตรงมาก ปลั๊กอินปรากฏเป็นทางลัดในเมนู Tools
ทำไมคุณควรเรียนรู้เกี่ยวกับโครงสร้างไฟล์และไดเรกทอรีของ WordPress
เว็บไซต์ของคุณทำงานอยู่ และทำงานได้ดี นั่นเป็นเพราะอะไรที่คุณควรใช้เวลาเรียนรู้เกี่ยวกับโครงสร้างไฟล์ WordPress? นอกจากเหตุผลง่ายๆ ของการเข้าใจว่าเว็บไซต์ของคุณทำงานอย่างไร ยังมีเหตุผลที่ดีหลายประการ:
- แก้ไขปัญหาเล็กน้อย ด้วยตนเอง เช่น ปิดใช้งานปลั๊กอินหรือธีมที่ทำงานผิดปกติ
- ในกรณีที่คุณเผชิญปัญหาใหญ่ สำคัญที่จะต้องสามารถ แยกแยะระหว่างคำแนะนำที่ดีและไม่ดี มีคำแนะนำที่ไม่ดีเยอะมาก แม้จะมีเจตนาดี โดยเฉพาะเกี่ยวกับความปลอดภัย WordPress ความรู้เล็กน้อยสามารถช่วยให้คุณ ถามคำถามที่ถูกต้อง เมื่อจำเป็น และทิ้งคำแนะนำที่ไม่ดีทันที
- การเข้าใจโครงสร้างไฟล์ของเว็บไซต์ของคุณ ทำให้คุณกลายเป็น Power User คุณอาจสามารถทำได้มากกว่าก่อนหน้านี้มาก มันเป็นขั้นพื้นฐานสู่การเรียนรู้การพัฒนา WordPress ด้วย หากคุณมีแนวโน้ม ตัวอย่างเช่น สมมติว่าคุณต้องเพิ่มการ Redirect ไปยังเว็บไซต์ คุณสามารถทำได้โดยแก้ไขไฟล์ .htaccess โดยไม่ต้องการการแทรกแซงจากนักพัฒนา
- มันยังจะ ป้องกันไม่ให้คุณลบหรือเปลี่ยนไฟล์สำคัญ หรือค่าฐานข้อมูล โดยรู้ว่าสิ่งนี้จะทำให้เว็บไซต์ของคุณล่ม
- การตั้งค่าสิทธิ์ไฟล์ จะกลายเป็นง่ายขึ้นเมื่อคุณรู้การมีปฏิสัมพันธ์ระหว่างไฟล์ต่างๆ และว่าผู้ใช้คนไหนต้องการการเข้าถึงมัน ตรง מבטแรก สิทธิ์ที่เข้มงวดที่สุดและกฎความปลอดภัยที่แน่นที่สุดดูเหมือนจะเป็นตัวเลือกที่ดีที่สุด นี่ไม่จริงเลย จำไว้ว่าไฟล์ต้องสื่อสารกับกันและกัน และดังนั้นต้องการสิทธิ์ที่เหมาะสมเพื่อทำเช่นนั้น
หากคุณอ่านบทความนี้เพื่อหาว่าควรสำรองไฟล์ไหน คำตอบคือ ทุกอย่าง เสมอสำรองข้อมูลแบบสมบูรณ์ และกู้คืนบางส่วนเมื่อจำเป็น
วิธีปกป้องไฟล์ โฟลเดอร์ และฐานข้อมูล WordPress จากมัลแวร์
ตอนนี้ที่คุณมีความเข้าใจที่ดีเกี่ยวกับโครงสร้าง WordPress ทั้งภายในและภายนอก คุณสามารถ邁出ขั้นตอนเพื่อปกป้องมันจากแฮกเกอร์ ในความปลอดภัย WordPress การป้องกันดีกว่าการรักษาเสมอ และการทำสิ่งต่อไปนี้จะขจัดโจมตีมัลแวร์ส่วนใหญ่
- ติดตั้ง MalCare ปลั๊กอินความปลอดภัยระดับสูงพร้อมไฟร์วอลล์รวม
- ลงทุนในการสำรองข้อมูลเว็บไซต์
- อัปเดต WordPress, ปลั๊กอิน และธีมให้ล่าสุดมากที่สุดเท่าที่จะทำได้
- ใช้รหัสผ่านที่แข็งแกร่ง และตัวจัดการรหัสผ่านเพื่อจดจำพวกมัน
- นำโพลิซีผู้ใช้ที่ดีไปปฏิบัติ
- อย่าใช้ซอฟต์แวร์ nulled (แวร์ที่แฮกแล้ว) เลย
เราได้รวบรวมความเชี่ยวชาญด้านความปลอดภัยทั้งหมดของเราเป็นคำแนะนำที่ปฏิบัติได้จริง ซึ่งคุณสามารถใช้เพื่อปกป้องเว็บไซต์ของคุณในไม่กี่นาที
บทสรุป
ตอนนี้ที่คุณมีความรู้ทำงานเกี่ยวกับเว็บไซต์ของคุณ สมเหตุสมผลที่จะสำรองข้อมูลทุกครั้งที่คุณต้องการเปลี่ยนแปลงบางอย่าง นี่คือเครื่องมือช่วยชีวิต (safety net) ในกรณีที่มีอะไรผิดพลาดและคุณต้องกู้คืนอย่างด่วน BlogVault มีการสำรองข้อมูล WordPress ที่ดีที่สุด และมาพร้อมกับคุณสมบัติยอดเยี่ยมอีกมากมายสำหรับการจัดการเว็บไซต์อย่างมีประสิทธิภาพ
คำถามที่พบบ่อย (FAQs)
โครงสร้างไฟล์ WordPress คืออะไร?
โครงสร้างไฟล์ WordPress คือระบบจัดการของเว็บไซต์ เว็บไซต์ WordPress ใช้ไฟล์ที่ประกอบด้วยโค้ดเพื่อรันและโต้ตอบกับฐานข้อมูล ซึ่งจัดเก็บข้อมูล
ไฟล์ WordPress จัดระเบียบอย่างไร?
ไฟล์ WordPress จัดระเบียบในโครงสร้างโฟลเดอร์แบบลำดับชั้น (hierarchical) การติดตั้ง WordPress อยู่ในไดเรกทอรีราก โดยทั่วไปคือ public_html หรือ public และทุกอย่างอื่นมาอยู่ภายใน มีโฟลเดอร์หลัก 3 โฟลเดอร์ในไดเรกทอรีรากของ WordPress ได้แก่ wp-content, wp-includes และ wp-admin
ควรมีอะไรในโฟลเดอร์ wp-includes?
โฟลเดอร์ wp-includes ประกอบด้วยแพ็กเกจหลักของ WordPress และโค้ดที่ติดตั้งมาพร้อมกับ WordPress โฟลเดอร์ wp-includes และไฟล์ประกอบของมันคงที่ หากคุณสงสัยว่ามีการเปลี่ยนแปลง คุณสามารถดาวน์โหลดการติดตั้ง WordPress ใหม่ และเปรียบเทียบไฟล์เหล่านั้นกับที่อยู่บนเว็บไซต์ของคุณ
ไฟล์ WordPress ตั้งอยู่ที่ไหน?
ไฟล์ WordPress ติดตั้งอยู่ในไดเรกทอรีรากบนเซิร์ฟเวอร์เว็บไซต์ของคุณ ไดเรกทอรีรากมักชื่อ public_html หรือ public ไฟล์ WordPress ทั้งหมดจัดเก็บภายในไดเรกทอรีรากในระบบลำดับชั้นของไฟล์และโฟลเดอร์