Tovább a tartalomhoz

A nyelvi URL formája

Nyelvek könyvtárakban, külön tartományokon vagy paraméterként: beállítás, kiszolgálóigény, hibaelhárítás és munkamenet-adatok átadása.

A WPML háromféleképpen formázhatja a nyelvi webcímeket. Belül minden nyelv egyetlen WordPress-adatbázisban van, a látogatók számára azonban úgy tűnhet, mintha külön oldalak lennének. A formát az első beállításkor választod, később a WPML → Beállítások → URL-ek és SEO oldal Language URL format kártyáján változtathatod.

Forma Példa
Different languages in directories (nyelvek könyvtárakban) www.example.com/es/, www.example.com/ja/
A different domain per language (külön tartomány nyelvenként) www.example.com, www.example.de vagy en.example.com, de.example.com
Language name as a parameter (nyelv paraméterként) www.example.com/?lang=fr, www.example.com/about/?lang=en

A paraméteres forma nem igényel semmilyen kiszolgáló-beállítást.

Ilyenkor a WPML virtuális mappákba rendezi a fordításokat. A könyvtárak nem léteznek fizikailag a kiszolgálón, csak a webcímekben jelennek meg.

Feltételek:

  • Az Apache rewrite moduljának (mod_rewrite) be kell lennie kapcsolva. Ha nincs hozzáférésed a kiszolgáló beállításaihoz, kérd a tárhelyszolgáltatót.
  • Az oldalnak „szép” (nem alapértelmezett) permalink-szerkezetet kell használnia, például Év/Hónap/Név vagy %postname%. A permalinkeket a WordPress beállításaiban módosíthatod.

Gyakori hibák, amiket ne csinálj:

  • Ne hozz létre valódi könyvtárakat, és ne telepítsd többször a WordPresst. Ha így teszel, a könyvtáras nyelvek nem fognak működni.
  • Ne szerkeszd az .htaccess fájlt átirányítási szabályokkal. A WPML a saját átirányítási szabályait dinamikusan hozza létre.

Az alapértelmezett nyelvet is könyvtárba teheted, és megadhatod, mi jelenjen meg a gyökér webcímen: lásd a Gyökéroldal és az alapnyelv könyvtára fejezetet.

Ha nem lehet bekapcsolni a nyelvi könyvtárakat

Szekció neve “Ha nem lehet bekapcsolni a nyelvi könyvtárakat”

Ha a WPML nem engedi kiválasztani a könyvtáras formát, az azért van, mert a WPML megpróbálta elérni a nyelv webcímét, és hibát kapott. Három dolognak kell teljesülnie: a webcímátírás be van kapcsolva, a WordPress írhat és olvashat a mappáiban, és az oldal „szép” permalinkeket használ. Fizikai könyvtárakat nem kell létrehozni.

A WPML ezzel a próbahívással ellenőrzi:

sajatoldal.hu/NYELV/?____icl_validate_domain=1

Ha megnyitod például a spanyol változat címét, üres oldalt kapsz, a forrásában pedig ez áll:

<!--http://sajatoldal.hu-->

Ez jelzi a WPML-nek, hogy a WordPress engedi ezt a webcímszerkezetet. Ha hibaoldalt lát, kikapcsolja a funkciót, és piros hibaüzenetet ír ki a lehetséges okokkal. A WPML a címet fopen hívással éri el, ami a böngészőhöz hasonló, de nem ugyanaz, ezért győződj meg róla, hogy az fopen engedélyezve van a kiszolgálón. A PHP-beállításba tehetsz egy ilyen sort, hogy ne legyen letiltva:

SecFilterEngine Off

1. A WordPress engedélyezi a webcímátírást. A WordPress az .htaccess fájlt a telepítési mappában hozza létre, ha az alapértelmezettől eltérő webcímeket használsz. A fájl tartalma ez legyen:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Ha nincs ilyen fájl, hozd létre. Ha üres, másold bele a fenti tartalmat. Apache-on a mod_rewrite modul végzi az átírást, ami általában alapból be van kapcsolva. Ha nem vagy biztos benne, kérdezd meg a tárhelyszolgáltatót.

2. A WordPress írhat a mappáiba. Apache esetén derítsd ki, melyik felhasználó alatt fut, és add meg neki az olvasási és írási jogot a WordPress telepítési mappájára. Ezt FTP-programmal, parancssorból vagy a tárhelyszolgáltató segítségével teheted meg. Utána próbáld újra.

3. Szép permalinkek. Állíts be nem alapértelmezett permalink-szerkezetet a WordPress beállításaiban.

CDN esetén (például Cloudflare) előfordulhat, hogy az eltávolítja a HTML-megjegyzéseket, így a próbahívás hamis hibát jelez a ?____icl_validate_domain=1 miatt, miközben a nyilvános oldalon minden rendben van.

A nyelveket teljesen önálló tartományokon (például example.com és example.de) vagy aldomainokon (en.example.com, de.example.com) is szervezheted. A WPML a tartományra érkező kérésnél a megfelelő fordítást tölti be, nem irányít át az elsődleges tartományra. A tartományok a kereséseknél SEO-előnyt is adhatnak a másodlagos nyelveknek.

Bekapcsolás: WPML → Beállítások → URL-ek és SEO, Language URL format kártya, A different domain per language.

Amit előre el kell intézned:

  • Meg kell vásárolnod a használni kívánt tartományokat, és szerkeszthetned kell a DNS-beállításaikat, hogy a tartomány a webhely kiszolgálójának (IP-címének) irányába mutasson.
  • Aldomain esetén is kell a főtartomány (például example.com), és a tárhelycsomagnak engednie kell aldomainek létrehozását.
  • Minden nyelvi változathoz kell SSL-tanúsítvány, vagy egy több tartományra szóló tanúsítvány.

A beállítás a tárhelyszolgáltatóval együtt a legegyszerűbb, mert minden szolgáltatónak más a vezérlőpultja (cPanel, Webmin stb.). Ajánlott lépések, ha a német változat tartománya example.de, az angolé example.com:

  1. Vedd meg a tartományt. Ha lehet, a tárhelyet és a tartományt ugyanattól a cégtől vedd, mert így egyszerűbb a beállítás.
  2. Állítsd be a DNS-t. Minden tartománynak vagy aldomainnek a WPML-lel működő webhelyedre kell mutatnia. Külön tartománynál kérd a szolgáltatótól egy parkolt tartomány (alias) felvételét a meglévő tartományhoz. Aldomainnél kérd az aldomain felvételét úgy, hogy a főtartománnyal azonos helyre mutasson. A szolgáltatónak szüksége lesz a WordPress-oldal helyére (IP-cím) és az elsődleges tartomány nevére. Ha a tartományt és a tárhelyet más cégtől vetted, kérj tőlük részletes útmutatót.
  3. Teszteld a tartományokat. A WPML-beállítás előtt nyisd meg az új tartományokat: mindegyiknek ugyanazt az oldalt kell mutatnia átirányítás nélkül (a WPML kikapcsolt állapotában is).
  4. Állítsd be a WPML-ben. A WPML → Beállítások → URL-ek és SEO oldalon, a Language URL format kártyán válaszd az A different domain per language lehetőséget, írd be a másodlagos nyelv tartományát (például example.de), és kattints a Save gombra. A WPML ellenőrzi az új tartományt, hiba esetén értesítést kapsz.

Ezen az oldalon bekapcsolhatod azt is, hogy a bejelentkezési munkamenet átmenjen a többi tartományra. Ha oldalépítővel (például Elementorral) szerkeszted az alap- és a másodlagos nyelvű tartalmat, ezt be kell kapcsolnod, különben a tartományváltáskor kijelentkeztet.

Gyakori kérdések:

  • Keverhetem a tartományokat és az aldomaineket? Igen. Állítsd be őket a tárhelyen, majd írd be a WPML beállításaiba.
  • Keverhetem a tartományokat és a könyvtárakat vagy paramétereket? Nem. Tartományt és könyvtárat használó nyelvek vegyesen nem lehetnek.

Munkamenet-adatok átadása tartományok között

Szekció neve “Munkamenet-adatok átadása tartományok között”

Egyes bővítmények és sablonok a munkamenet adataira (sütikre) támaszkodnak. Nyelvváltáskor tartományok között ezek elvesznek, a látogató például nem látja többé a kosarában lévő termékeket, mert a böngésző szigorúan elkülöníti a különböző webhelyek adatait. A WPML ezért saját mechanizmussal szinkronizálja a munkamenet-adatokat a tartományai között.

A beállítás a WPML → Beállítások → URL-ek és SEO oldalon, az A different domain per language módnál, a Language URL format szakaszban van: Pass session arguments between domains through the language switcher.

Hogyan működik: ha vannak szinkronizálandó sütik, a nyelvváltó hivatkozásaihoz egy paraméter kerül, például:

sample.es?xdomain_data=HOSSZU_SZOVEG

Ez az xdomain_data paraméter tartalmazza a nyelvváltás utáni süti beállításához szükséges adatot. A bővítmények és sablonok a wpml_cross_domain_language_data szűrővel adhatják át a szükséges adatot; a WPML Multilingual & Multicurrency for WooCommerce így viszi át a kosár sütijét.

  • SEO-problémát nem okoz. A paramétert a böngészőben JavaScript fűzi a hivatkozásokhoz, a WordPress által kirajzolt oldalban nincs benne. Az oldaltérképben és az indexelt oldalakon nem látható, a Google sem látja a forrásban. A Google Analyticsben néha megjelenhet, mert ezek valódi, a látogatók által kattintott hivatkozások, ez viszont nem árt a SEO-nak.
  • Egyéni nyelvváltóval is működik, ha a WPML nyelvváltó API-jával készült, mert a JavaScript felismeri a nyelvváltó hivatkozásait.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások