Optymalizacja IPB, czyli jak poprawić odwiedzalność strony nie inwestując ani złotówki w pozycjonowanie strony!
Nowy poprawiony artykuł do IPB 3.3.3 i WYŻEJ znajdziesz na stronie: przyjazne adresy WWW na forum IPB oraz optymalizacja
Cześć 2
Przyjazne linki jak bardzo są ważne i dlaczego warto je zmienić zamiast domyślnych adresów www (sugerowanych przez IPB).
Nie od dziś wiadomo, że począwszy od wersji IPB 3.0.5 dokonano kilka poważnych zmian mających w domyśle poprawić indeksowanie przez Google, które było nie wystarczające w poprzednich wersjach i trzeba było korzystać z dodatkowych aplikacji nierzadko płatnych (Community SEO bądź Minerva SEO). Swego czasu powstał dodatek FURL, który niestety stał się całkowicie niekompatybilny z IPB 3.0.5 wzwyż co spowodowało znaczny spadek oglądalności witryny po aktualizacji strony. Poza tym stare linki FURL po aktualizacji prowadziły donikąd.. czy da się coś tym zrobić i przywrócić do życia świetny dodatek optymalizujący linki - dowiecie się w tym artykule! Wersja IPB 3.2 ma już przyjazne linki domyślnie włączone, niestety nie są one doskonałe - lepiej skorzystać z poradnika i je poprawić.
Wbudowane przyjazne linki w IPB
..rozczarowują, a to dlatego, że adres strony staję się przydługawy i większą wagę otrzymują "foldery": /topic i /forum niż zawartość właściwa strony. Poza tym jest niekompatybilny z wykorzystywanymi wcześniej dodatkami opisanymi we wstępie.
Przywracanie przyjaznych linków, podobnych do tych z Wordpressa czy vBulletin
Bez problemu możemy dostosować przyjazne linki w IPB. Niestety programiści IPS nie podają wytycznych jak to zrobić, dlatego warto skorzystać z tego poradnika, aby dodać "kopa" naszej witrynie w wynikach wyszukiwania! Od czego zacząć?
Krok 1
Upewnij się, że w pliku conf_global.php zlokalizowanym w folderze public_html naszego forum znajduje się wpis:
$INFO['use_friendly_urls'] = '1';
Krok 2
a) Przejdź do lokalizacji: public_html czy też forum, a następnie: admin/applications/forums/extensions/ i skopiuj plik: furlTemplates.php na dysk lokalny.
otwórz plik furlTemplates.php i zamień zawartość:
$_SEOTEMPLATES = array( 'showannouncement' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showannouncement=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'forum-$3/announcement-$1-#{__title__}/$4' ), 'in' => array( 'regex' => '#/forum-(\d+?)?/announcement-(\d+?)-#i', 'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ), 'showforum' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showforum=(.+?)(&|$)#i', 'forum/$1-#{__title__}/$2' ), 'in' => array( 'regex' => '#^/forum/(\d+?)-#i', 'matches' => array( array( 'showforum', '$1' ) ) ) ), 'showtopic' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showtopic=(.+?)(&|$)#i', 'topic/$1-#{__title__}/$2' ), 'in' => array( 'regex' => '#^/topic/(\d+?)-#i', 'matches' => array( array( 'showtopic', '$1' ) ) ) ), 'act=idx' => array( 'app' => 'forums', 'allowRedirect' => 0, 'out' => array( '#act=idx(&|$)#i', 'index$1' ), 'in' => array( 'regex' => '#^/index(/|$|\?)#i', 'matches' => array( array( 'act', 'idx' ) ) ) ), );
na:
[/left] [left]//optymalizacja SEO by Makensis dla Tweaks.pl v.1.0[/left] [left]$_SEOTEMPLATES = array( 'showannouncement' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showannouncement=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'forum-$3/announcement-$1-#{__title__}/$4' ), 'in' => array( 'regex' => "#/forum-(\d+?)?/announcement-(\d+?)-#i", 'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ), 'showforum' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showforum=(.+?)(&|$)#i', '#{__title__}-f$1.html$2' ), 'in' => array( 'regex' => "#-f(\d+?)\.html#i", 'matches' => array( array( 'showforum', '$1' ) ) ) ), 'showtopic' => array( 'app' => 'forums', 'allowRedirect' => 1, 'out' => array( '#showtopic=(.+?)(&|$)#i', '#{__title__}-t$1.html$2' ), 'in' => array( 'regex' => "#-t(\d+?)\.html#i", 'matches' => array( array( 'showtopic', '$1' ) ) ) ), 'act=idx' => array( 'app' => 'forums', 'allowRedirect' => 0, 'out' => array( '#act=idx(&|$)#i', 'index$1' ), 'in' => array( 'regex' => "#/index(/|$|\?)#i", 'matches' => array( array( 'act', 'idx' ) ) ) ), );
c) Skopiuj plik na FTP
W ten sposób z adresu: index.php?/forum/2-moje-aygo/ uzyskamy: /index.php/moje-aygo-f2.html
d) Przejdź do lokalizacji: public_html czy też forum, a następnie: admin/applications/members/extensions/ i skopiuj plik: furlTemplates.php na dysk lokalny.
e) otwórz plik furlTemplates.php i zamień zawartość:
$_SEOTEMPLATES = array( 'showuser' => array( 'app' => 'members', 'allowRedirect' => 1, 'out' => array( '#showuser=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'user/$1-#{__title__}/$2$4' ), 'in' => array( 'regex' => "#/user/(\d+?)-#i", 'matches' => array( array( 'showuser', '$1' ) ) ) ), 'members_status_friends'=> array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members(?:&|&)module=profile(?:&|&)section=status(?:&|&)type=friends(&|$)#i', 'statuses/friends/$2' ), 'in' => array( 'regex' => "#/statuses/friends#i", 'matches' => array( array( 'app' , 'members' ), array( 'section', 'status' ), array( 'module' , 'profile' ), array( 'type' , 'friends' ) ) ) ), 'members_status_all' => array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members(?:&|&)module=profile(?:&|&)section=status((?:&|&)type=all)?(&|$)#i', 'statuses/all/$2' ), 'in' => array( 'regex' => "#/statuses/all#i", 'matches' => array( array( 'app' , 'members' ), array( 'section', 'status' ), array( 'module' , 'profile' ) ) ) ), 'members_list' => array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members((&|&)module=list)?#i', 'members/' ), 'in' => array( 'regex' => "#/members(/|$|\?)#i", 'matches' => array( array( 'app', 'members' ), array( 'module', 'list' ) ) ) ), );
na:
[/left] [left]//optymalizacja SEO by Makensis dla Tweaks.pl v.1.0[/left] [left]$_SEOTEMPLATES = array( 'showuser' => array( 'app' => 'members', 'allowRedirect' => 1, 'out' => array( '#showuser=(.+?)((?:&|&)f=(.+?))?(&|$)#i', '#{__title__}-m$1.html/$2$4' ), 'in' => array( 'regex' => "#-m(\d+?)\.html#i", 'matches' => array( array( 'showuser', '$1' ) ) ) ), 'members_status_friends'=> array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members(?:&|&)module=profile(?:&|&)section=status(?:&|&)type=friends(&|$)#i', 'statuses/friends/$2' ), 'in' => array( 'regex' => "#/statuses/friends#i", 'matches' => array( array( 'app' , 'members' ), array( 'section', 'status' ), array( 'module' , 'profile' ), array( 'type' , 'friends' ) ) ) ), 'members_status_all' => array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members(?:&|&)module=profile(?:&|&)section=status((?:&|&)type=all)?(&|$)#i', 'statuses/all/$2' ), 'in' => array( 'regex' => "#/statuses/all#i", 'matches' => array( array( 'app' , 'members' ), array( 'section', 'status' ), array( 'module' , 'profile' ) ) ) ), 'members_list' => array( 'app' => 'members', 'allowRedirect' => 0, 'out' => array( '#app=members((&|&)module=list)?#i', 'members/' ), 'in' => array( 'regex' => "#/members(/|$|\?)#i", 'matches' => array( array( 'app', 'members' ), array( 'module', 'list' ) ) ) ), );
Aby zmiany zostały zaakceptowane potrzeba jeszcze zresetować zawartość CACHE przyjaznych linków. W tym celu zaloguj się do panelu administracyjnego (/admin) i w pozycji: Manage Applications & Modules kliknij na przycisk Rebuild FURL Cache. W IPB 3.2 z menu głównego wybierz Cache Management i tam kliknij na Rebuild FURL Cache.
Krok 3
Teraz usuniemy niepotrzebny "index.php" przypisany do każdego tematu na forum.
W tym celu zaloguj się do panelu administracyjnego i w głównym menu: Tools & Settings wybierz: System Settings, a następnie zakładkę: System i otwórz pozycję: Search Engines Optimization i wybierz: 'yes' dla opcji: Use .htaccess mod_rewrite.
Krok 4
Jeśli nie masz jeszcze w lokalizacji FTP pliku .htaccess musisz go utworzyć ręcznie, w tym celu:
a) na dysku lokalnym utwórz plik .htaccess. Uruchom Notatnik i wklej do niego zawartość:
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteBase /forum/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /forum/index.php [L] </IfModule>
Jeśli twoje forum znajduje się w katalogu głównym public_html usuń wpisy: forum/
Zapisz plik jako .htaccess i zaznacz w opcjach notatnika: Zapisz jako: wszystkie pliki!
c) Przejdź do lokalizacji: public_html czy też forum, a następnie skopiuj z dysku lokalnego plik .htaccess
Od tej pory z adresu forum zniknie wpis /index.php/ .
Krok 5
(Krok ten możesz pominąć, jeśli nie zależy ci na wyszczególnieniu dużych i małych liter w adresach nazw tematów.)
Bardzo przydatną opcją jest wyświetlanie nazw tematów z użyciem dużych i małych liter. W ten sposób linki zyskują na czytelności, poza tym Google rozróżnia duże i małe znaki i traktuje inaczej adresy o różnej wielkości liter! Aby dostosować adresy www wykonaj następujące czynności:
a) Przejdź do lokalizacji: public_html czy też forum, a następnie: /admin/source/base/ i skopiuj plik: core.php na dysk lokalny.
W zawartości pliku poszukaj funkcji: static public function makeSeoTitle( $text ) i usuń następujący wpis:
if ( self::isUTF8( $text ) ) { if ( function_exists('mb_strtolower') ) { $text = mb_strtolower($text, 'UTF-8'); } $text = self::utf8Encode( $text, 250 ); } /* Finish off */ $text = strtolower($text); if ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' ) { $text = preg_replace( '#&.+?;#' , '', $text ); $text = preg_replace( '#[^%a-z0-9 _-]#', '', $text ); } else { /* Remove &#xx; and &#xxx; but keep &#xxxx; */ $text = preg_replace( '/&#(\d){2,3};/', '', $text ); $text = preg_replace( '#[^%&\#;a-z0-9 _-]#', '', $text ); $text = str_replace( array( '"', '&'), '', $text ); }
Pod skasowaną treścią dodaj:
$text = preg_replace( '/&#(\d){2,3};/', '', $text ); $text = preg_replace( '#[^%&\#;a-zA-Z0-9 _-]#', '', $text ); $text = str_replace( array( '"', '&'), '', $text );
c) skopiuj plik na FTP
d) zresetuj zawartość cache przez wpisanie komend SQL w panelu administracyjnym lub phpMyAdmin:
UPDATE ibf_topics SET title_seo = '' WHERE 1 UPDATE ibf_forums SET name_seo = '' WHERE 1
Od tej pory duże i małe litery będą rozróżniane w linkach tematów i for.
Co jeszcze możemy zrobić, aby zyskać większą odwiedzalność strony?
Przede wszystkim można spróbować zastosować polskie znaki w adresach linków. Obecnie jest to powszechnie stosowane np. Wikipedia posiada takie adresowanie stron. Jak to zrobić to już temat na osobny artykuł
Podsumowanie:
Przyjazne adresy stron dają Google wiele informacji o zawartości merytorycznej witryny i "pozycjonują" najważniejszą treść w temacie. Należy zauważyć, że niepoprawnie ułożony tytuł tematu może sporo nam zaszkodzić, dlatego należy powiadomić moderatorów forum i użytkowników o uważnym nazywaniu tematów i problemów w nich zawartych.
Wykonując tą instrukcję w ciągu następnych miesięcy możemy liczyć na kilkunastu procentowy wzrost odwiedzin tylko z tytułu poprawy adresowania stron!
Powyższy artykuł nie przekazuje wiedzy o przekierowaniach starych i nowych tematów sprzed aktualizacji IPB do wersji 3.0.5! Powyższy artykuł nie jest w pełni kompatybilny z IPB 3.3.3(patrz aktualizacja poniżej).