& amp; ในลิงก์แผนผังไซต์ถูกต้องหรือไม่


17

คำถามง่าย ๆ ฉันแค่ขอให้แน่ใจ

เครื่องมือสร้าง Sitemap ของ Google สร้าง sitemap.txt ให้กับลิงก์ที่เขียนดังนี้:

http://www.domain.com/category.htm?name=some-name&cat_id=8

มันถูกต้องหรือไม่ที่จะใช้&ลิงก์เหล่านี้แทนที่&หรือเป็นเพียงข้อผิดพลาดที่เกิดขึ้นจากตัวสร้าง Sitemap?

ขอบคุณ

คำตอบ:


11

ถูกต้อง. มันเป็นเอนทิตี HTML สำหรับเครื่องหมายและ ( &) และเป็นตัวแทนตัวละครที่เหมาะสมของมันใน URL ที่เข้ารหัสอย่างถูกต้อง เครื่องหมายและ ( &) และรวมถึง<และ>เป็นอักขระพิเศษใน XML และ HTML และจำเป็นต้องแสดงโดยใช้เอนทิตีอักขระพิเศษของพวกเขา


คุณแน่ใจหรือว่าแอมเปอร์แซนด์ทั้งหมดต้องถูกหลบหนีเอนทิตี ฉันคิดว่าเป็นเพียงการแยกพารามิเตอร์ในสตริงการสืบค้น ฉันได้หลบหนีแอมป์แซนด์ภายในชื่อไฟล์หรือโฟลเดอร์หรือในพารามิเตอร์ด้วยตนเองโดยใช้การเข้ารหัสเปอร์เซ็นต์ ( %26): เช่นhttp://foo/a%26r.php?foo=1&amp;genre=r%26b
Lèsemajesté

ฉันไม่แน่ใจเกี่ยวกับการเข้ารหัสเปอร์เซ็นต์ที่ถูกต้องหรือไม่ดังนั้นฉันไม่สามารถพูดได้อย่างแน่นอน
John Conde

@ Lèse - เพราะมันเป็นเอกสาร XML จะต้องมีการหลบหนีเว้นแต่คุณจะใช้CDATAโหนด (สังเกตว่า bdadam พูดในสิ่งเดียวกัน แต่เร็วกว่าฉันมาก)
Mark Henderson

>ไม่จำเป็นต้องเข้ารหัสเอนทิตีใน XML อย่างเคร่งครัด
MrWhite

6

ไฟล์ Sitemap ของคุณต้องมีการเข้ารหัส UTF-8 (โดยทั่วไปคุณสามารถทำได้เมื่อคุณบันทึกไฟล์) เช่นเดียวกับไฟล์ XML ทั้งหมดค่าข้อมูลใด ๆ (รวมถึง URL) จะต้องใช้รหัสยกเว้นเอนทิตีสำหรับตัวละคร

สิ่งนี้อาจช่วยได้http://sitemaps.org/protocol.php


น่าเสียดายที่ลิงค์นี้เสียไปแล้ว
mtness

2

คุณยังสามารถโน้มน้าวตัวเองด้วยการตรวจสอบ

คุณไม่สามารถโต้แย้งกับหน้าโปรโตคอล xml อย่างเป็นทางการของ :)


2

Google ปฏิเสธแผนผังเว็บไซต์เสียถ้ามันมี & อักขระใน URL ยอมรับเมื่อคุณแทนที่ & ด้วย & amp;

แต่: หากคุณตรวจสอบรายการข้อผิดพลาดในการรวบรวมข้อมูลในเครื่องมือผู้ดูแลเว็บของ Google ในภายหลังจะรายงาน URL นี้ของไฟล์ Sitemap ว่าใช้งานไม่ได้เนื่องจากมี & amp; แทน &.

ดังนั้นทางออกที่ถูกต้องคือเปลี่ยน URL โดยที่ไม่มี & หรือรายงานสิ่งนี้ว่าเป็นข้อผิดพลาดแก่ Google


1

การเข้ารหัส URL และการเข้ารหัสเอนทิตี XML ไม่เหมือนกัน คุณต้องการการเข้ารหัส URL เพื่อแทนที่อักขระพิเศษใน URL เช่น & ที่สามารถใช้สำหรับการแยกพารามิเตอร์การสืบค้นเท่านั้น การเข้ารหัสเอนทิตี XML ใช้สำหรับการเข้ารหัสอักขระพิเศษใน XML (เช่น XHTML) ซึ่งหมายความว่าหากคุณมี URL ในไฟล์ XML (หรือ XHTML) และ URL นี้มี & อักขระบางตัวคุณต้องเข้ารหัสเอนทิตีไปที่ & amp; ดังนั้นใน sitemap.xml คุณจะมี URL เหมือนในคำถามจาก Marco Demaio

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.