web-dev-qa-db-fra.com

Bingbot code des caractères non-ASCII dans les URL avec une barre oblique inverse x plutôt que pour cent

Nous avons des URL de hashbang avec des caractères utf-8 étendus. Par exemple:

https://example.com/#!каталог

Bing bot récupère l'instantané html https://example.com?_escaped_fragment_=каталог URL codée sous la forme \xD0\xB0.... Notre serveur a répondu avec une erreur 400 pour cela. Ils n'acceptent que les URL encodés en pourcentage. %D0%B0... obtiendrait le statut 200 OK.

Comment puis-je résoudre ce problème?

par exemple: enter image description here

6
ts.tsogtgerel

Vous devez encoder le nom de l’image avant de l’indexer pour rechercher des robots, c’est-à-dire que le nom de l’image doit correspondre à %2F%D0%B7%D1%83%D1%80%D0%B0%D0%B3.jpg dans le code source de votre page. Tous les navigateurs modernes le décodent et les utilisateurs montreront les caractères UTF-8 d’une manière conviviale.

Alors, codez côté serveur et encodez tous ces caractères avant de les inclure dans votre code source.

Consultez le code source de cette page Wikipedia et vous comprendrez: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80% D0% B0% D0% BC% D0% BC% D0% B0_% D1% 80% D0% B0% D0% B7% D0% B2% D0% B8% D1% 82% D0% B8% D1% 8F_% D0% 9E% D0% 9E% D0% 9D

Mise à jour: Après une analyse approfondie du site Web et des commentaires d'autres utilisateurs StackExchange ci-dessous. Il semble que vous deviez coder toutes vos URL dans votre site Web et votre sitemap XML. Sur votre site Web, vous n'avez pas d'URL codées, ni d'URL codées dans un sitemap XML. Veuillez utiliser des URL encodées UTF-8 partout. N'oubliez pas que Bingbot se situe loin derrière Googlebot et qu'il a récemment commencé à rendre le site Web basé sur JS à une plus grande échelle. L'utilisation de caractères non-ASCII pourrait causer des bogues pour Bingbot.

Les URL de votre code source et de votre DOM, ainsi que de votre sitemap XML, doivent être codées comme suit, en vous basant sur votre exemple:

https://example.com/#!%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3

Ici vous pouvez en savoir plus sur le bon encodage du sitemap: https://www.sitemaps.org/protocol.html#escaping

5
gintsg

Vous avez probablement besoin de urlencode images src attribut dans <img> balises html.

0
iv12345