Sziasztok!
Egy másik motor (cs-cart) esetében már találkoztam ezzel a problémával (ott szintén "currency" paraméter volt, valamint "sl" paraméter [selected language] a nyelvhez).
Gondolom az osC is azt csinálja, hogy amennyiben van a $_GET-ben currency vagy language, akkor azt tárolja le session vagy cookie szinten, ha nincs akkor a már letárolt vagy alapértelmezett értékeket, ezért szerintem megoldható egy olyan trükkel a történet, hogy az inicializálási folyamat végeztével (amikor már beállításra kerültek ezek a dolgok) egy 301-es átirányítást kell végezni a megfelelő, nem paraméterezett URL-re.
Azaz:
PHP kód:
if ($_GET['language'] || $_GET['currency']){
$url = osc_query_remove($requested_url, array('language', 'currency'));
header("HTTP/1.1 301 Moved Permanently");
header("Location: $url");
}
Ahol az osc_query_remove egy speciális függvény. Nekem CS-Cart esetében volt beépített gyári függvény, ami megoldotta ezt a feladatot, ha osC alatt nincs, akkor írni kell egyet, amúgy annyira nem bonyolult.
Ettől függetlenül az egyéb, nem kívánatos paraméterekre (amik nem változtatják az oldal tartalmát) rel="canonical" link lett meghatározva, valamint a webmaster toolsban az URL paraméterek fülön beállításra került, hogy mely paraméterek nem érintik a weboldal tartalmát (pl aff_id, stb ...)
Ezáltal megoldódtak a problémák, de a Webmaster tools 100%-ig még 2 hónnapal később se mutatta rendesen a dolgokat. Viszont az indexben már minden jól látszódott 1-2 hét után.
Üdv,
Isti
Könyvjelzők