--=REKLAMA=--

Proste adresy w Joomla 1.5

Z Joomla!WikiPL

Wersja Zwiastun (dyskusja | edycje) z dnia 22:30, 24 lis 2013

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
  • Tytuł oryginału: Joomla! v 1.5 Search Engine Friendly URLs (SEF URLs)
  • Autor oryginału: Benjamin Hättasch
  • Źródło: Joomla! v 1.5 SEF URLs oraz Scribd

A. Co to znaczy SEF URL?

SEF to akronim angielskiego Search Engine Friendly, co dosłownie można by przetłumaczyć przyjazne wyszukiwarkom, a co tłumaczymy zwrotem zoptymalizowane pod kątem wyszukiwarek internetowych. Strony internetowe uznaje się za zoptymalizowane pod kątem wyszukiwarek internetowych, jeśli można je łatwo znaleźć. A można je znaleźć łatwo, jeśli mają prosty adres internetowy - bez parametrów. Joomla! 1.5 oferuje trzy różne opcje umożliwiające uproszczenie adresów internetowych - zmianę na zoptymalizowane dla motorów wyszukujących.

Spójrzmy na zwykły adres internetowy generowany przez Joomla!:

...mla/index.php?option=com_content&view=article&id=1:witaj-u-joomla&catid=1:najnowsze-wiadomosci&Itemid=50

Ten adres jest bardzo długi i zawiera wiele parametrów. Powodem jest dynamiczne generowanie stron. Niektóre wyszukiwarki ignorują takie adresy zupełnie, bądź nie umieszczają ich w swoich indeksach na wysokich pozycjach.

Z innych zalet prostych adresów – oprócz dostosowania do mechanizmów wyszukiwawczych – trzeba wymienić:

  • zawierają słowa kluczowe,
  • są krótsze,
  • są czytelniejsze dla ludzi (w polskich tłumaczeniach mówi się, że są "przyjazne").

Przekształcenie adresów w proste jest korzystne, ponieważ mechanizmy wyszukiwawcze dokładniej indeksują witrynę, czyli precyzyjniej umieszczają ją na swoich listach. Długi adres przytaczany w przeglądach czy w listach psuje, niszczy układ, czego nie robią proste adresy, bo są krótsze. Adres dostosowany do wyszukiwarek jest również łatwiejszy i czytelniejszy dla ludzi – łatwiej go zapamiętać, dzielić się nim ze znajomymi. W efekcie translacja adresów przekłada się na większą ilość odwiedzających witrynę.

B. Konfiguracja adresów internetowych

Wszystkich ważnych zmian dokonasz w oknie dialogowym „Konfiguracja globalna” (Global Configuration)

Krok po kroku - wprowadzenie

  1. Zaloguj się jako administrator na zapleczu Joomla!.
  2. Naciśnij ikonę skrótu Konfiguracja (Global Configuration)
    Ikona skrótu.
  3. Na karcie Witryna znajdź po prawej stronie sekcję nazwaną „Optymalizacja dla wyszukiwarek” (SEO Settings)
    Parametry optymalizacji dla wyszukiwarek.
  4. Włącz dostępne tam opcje zgodnie z omówieniem poniżej.

Opcja 1. Proste adresy

Wybierz opcję „Tak” dla pierwszego parametru. Zatwierdź wybór, naciskając w przyborniku ikonę Zastosuj (Apply).

Spójrz na adres witryny. Zmienił się? (aby sprawdzić, naciśnij w przyborniku ikonę Podgląd (Preview).

...mla/index.php/nowiny/najnowsze-nowiny/witaj-u-joomla

Adres jest teraz krótszy, mniej w nim (nie ma w nim) znaków zapytania „?”. Wygląda na normalny adres internetowy. Jedyna różnica, to nazwa pliku PHP - index.php zamiast nazwy katalogu wewnątrz adresu.

Opcja 2. Korzystaj z mod_rewrite.

Jeśli chcesz się pozbyć z adresu nazwy: index.php, uaktywnij drugą opcję. Samo jej uaktywnienie nie wystarczy. Trzeba jeszcze przemianować nazwę pliku htaccess.txt w głównym katalogu Joomla! na .htaccess (poprzedzić kropką i usunąć rozszerzenie .txt). Uwaga: Jeśli potrzebujesz pomocy na temat pliku .htaccess, przeczytaj sekcję: D. Aktywacja i korzystanie z mod_rewrite Apacza.

...mla/nowiny/najnowsze-nowiny/witaj-u-joomla

Po włączeniu tej opcji z adresu witryny zniknął fragment /index.php/.

Opcja 3. Adresy z przyrostkiem

Jeśli uaktywnisz trzecią opcję, otrzymasz adres wyglądający jak poniżej:

...mla/nowiny/najnowsze-nowiny/witaj-u-joomla.html

Na końcu adresu znajduje się typowe dla dokumentów internetowych rozszerzenie nazwy pliku: html, pożądane przez niektóre motory przeszukujące Internet.

Wszystkie trzy opcje łącznie

Jeśli uaktywnisz wszystkie trzy opcje, twoje adresy internetowe powinny wyglądać tak, jakby wskazywały na dokument HTML umieszczony w podkatalogu. Adres powinien wyglądać np. tak:

...mla/nowiny/najnowsze-nowiny/witaj-u-joomla.html

Przetestuj zmienioną konfigurację

Po zapisaniu zmian konfiguracji adresów internetowych, sprawdź na stronie frontowej efekt nowych ustawień. Jeżeli nie pojawiają się żadne błędy, nie musisz czytać dalej tego poradnika. Jeśli pojawia się błąd „404 strony nie znaleziono” (404 page not found) albo „Błąd 500 - Wewnętrzny błąd serwera” (Error 500 - Internal Server Error), przeczytaj dodatkowe informacje o konfiguracji i usuwaniu błędów.

C. Proste adresy – rozwiązywanie problemów

Wykonaj poniższe kroki, jeśli włączysz generowanie prostych adresów zgodnie z instrukcją i - gdy naciśniesz jakiś odnośnik - otrzymasz komunikaty błędów “404 Not Found errors” albo “Error 500 – Internal Server Errors&#8221.

  1. Sprawdź, jakiej używasz wersji PHP, porównaj, czy jest zgodna z minimalnymi wymaganiami Joomla 1.5. [1]
  2. Jeśli nie używasz najnowszej wersji Joomla!, uaktualnij ją.
  3. Jeśli korzystasz z rozszerzeń obsługujących generowanie prostych adresów, upewnij się, że nazwa pliku .htaccess w głównym katalogu witryny jest poprawna. Skorzystaj z pliku htaccess.txt dostarczonego razem z instalacją Joomla - po prostu zmień jego nazwę na .htaccess (kropka przed!).
  4. Sprawdź czy działa moduł rewrite Apacza, dodając poniższą linię do pliku .htaccess:
 RewriteRule (.*) http://www.google.com/ 
Przejdź do Twojej witryny. Jeśli moduł działa, zostaniesz przekierowany na stronę. Jeśli tak się nie stanie, oznacza to, że mod_rewrite Apacza nie działa, a tym samym nie można z niego korzystać do uzyskania prostych adresów. Zapoznaj się z sekcją D. Aktywacja i korzystanie z mod_rewrite Apacza.
  1. Jeśli moduł działa, ale nie uzyskujesz prostych adresów, może być potrzebna zmiana w pliku .htaccess - określenie macierzystego katalogu Joomla!, w przypadku, gdy instalacja umieszczona jest w podkatalogu (np. /joomla). Otwórz plik “.htaccess”, odszukaj linię z RewriteBase, usuń sprzed znak komentarza - # i dodaj nazwę podkatalogu, np.:
     RewriteBase /joomla
    
  1. Usuń tylko znak - #, jeśli instalacja jooomla umieszczona została w katalogu głównym np.:
 RewriteBase /

Nadal nie działa?

Jeśli wykonałeś wszystkie wymienione powyżej czynności, krok za krokiem, i nadal nie masz poprawnie działających prostych adresów internetowych, zgłoś swój problem na forum użytkowników, w sekcji Administracja Joomla! 1.5:

Zrelaksuj się, podaj temat informacji oraz dołącz do listu, co następuje:

  1. treść komunikatu błędu albo opis problemu;
  2. link do Twojej witryny, jeśli jest to możliwe;
  3. informacje o działaniach podjętych, by usunąć błąd, jeśli jest to możliwe;
  4. informacje o Twoim systemie, w tym numery wersji Apacza, PHP i MySQL;
  5. potwierdzenie, że Twój system spełnia minimalne wymagania dla Joomla! 1.5;
  6. numer używanego wydania Joomla! po zweryfikowaniu, że korzystasz z najaktualniejszej wersji;
  7. wyszczególnienie, które z trzech opcji konfiguracyjnych zostały włączone;
  8. potwierdzenie, że Twój plik .htaccess został poprawnie nazwany i umieszczony w głównym katalogu witryny;
  9. wyniki przetestowania pliku .htaccess po przekierowaniu do Google (przed wysłaniem wiadomości przeczytaj następną sekcję pomocy, jeżeli mod_rewrite nie działa);
  10. potwierdzenie, że RewriteBase jest niepotrzebne albo nie działa.

D. Aktywacja i korzystanie z mod_rewrite Apacza

Jeśli spróbowałeś usunąć błędy według instrukcji w poprzedniej sekcji i nie zostałeś pomyślnie przekierowany na stronę Google, oznacza to, że na Twoim serwerze nie działa funkcja Apacza mod_rewrite. W rezultacie, gdy klikniesz jakiś odnośnik, otrzymujesz komunikat o wewnętrznym błędzie serwera: “Error 500 – Internal Server Error” (gdy masz włączone rozszerzenia innych zespołów do obsługi prostych adresów).

Jeśli korzystasz z serwera współdzielonego, nie będziesz w stanie dokonać samodzielnie zmiany konfiguracji. Zwróć się z tym problemem do administratora i poproś o uaktywnienie modułu. Jeśli korzystasz z własnego serwera, wykonaj kolejne, podane niżej czynności, by włączyć mod_rewrite.

Aby skonfigurować Apache z mod_rewrite (jeśli masz uprawnienia):

1. Zlokalizuj na swoim serwerze plik “httpd.conf” - zwykle w katalogu “conf” w instalacji Apache.
2. Odszukaj w pliku linię zawierającą następującą treść:

LoadModule rewrite_module modules/mod_rewrite.so

3. Usuń znak “#” na początku linii.
4. Zapisz plik.
5. Zrestartuj serwer Apache.
6. Sprawdź poprawność działania modułu - dodaj w pliku .htaccess linię:

RewriteRule (.*) http://www.google.com/
Wywołaj w przeglądarce swoją witrynę. Jeśli mod_rewrite działa, zostaniesz przekierowany na stronę Google. Jeśli nie,... to znaczy, że mod_rewrite nadal nie działa.

Więcej o module rewrite - zapoznaj się z oficjalną dokumentacją: mod_rewrite.

E. Często zadawane pytania

Co oznaczają numery wewnątrz URL?
Porównując stary i nowy adres, widzimy wewnątrz URL numery:
...mla/index.php?com_conbtent&view=article&id=1-witaj-u-joomla&catid=1:nowosci&Itemid=50
...mla/nowiny/1-nowosci/1-witaj-u-joomla.html
Numery te są potrzebnymi Joomla! parametrami wskazującymi na wewnętrzny adres pozycji, prowadzą do strony, którą chcesz zobaczyć. (W powyższym przykładzie pierwszy jest identyfikatorem kategorii w bazie danych, a drugi identyfikatorem artykułu.)
W adresie nie ma pliku “index.php”. Czy mogę teraz usunąć ten plik?
Nie! Adres nie musi zawierać pliku “index.php”, ale plik jest nadal wykorzystywany, jedynie moduł rewrite przekierowuje do oryginalnej ścieżki z widocznej w adresie.
Jaka powinna być wartość aliasu? Jak jest tworzony?
Alias jest nazwą zastępczą używaną w prostych adresach. Możesz go wpisać w specjalnych polach pod polami tytułu w artykułach, kategoriach, sekcjach, pozycjach menu. Może być również tworzony automatycznie przez Joomla!. Do automatycznego tworzenia aliasu wykorzystywany jest tytuł - Joomla! zamienia w nim wielkie litery na małe, znaki spacji i znaki specjalne na znaki dywitza, natomiast znaki charakterystyczne dla niektórych języków, np. polskie ą, ę, itp. są opuszczane.
Chcę ustalać własną wartość aliasu
Ależ oczywiście, że możesz, jeśli nie odpowiadają Ci nazwy tworzone automatycznie przez Joomla!. Ba, niekiedy – jest to konieczne. Wiele osób jest przekonanych, że stosowanie w adresach słów kluczowych sprzyja uzyskiwaniu wyższej pozycji w wyszukiwarkach. Definiując samodzielnie nazwy umowne, możesz optymalizować swoją witrynę pod kątem wyszukiwarek, dodając w adresach odpowiednie słowa kluczowe. Możesz włączać słowa kluczowe do tytułu i pozwalać Joomla!, by tworzył alias automatycznie albo samodzielnie umieszczać słowa kluczowe w nazwie umownej.
Jak w prostym adresie wykorzystuje się aliasy?
Dla pozycji menu Joomla! stosuje alias (nazwę umowną). Przyjmując, że w sekcji Optymalizacja dla wyszukiwarek włączone są pierwsze dwie opcje i tworzysz w menu odnośnik nazwany Produkty, to adresem będzie: przykład.com/produkty.

Aby pomóc urządzeniu trasującemu w nawigacji do żądanej strony, Joomla! korzysta z kluczowych wartości w „rzeczywistym” adresie. Kontynuując poprzedni przykład, gdyby Twoja pozycja menu prowadziła do artykułu w przeglądzie artykułów z kategorii, to łącze dla tytułu artykułu albo dla odnośnika Czytaj więcej składałoby się z trzech części:
* URL pozycji menu: przyklad.com/produkty;
* plus identyfikator (id) oraz umowna nazwa kategorii: 32-owoce;
* plus, identyfikator (id) i alias tytułu artykułu: 1-jablko;

W rezultacie otrzymamy taki adres:
http://przyklad.com/produkty/32-owoce/1-jablko
Jak pozbyć się numerów z adresów? 
W prostych rozwiązaniach te numery są potrzebne! mechanizmom trasującym, aby prowadziły do właściwych pozycji. Można się ich pozbyć, korzystając z komponentów upraszczających adresy internetowe, dostarczających więcej opcji. W przyszłości numery te zostaną najprawdopodobniej z URL usunięte.
Jak pozbyć się dziwnego ogonka z końca adresu? 
...nazwa_podstrony.html?263049306c7cf11f95 83f153a3f893ff

Nie istnieje jednoznaczne wyjaśnienie i rozwiązanie problemu, ale na chwile obecną moduły prostych adresów w Joomli 1.5 wymagają wersji php5. Najczęściej można samemu zmieniać wersję php poprzez odpowiedni wpis w pliku .htaccess.

SetEnv PHP_VER 5

Dziękujemy za wkład

» Stefan Wajda [zwiastun],