ďťż

[PHP] Indeks skrótów URL jak to rozwiązać?

       

Podstrony


telcocafe

Sprawa jest mniej skomplikowana w przypadku frameworków lub profesjonalnych CMS-ów, ale spójrzcie tutaj:

Odpowiednia podstrona jest ładowana na podstawie adresu URL. Dotychczas czyniłem to tak:

?d=50 ładuje kategorię o ID = 50
?co=module ładuje moduł mod/module.php lub rozszerzenie plugins/module/default.php
W przeciwnym wypadku wczytuje domyślną kategorię dla wybranego języka

Po zmianie URL-ów na przyjazne adresy mogą wyglądać tak:

domain.net/42, domena.pl/1
domain.info/art/50, domain.info/page/1

Krótsze adresy, które widzą systemy statystyk. Być może łatwiej zapamiętać. Nie spełniają jednak najważniejszej cechy SEO. Brak słów kluczowych w URL-u. Zatem problem trzeba jakoś rozwiązać. Popatrz na adresy:

domain.org/how-to-install-windows - np. artykuł, plik, wolna strona
domain.net/how_to_install_linux - np. artykuł, plik, wolna strona
domain.com/free_programs - np. kategoria z plikami
doman.pl/zdjecia_z_wakacji - np. kategoria ze zdjęciami

Które rozwiązania są warte uwagi, a przed którymi przestrzegacie?

A. Globalny indeks

Oparty o dodatkową tabelę w bazie danych lub plik .php. Skrócony algorytm:
1. Przyjmij żądanie. Jeśli adres URL nie pasuje do żadnego modułu, wczytaj globalny indeks.
2. Na podstawie indeksu załaduj kategorię lub odpowiednią podstronę modułu / rozszerzenia.

Poszczególne moduły dodawałyby wpisy automatycznie. Admin też mógłby dodawać / usuwać wpisy z indeksu. Jeżeli indeks znajdowałby się w pliku .php, skrypt nie powinien stracić na wydajności.

B. Dodatkowe pola w różnych tabelach

Tabele cats, arts, files, pages, itd. mają dodatkowe pole `url` ustawiane automatycznie lub przez admina. W procesie ładowania podstron prawie nic by się nie zmieniło. Adresy wyglądałyby tak:

domain.com/file/mozilla_firefox_3
domain.net/kategoria_z_linkami
domain.org/page/dane_kontaktowe

C. Inny pomysł - jak można inaczej zorganizować URL-e?

Tak, aby były jak najbardziej przyjazne, a dostęp do podstron stał się szybki.

Liczę na sugestie :)



Google nie zaleca stosowania długi adresów URLi. A jeżeli chcesz to rozwiązanie jest bardzo proste - generowanie dla każdego newsa/artykułu unikalnego sluga - np. tytułu wpisu pozbawionego znaków niedozwolonych w linkach i wykorzystywanie go zamiast liczbowego ID. Proste i powszechne rozwiązanie (m.in. w Django).

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.