Pozycjonowanie strony w PHP - przyjazne tytuły

W dzisiejszych czasach przy projektowaniu strony internetowej nie liczy się już tylko wygląd i treść. Coraz wiele osób tworząc strony projektuje je typowo pod pozycjonowanie: odpowiednie tytuły stron, przyjazne linki, mapy stron, itp. Wszystkie te techniki znacząco mogą wpłynąć na wysokość naszej strony w wyszukiwarkach internetowych.

Dzisiaj chciałbym pokazać jak w prosty i zarazem skuteczny sposób stworzyć przyjazne tytuły stron. Będzie to pierwsza część wpisów na temat pozycjonowania strony od strony serwera. Jeżeli będziemy odpowiednio korzystać z funkcji, jakie oferuje nasz serwer, możemy bardzo wpłynąć na wypozycjonowanie strony.

Podczas projektowania strony internetowej, zazwyczaj można spotkać dwa rodzaje budowania strony:

  • za pomocą pliku index.php, który wczytuje w konkretnym miejscu plik z zawartością danej podstrony,
  • za pomocą plików z podstronami, w których wczytywany jest nagłówek i stopka.

Stworzymy system, który będzie mógł obsługiwać obydwa powyższe metody. Na początku prześwietlmy kod HTML naszej strony internetowej. Zazwyczaj ma on taką strukturę:

  • HTML
    • HEAD
      • TITLE
      • META, itp
    • BODY
      • zawartość strony

Jeśli wczytujemy zawartość podstrony w <body> zazwyczaj robimy to w taki, lub podobny sposób:

if(isset($_GET['page']))
  include($_GET['page'].'.php');
else
  include('a.php');

Oczywiście powyższy przykład jest tylko poglądowy i nie radzę go używać ze względu na bezpieczeństwo. Ale wracając do tematu: sposób ten jest bardzo powszechnie używany i jest bardzo prosty w implementacji. Jednak jeśli chcemy wpłynąć na tytuł strony, to możemy się natknąć na problem. Zauważmy, że tytuł jest ustalany praktycznie na samym początku strony, natomiast podstrona w dalszej części. Nie możemy więc wyświetlić zmiennej pobranej z pliku. Wiec jak to obejść?

Możemy skorzystać z buforowania strony internetowej. Polega ona na wczytaniu całej strony do pamięci i na samym końcu wyświetleniu jej. W dobie szybkich serwerów cała operacja ma znikomy wpływ na szybkość ładowania strony. Zobaczmy jak skorzystać z tej metody.


Na samym początku pliku index.php, lub pliku z nagłówkiem strony musimy dodać kod:

<?php ob_start();

W ten sposób poinformujemy serwer, że ma od tego momentu ładować stronę do pamięci, a nie wysyłać ją do użytkownika.

Gdy strona już jest wczytana, musimy usunąć ją z pamięci i wysłać użytkownikowi. W ostatniej linii głównego pliku, lub stopki strony dodajemy kod:

echo ob_get_clean(); ?>

Bardzo ważne jest, aby powyższe kody były umieszczone w pierwszej i ostatniej linii kodu!

Teraz przejdźmy do praktyczniejszej części. W miejscu, gdzie powinien pojawić się tytuł strony umieszczamy kod:

<title>Tytuł naszej strony<!--TITLE--></title>

W ten sposób skrypt będzie wiedział w którym miejscu ma umieścić tytuł strony.

Dodajmy jeszcze mechanizm zamiany tytułu. Zmodyfikujmy kod służący za wyświetlenie strony w bufora na taki:

<?
$title = ((defined('TITLE')) ? ' - '.TITLE : '');

$html = ob_get_clean();
echo preg_replace('#<!--TITLE-->#', $title, $html);
?>

W zależności od tego, czy jest ustalona stała zawierająca tytuł ustalamy zmienną $title. Jeśli nie – tytuł pozostaje pusty. Kolejnym krokiem jest pobranie strony z pamięci i za pomocą wyrażenia regularnego zmiana odpowiedniego fragmentu na tytuł naszej strony.

Właściwie to to jest już cały kod. Jeżeli będziemy chcieli zmienić na jakiejś podstronie tytuł strony wystarczy, że umieścimy w dowolnym miejscu kod:

<?php define('TITLE', 'Tytuł strony A'); ?>

Jak widać w bardzo prosty sposób możemy stworzyć skuteczny mechanizm pozycjonujący. Oczywiście w analogiczny sposób możemy zrobić wyświetlanie słów kluczowych, czy opisów strony.

Na samym końcu kod całego mechanizmu:

index.php

<? ob_start() ?>
<html>
<head>
<title>Moja strona<!--TYTUL--></title>
</head>
<body>
<?
  if(isset($_GET['page']))
    include($_GET['page'].'.php');
  else
    include('a.php');
?>
</body>
</html>
<?
$title = ((defined('TITLE')) ? ' - '.TITLE : '');

$html = ob_get_clean();
echo preg_replace('#<!--TYTUL-->#', $title, $html);
?>

a.php

<? define('TITLE', 'Strona A'); ?>
<h1>Strona A</h1>

Jeżeli nie podamy powyższego kodu skrypt będzie działał nadal prawidłowo – wyświetli się standardowy tytuł.

Komentarze do wpisu "Pozycjonowanie strony w PHP - przyjazne tytuły"

24 maja 2009, 21:06 #

Aseeon:

Od strony php to się ładniej nazywa SEO xD
Poza tym to spoczko.

24 maja 2009, 21:08 #

usagiaddict:

"Pozycjonowanie strony od strony PHP"- od strony gramatycznej ten tytuł ma słabe strony

24 maja 2009, 21:10 #

Marcin:

Wszystko fajnie, lecz sama struktura strony, tytułów czy nawet ładnych linków nie wpływa znacząco na pozycję w wyszukiwarkach. Dla przykładu wystarczy wejść na google.com i wpisać "click here", wyskoczy nam na pierwszym miejscu podstrona adobe.com. Wchodzimy i co...? Ani jednego słowa click jak również ani jednego słowa here. Nie ma ich w tytule, treści, adresie, słowach kluczowych... nigdzie. A jednak ma pierwsze miejsce. Dlaczego? Bo w 95% o pozycji strony świadczą inne strony, które się do niej odwołują, jak również teksty odnośników, które odsyłają do danej strony. Adobe reader jest powszechnie stosowanym programem, do ściągnięcia za darmo, więc mnóstwo stron, w tym także kilka o PR 9 i kilkadziesiąt o PR 8 linkuje do pobrania go właśnie z tej podstrony adobe.com. Jak nie trudno się domyślić, sporo z nich wskazuje na link treścią "click here" to download, stąd ta wysoka pozycja. Nie twierdzę jednak, że nie trzeba zoptymalizować strony na ile to tylko możliwe, jednak nie wpłynie to w jakiś niesłychany sposób na naszą pozycję w wyszukiwarkach. Tak czy siak fajny tutorial, pozdrawiam.

24 maja 2009, 21:10 #

usagiaddict:

poza tym: mvc zamiast pisać kod z rękawa. i seo jak już kolega wspomniał :)

24 maja 2009, 22:03 #

codecalm:

Zgadzam się z przedmówcami, jednak weźmy pod uwagę, że nie każdy z nas zaczynał kodować znajac odrazu MVC. Jeżeli ktoś zna się na programowaniu, to zaimplementuje sobie taki mechanizm odrazu tworząc stronę. Ten tutorial jest raczej dla osób, które nie mają tak duzej wiedzy, by zrobić to samemu.
Chciałem pokazać, że mimo iż strna działa, to można ją jeszcze bardziej ulepszyć.
A pozatym czytelne adresy nie są tylko pod pozycjonowanie - ułatwiaja także życie złykłym uzytkownikom strony ;)

5 czerwca 2009, 7:02 #

thid:

no dokladnie, nie kazdy zna MVC/MTC itp itd. Ogolnie tresc spoko

21 lipca 2010, 23:22 #

marcin:

ten artykuł to dla mnie zbawienie! zadziałało od razu, jesteś Mistrz! dzięki!!

Dodaj komentarz do wpisu