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.
Nyelvek könyvtárakban
Szekció neve “Nyelvek könyvtárakban”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
.htaccessfá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=1Ha 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 Off1. 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 WordPressHa 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.
Külön tartomány nyelvenként
Szekció neve “Külön tartomány nyelvenként”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:
- 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.
- Á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.
- 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).
- Á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_SZOVEGEz 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: