Diskuze: URl název titulku
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 23 zpráv z 23.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Co takhle použít urlencode?
http://php.net/…rlencode.php
myslím, že je to bezpečnější, než mít explicitně určené znaky.
Jinak proč bys do url přidával zároveň i ID? ID musíš mít přeci
uložené již v jiném sloupci, takže při generování odkazu budeš brát
data z url a ID a spojíš je za sebe, stejně tak budeš vyhledávat.
Duplicitní informace by se v databázi vyskytovat neměli.
Máš pravdu, to připojím až potom asi zvlášť
Ale urlencode ukládá nějaké takovéto nesmysl (n%C4%9Bjak%C3%BD+titulek) - původné titulek který se předělal byl "nějaký titulek".. asi zůstanu u toho svého "editoru" url a připojím nějak ID
Vytvoř rovnou seo url (Takže i nový sloupec) při ukládání do db a přiřaď id k ní, pokud se najde duplicitní hodnota.
Duplicitní informace by se v databázi vyskytovat neměli.
Jak v kterých případech, u článků, inzerátů či novinek v tom nevidím problém.
Tak zatím vytvářím URL přímo z titulku a jako odkaz k detailu je inzerat/url titulek/id inzerátu
To už dokáží vyhledávače najít ne, pokud je třeba adresa inzeraty/prodam-automobil-skoda/345 ?
Tak jsi myslel sloupec v db? Mám navíc sloupec url
Provedl bych to tak, jak se to většinou dělá. Při vytvoření inzerátu si rovnou vygeneruj url přes tvoji funkci, přes které se bude na ten inzerát chodit. Zároveň zkontroluj zda se již nenachází v DB a pokud ano, přiřadíš aktuální přiřazené id, třeba.
inzeraty/prodam-automobil-skoda/345
Nahraď tímto:
inzeraty/prodam-automobil-skoda
inzeraty/prodam-automobil-skoda-345 či inzeraty/345-prodam-automobil-skoda//Druhý inzerát se stejným titulkem
Edit: Použij aktuální sloupec na url, který máš určený, myslel jsem, že máš url z id. Btw: Vyhledávači je v podstatě jedno jaké máš url.
Já to mam tak, že hledám pomoci url & ID, takže url vypadá nějak takhle: "titulek-inzeratu/2653"
Zatím to taky tak mam ale bylo mi řečeno, že z pohledu SEO je to celé špatně, takže budu rovnou inzerátu přidávat id za pomlcku za poslední slovo..
Co je na tom špatně? Jaký je rozdíl mezi "titulek-inzeratu/111" a "titulek-inzeratu-111" ? , však to je jedno a to samé, jen mi první varianta, připadá přehlednější, nebo mi něco uniklo?
Řekl bych, že v podstatě nic. Na SEO by to nemělo mít žádný vliv.
Jde spíže o uživatelský dojem, zapamatování, apod..
To lomítko mi říká něco ve smyslu 'Hele další sekce/akce či stránka'.
Z hlediska SEA to je patrně rozdíl, i když si taky myslím, že za tím lomítkem bych to nechat mohl.. Ještě bych měl prý i oddělat "inzerat", takže adresa nebude "inzerat/automobil-na-prodej/234" ale "automobil-na-prodel-135".. nevím jaký je tam rozdíl, ani ted nevím přesně, jak odstranit to inzerat - protože tak se jmenuje poled a Kontroler, který načítá ten detail.. Tím slovem inzerát volám Kontroler a jeho pohled na výpis inzerátu, snad to půjde vynechat..
Taky tam mám "inzerát", když ho oddělám, tak mi to vola úplně jiný controller, proto se s tím nepatlám, nevidím v tom žádný problém.
PS: SEO ti nepřivede lidi na web, takže radši propaguj, místo řešení jak oddělat "inzerát", atd ..
Jde o to že jsem našel zájemce o koupi systému až ho dodělám a on to úplně nechce, ale asi ho přesvědčím
Btw. jakou máš ty inzreci? link?
Použil jsem uniqID, ale jak to přesně funguje? Nemůže to náhodou vygenerovat stejnou ID a ještě větší náhodou u inzerátu s naprosto stejným titulkem?
Nevím jak přesně funguje, každopádně se zkus podívat na URL tohoto vlákna - odpověď na tvou otázku: Doufám, že ne
Tak jsem musel uniqid oddělat, člověk, který bude ode mě odkupovat hotový systém nechce, aby v url za upraveným titulkem byl takovýto kod, ale skutečné ID.
Jen se zeptám, když při odeslání formuláře zjistím ID posledního záznamu, přičtu jedničku a připojím k řetězci, nemělo by se nikdy stát, že některý inzerát bude mít v URL uložené jiné ID. Je malá šance, že dva lidé na dvou PC ve stejný zlomek vteřiny podají inzerát a oba titulky budou mít přiřazené umělé ID v URL, ale číslo ve sloupci ID bude vždy správné a unikátní..
Co používáš za ovladač? V PDO je na to funkce (lastInsertId).
Ovladač? Funguje to na MVC, který jsem se učil na zdejších tutoriálech, ale je to upraveno pro moje potřeby. Ve správci inzerátu vybírám z DB největší ID, pouze jedno, to pak v kontroleru zvětším o jedna a připojím to k řetězci, který je upravený titulek do formy URL. Funguje to zatím dobře, mělo by to stačit
Pokud používáš zdejší DB wrapper tak to je PDO.
Pokud ti stav aplikace vyhovuje tak to je v podstatě jedno, hlavně, že to
funguje.
Avšak, je lepší tyto věci nechat na té funkci, která je k tomu určená..
Min. ušetříš 1 dotaz.
Právě že mi to dává špatné ID do řetězce, pokud předcházející jeden nebo více inzerátů vymažu. Databáze používá AI, takže když nějaké záznamy vymažu, použije prostě další ID a ne to co by mělo následovat. Ale když ukládám takhle "první" inzerát za vymazané, za takovou "mezeru", tak to vezme ID posledního inzerátu v databázi a zvětší o jedna a pak nesedí v jednom záznamu číslo v ID a na konci URL.. Je to spíš matoucí pro uživatele, systém to koneckonců pak tahá jen podle tvaru URL a to číslo tam je aby se nenašly dva uplně totožné inzeráty se stejným titulkem..
Zobrazeno 23 zpráv z 23.