Ako sa zbaviť _fid v url ak sa nemýlim

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

Ja som tu nový, tak ak budem trepať tak ma zastavte.
Som narazil tak ako aj iný na _fid v url a chcel som sa ho zbaviť. Tak som začal hľadať na fóre riešenie a našiel som spomínané vlákno. Riešeniam, ktoré som tam našiel som moc nerozumel, tak som skúsil vymyslieť vlastné.
Vlastne by to malo za následok úplné odstránenie _fid z url.
Fungovalo by to na princípe:

$presenterNameSess = $this->getSession('presenterName:default');
$presenterNameSess->flashes[] = 'toto je flashka pre presenterName:default';

a daný presenter(vlastne framework) by si proste zavolal
$flashes = $this->getSession('presenterName:default');

Proste by metóda flashMesage() nastavila session premennú podľa názvu presenteru a akcie, ktorému je určená. No a každý presenter by si prečítal len svoje vlastné flashMessages. Nikto by nikomu neliezol do zelí a _fid by už hádam nebolo potrebné. Či čo sa deje?

mkoubik
Člen | 728
+
+2
-

To by nefungovalo pokud máš v několika tabech otevřenou stejnou akci stejného presenteru.

Čamo
Člen | 786
+
0
-

Asi si také niečo neviem predstaviť. Čo by na tom nefungovalo?

mkoubik
Člen | 728
+
+1
-

To _fid v URL slouží k jednoznačné identifikaci tabu v prohlížeči, identifikace podle presenteru a akce nestačí. Když bys měl otevřenou víckrát stejnou stránku tak by se mohlo stát, že se flash message zobrazí v jiném tabu, než do kterého patří (v tom, který refreshneš jako první).

Editoval mkoubik (8. 6. 2014 12:57)

Čamo
Člen | 786
+
0
-

Ako by sa mohla flash mesage zobraziť v inom tabe? Nanajvýš sa ak tak zobrazí aj v inom tabe. Ale to nevidím ako problém, hlavne v tom zmysle, že si dosť dobre neviem predstaviť, že by som mal otvorenú jednu akciu vo viacerých oknách(ale budiš).

EDIT:
Už si to viem predstaviť, ale problém v tom stále nevidím.
Dalo by sa to implementovať ako voliteľné chovanie nie?

Editoval Čamo (8. 6. 2014 13:06)

Filip Procházka
Moderator | 4668
+
+2
-

Tady to máš názorně vysvětlené: https://www.youtube.com/watch?…
Nesnaž se _fid zbavit, má to svůj velice dobrý důvod k existenci, viz video.

Vůbec ničemu to nevadí a pokud ti to tak strašně trhá žíly, že s tím nedokážeš existovat, tak použij tohle rozšíření do nette.ajax.js (které mimochodem odstraňuje to _fid i z ne-ajaxových requestů) a v moderních prohlížečích (které podporují browser history api) se bude _fid automaticky skrývat.

mkoubik
Člen | 728
+
-1
-

A vzhledem k tomu, že stále více prohlížečů bude před uživatelem skrývat stále větší část URL (směrem od konce) bych tohle v roce 2014 fakt neřešil.

Čamo
Člen | 786
+
0
-

Filp Procházka:
To video je tak trochu mimo nie?(Je tam pre tri rôzne adresy tá istá session.)
Ja to neriešim preto, že mi to „trhá žily“, ale preto, že takú adresu niekto môže použiť ako odkaz. Ide mi o duplicity v odkazoch.

mkoubik:
Stále je rok 2014 a duplicity sú aktuálne. Tu nejde o prehliadače, ale o vyhľadávače.

mrtnzlml
Člen | 140
+
+1
-

Tohle vlákno mě fakt nasralo, protože jsem zjistil, že mám blbě implementovaný Disqus a _fid mi v tom dělá velký bordel… (-: Čert to vem, ale proč nefunguje přesměrování při neexistujícím _fid viz odkaz zde?

BTW: Na fóru teď nefunguje náhled, zpráva prostě jen zmizí (Chrome)…

mkoubik
Člen | 728
+
+2
-

Čamo napsal(a):
To video je tak trochu mimo nie?(Je tam pre tri rôzne adresy tá istá session.)

Tři adresy tam jsou pro názornost, že se tam opravdu zobrazí jiná zpráva než měla. Fungovalo by to i se stejnou adresou ve třech oknech, pokud bys tam vypisoval náhodný řetězec nebo timestamp, jen by nebylo na první pohled vidět, že ta zpráva patří jinam.

mkoubik:
Stále je rok 2014 a duplicity sú aktuálne. Tu nejde o prehliadače, ale o vyhľadávače.

Premature SEO is the root of all evil. Cílem vyhledávačů je servírovat uživatelům relevantní weby – měj tedy na webu relevantní obsah a pak bude Google vší silou usilovat o to, aby tvůj web byl na prvních pozicích. Tohle ladění bylo in tak před deseti lety, ne?

Edit: nehledě na to, že „duplicity“ lišící se v části za otazníkem jsou ok, protože query string se často používá na různé filtrování, které může z podstaty věci pro různé dotazy vracet stejný výsledek.

mrtnzlml napsal(a):

BTW: Na fóru teď nefunguje náhled, zpráva prostě jen zmizí (Chrome)…

+1

Editoval mkoubik (8. 6. 2014 15:46)

Čamo
Člen | 786
+
0
-

mkoubik:
No ak je to tak, že pri SEO na query stringu nezáleží(asi to nesledujem dosť dôkladne), tak máš pravdu. Len ten tvoj argument sa mi nezdá. Lebo „z podstaty veci“ môže byť práve kôli query stringu obsah stránky úplne odlišný? Nedáva to zmysel.

Príklad: User edituje článok a po submite sa dostanem na adresu article/show/21/?_fid…
A túto adresu si skopíruje a niekde vylepí, aby ju bolo vidieť.

PS:Čo je to premature SEO?

Editoval Čamo (8. 6. 2014 15:59)

mkoubik
Člen | 728
+
0
-

Čamo napsal(a):

PS:Čo je to premature SEO?

https://www.google.cz/search?…

Filip Procházka
Moderator | 4668
+
+3
-

Čamo napsal(a):

To video je tak trochu mimo nie?(Je tam pre tri rôzne adresy tá istá session.)

Jde o demonstraci stejného problému.


  1. dej na odkazy se signály rel=nofollow, ať na ně google nekliká
  2. google nemá co lézt na odkazy které generují flashky, tedy přepínače a editace a delete odkazy
  3. Použíj <link rel="canonical"> pro stránky s _fid https://support.google.com/…nswer/139066?…
  4. použij nette.ajax.js plugin který pomocí history.api vyhodí _fid z url u uživatele

Problem solved.

Majkl578
Moderator | 1364
+
0
-

Filip Procházka napsal(a):

  1. google nemá co lézt na odkazy které generují flashky, tedy přepínače a editace a delete odkazy

Flashky může generovat kdeco, i klik na prázdnou kategorii nebo tak něco.