K tématu mezer v URL se vyjádřil John Mueller na svém Google plus profilu. Lidi mu pravidelně pokládají otázku jak se Google staví k mezerám a jejich různých alternativách v URL. Zdali používat klasicky %20, + anebo prostě klasickou mezeru.
use "+" or "%20" in the query-string, use "%20" within the rest of the URL.
Takže v query string, což je část URL obsahující klíč a hodnotu (nachází se za značkou otazníku ?), máme používat %20 anebo +.
Ve všech ostatních případech pak doporučuje použít %20 (což je v podstatě encodovaná mezera).
Příklad použití v query string
TEXT
doména.tld/forum.php?tema=jak%20na%20domeny
anebo
TEXT
doména.tld/forum.php?tema=jak+na+domeny
Příklad použití ve zbytku URL
První příklad je zahrnuje použití v adresářové struktuře anebo u SEO friendly URL, generované většinou pomocí .htaccess. Většina redakčních systémů to umí generovat správně, ale pokud si budete vytvářet vlastní něco vlastního, tak je třeba na to dávat pozor.
TEXT
doména.tld/forum/tema/jak%20na%20domeny/
Další varianta je pak použití přímo v názvu souboru.
TEXT
doména.tld/kontakt%20na%provozovatele.html
Další alternativy
Jak se můžete dočíst v diskuzi pod příspěvkem, tak vhodnou alternativou jsou pomlčky. Ty se používají už nějaký ten pátek a myslím si, že je jak Google tak Seznam berou a umí rozlišovat. Osobně u nich i nadále zůstanu. Výjimkou jsou samozřejmě query string, tam se bez encodovaných řetězců asi neobejdete.
Závěr
Když jsem začínal s tvorbou webů a programováním, v době vytáčecích modemů, tak jsem třeba používal místo mezer podtržítka. Určitě jsem nebyl sám :)
Dnes budou aktuální spíše ty + ve struktuře URL. Pokud například generujete adresářovou strukturu URL z proměnné přes .htaccess, můžete tam teoreticky nechtěně ten plus dostat. Správně je jen %20. Viz druhý příklad, kde by: