Hromadné přesměrování URL

Bong
26. zář 2017 08:50 #132397
Stará J1.5 běžela s JoomSEF, kde bylo zakázané zobrazování sekcí a kategorií v adrese a výsledný tvar URL byl vždy:

domena.cz/nazev-clanku.html

V nové J3.x už JoomSEF tyto parametry nemá, takže URL jsou prakticky shodné s Joomlou. A JoomSEF se chci stejně zbavit. V URL je uvedena kategorie a podkategorie (nebo dle menu):

domena.cz/kategorie/podkategorie/nazev-clanku.html

Potřebuji nějaké elegantní řešení pro hromadné přesměrování z původních adres na nové, kvůli vyhledávačům a podobně.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
26. zář 2017 12:06 #132400
Čistě teoreticky - J3.8 by měla umět vynechávat ID článků z URL. Pokud by homepage byla např. blog, nebo featured, pak by s touto možností stará url mohla odpovídat těm novým, resp. zobrazil by se správný článek. Jen mně to tak napadlo, zatím jsem nezkoušel...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
26. zář 2017 18:48 - 26. zář 2017 19:01 #132402
Podobně jsem také uvažoval, ale nefunguje to.
Jediné co funguje, je vytvořit pro článek samostatnou položku menu.

Šlo by využít přesměrování na nové adresy v .htaccess nebo Přesměrování Joomly.
U malých webů to není problém, ale mám tu 10000 článků.

Už mě napadá jen nějaké hrábnutí do kódu, nebo (pokud to bude fungovat) povypínat v současné verzi s JoomSEF nezobrazování sekcí a kategorií v URL a nechat to chvíli běžet, než si vyhledávače přeindexují...
Jenže, pouhé přepnutí mi ze starých krátkých URl přesměrování 301 na nové nezařídí. Původní budou nadále fungovat.

Jestli to má vůbec cenu se tím zabývat... prostě přejít na novou verzi a hotovo.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
26. zář 2017 22:55 #132403
U 10 tisíc přesměrování v htaccess bych se obával výkonu, na to podle mně htaccess stavěný není. To už radšíi to přesměrování v Joomle. Nějak to vyexporotvat z JoomSef, včetně ID článků, "dogenerovat" aktální url a přes phpMyAdmin nahrát do databáze...

Teoreticky by asi šel napsat nějaký plugin, varianta interního pluginu pro přesměrování - při chybě 404 by se snažil dohledat článek dle URL a aliasu a případně přesměroval...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
26. zář 2017 23:11 - 26. zář 2017 23:12 #132404
Právě jsem u hledání podobných pluginů (Direct Alias, Route 66,...).
Ale nějak je nemohu donutit generovat čistě domena.cz/nazev-clanku.html. Vždycky tam je něco navíc a nebo končí na 404.
Třeba jen dobře nechápu jak pracují. Dám vědět výsledek.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. zář 2017 00:56 #132406
Já to myslel spíš opačně. Tj. nesnažit se vytváře nová URL v nové Joomle, ale odchytávat stará a pro ty se snažit najít přesměrování.

Plugin přeměrování funguje tak, že pokud by mělo dojít k zobrazení chyby 404 (tj. router Joomly nenajde odpovídající URL), podívá se do databáze přesměrování, a když v ní najde aktuální URL tak přesměruje.

Pokud by se napsal plugin, který by se místo kouknutí do databáze přesměrování pokusil dohledat článek dle aliasu, a pokud by jej našel tak přesměroval na novou adresu článku, bylo by asi pořešeno. Nevím ale nakolik odpovídají aliasy těm starým URL. Pokud by neodpovídaly, vyžadovalo by to ještě při převodu nějaké dokopírování starých URL např. do pole Externí odkaz u článků - to pole nemá žádnou spec. funkci ani určení.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
30. zář 2017 04:30 #132437
Snažit se cokoli zachovat se nakonec ukázalo, jako zdroj dalších problémů. Duplicitní titulky článků, část aliasů ignorujících znaky s diakritikou, nevhodně vytvořená menu a JoomSEF, to je koktejl přímo smrtící...

Nakonec jsem to vyřešil následovně:

- duplicitní titulky v článcích byly upraveny
- ve veškerém přeneseném obsahu byly kompletně vygenerovány nové aliasy
- ze staré databáze JoomSEF se vytvořila převodová tabulka, která se nahrála do Přesměrování - Hromadné přidávání nových URL

Nakonec šlo vystačit s prostředky v administraci Joomly, phpMyAdminem a Excelem. Při zběžném otestování to funguje bezvadně. Případné chybky se vychytají při ostrém provozu (objeví se ve výpisu Přesměrování).

Díky Cony za nápady!

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.