Hezká URL, sitemap a vyhledávače

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Krupička
Člen | 45
+
0
-

Ahoj, potřeboval bych trochu pomoct s hezkýma url. Url řeším tak, že ke každému článku mám uložené jeho url v db. Například pro článek „Vítejte na mém blogu“ mám uložené „vitejte-na-mem-blogu“.

Router mám nastavený tak, že zobrazí url/p-id url se mění p znamená že jde o stránku.

Presenter mám jako renderDetail(url, id) pokud je url prázdné, vezme se z databáze a redirectne se na stejnou stránku ale už s url, takže se vykreslí.

Dál mám vykreslovanou sitemap.xml kde jsou přesně dané odkazy i s url.

www.oceantutorials.com/sitemap.xml

Ale google mi nezobrazuje www.oceantutorials.com/…-clanku/p-10 ale www.oceantutorials.com/p-10

Jak byste toto opravili? Nebo existuje nějaké lepší řešení, a já to řeším moc prasácky? Díky za každou pomoc.

PS: jde to vidět když zadáte do googlu například „nette překlady 1 díl“

Myiyk
Člen | 321
+
0
-

Při každém zobrazení článku musíš ověřit, jestli je URL správná.
Podle id si najít článek a ověřit, zda se text z url „nette-preklady-navod“ shoduje s tím, co je v DB.

David Krupička
Člen | 45
+
0
-

Zkusím to ale podle mě bude chyba někde jinde. Jestli mám podmínku !empty($url) nebo $url=… tak to ze strany vyhledávače bude pořád stejné.

Myiyk
Člen | 321
+
+2
-

Jak vidím kolik lidí řeší cool url/hezké url, mám v plánu v blízké době zveřejnit doplněk.

Myiyk
Člen | 321
+
+1
-

David Krupička napsal(a):

Zkusím to ale podle mě bude chyba někde jinde. Jestli mám podmínku !empty($url) nebo $url=… tak to ze strany vyhledávače bude pořád stejné.

Problém je, že google se jednou nějak dostane na tu adresu a nepustí ji, dokud bude stránka vracet kód 200 (nebude vracet přesměrování, ani stránka nenalezena atd.)

Musíš tedy udělat přesměrování ze špatných adres. Google to pochopí a vezme tu novou.

David Krupička
Člen | 45
+
0
-

Aha, takže stačí redirect 301. Já jsem myslel že 301 je defaultně nastavené pro redirect. Ten doplněk by se hodil :)