Jak zrobić optymalny serwis pod Google?
Niedawno postanowiłem przebudować stronę, aby zoptymalizować ją
"pod google". Oczywiście przy okazji dokonałem kilka drobnych zmian
umożliwiających lepszą nawigację, jednak głównym powodem zmian była optymalizacja
strony pod google.
Wiadomo: wyszukiwarki "oglądają" strony WWW i zapisują
oglądnięte strony w bazie danych. Jeśli strona jest zrobiona "w zły sposób"
to wyszukiwarka może zindeksować jedynie stronę główną a podstron nie zindeksuje,
gdyż ich nie znajdzie. Chcąc tworzyć stronę pod google wszystkie linki muszą być
widoczne! W tym artykule opiszę wielki błąd, jaki popełniłem.
Otóż google widzi na stronach linki zapisane w postaci <a
href="strona.htm">tekst</a>. Gdy wyszukiwarka
natrafi na taki kawałek kodu, to zacznie indeksować różnie plik strona.htm.
Ponieważ mój serwis jest duży a ja jestem leniwy, to postanowiłem zrobić coś
takiego, że menu strony (czyli wszystkie linki do innych działów) zapiszę w jednym
pliku a gdy będę chciał dodać na stronie nowy dział, to zmodyfikuję TYLKO 1 plik a
nie wszystkie. Jest to bardzo wygodny sposób budowania stron WWW, gdyby nie jeden fakt:
trzeba umieć tak robić, aby google mogło wczytać te linki.
Ja na początku utworzyłem plik menu.js o takiej
zawartości:
document.write('<a
href="plik.htm">plik</a><br>');
document.write('<a href="plik2.htm">plik2</a><br>');
A na każdej stronie w miejscu, gdzie ma być menu dałem taką wstawkę:
<script language="JavaScript"
src="menu.js"></script>
I wszystko by było OK, gdyby nie fakt, że google nie indeksuje plików
.js z kodem JavaScriptowym (!). Tak więc moja strona była OK, ale nie dla google.
Zostałem zmuszony do zrobienia strony w PHP. Zrobiłem plik menu.php o
takiej zawartości:
echo("<a
href=\"plik.htm\">plik</a><br>
<a href=\"plik2.htm\">plik2</a><br>");
Natomiast w miejscu gdzie ma być menu dałem taką wstawkę:
<script language="PHP">
include("menu.php");
</script>
Teraz wszystko było OK: strona była ładna, gdy chciałem dodać nowy
dział, to modyfikowałem tylko jeden plik i co najważniejsze: google widzi wszystkie
linki!. Pewnie zastanawiasz się, dlaczego zamiast <? i ?>
pisałem <script language="PHP> i </script>. Odpowiedź
jest prosta: FrontPage nie wie, że znaczniki <? i ?> oznaczają kod PHP i mi robił
"sieczkę" z kodem PHP, dlatego wolałem użyć TAGa <script>.
Teraz jeszcze jedna ciekawostka: otóż moja strona jest napisana w PHP,
ale pliki mają rozszerzenie htm :-) Dlaczego? Odpowiedź jest prosta:
skoro google zindeksował parę plików htm, to głupio by było zmieniać im
rozszerzenia, aby później google od nowa je indeksował. Oprócz tego google bardziej
lubi serwisy mające strony z rozszerzeniem .htm(l) niż .php. Nie każdy serwer pozwala
na coś takiego, ale można to obejść. Ja znam dwa sposoby na to, aby pliki htm
przechodziły przez interpreter PHP:
Pierwszy to modyfikacja pliku httpd.conf (pisząc skrypty
w PHP najpierw je testuje na appache, którego zainstalowałem pod windowsem i linuxem a
potem wrzucam na serwer i sprawdzam, czy wszystko jest OK). Nie każdy serwer pozwala na
modyfikację tego pliku. Oto interesujący fragment pliku httpd.conf:
#
# AddType allows you to tweak mime.types without actually editing it, or to
# make certain files to be certain types.
#
# For example, the PHP3 module (not part of the Apache distribution)
# will typically use:
#
AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php.exe"
Te dwie linijki, które pogrubiłem musiałem sam dopisać.
Drugi sposób to utworzenie pliku .htaccess o
odpowiedniej zawartości i wrzucenie go do głównego katalogu
addtype application/x-httpd-php .html .htm
DODATKOWY
I SKUTECZNY SPOSÓB NA WYPOZYCJONOWANIE STRONY TO ZAPISANIE JĄ DO LINKUJ PRO
wstecz
|