Otsi ja asenda WordPressi andmebaasis
WordPress ei hoia su saidi aadressi ühes kohas. See on seadetes, aga ka sõna-sõnalt su postitustes, piltide juures ning teemade, pluginate ja vidinate seadetes. Kui muudad aadressi, tuleb see seepärast asendada kogu andmebaasis. Siit loed, kuidas seda turvaliselt teha ja miks tavaline SQL-käsk võib su saidi katki teha.
Millal sul seda vaja on?
- Su sait töötas http-l ja töötab nüüd https-il ning näed segasisu (https-leht, mis laadib osi http kaudu). Vaata ka Tabalukku pole või 'pole turvaline': segasisu parandamine.
- Kolid saidi teisele domeenile või ajutiselt aadressilt oma päris domeenile.
- Tegid käsitsi koopia teisele aadressile, näiteks testsaidi.
Kui kloonid saidi Installatroni või Website Manageriga, kohandab see koopias aadressid ise. Vaata Kloonimine ja testkeskkonna (staging) loomine. Kui kolid ainult teise majutusse sama domeeniga, ei pea midagi muutma.
Miks mitte paljas SQL REPLACE?
phpMyAdminis saad ühe SQL-käsuga kõik tekstid asendada. Ära tee seda aadresside puhul. Paljud seaded on salvestatud serialiseeritult: PHP lisab iga teksti juurde selle pikkuse. See näeb välja nii:
s:27:"http://example.com/logo.png";
s:27 tähendab: siin järgneb 27 märgi pikkune tekst. Kui teed sellest https://, on tekst 28 märki pikk, aga kirjas on endiselt 27. PHP ei suuda väärtust siis enam lugeda ja seade kaob vaikselt. Näed siis näiteks tühja menüüd, kadunud logo või kadunud vidinaid. Seepärast kasuta tööriista, mis need pikkused uuendab.
Kõigepealt varukoopia
Otsimine ja asendamine toimub kohe ning prügikasti pole. Ekspordi enne oma andmebaas, vaata Andmebaasi eksportimine, või tee WebOké Backupsis ühe klikiga lisavarukoopia, vaata WebOké Backups: varukoopia vaatamine, taastamine või allalaadimine.
1. viis: WP-CLI terminalis või SSH kaudu
WP-CLI on WordPressi ametlik käsureaprogramm. Meil kasutad seda käsuna wp DirectAdmini Terminalis või SSH kaudu. See on olemas ainult SSH-ga pakettides. Millised paketid need on, loed artiklist Terminal sinu brauseris.
- Ava Terminal ja mine oma WordPressi kausta:
cd domains/example.com/public_html - Vaata kõigepealt, mis muutuks, ilma midagi muutmata:
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
Näed iga tabeli kohta, mitu asendust tehtaks. - Kui see klapib, käivita sama käsk ilma valikuta
--dry-run.
Mõned valikud käsus:
- Ilma lisavalikuta töötab WP-CLI tabelitega, mida WordPress tunneb. Kui plugin kasutab omi tabeleid sama eesliitega (näiteks
wp_), lisa--all-tables-with-prefix. Valik--all-tablespuudutab kõiki andmebaasi tabeleid, ka mõne teise saidi omi, mis seal juhuslikult on. --skip-columns=guidjätab rahule veeruguid, kus on postituste püsivad tunnused. WordPress soovitab seda mitte kunagi muuta, muidu näitavad uudistelugejad vanu postitusi uuesti uutena.- Kui keeruliste seadetega läheb midagi valesti, töötab
--preciseaeglasemalt, aga põhjalikumalt.
2. viis: plugin
Kui sul pole Terminali ega SSH-d, kasuta otsimise ja asendamise pluginat, mis toetab serialiseeritud andmeid. Neid on mitu wordpress.org pluginakataloogis. Valides loe kirjeldust: seal peab olema kirjas, et plugin töötleb serialiseeritud andmeid korrektselt. Ka siin kasuta kõigepealt proovirežiimi, kui pluginal see on, ja eemalda plugin, kui oled valmis. Vaata ka WordPressi pluginate valimine, hindamine ja koristamine.
http:// või https://. Kui asendad ainult example.com, muudad ka e-posti aadresse nagu info@example.com ja muid tekste, milles nimi esineb. Pane tähele ka kaldkriipsu lõpus: kui asendad https://example.com/ aadressiga https://example.net, kleepuvad aadressid kokku.Ainult WordPressi aadress ja saidi aadress?
Kas pärast muudatust ei pääse sa enam halduspaneeli, sest WordPress suunab sind valele aadressile? Siis muuda kõigepealt ainult tabeli wp_options ridu siteurl ja home (eesliide wp_ võib sinu juures olla teistsugune). Need on tavalised tekstid, neid võid phpMyAdminis muuta. Kuidas seda teha, loed artiklist phpMyAdmini avamine ja kasutamine. Seejärel tee ülejäänu WP-CLI või pluginaga.
Pärast lõpetamist
- Tühjenda oma vahemäluplugina ja brauseri vahemälu.
- Kui lehed annavad vea 404, salvesta korra jaotises Seaded > Püsiviited. Vaata Minu veebisait ei tööta pärast üleslaadimist või kolimist.
- Kontrolli paari lehte, menüüd, logo ja mõnda vormi. Vaata F12 abil konsoolist, kas segasisu kohta on veel teateid.
Loe edasi
- wp search-replace saidil developer.wordpress.org (inglise keeles)
- WordPressi käsitsi kolimine: failid, andmebaas ja wp-config.php
Tahad rohkem õppida? Läbi tasuta WordPressi kursus, õppetund 3.2 www, ümbersuunamine ja segasisu või õppetund 9.5 WordPressi saidi kolimine.
