Autor | Zpráva | ||
---|---|---|---|
mich Profil * |
Prosím o radu.
používám na stránkách www.bazeny-jimky-septiky.cz ne moc dobry styl sdres tj. http://www.bazeny-jimky-septiky.cz/index.php?stranka=bazeny a nechci to měnit protože jsme ve ve vyhledávačích docela vysoko a stránky mají ranky. Jde hlavně o to že například etarget na mě odkazuje takto http://www.bazeny-jimky-septiky.cz/index.php?stranka=bazeny&utm_source=etarget&utm_medium=cpc&utm_campaign=etarget a přitom se zobrazí ta sama stránka. Chtěl bych prosím poradit jak můžu asi pomocí rewrite vyřešit problém techto dlouhých duplicitních stránek. |
||
Časová prodleva: 5 dní
|
|||
Davex Profil |
#2 · Zasláno: 23. 1. 2011, 14:56:41
Pomocí mod_rewrite by šlo přesměrovat na URL bez parametrů, ale pak by se ve statistikách návštěvnosti mohlo přijít o přesné měření kampaně. V tomto případě by asi bylo lepší použít
<link rel="canonical"> .
|
||
mich Profil * |
#3 · Zasláno: 23. 1. 2011, 19:27:52
Vůbec nepotřebuju měřit kampaň tu měří etarget. jak by to šlo aby to hlavně vyhledávače pochopili správně. teď mám tyto stranky v site:www.bazeny-jimky-septiky.cz a jsou duplicitní tak aby mě google neshodil.
|
||
mich Profil * |
#4 · Zasláno: 23. 1. 2011, 19:28:38
jo a díky za odpověď Davexi
|
||
Časová prodleva: 3 dny
|
|||
kubik Profil |
#5 · Zasláno: 26. 1. 2011, 22:01:09
Chápu to správně, že chceš z té dlouhé adresy, když na ni někdo klikne, odříznout vše, co je za stranka=bazeny, takže to ten uživatel v adresním řádku uvidí už zkrácené?
Pokud ano, tak mám takový matný pocit, že něco podobného se dá pomocí .htaccess a mod_rewrite dosáhnout za použití regulárních výrazů. Nikdy jsem to nezkoušel, ani si nejsem jistý, že to jde. Zkus googlit rewrite regular expression. A hlavně, jestli na to přijdeš, tak sem prosím hoď nějaký závěr. |
||
glerak Profil * |
#6 · Zasláno: 26. 1. 2011, 22:35:59
jen na okraj, když už tady koukám - z mod_rewrite jeho regulárních výrazů jse tak zmatenej a nešťastnej, že teď jdu cestou parsování adresní řádky v PHP, a případné přesměrování také v PHP.
Tak v .htaccess mám # Veškeré parametry URL předám index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] a v PHP něco jako function URLParse() { $url = $_SERVER['REQUEST_URI']; Debug("Adresní řádek: ".$url); if ($url == "/") { $_GET[uvod] = true; Debug("Úvodní stránka (žádné parametry): ".$url); } else if (preg_match('/^\/(zasahy|cviceni|udalosti)(-(\d{4}))?\.html$/', $url, $par_url)) { $_GET[tema] = $par_url[1]; if ($par_url[3] != NULL) $_GET[rok] = $par_url[3]; else { Debug("Neznámý formát v adresní řádce."); HTTPRedirect('404', 'Parametry adresního řádku se nepodařilo rozklíčovat - odkaz neexistuje.'); } } a Function HTTPRedirect($param, $text) { switch ($param) { case "404": header("HTTP/1.1 404 Not Found"); header("Connection: close"); $_GET[error404] = true; $_GET[error404_text] = $text; Debug("Přesměrováno na chybu 404 - ($param -> $text)"); Sablona(); // kvůli vypsání errorové stránky, a taky debug informací před ukončením skriptu Die(); case "301": Debug("Redirecting 301 ($param -> $text)"); header("HTTP/1.1 301 Moved Permanently"); header("Location: $text"); header("Connection: close"); Die('<p style="color: red; font-weight: bold;">Nepodařilo se přesměrovat stránku (parametr fce je "'.$param.' -> '.$text.'"</p>'); Zdá se mi o jednodušší, přehlednější a hlavně variabilnější a snáze testovatelné. |
||
Davex Profil |
#7 · Zasláno: 27. 1. 2011, 17:08:47
mich:
Nejdřív by bylo dobré, prozkoumat administraci reklamní kampaně, zda nejde vypnout odkazování na URL s parametry utm_*. Netuším, jak je na tom Etarget. Pokud to vypnout nejde, tak lze na serveru přesměrovat pomocí pravidel mod_rewrite z článku NaH1: Vyhněte se duplicitám při měření kampaní. Aby nebylo cílem přesměrování URL s mřížkou, tak stačí z pravidel odstranit #%1? a #%2 .
|
||
Časová prodleva: 14 let
|
0