Keresés és csere a WordPress-adatbázisban
A WordPress nem egyetlen helyen tárolja a webhely címét. Szerepel a beállításokban, de szó szerint a bejegyzésekben, a képeknél, valamint a témák, bővítmények és widgetek beállításaiban is. Ha megváltoztatja a címet, ezért a teljes adatbázisban le kell cserélnie. Itt olvashatja, hogyan teheti ezt meg biztonságosan, és miért teheti tönkre a webhelyét egy egyszerű SQL-utasítás.
Mikor van erre szükség?
- A webhelye korábban http-n működött, most https-en fut, és vegyes tartalmat lát (egy https-es oldal, amely egyes elemeket http-n keresztül tölt be). Lásd még: Nincs lakat vagy „nem biztonságos”: a mixed content javítása.
- A webhelyét másik domainre költözteti, vagy egy ideiglenes címről a valódi domainjére.
- Kézzel készített egy másolatot egy másik címen, például egy tesztwebhelyet.
Ha a webhelyet az Installatronnal vagy a Website Managerrel klónozza, az a másolatban saját maga módosítja a címeket. Lásd: Klónozás és tesztkörnyezet (staging) létrehozása. Ha csak egy másik tárhelyre költözik ugyanazzal a domainnel, semmit sem kell módosítani.
Miért ne használjon egyszerű SQL REPLACE-t?
A phpMyAdminban egyetlen SQL-utasítással az összes szöveget lecserélheti. Címek esetén ezt ne tegye. Sok beállítás szerializált formában van tárolva: a PHP minden szöveg mellé feljegyzi annak hosszát. Ez így néz ki:
s:27:"http://example.com/logo.png";
Az s:27 jelentése: itt egy 27 karakteres szöveg következik. Ha https:// lesz belőle, a szöveg 28 karakter hosszú, de továbbra is 27 szerepel mellette. A PHP ekkor már nem tudja beolvasni az értéket, és a beállítás csendben elvész. Ilyenkor például üres menüt, eltűnt logót vagy hiányzó widgeteket lát. Ezért olyan eszközt használjon, amely frissíti ezeket a hosszértékeket.
Először biztonsági mentés
A keresés és csere azonnal érvénybe lép, és nincs lomtára. Előtte exportálja az adatbázisát, lásd: Adatbázis exportálása, vagy készítsen egy kattintással egy további biztonsági mentést a WebOké Backups szolgáltatásban, lásd: WebOké Backups: biztonsági mentés megtekintése, visszaállítása vagy letöltése.
1. módszer: WP-CLI a Terminalban vagy SSH-n keresztül
A WP-CLI a WordPress hivatalos parancssori programja. Nálunk wp parancsként használhatja a DirectAdmin Terminaljában vagy SSH-n keresztül. Ez csak az SSH-t tartalmazó csomagokban érhető el. Hogy mely csomagokról van szó, azt a Terminal a böngészőben című cikkben olvashatja.
- Nyissa meg a Terminalt, és lépjen a WordPress mappájába:
cd domains/example.com/public_html - Először nézze meg, mi változna, anélkül hogy bármit módosítana:
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
Táblánként láthatja, hány csere történne. - Ha ez rendben van, futtassa ugyanezt a parancsot a
--dry-runnélkül.
Néhány választási lehetőség a parancsban:
- További kapcsoló nélkül a WP-CLI a WordPress által ismert táblákon dolgozik. Ha egy bővítmény saját táblákat használ ugyanazzal az előtaggal (például
wp_), adja hozzá a--all-tables-with-prefixkapcsolót. A--all-tableskapcsoló az adatbázis összes tábláját érinti, egy esetleg ott található másik webhelyéit is. - A
--skip-columns=guidérintetlenül hagyja a bejegyzések állandó azonosítóit tartalmazóguidoszlopot. A WordPress azt javasolja, hogy ezt soha ne módosítsa, különben a hírolvasók a régi bejegyzéseket újra újként jelenítik meg. - Ha bonyolult beállításoknál probléma adódik, a
--preciselassabban, de alaposabban dolgozik.
2. módszer: bővítmény
Ha nincs Terminal vagy SSH hozzáférése, használjon olyan kereső és cserélő bővítményt, amely támogatja a szerializált adatokat. Ilyenből több is található a wordpress.org bővítménytárában. Választáskor olvassa el a leírást: szerepelnie kell benne, hogy megfelelően kezeli a szerializált adatokat. Itt is használja először a próbamódot, ha a bővítmény rendelkezik ilyennel, és ha végzett, távolítsa el a bővítményt. Lásd még: WordPress-bővítmények kiválasztása, értékelése és rendbetétele.
http:// vagy https:// előtaggal. Ha csak az example.com részt cseréli, az olyan e-mail-címeket is módosítja, mint az info@example.com, valamint minden más szöveget, amelyben a név szerepel. Figyeljen a végén lévő perjelre is: ha a https://example.com/ címet https://example.net címre cseréli, a címek összetapadnak.Csak a WordPress-cím és a webhelycím?
Egy módosítás után nem tud belépni a vezérlőpultba, mert a WordPress rossz címre irányítja át? Ekkor először csak a wp_options tábla siteurl és home sorát módosítsa (a wp_ előtag Önnél eltérő lehet). Ezek egyszerű szövegek, ezeket módosíthatja a phpMyAdminban. Ennek módját a A phpMyAdmin megnyitása és használata című cikkben olvashatja. Ezután a többit WP-CLI-vel vagy bővítménnyel végezze el.
Befejezés után
- Ürítse ki a gyorsítótár-bővítmény és a böngésző gyorsítótárát.
- Ha az oldalak 404-es hibát adnak, a Beállítások > Közvetlen hivatkozások menüpontban mentsen egyszer. Lásd: A webhelyem nem működik feltöltés vagy költöztetés után.
- Ellenőrizzen néhány oldalt, a menüt, a logót és egy űrlapot. Az F12 billentyűvel nézze meg a konzolban, vannak-e még vegyes tartalomra vonatkozó üzenetek.
További olvasnivaló
- wp search-replace a developer.wordpress.org oldalon (angol nyelvű)
- WordPress kézi költöztetése: fájlok, adatbázis és wp-config.php
Szeretne többet megtudni? Végezze el az ingyenes WordPress-tanfolyamot, a 3.2 www, átirányítás és vegyes tartalom vagy a 9.5 WordPress-webhely költöztetése című leckét.
