& amp; у посиланнях на мапу сайту вони правильні?


17

Просте запитання, яке я прошу просто переконатися.

Генератор Sitemap Google генерував файл sitemap.txt fle з такими посиланнями:

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

чи правильно використовувати &ці посилання замість цього &або це просто помилка, допущена генератором мапи сайту?

Спасибі.

Відповіді:


11

Це правильно. Це сутність HTML для ampersand ( &) і є належним представленням символів у правильно закодованій URL-адресі. Ampersands ( &), а також <і >є спеціальними символами в XML та HTML, і їх потрібно відображати за допомогою їх спеціальних об'єктів символів.


Ви впевнені, що всі амперсанди повинні бути відхилені від сутності? Я думав, що це стосується лише тих розділюючих параметрів у рядках запитів. Я завжди уникав амперсандів у назвах файлів чи папок або в самих параметрах, використовуючи відсоткову кодування ( %26): наприкладhttp://foo/a%26r.php?foo=1&amp;genre=r%26b
Lèse majesté

Я не впевнений, що кодування відсотків є дійсним чи ні, тому не можу сказати точно.
Джон Конде

@ Lèse - оскільки це XML-документ, його потрібно уникати, якщо ви не використовуєте CDATAвузол (щойно помітив, що bdadam сказав те саме, але набагато раніше, ніж я)
Марк Хендерсон,

>не потрібно суворо бути кодованим у XML.
MrWhite

6

Ваш файл Sitemap повинен бути закодованим UTF-8 (як правило, ви можете це робити, коли ви зберігаєте файл). Як і у всіх XML-файлах, будь-які значення даних (включаючи URL-адреси) повинні використовувати коди евакуації об'єктів для символів.

Це може допомогти, http://sitemaps.org/protocol.php


На жаль, це посилання зараз мертве.
mtness


2

Google відхиляє мапу сайту як розбиту, якщо вона містить символ & URL в URL-адресі. Він приймає його, коли ви замінюєте & & amp;

АЛЕ: якщо пізніше перевірити список помилок сканування в інструменті веб-майстрів Google, він повідомить про цю URL-адресу файлу мапи сайту як про порушену, оскільки він містить & amp; замість &.

Таким чином, правильним рішенням є зміна URL-адреси таким чином, щоб вона не містила &. Або повідомте про це як про помилку в Google.


1

Кодування URL-адрес та кодування сутності XML - це не одне і те ж. Для заміни спеціальних символів у URL-адресах потрібне кодування URL-адрес, таких як &, які можна використовувати лише для поділу параметрів запиту. Кодування сутності XML призначене для кодування спеціальних символів у XML (також XHTML). Це означає, що якщо у вас є URL-адреса у файлі XML (або XHTML), і ця URL-адреса містить деякі & символи, вам потрібно кодувати її до & amp ;. Тож у sitemap.xml ви матимете URL-адреси, як у запитанні від Марко Демайо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.