Autor wpisu: Athlan, dodany: 01.03.2008 09:57, tagi: php, internet
Często budujemy linki SEO friendly umieszczając tytuły newsów, kategorii, produktów etc. Problemem może być powtarzanie się tytułu (dajmy na to nazwy produktu) zawartego w URL:
http://example.com/nazwa-produktu.html
Oczywiście można to objeść podając ID produktu i kategorii w adresie:
http://example.com/6521,nazwa-produktu.html
Chcemy tego uniknąć. Jak zatem rozwiązać problem zdublowania? Przed rozpoczęciem działań stwórzmy sobie mały plan działania:
- Zamiana tytułu newsa ze zwykłego na SEO friendly.
- Pobranie tytułów newsów pasujących do wzorca: LIKE ‘nasz-tytul%’.
- Dodanie sufiksu do tytułu -2 (jeżeli istnieje -2 wówczas -3), tak aby powstał nasz-tytul-2, nasz-tytul-3 w przypadku powtórzeń.
Krok 1. Stworzenie tytułu SEO friendly (listing).
Krok 2. Pobranie podobnych tytułów z bazy danych (listing).
Krok 3. Dodanie sufiksów do tytułów, jeżeli istnieją podobne, które uniemożliwiają dodanie rekordu (listing).
Teraz zmienna $sRewrite zawiera tytuł SEO, który możemy śmiało wpisać do bazy danych - na pewno sie nie powtórzy :)
Note: Przykłady zostały opisane na bazie mojego frameworka Vframe używając klasy Vframe_Util_Rewrite z której można skorzystać.