Простой вопрос, я спрашиваю, просто чтобы убедиться.
Генератор карты сайта Google сгенерировал файл sitemap.txt со ссылками, написанными так:
http://www.domain.com/category.htm?name=some-name&cat_id=8
Правильно ли использовать &
эти ссылки вместо &
или это просто ошибка, допущенная генератором карты сайта?
Благодарю.
%26
): например,http://foo/a%26r.php?foo=1&genre=r%26b
CDATA
узел (только что заметил, что bdadam сказал то же самое, но гораздо раньше меня)>
не нужно строго кодировать сущность в XML.Ваш файл Sitemap должен быть в кодировке UTF-8 (обычно это можно сделать при сохранении файла). Как и во всех XML-файлах, любые значения данных (включая URL-адреса) должны использовать escape-коды объекта для символов.
Это может помочь, http://sitemaps.org/protocol.php
источник
Вы также можете убедить себя, проверив
Вы не можете спорить с официальной страницей протокола XML Sitemap :)
источник
Google отклоняет карту сайта как поврежденную, если в URL-адресе есть символ &. Он принимает его, когда вы заменяете & на & amp;
НО: если вы позже проверите список ошибок сканирования в инструменте Google для веб-мастеров, он сообщит, что этот URL-адрес файла карты сайта поврежден, поскольку он содержит & amp; вместо того &.
Таким образом, правильным решением является изменение URL-адреса таким образом, чтобы он не содержал &. Или сообщите об этом как об ошибке в Google.
источник
URL-кодирование и кодирование сущности XML - это не одно и то же. URL-кодировка необходима для замены специальных символов в URL-адресах, таких как &, которые можно использовать только для разделения параметров запроса. Кодировка сущности XML предназначена для кодирования специальных символов в XML (также XHTML). Это означает, что если у вас есть URL-адрес в файле XML (или XHTML), и этот URL-адрес содержит некоторые символы &, вы должны кодировать его в & amp ;. Так что в sitemap.xml у вас будут URL, как в вопросе от Марко Демайо.
источник