ใช้ Canonical Tag แก้ปัญหาเนื้อหาซ้ำ
เว็บหนึ่งหน้ามักเข้าถึงได้จากหลาย URL โดยที่เจ้าของไม่รู้ตัว เช่น มีทั้งแบบ www และไม่มี www มีพารามิเตอร์ติดตามต่อท้าย หรือหน้าสินค้าเดียวกันที่เข้าได้จากหลายหมวดหมู่ ในสายตาของ Google สิ่งเหล่านี้คือหน้าคนละหน้าที่มีเนื้อหาเหมือนกัน
ผลคือคะแนนความน่าเชื่อถือถูกกระจายไปหลาย URL แทนที่จะรวมอยู่ที่เดียว และ Google อาจเลือกแสดง URL ที่คุณไม่ต้องการ Canonical Tag คือวิธีบอกว่าอันไหนคือตัวจริง
สิ่งที่ต้องเตรียม
- สิทธิ์แก้ไขส่วน head ของเว็บ หรือปลั๊กอิน SEO
- บัญชี Google Search Console ที่ยืนยันความเป็นเจ้าของแล้ว
ขั้นตอนที่ 1: หาว่ามีเนื้อหาซ้ำตรงไหน
ใน Search Console ไปที่ Pages แล้วดูหัวข้อ
- Duplicate without user-selected canonical Google พบเนื้อหาซ้ำแต่คุณไม่ได้บอกว่าอันไหนตัวจริง
- Duplicate, Google chose different canonical than user คุณตั้งไว้แล้วแต่ Google ไม่เห็นด้วย ซึ่งมักแปลว่าตั้งผิดหรือหน้าที่ชี้ไปไม่เหมือนกันจริง
- Alternate page with proper canonical tag สถานะนี้ถูกต้องแล้ว ไม่ต้องแก้
ตรวจด้วยคำสั่งว่าหน้าเดียวกันเข้าได้จากกี่ทาง
for u in "https://example.com/product" "https://www.example.com/product" \
"http://example.com/product" "https://example.com/product/" \
"https://example.com/product?utm_source=fb"; do
code=$(curl -s -o /dev/null -w '%{http_code}' "$u")
canon=$(curl -sL "$u" | grep -oP '(?<=rel="canonical" href=")[^"]+' | head -1)
printf '%-50s %s canonical: %s\n' "$u" "$code" "$canon"
done
ทุกบรรทัดควรแสดง canonical เป็น URL เดียวกัน
ขั้นตอนที่ 2: เขียน Canonical ให้ถูกรูปแบบ
<link rel="canonical" href="https://example.com/product/" />
กฎที่ต้องทำตาม
- ใช้ URL แบบเต็ม เสมอ รวมโพรโทคอลและโดเมน ไม่ใช้พาธสัมพัทธ์
- ใส่ไว้ใน
<head>เท่านั้น หากอยู่ใน<body>Google จะไม่สนใจ - มีได้แท็กเดียวต่อหน้า หากมีหลายอัน Google จะไม่สนใจทั้งหมด
- ต้องชี้ไปยังหน้าที่ตอบ 200 ไม่ใช่หน้าที่ redirect หรือ 404
- เรื่องเครื่องหมายทับท้าย URL ต้องสอดคล้องกันทั้งเว็บ
ทุกหน้าควรมี Canonical แม้เป็นหน้าที่ไม่มีเวอร์ชันซ้ำ โดยชี้ไปที่ตัวเอง วิธีนี้ป้องกันปัญหาจากพารามิเตอร์ที่อาจถูกเพิ่มเข้ามาภายหลัง
ขั้นตอนที่ 3: กรณีที่พบบ่อยและวิธีจัดการ
พารามิเตอร์ติดตาม
/product?utm_source=facebook ควรมี canonical ชี้ไป /product ซึ่งปลั๊กอิน SEO ส่วนใหญ่ทำให้อัตโนมัติ
หน้าแบ่งหน้า
หน้า 2 ของรายการสินค้าควร canonical ชี้ไปที่ตัวเอง ไม่ใช่หน้า 1 การชี้กลับไปหน้า 1 ทำให้สินค้าในหน้าหลัง ๆ ไม่ถูกเก็บดัชนี
<!-- ที่ /products/page/2/ -->
<link rel="canonical" href="https://example.com/products/page/2/" />
สินค้าที่อยู่หลายหมวด
เลือกหมวดหลักหนึ่งหมวดเป็นตัวจริง แล้วให้ URL อื่นชี้มาที่นั่น ทางที่ดีกว่าคือออกแบบให้สินค้ามี URL เดียวตั้งแต่ต้น
สินค้าที่ต่างกันแค่สี
หากเนื้อหาเกือบเหมือนกันทั้งหมด ให้ canonical ชี้ไปตัวหลัก แต่หากแต่ละสีมีรายละเอียดและรูปต่างกันชัดเจน ควรให้แต่ละหน้าเป็นอิสระ
เวอร์ชันพิมพ์หรือ AMP
ชี้ canonical กลับไปหน้าปกติเสมอ
ขั้นตอนที่ 4: ตั้งใน WordPress
ปลั๊กอิน SEO ทุกตัวจัดการให้อัตโนมัติ ตรวจว่าไม่ได้มีสองปลั๊กอินใส่พร้อมกัน
curl -sL https://example.com/product/ | grep -c 'rel="canonical"'
ผลควรเป็น 1 หากได้ 2 ให้ปิดปลั๊กอินตัวใดตัวหนึ่งหรือปิดฟีเจอร์ canonical ของธีม
เขียนเองเมื่อจำเป็น
// ตั้ง canonical เฉพาะหน้าที่ต้องการ
add_filter('wpseo_canonical', function ($canonical) {
if (is_singular('product') && isset($_GET['variant'])) {
return get_permalink();
}
return $canonical;
});
ขั้นตอนที่ 5: ตั้งผ่าน HTTP Header สำหรับไฟล์ที่ไม่ใช่ HTML
ไฟล์ PDF และรูปภาพใส่แท็กใน head ไม่ได้ ใช้ header แทน
location ~* \.pdf$ {
add_header Link '<https://example.com/brochure/>; rel="canonical"' always;
}
curl -sI https://example.com/files/brochure.pdf | grep -i link
ขั้นตอนที่ 6: เลือกระหว่าง Canonical กับ 301
สองอย่างนี้แก้ปัญหาต่างกัน
- ใช้ 301 Redirect เมื่อ URL เก่าไม่ควรเข้าถึงได้อีก เช่น ย้ายจาก www ไปไม่มี www หรือเปลี่ยน URL ของหน้า วิธีนี้เด็ดขาดกว่าและส่งต่อคะแนนได้ดีกว่า
- ใช้ Canonical เมื่อ URL ทั้งสองต้องเข้าถึงได้จริง เช่น พารามิเตอร์กรองสินค้าที่ผู้ใช้ต้องใช้งาน
สำหรับ www และโพรโทคอล ใช้ 301 เสมอ ไม่ใช่ canonical
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
ขั้นตอนที่ 7: ตรวจสอบและติดตามผล
ใช้เครื่องมือ URL Inspection ใน Search Console ใส่ URL ที่ต้องการตรวจ ดูหัวข้อ Page indexing จะเห็นสองค่า
- User-declared canonical คือสิ่งที่คุณตั้งไว้
- Google-selected canonical คือสิ่งที่ Google เลือกจริง
หากสองค่านี้ไม่ตรงกัน แปลว่า Google ไม่เชื่อสิ่งที่คุณบอก สาเหตุที่พบบ่อยคือหน้าที่ชี้ไปมีเนื้อหาต่างจากหน้านี้มาก มีลิงก์ภายในชี้ไปยัง URL อื่นมากกว่า หรือ Sitemap ระบุ URL ที่ไม่ตรงกับ canonical
ตรวจความสอดคล้องทั้งสามจุดเสมอ
- Canonical ในหน้า
- URL ใน Sitemap
- ลิงก์ภายในที่ชี้มาที่หน้านี้
# ตรวจว่า URL ใน sitemap ตรงกับ canonical
curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' | head -20
ปัญหาที่พบบ่อย
Google เลือก canonical ไม่ตรงกับที่ตั้ง
ตรวจว่าลิงก์ภายในทั้งหมดชี้ไปยัง URL เดียวกับ canonical และ Sitemap ระบุ URL เดียวกัน สัญญาณเหล่านี้มีน้ำหนักมากกว่าแท็กเพียงอย่างเดียว
Canonical ชี้ไปหน้าที่ redirect
ทำให้ Google สับสน ตรวจว่า URL ที่ชี้ไปตอบ 200 โดยตรง
curl -sI https://example.com/product/ | head -1
หน้าหายจากผลค้นหาหลังตั้ง canonical
อาจชี้ผิดไปยังหน้าอื่น ทำให้ Google รวมหน้านั้นเข้ากับหน้าที่ชี้ไป ตรวจทุกหน้าที่ได้รับผลกระทบด้วย URL Inspection
มี canonical หลายอันในหน้าเดียว
เกิดจากธีมและปลั๊กอินใส่พร้อมกัน ตรวจด้วยคำสั่งในขั้นตอนที่ 4 แล้วปิดตัวใดตัวหนึ่ง
ต้องการให้ทีมงานช่วยตรวจสอบโครงสร้าง SEO ของเว็บ ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








