![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 23.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, tworzę właśnie stronkę i używam tam includowania. Problem w tym, że na każdej podstronie będą takie same meta tagi. Postanowiłem pobawić się troszkę php i jako, że w php nie jestem zbyt biegły to stworzyłem (przerobiłem z kilku innych) skrypcik dynamicznego generowania meta tagów. Oto on:
Tak wygląda nagłówek pliku index.php:
A to kod pliku function.php:
Linki na mojej stronie są w takiej postaci: www.mojastrona.pl/index.php?url=1 => idzie do podstrony pierwszej www.mojastrona.pl/index.php?url=2 => idzie do podstrony drugiej itd. Całość działa bez zarzutu, ale jak już wspomniałem przygodę z php dopiero zaczynam i chciałbym, aby ktoś kto się na tym zna wypowiedział się czy taki kod ma sens i czy może tak zostać, czy jest może też jakaś inna dużo prostsza metoda na osiągnięcie tego samego efektu. Ponadto chciałbym się dowiedzieć czy roboty wyszukiwarek będą dobrze indexować takie meta tagi (tzn. czy robot zobaczy np. tytuł strony czy tylko: "<title><?php echo tytuly($_GET['url']); ?></title>") Proszę o opinie. Dodam też, że wzorowałem się na tym pomyśle: KLIK Ten post edytował koko887 26.09.2009, 21:08:26 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
1. Złe jest dzielenie strony na części - strona www powinna być traktowana jako całość i dopiero po jej przygotowaniu( i sprawdzeniu ew. błędów) powinna być wysłana do przeglądarki, wysyłanie do przeglądarki strony po kawałku to utrudnianie sobie życia.
2. Złe jest mieszanie kodu HTML z PHP - powinieneś się skupić na wygenerowaniu elementów strony, czyli meta + treść, a następnie wstawieniu ich w odpowiedni szablon - skrypt/dodatek/moduł generujący meta powinien zwracać tablicę z tymi meta i tyle, kod HTML nie powinien programisty PHP w ogóle obchodzić. 3. Złe są adresy stron - jak myślisz o wsparciu dla SEO powinieneś do adresów dodawać słowa kluczowe, a identyfikator powinien być na samym końcu, czyli np. index.php?url=strona,o,grach;23.html - przy zastosowaniu nice url moża wywalić index.php?url=, tak jest prosto i funkcjonalnie 4. Zły jest sposób organizacji tych danych, jak będziesz miał kilka tysięcy stron to też będziesz ładował do zmiennej je wszystkie i trzymał w pliku php? Meta-dane o stronie, kategorii, podkategorii itp. powinny być trzymane w bazie i pobierane tylko te, które są aktualnie wyświetlane, najlepiej jeśli meta są przechowywane od razu z konkretną treścią 5. Najlepiej, jakbyś napisał jakiś silnik do generowania meta, który pozwala zarówno zdefiniować meta dla każdej strony, jak i je wygenerować na podstawie treści czy też odziedziczyć z kategorii nadrzędnej. Sposób jaki tu prezentujesz może funkcjonować tylko jako prowizoryczny i raczej nikt go nie pochwali (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
A co to ma być za konstrukcja?
Przecież to działa jak return $slowa_kluczowa[$url]; Nie widzę w tym żadnej dynamiki. Ręcznie musisz ustawiać sobie te tagi. Gdyby jakoś ładnie podliczało słowa na stronie eliminując te "powszechne" albo brało słowa konkretne z tytułu strony to byłoby dynamiczne. Tak to zwykłe wpisywanie danych. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 19.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
podepnę się.
Mam problem z generowaniem meta tagów: Kod <?php session_start(); ob_start(); ?> <html> <head> <!--OPIS--> <title>domena.pl - <!--TYTUL--></title> </head> <body> ... <?php $title = ((defined('TITLE')) ? ''.TITLE : ''); $opis = ((defined('OPIS')) ? ''.OPIS : ''); $html = ob_get_clean(); $html2 = ob_get_clean(); echo preg_replace('#<!--TYTUL-->#', $title, $html); echo preg_replace('#<!--OPIS-->#', $opis, $html2); ob_end_flush() ?> Wcześniej miałem tylko tytuł i generowało dobrze: Kod <?php define('TITLE', 'tytuly strony'); ?> próbowałem zrobić podobnie z Kod <?php //define('OPIS', '<meta name="description" content="opis strony" />'); ?> coś z tym ob_get_clean() nie mogę dać rady. Pomoże ktoś? (IMG:style_emoticons/default/wstydnis.gif) edit: wymyśliłem coś takiego: Kod echo preg_replace('#<!--TYTUL-->#', $title, preg_replace('#<!--OPIS-->#', $opis, $html)); niby meta description i title wyświetla dobrze, ale nie jestem przekonany do tego... Ten post edytował mruz 30.12.2009, 17:24:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 10:21 |