Źródłem inspiracji niech będzie Wikipedia, która była pionierem pod względem optymalizacji treści właśnie dla wyszukiwarek internetowych. Otóż Wikipedia stanowi doskonałe źródło informacji w wielu językach i właśnie aspekt lokalizacji językowej adresów WWW zadecydował o jej popularności tej encyklopedii nie tylko w wersji anglojęzycznej! W tytułach linków pojawiły się narodowe znaki diakrytyczne.
O tym, że Google inaczej widzi zapytania z polskimi i bez polskich znaków diakrytycznych łatwo się przekonać wpisując daną frazę ze znakimi polskimi jak i bez nich. Otrzymane wyniki mogą się różnić i na pewno nie będzie to wina odczytów z różnych serwerów Google. Dowód?
Zmiana adresów podstron na takie, które zawierają polskie znaki diakrytyczne w forum IPB (National words in url addresses of forums IPB)
Wymagania:
- IPB 3.3.3 lub IPB 3.2.X(wystarczy zmiana z pominięciem 4-6 punktu)
- kodowanie znaków forum: UTF-8
- forum nieanglojęzyczne - szczególnie pozytywny wpływ powinny zauważyć fora krajów posiadających całkowicie odrębny alfabet np. rosyjskie, ukraińskie, tajskie, wietnamskie etc.
- Przejdź do lokalizacji: /admin/source/base/ i edytuj plik: core.php
- Znajdź funkcję: makeSeoTitle( $text ) i podmień zawartośc funkcji na:
{ if ( ! $text ) { return ''; } /* Usuniecie niepotrzebnych znakow */ $text = urldecode( $text ); $text = htmlspecialchars_decode( $text ); $text = html_entity_decode( $text ); $text = strip_tags($text); /* Zabawa z kodowaniem */ /* if ( IPSText::isUTF8($text) && strtolower( IPS_DOC_CHAR_SET ) != 'utf-8' ) { if ( mb_detect_encoding( $text ) == "UTF-8" ) { $text = mb_convert_encoding( $text, IPS_DOC_CHAR_SET, "UTF-8" ); } else { $text = mb_convert_encoding( $text, IPS_DOC_CHAR_SET ); } } else { } */ if ( ! $text ) { return ''; } /* Preserve %data */ $text = preg_replace('#%([a-fA-F0-9][a-fA-F0-9])#', '-xx-$1-xx-', $text); $text = str_replace( array( '%', '`' ), '', $text); $text = preg_replace('#-xx-([a-fA-F0-9][a-fA-F0-9])-xx-#', '%$1', $text); mb_internal_encoding( IPS_DOC_CHAR_SET ); mb_regex_encoding( IPS_DOC_CHAR_SET ); $text = preg_replace( '/&#(\d){2,};/', '', $text ); /* Finish off */ /*$text = mb_strtolower($text, IPS_DOC_CHAR_SET);*/ if ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' ) { $text = preg_replace( '#&.+?;#' , '', $text ); $rgx = "[^\w\d\-_ ]"; mb_ereg_search_init( $text ); $r = @mb_ereg_search($rgx, "msri"); if ( $r ) { $r = mb_ereg_search_getregs(); while ( $r ) { $text = str_replace( $r[0], '', $text ); $r = mb_ereg_search_regs(); } } } else { $text = preg_replace( '/&#(\d){2};/', '', $text ); $text = preg_replace( '/[^a-z0-9- '.implode($this->plChars['i4']).']*/', '', $text ); } $text = str_replace( array( '`', ' ', '+', '.', '?', '_', '#', '&', ';', '*' ), '-', $text ); $text = preg_replace( "#-{2,}#", '-', $text ); $text = trim($text, '-'); return ( $text ) ? $text : '-'; }
-
Zapisz zmiany w pliku. Funkcję można oczywiście zooptymalizować we własnym zakresie.
-
Przejdź do lokalizacji: admin/sources/classes/output i edytuj plik publicOutput.php
-
Usuń:
if ( strstr( $_toTest, '%' ) ) { /* Lowercase it as some browsers send %E2 but it will be stored as %e2 */ $_toTest = strtolower( $_toTest ); }
-
Zapisz zmiany w pliku
-
Wyczyść cache FURL oraz usuń wszystkie stare wpisy FURL 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
Powyższy temat nie wyczerpuje kwestii tworzenia przyjaznych odnośników do forum IPB. Zapraszam do przeczytania artykułu: poprawa SEO w IPB.