Przyjazny url, a swój cms.

0

Tworzę własnego cmsa i trapi mnie taka jedna sprawa. Otóż zrobiłem przyjazne linki* i wszystko byłoby fajnie gdyby nie jeden bolesny problem z artykułami.

Gdy tworze plik php, który pobiera dane z tabeli do artykułu nie mam się na czym oprzeć. Owszem mogę po prostu pobrać z adresu cały link (który jest tytułem artykułu) porównać go z tabelą w bazie i na tej podstawie wypełnić stronę odpowiednim artykułem. Nie podoba mi się jednak ten pomysł, ponieważ w ten sposób trzeba przeszukać cała tabele. Jest to fajne rozwiązanie kiedy mamy nie wiele artykulów. Wpadłem jeszcze na drugie, ze dopisze do tytułu w adresie id artykułu. Tu jednak ten minus że mamy nie potrzebny numerek w linku. Nie mam już więcej pomysłów by pogodzić ten problem możliwie najlepszym sposobem;(.

Dlatego proszę o sugestie i rady : )

*przyjazne linki działaja u mnie tak ze przechowuje je w tabeli np. do każdego artykułu mam przypisane jedno pole które jest linkiem dla artykułu. A wiec to czy strona istnieje decyduje to czy odpowiednia funkcja je znajdzie w bazie.

0

Indeksem rekordu w tablicy nie musi być liczba, jeśli ci to przeszkadza. Zawsze możesz użyć jakiegoś unikatowego słowa kluczowego (lub ciągu). Tylko takie rozwiązanie według mnie jest bezsensu, ponieważ linki i tak są głównie kopiowane i nikt nie zwraca uwagi czy jest tam jakaś liczba, która reprezentuje identyfikator czy też nie.

Przykładem jest ta strona, linki są przyjazne ale i posiadają identyfikator.

0

No tak, zauważyłem że większość portali tak ma. np dobreprogramy.pl maja na końcu po przecinku id artykułu. Ale w wordpresie jest już inaczej. Zastanawiam się jak oni to zrobili. Zależy mi na dobrym pozycjonowaniu się artykułów, dlatego mnie to trapi.

0

W takim razie jako klucza używaj wartości tekstowej, która zostanie wygenerowana na podstawie nazwy (np. "Przyjazny url, a swój cms." to "przyjazny_url,_a_swoj_cms."). Klucz oraz nazwa artykułu powinna być unikatowa.

0

No ale czy nie będzie problemem to że wyszukiwanie będzie trwało za długo przy dużej ilości artykułów?

0
tymek42 napisał(a):

No ale czy nie będzie problemem to że wyszukiwanie będzie trwało za długo przy dużej ilości artykułów?

Jeśli podobną technikę stosuje WordPress oznacza to, że różnica w wydajności jest niewielka (droga dedukcji, nie mogę tego potwierdzić statystkami). Działa to na takiej samej zasadzie, jak szukanie unikatowego wpisu w tablicy co kolumnie, której typem jest tekst.

Ja w twoim przypadku dodałbym nową kolumnę w tablicy, po której później będę szukał artykułów. Ale jeśli moje rozwiązanie nie budzi twojego zaufania możesz poczekać na odpowiedzi innych użytkowników. Ja sam jestem ciekawy co inni o tym myślą.

0

Nie muszę tworzyć podobnej tabelki bo taka już mam ;). Po prostu szukam najbardziej optymalne rozwiązanie.

0

wystarczy ze pociagniesz indexem kolumnie z url/linkiem i baza danych bedzie zoptymalizowania do wyszukiwania pod katem wlasnie tej kolumny.

tylko pamietaj ze przyjazne linki tworzy sie pod SEO, zeby mozna bylo podbijac dane frazy w wyszukiwarce i jak teraz napiszesz artykul/strona pt. "Dominacja pomidorow we wszechswiecie" i wygenereujesz sobie url: dominacja-pomidorow-we-wszechswiecie i nagle stwierdzisz ze ten artykul/strona bardziej powinna brzmiec "Dominacja pomidorow w poludniowej afryce"to wypadaloby zmienic url, a wtedy ciagnie to za sobia wygenerowanie 301 na starym urlu i okazuje sie ze musisz zaczac przechowywac wszystkie stare urla w osobnej tabeli bo ci google bedzie zanizac strone z racji sporej ilosci 404. a tak jak masz wsparcie z id w linku, czyli dominacja-pomidorow-we-weszechswiecie-1234 to pobierasz artykul o id 1234 i sprawdzasz czy tytul z bazy rowna sie tytulowi z linka i jak nie to robisz przekierowanie 301 i google jest happy i strona nie cierpi. Dlatego IMHO lepiej jest dodac id gdzies w url, bo dla google to i tak kilka cyferek, a Tobie ulatwia ogarniecie wygaslych linkow :)

0

Osobno mam tytuł a osobno link : )Tylko przy tworzeniu tytulu on się zmienia, ale z tym przekierowaniem id to chyba jednak dobry pomysł. No bo w wypadku gdyby ktoś udostępnił mój link a ja sobie go później zmienie, no to lipa już.

0

W drupali każdy "przyjazny link" siedzi w bazie i każdy news ma swój osobny rekord. Nie przejmuj się takimi drobnostkami, w niektórych serwisach są miliony rekordów w pojedynczej tabeli i nie czuje się spowolnienia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1