Tomasz Boiński: 1 Pozycjonowanie stron i zastosowanie mod_rewrite
Pozycjonowanie stron Promocja strony odbywa się poprzez umiejscowienie jej jak najwyżej w wynikach wyszukiwania Wyszukiwarki indeksują strony analizując zarówno jej kod (meta tagi, słowa kluczowe, hierarchia nagłówków) jak i treść (odpowiednie umiejscowienie i zaznaczenie słów kluczowych, ustalenie hierarchii nagłówków, odnośniki na inne strony, odnośniki z innych stron do nas itp.). Tomasz Boiński: 2
Co jest istotne z punktu widzenia wyszukiwarki Liczba i jakość linków prowadzących do strony Słowa kluczowe w linkach prowadzących do strony Budowa kodu strony (np. stosunek treści do kodu) Treść strony (np. hierarchia nagłówków) Popularność domeny nadrzędnej Tomasz Boiński: 3
Co przeszkadza? grafiki treść zawarta w obrazkach jest niedostępna dla wyszukiwarek, flash niektóre wyszukiwarki odczytują flash jako grafikę, przez co roboty nie mogą odczytać zawartych tam słów kluczowych, inne elementy nietekstowe dokumenty zapisane w postaci innej niż tekstowa, zależnie od formatu również mogę być nieczytelne dla robotów, niepowiązane strony i plik roboty potrafią analizować tylko treść, jaką da się uzyskać poprzez pewien odnośnik. Tomasz Boiński: 4
Pozycjonowanie stron (2) Aby robot mógł trafić na naszą stronę należy: zarejestrować w wyszukiwarce (dla Google należy zrobić to pod adresem: http://www.google.pl/addurl) umożliwić dotarcie do naszej strony z jakiejś innej, już indeksowanej przez daną wyszukiwarkę W każdej chwili możemy sprawdzić jakie strony zostały w danej witrynie zindeksowane site:nazwa_domeny, np. site:tboinski.eti.pg.gda.pl Tomasz Boiński: 5
Na co patrzy Google? PageRank TrustRank LinkPopularity Słowa kluczowe Tomasz Boiński: 6
PageRank Algorytm określający popularność strony Określa wartość przypisywaną każdej stronie, jaka została zindeksowana przez wyszukiwarkę Google Na jego wartość przede wszystkim wpływ ma ważona liczba odnośników prowadzących do danej strony Jest odzwierciedleniem mocy, jakie mają odnośniki wychodzące z danej strony Nie ma bezpośredniego przełożenia na pozycję strony w wynikach wyszukiwania (gdyż w żaden sposób nie opisuje treści czy słów kluczowych na stronie). Tomasz Boiński: 7
TrustRank Jest wskaźnikiem zaufania określającym wartość strony WWW Wskaźnik ten z założenia ma eliminować wątpliwej jakości strony z wyników wyszukiwania czy wpływu na wynik dotyczący innych stron Tomasz Boiński: 8
Link Popularity Wskaźnik ten opisuje popularność strony w rankingu Google. Jego wartość wynika z liczby zindeksowanych przez Google stron WWW, które posiadają odwołania do danej strony. link:nazwa_domeny (np. link:tboinski.eti.pg.gda.pl) Obok zawartości strony jest to jeden z najważniejszych wyznaczników decydujących o pozycji strony na liście wyników wyszukiwania. Tomasz Boiński: 9
Słowa kluczowe Są podstawowym aspektem wpływającym na pozycję strony w wynikach wyszukiwania. Oryginalnie umieszczane w znacznikach meta, jednak od jakiegoś czasu znacznik ten nie jest brany pod uwagę przez Google Obecnie analizowane są: treść strony nazwa domeny znacznik title, odpowiedzialny za określenie nazwy strony Tomasz Boiński: 10
Dobór słów kluczowych Popularne wśród użytkowników Prowadzące do małej liczby stron Przy wyborze można skorzystać z dostępnych narzędzi: Wyświetlające listę najpopularniejszych stron http://boksy.onet.pl/ranking.html?n=1 http://szukaj.wp.pl/najpop.html Pozwalające na określenie liczby wyszukiwań oraz liczbę stron pasujących dla danego słowa kluczowego https://adwords.google.pl/select/keywordtoolexternal Tomasz Boiński: 11
Google Analytics Internetowe narzędzie do analizy statystyk serwisów WWW https://www.google.com/analytics Pozwala na: Generowanie raportów Śledzenie czasu, miejsca, długości odwiedzin Sposobu trafienia na stronę Itp. Tomasz Boiński: 12
Jak jeszcze można poprawić widoczność strony? Należy umieścić w katalogu głównym plik sitemap.xml <?xml version="1.0" encoding="utf-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84"> <url> <loc>http://lab527.eti.pg.gda.pl/index.html</loc> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>http://lab527.eti.pg.gda.pl/info.html</loc> <changefreq>yearly</changefreq> <priority>0.7</priority> </url> <url> <loc>http://lab527.eti.pg.gda.pl/regulamin.html</loc> <changefreq>never</changefreq> <priority>0.4</priority> </url> </urlset> Tomasz Boiński: 13
sitemap.xml Możliwe częstotliwości zmian strony: always hourly daily weekly monthly yearly never Tomasz Boiński: 14
Czytelne odnośniki Należy też zważać na fakt, że słowa kluczowe powinny zawierać się w odnośnikach Przyjazny link: www.fakty.interia.pl/swiat/news/niemcy-atak-nozownika-w-szkole Nieprzyjazny link: www.microsoft.com/details.aspx?familyid=34c2ad5-8c3d-8c03-08cdecd8852b&displaylang=en Parametry nie są przyjazne: http://mojastrona.com.pl/sklep.php?ilosc=5&kategoria=7 Lepiej jest to skonwertować na inną postać, pozbawioną znaków typu &, +, rozszerzeń plików itp. http://mojastrona.com.pl/sklep-5-7 Tomasz Boiński: 15
Jak to zrobić? W języku Java mamy możliwość zdefiniowania serwletu, który jest domyślny dla wszystkich zapytań użytkownika <servlet> <servlet-name>frontcontroller</servlet-name> <servlet-class>portal.core.routing.frontcontroller</servlet-class> </servlet> <servlet-mapping> <servlet-name>frontcontroller</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> Tomasz Boiński: 16
Java c.d. W metodzie processrequest serwletu możemy kompletną ścierzkę zapytania odczytać np. instrukcją: String path = request.getservletpath().tolowercase(); Na podstawie odczytanych parametrów możemy wygenerować odpowiedź czy to bezpośrednio czy też poprzez dedykowane klasy Tomasz Boiński: 17
PHP W języku PHP jest i trudniej i łatwiej Strony wywołujemy bezpośrednio lub należy wyróżniać żądanie poprzez parametry Najprostszym rozwiązaniem jest przekazywanie parametrów poprzez mechanizm GET Użytkownik posługuje się przyjaznym adresem, a ten jest tłumaczony na zrozumiały przez serwer Tłumaczenie odbywa się za pośrednictwem mechanizmów serwera WWW W Apache jest to mod_rewrite Tomasz Boiński: 18
mod_rewrite Zazwyczaj należy je aktywowować, w OpenSuse w pliku /etc/sysconfig/apache2 należy dopisać rewrite do opcji APACHE_MODULES Reguły umieszczamy albo w konfiguracji serwera albo w katalogu ze stroną w pliku.htaccess Podstawowa reguła wygląda następująco: RewriteEngine On RewriteBase /~boing/ RewriteRule ^index.html$ strona.php Tomasz Boiński: 19
Czytelne adresy Zamiana odwołania postaci http://localhost/pokaz-dokument-nr15.html na http://localhost/strona.php?kategoria=dokument&id=15 RewriteRule ^pokaz-dokument-nr([0-9]+)\.html$ strona.php?kategoria=dokument&id=$1 Dowolny tekst występujący pomiędzy myślnikami w adresie zostanie zamieniony na parametr kategoria o wartości tego tekstu, np. dla wywołania http://localhost/wyswietl-plik-nr12.html zostanie tak naprawdę zrealizowane zapytanie http://localhost/strona.php?kategoria=plik&id=12 RewriteRule ^wyswietl-([a-z]+)-nr([0-9]+)\.html$ strona.php?kategoria=$1&id=$2 Tomasz Boiński: 20
Poprawa PageRank Przekierowanie typu 301 unifikacja adresów RewriteCond %{HTTP_HOST} ^przyklad.pl RewriteRule (.*) http://www.przyklad.pl/$1 [R=301,L] Postać z warunkiem: RewriteCond %{HTTP_HOST} ^www.stara-strona.pl [or] RewriteCond %{HTTP_HOST} ^stara-strona.pl RewriteRule (.*) http://www.nowa-strona.pl/$1 [R=301,L] Tomasz Boiński: 21
Inne zastosowania Zawsze wszystkie reguły są przetwarzane Można przerwać dodając znacznik L RewriteRule ^(.+),(.+)\.html$ strona.php?kategoria=$1&id=$2 [L] RewriteRule ^(.+)\.html$ strona.php?kategoria=$1 [L] Regułom mogą podlegać tylko nieistniejące pliki RewriteCond %{REQUEST_FILENAME}!-f RewriteCond %{REQUEST_FILENAME}!-d RewriteuRule.* strona.php [L] Dopisanie oryginalnego zestawu parametrów RewriteRule ^(.*).html$ index.php?kategoria=$1 [QSA] Tomasz Boiński: 22