To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Dynamiczne META Description

Centurion - 24-09-2007, 15:52
Temat postu: Dynamiczne META Description
Poniższy mod ma na celu zoptymalizowanie forum pod kątem wyszukiwarek poprzez wstawianie dynamicznych TAGów META Description (zamiast stałych ustawianych w PA) dla tematów (tylko) będącymi:
dla tematów (viewtopic?t=) - treść pierwszego posta na stronie
dla postów (viewtopic?p=) - treść konkretnego posta
Treść ta jest skracana do 250 znaków, usuwane są znaczniki nowych linii (w ich miejsce spacje), i bbcode.

Na innych stronach META Description jest dalej takie jakie ustawicie w PA

Kod:
#-- [ OTWÓRZ ] --
viewtopic.php

#-- [ ZNAJDŹ ] --
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#-- [ ZAMIEŃ NA ] --
$meta_description = '';

#-- [ ZNAJDŹ ] --
$message = $postrow[$i]['post_text'];

#-- [ PO TYM DODAJ ] --
if(isset($HTTP_GET_VARS['p']))
{
if($postrow[$i]['post_id'] == $HTTP_GET_VARS['p'])
$meta_description = $message;
}
else
{
if($i == 0)
$meta_description = $message;
}

#-- [ ZNAJDŹ ] --
$template->pparse('body');

#-- [ PRZED TYM DODAJ ] --
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

#-- [ OTWÓRZ ] --
includes/page_header.php

#-- [ ZNAJDŹ ] --
if ( $board_config['meta_keywords'] != '' && $board_config['meta_description'] != '' )
{
$meta_desc = '<META NAME="Keywords" content="' . $board_config['meta_keywords'] .'">
  <META NAME="Description" content="' . $board_config['meta_description'] .'">';
}
else if ( $board_config['meta_keywords'] != '' )
{
        $meta_desc = '<META NAME="Keywords" content="' . $board_config['meta_keywords'] .'">';
}
else if ( $board_config['meta_description'] != '' )
{
        $meta_desc = '<META NAME="Description" content="' . $board_config['meta_description'] .'">';
}
else
{
        $meta_desc = ''; 
}

#-- [ ZAMIEŃ NA ] --
$meta_desc = '';
if(isset($meta_description) && !empty($meta_description))
{
$meta_description = preg_replace("/\[URL=(.*?)\]/si", '', $meta_description);
$meta_description = preg_replace("/\[url=(.*?)\]/si", '', $meta_description);
$meta_description = preg_replace("/\[img:(.*?)\](.*?)\[\/img:(.*?)\]/si", '', $meta_description);
$meta_description = preg_replace("/\[IMG:(.*?)\](.*?)\[\/IMG:(.*?)\]/si", '', $meta_description);
$meta_description = preg_replace("/\[B:(.*?)\](.*?)\[\/B:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[b:(.*?)\](.*?)\[\/b:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[I:(.*?)\](.*?)\[\/I:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[i:(.*?)\](.*?)\[\/i:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[U:(.*?)\](.*?)\[\/U:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[u:(.*?)\](.*?)\[\/u:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[COLOR=(.*?)\](.*?)\[\/COLOR:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[color=(.*?)\](.*?)\[\/color:(.*?)\]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[QUOTE:(.*?)\](.*?)\[\/QUOTE:(.*?)\]/si", ':: \\2 ::', $meta_description);
$meta_description = preg_replace("/\[quote:(.*?)\](.*?)\[\/quote:(.*?)\]/si", ':: \\2 ::', $meta_description);
$meta_description = str_replace("[/URL]", '', $meta_description);
$meta_description = str_replace("[/url]", '', $meta_description);
$meta_description = str_replace("<br />", " ", $meta_description);   
$meta_description = str_replace("\n", " ", $meta_description);   
$meta_description = str_replace("\r", "", $meta_description);
if(strlen($meta_description) > 250)
{
$meta_description = substr($meta_description, 0, 250);
$meta_description .= '...';
}
$meta_desc = '<meta name="description" content="' . htmlspecialchars($meta_description) . '">';
}
else
{
if ( $board_config['meta_description'] != '' )
{
$meta_desc = '<META NAME="Description" content="' . $board_config['meta_description'] .'">';
}
else
$meta_desc = '';
}
if ( $board_config['meta_keywords'] != '' )
{
$meta_desc .= '<meta name="keywords" content="' . $board_config['meta_keywords'] .'">';
}

Eros - 26-09-2007, 13:33

Musze uzupełniac ten kod w moje slowa kluczowe i title ? :> . Czy tylko robie tak jak w instrukcji ?
Centurion - 26-09-2007, 14:37

title i keywords zostaja bez zmian - title jest juz dynamiczne w skrypcie a keywords sie ustawia w pa->konfiguracja->dodatkowe
Lololowski - 08-10-2007, 13:46

Centurion spoko - mam podobne, tylko, że => stąd

Pasowałoby mi natomiast dorobić do tego możliwość np dodawania tagów manualnie... Jakbyś myślał coś o tym to tak proponuję tylko =>
1) Fajnie by było, gdyby dorobić możliwość dodawania tagów Keywords z edycji kategorii i działów z PA (np dla danej kategorii przy każdym temacie i dziale dodaje ustawione wcześniej słowa) tak samo dla działów (dla każdego tematu w dziale dodaje słowa ustawione z PA)
2) Fajno by było, gdyby dało się dorobić dodawanie keywords (np przez dodatkowe pole w zakładaniu tematu)... lub np ustawić w PA słowa kluczowe (jak najwięćej takich, które nam odpowiadają) a potem poprzez porównanie ich z treściami postów w temacie wyłonienie tych które powtarzają się najczęściej i ustawienie ich jako keywords... (w wymienionym przeze mnie modzie było to na bazie słów z najcześciej pojawiających się słów i najwięcej było "jak; nie; kiedy" etc xD )

Myślałem już nad tym, ale powiem szczerze tworzenie modyfikacji mi nie leży xD prędzej modyfikowanie już istniejących, bo ani SQL ani php zbytnio nie umiem - o tyle o ile kosmetyke umiem poprawić :P

JrQ- - 01-11-2007, 15:24

Czy jesli moj server nie obsluguje mod_rewrite, to mod ten bedzie dzialac prawidlowo...?
Centurion - 01-11-2007, 15:51

ten mod nie korzysta z rozszerzenia mod_rewrite
trawka - 04-11-2007, 12:31

Zainstalowałem tego moda u mnie na forum ... z linków wychodzących z ok. 10000 spadło na ok. 3000

nie wiesz może czy to jest spowodowane tym modem ?

Centurion - 04-11-2007, 14:24

u mnie wszedzie wzroslo wiec raczej nie
kevvin! - 12-11-2007, 16:22

PA -> Dodatkowe ->

META Keywords:
META Description:

czyli w tych polach mam to napisac, tak?
po przecinku, czy jak? ;-]

nikodem92 - 15-11-2007, 19:10

Cytat:
Pasowałoby mi natomiast dorobić do tego możliwość np dodawania tagów manualnie... Jakbyś myślał coś o tym to tak proponuję tylko =>
1) Fajnie by było, gdyby dorobić możliwość dodawania tagów Keywords z edycji kategorii i działów z PA (np dla danej kategorii przy każdym temacie i dziale dodaje ustawione wcześniej słowa) tak samo dla działów (dla każdego tematu w dziale dodaje słowa ustawione z PA)
2) Fajno by było, gdyby dało się dorobić dodawanie keywords (np przez dodatkowe pole w zakładaniu tematu)... lub np ustawić w PA słowa kluczowe (jak najwięćej takich, które nam odpowiadają) a potem poprzez porównanie ich z treściami postów w temacie wyłonienie tych które powtarzają się najczęściej i ustawienie ich jako keywords...


good idea ;)


kevvin! - w tych polach, po przecinku ;)

[ Dodano: 15-11-2007, 19:16 ]
można by też zrobić to w działach/ forach/ podforach/ subforach... ;] i to pewnie zmienia się tak jak plik viewtopic.php, plik viewforum.php. Zgadłem :?: :>

[ Dodano: 15-11-2007, 19:26 ]
Centurion napisał/a:
Kod:

if(isset($HTTP_GET_VARS['p']))
{
if($postrow[$i]['post_id'] == $HTTP_GET_VARS['p'])
$meta_description = $message;
}
else
{
if($i == 0)
$meta_description = $message;
}


nie powinno być:

Kod:
if(isset($HTTP_GET_VARS['p']))
{
if($postrow[$i]['post_id'] == $HTTP_GET_VARS['p']) {
$meta_description = $message; }
}
else
{
if($i == 0) {
$meta_description = $message; }
}


ja się na php nie znam, ale chyba jest tak: if(warunek) { co ma się dziać jak warunek zostanie spełniony }

a może się mylę :P

djgibo - 30-12-2007, 13:13

u mnie też poleciało z 11000 na 3600 i stoi 2 tyg
kadd_f - 30-12-2007, 13:32

taki mały offtop, ale jak sprawdzić linki wychodzące z forum, Panowie wyżej podają a ja nawet nie wiem jak to sprawdzić...
Centurion - 30-12-2007, 13:40

wpisz w google site:adres_strony

djgibo, nie sadze ze to przez moda, bo u mnie na ani jednej stronie nie polecialo, moze to wina serwera? ostatnio po przeniesieniu jednego forum na inny serw (na starym sie rozne dziwne rzeczy dzialy) przybylo 4000 linkow w miesiac

nikodem92 - 18-01-2008, 07:39

dodałem:

Kod:
$meta_description = preg_replace("/\[color=(.*?)\](.*?)\[\/color]/si", '\\2', $meta_description);
$meta_description = preg_replace("/\[size=(.*?)\](.*?)\[\/size]/si", '\\2', $meta_description);


żeby nie wywalał mi size i color w meta, ale w źródle w meta description widzę coś takiego:

Kod:
&lt;br&gt;[size=18:e75dea51d5]Regulamin[/size:e75dea51d5]


jak się tego pozbyć? :?


edit:
oki tamto wywaliłem zostało jeszcze to...:
Kod:
&lt;br&gt;

Zumi - 09-02-2008, 09:38

mam ptranie a jesli bym wpisał keywordsy i description w pliku czy ten mod bedzie działał? bo w PA jest ograniczenie na ilość znaków


nikodem regulamin twój podpis



Powered by phpBB modified by Przemo © 2003 phpBB Group