ไทย

ปลดล็อกการแสดงตัวอย่างเนื้อหาที่ราบรื่นด้วย Next.js Draft Mode เรียนรู้วิธีเพิ่มศักยภาพให้นักสร้างสรรค์เนื้อหา ปรับปรุงการทำงานร่วมกัน และรับประกันคุณภาพของเนื้อหาสำหรับผู้ชมทั่วโลก

Next.js Draft Mode: ปรับปรุงการแสดงตัวอย่างเนื้อหาสำหรับทีมระดับโลก

ในภูมิทัศน์ดิจิทัลที่เปลี่ยนแปลงอย่างรวดเร็วในปัจจุบัน การนำเสนอเนื้อหาคุณภาพสูงและน่าดึงดูดเป็นสิ่งสำคัญอย่างยิ่งต่อความสำเร็จ สำหรับทีมระดับโลก สิ่งนี้มักเกี่ยวข้องกับการจัดการเนื้อหาในหลายแพลตฟอร์มและรับประกันความสอดคล้องกันในภาษาและภูมิภาคต่างๆ Next.js Draft Mode นำเสนอโซลูชันที่มีประสิทธิภาพสำหรับการปรับปรุงเวิร์กโฟลว์การแสดงตัวอย่างเนื้อหา เพิ่มศักยภาพให้นักสร้างสรรค์เนื้อหา และปรับปรุงการทำงานร่วมกัน

Next.js Draft Mode คืออะไร?

Next.js Draft Mode ช่วยให้คุณสามารถข้ามการสร้างหน้าเว็บแบบสถิต (static generation) หรือการเรนเดอร์ฝั่งเซิร์ฟเวอร์ (server-side rendering) ของ Next.js และเรนเดอร์หน้าเว็บตามความต้องการ (on-demand) ได้ ทำให้คุณสามารถแสดงตัวอย่างการเปลี่ยนแปลงเนื้อหาได้แบบเรียลไทม์ก่อนที่จะเผยแพร่ ซึ่งมีประโยชน์อย่างยิ่งเมื่อทำงานกับระบบจัดการเนื้อหา (CMS) ที่การอัปเดตเนื้อหาจำเป็นต้องได้รับการตรวจสอบและอนุมัติก่อนที่จะเผยแพร่จริง

ลองนึกภาพสถานการณ์ที่ทีมการตลาดในโตเกียวกำลังอัปเดตหน้าแรกของเว็บไซต์ที่มุ่งเป้าไปที่ลูกค้าในอเมริกาเหนือ ด้วย Draft Mode พวกเขาสามารถดูตัวอย่างการเปลี่ยนแปลงได้ทันที เพื่อให้แน่ใจว่าเนื้อหามีความถูกต้อง น่าดึงดูด และเหมาะสมกับวัฒนธรรมก่อนที่จะเผยแพร่ วงจรการตอบรับแบบเรียลไทม์นี้ช่วยลดความเสี่ยงของข้อผิดพลาดได้อย่างมากและปรับปรุงคุณภาพโดยรวมของเนื้อหา

ประโยชน์ของการใช้ Next.js Draft Mode

การนำ Draft Mode มาใช้ในแอปพลิเคชัน Next.js ของคุณมีข้อดีที่สำคัญหลายประการ:

วิธีการติดตั้ง Next.js Draft Mode

การติดตั้ง Draft Mode ในแอปพลิเคชัน Next.js ของคุณมีขั้นตอนสำคัญไม่กี่ขั้นตอน:

1. กำหนดค่า CMS ของคุณ

ขั้นตอนแรกคือการกำหนดค่า CMS ของคุณให้รองรับ Draft Mode แพลตฟอร์ม headless CMS สมัยใหม่ส่วนใหญ่ เช่น Contentful, Sanity และ Strapi มีการรองรับ Draft Mode ในตัว โปรดดูเอกสารประกอบของ CMS ของคุณสำหรับคำแนะนำเฉพาะเกี่ยวกับวิธีการเปิดใช้งาน

ตัวอย่างเช่น หากคุณใช้ Contentful คุณจะต้องสร้าง API key แยกต่างหากสำหรับสภาพแวดล้อมการแสดงตัวอย่าง (preview environment) ของคุณ API key นี้จะช่วยให้คุณสามารถดึงข้อมูลเนื้อหาฉบับร่าง (draft content) จาก Contentful ได้โดยไม่ส่งผลกระทบต่อสภาพแวดล้อมที่ใช้งานจริง (live environment) ของคุณ

2. สร้าง API Route สำหรับการเปิดใช้งาน Draft Mode

ถัดไป คุณต้องสร้าง API route ในแอปพลิเคชัน Next.js ของคุณเพื่อเปิดใช้งาน Draft Mode โดยทั่วไปแล้ว route นี้จะรับ secret token จาก CMS ของคุณเพื่อให้แน่ใจว่ามีเพียงผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าสู่ Draft Mode ได้

นี่คือตัวอย่างของ API route ที่เปิดใช้งาน Draft Mode:


// pages/api/draft.js

import { enablePreview } from '../../utils/draft'

export default async function handler(req, res) {
  // ตรวจสอบ secret และ slug
  // secret นี้ควรเป็นที่รู้จักเฉพาะสำหรับ API route นี้และ CMS เท่านั้น
  if (req.query.secret !== process.env.CONTENTFUL_PREVIEW_SECRET) {
    return res.status(401).json({ message: 'Invalid token' })
  }

  // เปิดใช้งาน Draft Mode โดยการตั้งค่าคุกกี้
  res.setPreviewData({})

  // เปลี่ยนเส้นทางไปยังหน้าแรกหลังจากเปิดใช้งาน draft mode
  res.redirect('/')
  res.end()
}

ตัวอย่างโค้ดนี้สาธิต API endpoint พื้นฐาน สิ่งสำคัญคือ ตัวแปรสภาพแวดล้อม `CONTENTFUL_PREVIEW_SECRET` จะถูกเปรียบเทียบกับพารามิเตอร์ query ของคำขอ หากตรงกัน `res.setPreviewData({})` จะเปิดใช้งาน Draft Mode ผ่านคุกกี้ สุดท้ายผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าแรก

3. ดึงข้อมูลเนื้อหาฉบับร่าง

เมื่อคุณเปิดใช้งาน Draft Mode แล้ว คุณต้องอัปเดตตรรกะการดึงข้อมูลของคุณเพื่อดึงข้อมูลเนื้อหาฉบับร่างเมื่อ Draft Mode ทำงานอยู่ คุณสามารถใช้ prop `preview` ที่มาจาก `getStaticProps` หรือ `getServerSideProps` เพื่อตรวจสอบว่า Draft Mode ถูกเปิดใช้งานหรือไม่

นี่คือตัวอย่างวิธีการดึงข้อมูลเนื้อหาฉบับร่างใน `getStaticProps`:


export async function getStaticProps({ preview = false }) {
  const post = await getPostBySlug(slug, preview)

  return {
    props: {
      post,
      preview,
    },
  }
}

ในตัวอย่างนี้ ฟังก์ชัน `getPostBySlug` จะดึงข้อมูลเนื้อหาฉบับร่างหาก prop `preview` ถูกตั้งค่าเป็น `true` โดย prop `preview` จะถูกส่งไปยัง `getStaticProps` โดยอัตโนมัติเมื่อ Draft Mode ถูกเปิดใช้งาน

ภายใน `getPostBySlug` คุณจะต้องแก้ไขการสืบค้น CMS ของคุณเพื่อรวมรายการฉบับร่าง (draft entries) สำหรับ Contentful นี่หมายถึงการรวม `preview: true` ในคำขอ API ของคุณ

4. แสดงเนื้อหาฉบับร่าง

สุดท้าย คุณต้องอัปเดตคอมโพเนนต์ของคุณเพื่อแสดงเนื้อหาฉบับร่างเมื่อ Draft Mode ทำงานอยู่ คุณสามารถใช้ prop `preview` เพื่อแสดงผลเนื้อหาที่แตกต่างกันตามเงื่อนไขว่า Draft Mode ถูกเปิดใช้งานหรือไม่

นี่คือตัวอย่างวิธีการแสดงเนื้อหาฉบับร่างในคอมโพเนนต์ React:


function Post({ post, preview }) {
  return (
    

{post.title}

{preview && (

Draft Mode is Active

)}

{post.content}

) }

ตัวอย่างโค้ดนี้จะตรวจสอบ prop `preview` หากเป็น `true` จะมีการแสดงข้อความที่ระบุว่า Draft Mode กำลังทำงานอยู่ ซึ่งช่วยให้ผู้สร้างเนื้อหาสามารถแยกแยะระหว่างเนื้อหาฉบับร่างและเนื้อหาที่เผยแพร่แล้วได้อย่างชัดเจน

ตัวอย่าง: การจัดการเนื้อหาสำหรับแพลตฟอร์มอีคอมเมิร์ซระดับโลก

ลองพิจารณาแพลตฟอร์มอีคอมเมิร์ซระดับโลกที่ขายสินค้าในหลายประเทศ แพลตฟอร์มนี้ต้องจัดการคำอธิบายผลิตภัณฑ์ แบนเนอร์ส่งเสริมการขาย และแคมเปญการตลาดในภาษาต่างๆ

ด้วย Next.js Draft Mode ผู้สร้างเนื้อหาในแต่ละภูมิภาคสามารถดูตัวอย่างการเปลี่ยนแปลงของตนเองก่อนที่จะเผยแพร่จริง เพื่อให้แน่ใจว่าเนื้อหามีความถูกต้อง เหมาะสมกับวัฒนธรรม และปรับให้เหมาะสมกับกลุ่มเป้าหมายของตน ตัวอย่างเช่น:

การช่วยให้ทีมในภูมิภาคสามารถดูตัวอย่างเนื้อหาของตนก่อนเผยแพร่ Draft Mode ช่วยให้มั่นใจได้ว่าแพลตฟอร์มจะมอบประสบการณ์ที่สอดคล้องกันและมีคุณภาพสูงให้กับลูกค้าทั่วโลก

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ Next.js Draft Mode

เพื่อให้ได้ประโยชน์สูงสุดจาก Next.js Draft Mode ให้พิจารณาแนวทางปฏิบัติที่ดีที่สุดต่อไปนี้:

ความท้าทายและแนวทางแก้ไขที่พบบ่อย

แม้ว่า Next.js Draft Mode จะมีประโยชน์มากมาย แต่ก็มีความท้าทายทั่วไปบางประการที่คุณอาจพบระหว่างการติดตั้ง:

ทางเลือกอื่นนอกเหนือจาก Next.js Draft Mode

แม้ว่า Next.js Draft Mode จะเป็นเครื่องมือที่มีประสิทธิภาพ แต่ก็มีแนวทางอื่นในการแสดงตัวอย่างเนื้อหาที่คุณอาจต้องการพิจารณา:

สรุป

Next.js Draft Mode เป็นเครื่องมือที่มีคุณค่าสำหรับการปรับปรุงเวิร์กโฟลว์การแสดงตัวอย่างเนื้อหา เพิ่มศักยภาพให้นักสร้างสรรค์เนื้อหา และปรับปรุงการทำงานร่วมกันสำหรับทีมระดับโลก ด้วยการติดตั้ง Draft Mode คุณสามารถมั่นใจได้ว่าเนื้อหาของคุณมีความถูกต้อง น่าดึงดูด และเหมาะสมกับวัฒนธรรมก่อนที่จะเผยแพร่ ซึ่งท้ายที่สุดจะนำไปสู่ประสบการณ์ผู้ใช้ที่ดีขึ้นและผลลัพธ์ทางธุรกิจที่ดีขึ้น ด้วยการพิจารณาแนวทางปฏิบัติที่ดีที่สุดอย่างรอบคอบและจัดการกับความท้าทายที่พบบ่อย คุณสามารถปลดล็อกศักยภาพสูงสุดของ Next.js Draft Mode และเปลี่ยนแปลงกระบวนการสร้างเนื้อหาของคุณได้

อย่าลืมให้ความสำคัญกับความปลอดภัย ประสิทธิภาพ และเวิร์กโฟลว์การอนุมัติเนื้อหาที่ชัดเจนเสมอ เพื่อให้แน่ใจว่ากระบวนการจัดการเนื้อหาสำหรับทีมระดับโลกของคุณจะราบรื่นและมีประสิทธิภาพ