Iskanje in zamenjava v podatkovni bazi WordPress
WordPress naslova Vaše spletne strani ne shranjuje na enem samem mestu. Naveden je v nastavitvah, pa tudi dobesedno v Vaših prispevkih, pri slikah ter v nastavitvah tem, vtičnikov in gradnikov. Če naslov spremenite, ga morate zato zamenjati v celotni podatkovni zbirki. Tukaj preberete, kako to storite varno in zakaj lahko navaden ukaz SQL Vašo stran pokvari.
Kdaj to potrebujete?
- Vaša stran je delovala na http, zdaj pa deluje na https, in vidite mešano vsebino (stran na https, ki dele nalaga prek http). Oglejte si tudi Ni ključavnice ali »Ni varno«: odpravljanje mešane vsebine.
- Svojo stran selite na drugo domeno ali z začasnega naslova na Vašo pravo domeno.
- Ročno ste izdelali kopijo na drugem naslovu, na primer testno stran.
Če stran klonirate z Installatronom ali Website Managerjem, ta naslove v kopiji prilagodi sam. Oglejte si Kloniranje in ustvarjanje testnega okolja (staging). Če se le selite k drugemu gostovanju z isto domeno, Vam ni treba ničesar spreminjati.
Zakaj ne golega SQL REPLACE?
V phpMyAdmin lahko z enim ukazom SQL zamenjate vsa besedila. Tega za naslove ne storite. Veliko nastavitev je shranjenih serializirano: PHP ob vsakem besedilu zapiše njegovo dolžino. To je videti takole:
s:27:"http://example.com/logo.png";
s:27 pomeni: sledi besedilo s 27 znaki. Če iz tega naredite https://, je besedilo dolgo 28 znakov, a še vedno piše 27. PHP vrednosti potem ne more več prebrati in nastavitev tiho izgine. Vidite lahko na primer prazen meni, izginil logotip ali manjkajoče gradnike. Zato uporabite orodje, ki te dolžine posodobi.
Najprej varnostna kopija
Iskanje in zamenjava delujeta takoj in nimata koša. Pred tem izvozite svojo podatkovno zbirko, glejte Izvoz podatkovne zbirke, ali z enim klikom ustvarite dodatno varnostno kopijo v WebOké Backups, glejte WebOké Backups: ogled, obnovitev ali prenos varnostne kopije.
Način 1: WP-CLI v Terminalu ali prek SSH
WP-CLI je uradni program WordPressa za ukazno vrstico. Pri nas ga uporabljate kot ukaz wp v Terminalu DirectAdmina ali prek SSH. Ta je na voljo samo v paketih s SSH. Kateri paketi so to, preberete v Terminal v Vašem brskalniku.
- Odprite Terminal in pojdite v mapo svojega WordPressa:
cd domains/example.com/public_html - Najprej preverite, kaj bi se spremenilo, ne da bi karkoli spremenili:
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
Za vsako tabelo vidite, koliko zamenjav bi bilo. - Če je to pravilno, izvedite isti ukaz brez
--dry-run.
Nekaj možnosti v ukazu:
- Brez dodatne možnosti WP-CLI deluje na tabelah, ki jih WordPress pozna. Če vtičnik uporablja lastne tabele z isto predpono (na primer
wp_), dodajte--all-tables-with-prefix. Možnost--all-tableszajame vse tabele v podatkovni zbirki, tudi tiste druge strani, ki je slučajno v njej. --skip-columns=guidpusti pri miru stolpecguids stalnimi oznakami prispevkov. WordPress priporoča, da ga nikoli ne spreminjate, sicer bralniki virov stare prispevke znova prikažejo kot nove.- Če gre pri zapletenih nastavitvah kaj narobe, deluje
--precisepočasneje, a temeljiteje.
Način 2: vtičnik
Če nimate Terminala ali SSH, uporabite vtičnik za iskanje in zamenjavo, ki podpira serializirane podatke. Več takšnih najdete v imeniku vtičnikov na wordpress.org. Pri izbiri preberite opis: v njem mora pisati, da vtičnik serializirane podatke pravilno obdela. Tudi tukaj najprej uporabite poskusni način, če ga vtičnik ima, in vtičnik odstranite, ko končate. Oglejte si tudi Izbira, ocenjevanje in čiščenje vtičnikov WordPress.
http:// ali https://. Če zamenjate samo example.com, spremenite tudi e-poštne naslove, kot je info@example.com, in druga besedila, v katerih se pojavi ime. Bodite pozorni tudi na poševnico na koncu: če https://example.com/ zamenjate z https://example.net, se naslovi zlepijo skupaj.Samo naslov WordPressa in naslov strani?
Po spremembi ne morete več v skrbništvo, ker Vas WordPress preusmeri na napačen naslov? Potem najprej prilagodite samo vrstici siteurl in home v tabeli wp_options (predpona wp_ je lahko pri Vas drugačna). To sta navadni besedili, ki ju smete spremeniti v phpMyAdmin. Kako to storite, preberete v Odpiranje in uporaba phpMyAdmin. Nato preostalo opravite z WP-CLI ali vtičnikom.
Po končanem delu
- Izpraznite predpomnilnik svojega vtičnika za predpomnjenje in svojega brskalnika.
- Če strani vračajo napako 404, pri Nastavitve > Stalne povezave enkrat kliknite Shrani. Glejte Moja spletna stran ne deluje po nalaganju ali selitvi.
- Preverite nekaj strani, svoj meni, logotip in obrazec. S tipko F12 v konzoli preverite, ali so še prikazana opozorila o mešani vsebini.
Več branja
- wp search-replace na developer.wordpress.org (v angleščini)
- Ročna selitev WordPressa: datoteke, podatkovna zbirka in wp-config.php
Želite izvedeti več? Opravite brezplačni tečaj WordPressa, lekcijo 3.2 www, preusmerjanje in mešana vsebina ali lekcijo 9.5 Selitev spletne strani WordPress.
