Autor | Zpráva | ||
---|---|---|---|
RAY Profil |
#1 · Zasláno: 2. 4. 2005, 21:50:08 · Upravil/a: RAY
Zdravim všechny,
Začal jsem si hrát se SEO a na řadu přišlo i generování URL adres. Zajímaly by mě dvě věci: Protože CMS ve kterém to budu realizovat je poněkud staticky navržen mám následující problémy - zajímá mě nakolik to negativně ovlivní výsledek. 1) Všechny odkazy na webu jsou ve styslu skript.php?promenna=X&promennydve=Y Nemohu s tím nic udělat, a proto mě v rámci lepší indexace googlem napadlo, že pokud by návštěvník přistoupil k skript.php?promenna=X&promennydve=Y presmeroval bych ho pomocí HTTP hlavičky na /neco/nekde/nazev/detail/ :) Zajímá mě jestli to např googlu pomůže (samozřejmě ta stránka bude dostupná i tim druhym způsobem). 2) Jak už jsem napsal, ten CMS je poněkud statický, a proto všechny URL budou moci být pouze ve tvaru http://neco.com/?/neco/nekde/nazev/detail/ (ten otazník je tam schválně). Tady mě zajímá nakolik ten otazník v URL odvede negativní práci... Vřelé díky komukoliv :) |
||
Marty Profil |
#2 · Zasláno: 2. 4. 2005, 21:58:58
A možnost použít mod_rewrite nemáš?
Některé vyhledavače můžou mít problémy s url s otazníky (proměnnými). Třeba mě odmítlo Jyxo indexovat všechny adresy s proměnou v url (tedy otazníkem). |
||
Martin Kuželka Profil |
#3 · Zasláno: 2. 4. 2005, 22:03:47
Marty, Jyxo normálně stránky mající v url proměnnou indexuje...
|
||
RAY Profil |
#4 · Zasláno: 2. 4. 2005, 22:07:50
A možnost použít mod_rewrite nemáš?
Nechtěl jsem si tady dělat nějakou spam reklamu, ale je to takovej hojně rozšířenej free CMS systém, kterej chci, aby měl co nejnižší požadavky - tzn. aby fungoval i tam, kde neni mod_rewrite. |
||
Marty Profil |
#5 · Zasláno: 2. 4. 2005, 22:10:25
Martin Kuželka
ale třeba tady ano: http://jyxo.cz/s?s=site%3Awww.najdipraci.cz&d=cz |
||
Yuhů Profil |
#6 · Zasláno: 2. 4. 2005, 22:49:32 · Upravil/a: Yuhů
> Jyxo normálně stránky mající v url proměnnou indexuje...
tam je spíš problém v tom, že je pomaleji (asi 3x) aktualizuje > Zajímá mě jestli to např googlu pomůže > (samozřejmě ta stránka bude dostupná i tim druhym způsobem) Pokud tam nebude přesměrování jedné stránky na druhou, tak ne, nepomůže. Pak je podstatné to, na co povedou odkazy. A pokud tam přesměrování bude, tak hraje roli jenom URL té výsledné stránky, nikoli té přesměrované. |
||
Marty Profil |
#7 · Zasláno: 2. 4. 2005, 22:55:02
Problém je, že dříve se mi stránky s proměnou alespoň rámcově indexovaly.
Momentálně dokonce nenajdu ani jednu indexovanou stránku (http://jyxo.cz/s?s=site%3A+www.martysbloq.wz.cz&d=cz). Ve výsledcích vyhledávání se ale vyskytuji dále. Pravdou je, že jsem před nedávnem měnil tak trochu strukturu webu, takže v tom má Jyxo asi guláš. |
||
RAY Profil |
#8 · Zasláno: 3. 4. 2005, 05:06:24 · Upravil/a: RAY
Takže v tuto chvíli je již systém schopen přesměrovávat ze skript.php?promenna=X&promennydve=Y na http://neco.com/?/neco/nekde/nazev/detail/
Moje další dvě otázky: 1) Je vhodné přesměrovávat (v tomto případě) pomocí HTTP 301? 2) V té nové URL bude pravděpodobně nutné na konec přidat pár čísel (/1/2.. aby byla jistota, že se vše zpětně detekuje - jistota kvůli mnoha možnostem), jak těchto "pár čísel" ovlivní výsledek? |
||
Yuhů Profil |
#9 · Zasláno: 3. 4. 2005, 12:34:59
> Moje další dvě otázky:
na nové otázky je možná lepší zakládat nová témata, ale budiž > 1) Je vhodné přesměrovávat (v tomto případě) pomocí HTTP 301? rozhodně ano > 2) V té nové URL bude pravděpodobně nutné na konec přidat pár čísel (/1/2.. aby byla jistota, > že se vše zpětně detekuje - jistota kvůli mnoha možnostem), jak těchto "pár čísel" ovlivní výsledek? myslím, že nijak |
||
RAY Profil |
#10 · Zasláno: 4. 4. 2005, 04:22:24 · Upravil/a: RAY
Právě jsem dodělal plugin rozhraní pro SEO jednotlivých modulů systému. Výsledek je následující:
Např. místo: http://united-nuke.openland.cz/modules.php?name=Content&pa=showpage&pi d=20 generuje: http://united-nuke.openland.cz/?/content/plan-vyvoje-a-vlastnosti-prod uktu/plan-vyvoje-systemu-united-nuke/item/cGF8c2hvd3BhZ2V8cGlkfDIw (odkazy fungují oba, ale ten SEO engine pro přesměrování mám zatím jen pro adminy (google protection :) ...) Celé se mi to ale nezdá... Skutečně to stojí za to? Pomůže ta výsledná adresa nebo spíše uškodí? A poslední otázka, je dobré do hlavičky cílové stránky vložit HTTP/1.1 302 Found? Studoval jsem lecos o SEO, ale takový specifický problém jako je ten můj (přesměrování, otazník v URL) se nějak veřejně neřeší :) A nebo začínám takhle v noci lamit :) |
||
llook Profil |
#11 · Zasláno: 4. 4. 2005, 09:48:11
Na cílové stránce nechej 200 Ok.
302 se AFAIK používá pro dočasné přesměrování. Když dáš v PHP header("Location: ...") a nevyplodíš žádný stavový kód HTTP, tak Apache implicitně dává 302. Otazník v URL by snad vadit neměl, ale kdyby ses ho chtěl zbavit, tak to jde i bez mod_rewrite. Pokud existuje /index.php a uživatel požaduje /index.php/abcdef/aaa, pak Apache vrátí výsledek /index.php. Přitom ten skript může využívat proměnnou $_SERVER['PATH_INFO'], obsahující to "/abcdef/aaa". Přípony .php se zbavíš Apache direktivou ForceType. Prostě skript uložíš bez přípony a v souboru .htaccess určíš, že ten soubor je typu PHP: <Files "content"> Takhle to řeší například Nucleus nebo Textpattern. |
||
RAY Profil |
#12 · Zasláno: 4. 4. 2005, 14:38:53
Na cílové stránce nechej 200 Ok.
Od 200 ok mě právě odradil tenhle příspěvek http://interval.cz/discussion-read.asp?disc=3694#story32900 Rád bych ho použil, ale kdo má pravdu? :) ...může využívat proměnnou $_SERVER['PATH_INFO'] Dobrý nápad :) Ono by šlo použít vlastně i $_SERVER['PHP_SELF'], ovšem pak nastane v mém případě podobný problém jako s užitím .htaccess s ForceType - viz níže. Takhle to řeší například Nucleus nebo Textpattern. Na Nucleus jsem koukal, ale pokud to udělám pomocí .htaccess s ForceType, tak se vlastně stránka ocitne v několika dalších podaresářích a přestanou chodit relativní odkazy (nemohu to nijak vyřešit)... |
||
RAY Profil |
#13 · Zasláno: 4. 4. 2005, 14:47:20
Tak update, trochu jsem se po probuzení ukvapeně vyjádřil :) Ono by to asi řešilo použití tohoto: http://www.jakpsatweb.cz/html/hlavicka.html#base
|
||
llook Profil |
#14 · Zasláno: 5. 4. 2005, 14:10:42
Kódy začínající dvojkou značí, že požadavek byl v pořádku přijat, pochopen a akceptován. 200 Ok, znamená, že to co požadujeme je posláno v odpovědi.
Kódy začínající trojkou jsou tzv. přesměrovávací, indikují, že klient musí vykonat ještě nějakou akci ke splnění požadavku a to většinou znamená přesměrování. Kód 302 popisuje nejvyšší autorita (RFC 2616, str. 61) takto: Požadovaný zdroj se dočasně nachází pod odlišným URI. Přestože může být nutné přesměrování, klient by měl stále používat URI tohoto požadavku i pro budoucí požadavky. Tato odpověď je kešovatelná pouze pokud je to indikováno polem Cache-Control nebo Expires. Dočasné URI by mělo být dáno polem Location v odpovědi. Pokud metoda požadavku nebyla HEAD, entita odpovědi by měla obsahovat krátkou hypertextovou poznámku s hyperlinkem na nové/á URI. Server php.net to například používá pro přesměrování na zrcadlící servery. Když požaduješ php.net/něco, tak tě to tímto kódem přehodí třeba na cz2.php.net/něco. Ty potřebuješ to, aby se klient (vyhledávač) při požadavku na skript.php?promenna=X&promennydve=Y dověděl, že se požadovaný zdroj trvale přesunul na /?/neco/nekde/nazev/detail/. Aby zahodil tu starou adresu a propříště už použil rovnou tu novou. K tomu se používá 301. Cílová stránka s novou adresou by ale už měla vracet 200 Ok značící v pořádku vyřízený požadavek, stejně jako třeba statické stránky. |
||
Časová prodleva: 21 dní
|
|||
printf Profil * |
#15 · Zasláno: 27. 4. 2005, 00:59:00
Otazník v URL by snad vadit neměl, ale kdyby ses ho chtěl zbavit, tak to jde i bez mod_rewrite.
Pokud existuje /index.php a uživatel požaduje /index.php/abcdef/aaa, pak Apache vrátí výsledek /index.php. Přitom ten skript může využívat proměnnou $_SERVER['PATH_INFO'], obsahující to "/abcdef/aaa". Co se musí udělat aby to takhle fungovalo? Používám Apache 1.3 na win32, u mne to zřejmě logicky hledá soubor "aaa" v adresáři "/index.php/abcdef/", který samozřejmě neexistuje, takže výsledkem je dokonce Internal Server Error. Jinak pokud volám ten "/index.php" tak $_SERVER['PATH_INFO'], resp. $HTTP_SERVER_VARS['PATH_INFO'] obsahuje "/index.php" Zřejmě to bude nastavením či verzí Apache, jenže já bych rád aby toto řešení bylo univerzální i pro případ že se k nastavování Apache nedostanu a verze bude daná. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0