Fulltext Seznamu neumí pracovat se znakem + (plus) v URL

Nedávno psal Pavel Ungr na blogu H1.cz o tom, jak je nový fulltext Seznamu díky nasazení nového robota ne/povedený. Dnes jsem si všiml dalšího nedostatku, kterým trpí vyhledávání. Seznam v SERPu zobrazuje URL, která obsahují znak “+” bez tohoto symbolu. Zaindexovat pro něj takovou stránku není problém, chyba bude zřejmě “pouze” v konečném naservírování uživateli. Ptáte se, jestli je vůbec možné, aby byl znak “+” v URL? Podle RFC 1738 je tento symbol legitimní částí URL (viz sekce 2.1).

Praktický příklad

Problém mohou mít především ty weby, kde se URL generují automaticky z názvů položek, kde se znak “+” vyskytuje. Typicky to jsou realitní servery, kde jsou v nabídce například byty 1+1, 1+kk apod. URL je tak může vypadat například www.example.cz/byt-1+1-na-prodej. Jak se k tomu zachová SERP Seznamu vidíte na následujícím obrázku, případně když si vyhledáte příslušné byty na konkrétním realitním serveru, který symboly “+” v URL používá. Zkuste si na jakýkoli výsledek v SERPu kliknout, dostanete buď chybovou stránku nebo se parametr s velikostí bytu (tedy např. 1+1) nebude zohledňovat. Nyní si zkopírujte URL, která je v SERPu zobrazená a místo bílého místa zadejte znak “+”. Bingo! Dostali jsme funkční URL, která by měla být správně zobrazena i v Seznam SERPu.

Google tímto neduhem netrpí.

Ukázka SERPu vyhledávače Seznam

Jak to řešit

Možnosti jsou nyní jen dvě:

  1. upravit informační systém, aby symbol “+” do URL nedával a nahradil ho například pomlčkou (“-“) – v tomto případě nezapomeňte přesměrovat pomocí stavového HTTP kódu 301 na novou stránku
  2. čekat, až programátoři Seznamu chybu opraví 🙂

Máte s tímto problémem zkušenosti, případně další tipy, jak jej řešit? Podělte se v komentářích.

Ne/souhlasíte s článkem? Přidejte komentář nebo si uložte RSS feed.
Fulltext Seznamu neumí pracovat se znakem + (plus) v URL by

4 komentáře u „Fulltext Seznamu neumí pracovat se znakem + (plus) v URL“

  1. Jakub: Znak “+” právě není rezervovaný symbol, je to speciální znak, který může být použit v URL nezakódovaný. Viz také věta z RFC nebo z článku, který jste posílal “…Only alphanumerics [0-9a-zA-Z], the special characters “$-_.+!*'(),” [not including the quotes – ed], and reserved characters used for their reserved purposes may be used unencoded within a URL.”

    Stejný “význam” jako znak “+” má také pomlčka “-” nebo podtržítko “_”, které se také nekóduje. Chybu tedy stále vidím na straně Seznamu.

  2. Myslim, ze prave on “purpose” pro znak plus v “reserved characters used for their reserved purposes” je nahrazeni mezery, ktera povolena neni.
    Napriklad v http://tools.ietf.org/html/rfc3986#section-2.3 je videt, ze plus neni mezi znaky bez specialniho vyznamu. Jeste bych pridal, ze v sekci 2.1 RFC 1738 se mluvi pouze o znacich pripustnych v scheme casti URL.

    Kazdopadne je ukolem Seznamu poskytnout rozumne vysledky vyhledavani, takze by to bud meli kompenzovat nejen v robotovi, ale v hledani, nebo ty stranky teda “zaindexovat” jako neexistujici.

  3. RFC, které jste teď poslal je k URI, což je (pokud se nemýlím) nadmnožina URL tj, URI je obecnější než URL, takže to, co platí pro URI, by to mělo platit i pro URL. Ale v RFC pro URL je znak “+” mezi “povolenými”. Abych pravdu řekl, nepatřím mezi ty, kteří by si RFC četli po večerech, takže, zda se správně může nebo nemůže znak “+” v URL objevit je mi nyní trochu záhadou.

    Každopádně je pravda, že když už Seznam dokument s “+” v URL zaindexuje, tak by ho měl i správně zobrazit v SERPu.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Zasílejte mi informace o nových komentářích. Přihlaste se k odběru i bez přidání komentáře.