Cum se actualizează link-urile media în WordPress după migrare?

12 iun. 2017, 17:58:03
Vizualizări: 25.6K
Voturi: 2

Mi-am migrat site-ul WordPress pe un nou host și URL nou. Am făcut toate operațiunile tipice de căutare și înlocuire în mysql și site-ul funcționează excelent.

Totuși, link-urile imaginilor mele nu au extensia .co.uk, astfel că nu funcționează.

Imagine cu link-uri media nefuncționale în WordPress

Ciudat este că toate URL-urile imaginilor sunt corecte în codul sursă al articolelor. Dar în biblioteca mea media, toate au extensia .co.uk lipsă.

Cum pot adăuga înapoi extensia .co.uk în URL-urile din biblioteca media?

2
Comentarii

Căutarea și înlocuirea nu funcționează de obicei pentru tot în WordPress deoarece unele date sunt serializate. Caută un "plugin pentru migrarea bazei de date" - există mai multe care funcționează bine - care să găsească toate URL-urile vechi și să le înlocuiască chiar și pe cele serializate, cum ar fi URL-urile din biblioteca media.

WebElaine WebElaine
12 iun. 2017 18:40:23

Să ghicesc... Ai înlocuit domain.com cu cosworth-europe.co.uk, nu? Asta va înlocui șirul de caractere fără a actualiza datele serializate. Ar trebui să folosești un plugin precum Better Search Replace dacă vrei să înlocuiești date serializate.

Johansson Johansson
12 iun. 2017 19:44:40
Toate răspunsurile la întrebare 6
4

După cum am menționat în comentariile de sub întrebarea ta, unele date din baza de date WordPress sunt serializate și, prin urmare, nu pot fi modificate printr-o simplă căutare și înlocuire.

Ar trebui să citești secțiunea Mutarea WordPress din codex. Mai exact partea despre Schimbarea numelui de domeniu și a URL-urilor. De obicei, folosesc un plugin sau un utilitar de linie de comandă, în funcție de ce este disponibil.

Plugin:

Better Search Replace este un plugin util recomandat în articolul de mai sus. Există și alte pluginuri care fac același lucru, dar acesta este preferatul meu. Unele caracteristici pe care le apreciez sunt:

  • Suport pentru date serializate.
  • Posibilitatea de a selecta una sau mai multe tabele.
  • Funcția "dry run" pentru a testa și verifica modificările înainte de a le aplica efectiv.
  • Cerințe minime de server (tot ce ai nevoie este o instanță WordPress.)

Utilitar CLI:

O altă opțiune care gestionează datele serializate este utilitarul search-replace din WP-CLI. Această opțiune se folosește din linia de comandă prin SSH și necesită instalarea wp-cli pe server. Poți consulta documentația pentru toate opțiunile și exemplele disponibile, dar utilizarea de bază este:

# Caută vechiul nume de domeniu și îl înlocuiește cu unul nou
$ wp search-replace 'http://old.example.dev' 'http://new.example.com'
12 iun. 2017 19:49:08
Comentarii

Dacă considerați că acest răspuns ar trebui să primească un vot negativ, vă rugăm să lăsați un comentariu aici explicând de ce, astfel încât să pot actualiza sau șterge răspunsul. Cred că acest răspuns este valid, dar sunt deschis la critici. Mulțumesc! :-)

DaveLak DaveLak
12 iun. 2017 20:57:00

Nu înțeleg de ce acest răspuns a primit un vot negativ. Eu i-am dat un vot pozitiv. Better Search and Replace este excelent pentru date serializate, cum ar fi widget-uri, cutii meta personalizate și această situație.

Christina Christina
12 iun. 2017 22:35:28

Mulțumesc Christina, cred că votul negativ a fost datorat faptului că recomandarea plugin-ului a fost singura sugestie. Acest lucru este de înțeles, în general nu-mi plac răspunsurile care recomandă doar plugin-uri, dar în acest caz am considerat că este justificat. Oricum, am actualizat răspunsul meu pentru a include o referință la articolul din Codex care sugerează acest lucru. Sper să ajute pe cineva!

DaveLak DaveLak
13 iun. 2017 02:10:57

Better Search Replace este un plugin excelent și îl folosesc tot timpul. Posibil să fi primit un vot negativ pentru că, pentru ca BSR să înlocuiască URL-ul Media, trebuie să bifați opțiunea "Replace GUIDs" care nu este bifată implicit. Nu a funcționat pentru mine până când nu am verificat tabelul și am văzut că URL-ul este stocat în câmpul GUID.

Jared Pomranky Jared Pomranky
19 iun. 2019 21:38:10
0

Aceasta este o problemă destul de comună, așa că cred că merită un răspuns detaliat care să acopere situația pe care majoritatea oamenilor o caută pe Google când o întâlnesc.

Pentru problema specifică a lui Montrealist

Pentru întrebarea specifică, se pare că @montrealist a efectuat în mod incorect un proces de căutare/înlocuire în baza de date la un moment dat. Văd că URL-ul pentru media este:

http://www.cosworth-europe/sam/wp-content/...

Presupun că acesta ar trebui să fie:

http://www.cosworth-europe.co.uk/sam/wp-content/...

La un moment dat, ați pierdut TLD-ul gazdei, așa că acesta ar fi primul lucru de verificat aici. Ați putea rerula un proces de căutare și înlocuire cu ceva de genul:

  • Căutare: //www.cosworth-europe/
  • Înlocuire: //www.cosworth-europe.co.uk/

Aceasta ar trebui să corecteze problema specifică pe care o văd aici, presupunând că presupunerile mele sunt corecte.

Pentru cei care caută probleme similare pe Google

WordPress stochează multe referințe către URL-uri în baza sa de date. Nu există o singură sursă de configurare pentru gazda unui site, așa că va trebui să efectuați un proces de căutare/înlocuire în baza de date pentru a remedia acest lucru. În funcție de locul în care sunt utilizate acele imagini, poate fi necesar să vă asigurați că șirurile serializate sunt înlocuite corect.

Pentru majoritatea cazurilor, aș recomanda următoarea soluție:

  1. Instalați plugin-ul Better Search Replace
  2. Căutați și înlocuiți domeniul fără protocol, deci căutați //www.vechiuldomeniu.com și înlocuiți cu //www.nouldomeniu.com
  3. Testați și confirmați că nu există probleme, apoi dezinstalați și eliminați plugin-ul

De obicei nu recomand plugin-uri ca soluții, eu codez majoritatea lucrurilor minimal, dar pentru acest caz specific, aș folosi personal plugin-ul WP Migrate DB Pro pentru această problemă și alte transferuri legate de baza de date. Plugin-ul Better Search and Replace este dezvoltat de aceeași companie, Delicious Brains, și oferă exact același proces de căutare și înlocuire. Este o opțiune excelentă pentru a rezolva această problemă în profunzime.

Dacă întâmpinați probleme și nu vă puteți conecta la WordPress, puteți accesa directorul instalației prin (S)FTP și seta sau actualiza următoarele constante în fișierul wp-config.php:

define( 'WP_HOME', 'https://www.exemplu.com' );
define( 'WP_SITEURL', 'https://www.exemplu.com' );

Acest lucru ar trebui făcut doar temporar, odată ce corectați problema în baza de date, este recomandat să eliminați acest cod din fișierul wp-config.php ulterior.

Schimbarea URL-ului site-ului

5 mai 2020 19:01:12
0

Opțiunea mea 'home' din tabelul wp_options nu avea domeniul .co.uk. Greșeală prostească! Data viitoare voi încerca plugin-urile de migrare pe care mi le-ai recomandat.

13 iun. 2017 11:12:32
0

Am venit să verific acest lucru - am încercat și acest plugin, precum și Velvet Blues Update URL - niciunul nu a funcționat. Apoi mi-am dat seama, de ce naiba nu actualizez asta direct prin MySQL?

Mai întâi, actualizează tabelul wp_posts. Apoi, interogarea ta SQL arată astfel:

    UPDATE `wp_posts` SET post_content = REPLACE(post_content, 'oldurl', 'newurl') WHERE post_content like "%oldurl%"
5 mai 2020 18:40:48
0

Ar trebui să folosești plugin-ul WP all in one migration pentru a migra site-ul. https://wordpress.org/plugins/all-in-one-wp-migration/

5 mai 2020 18:43:51
2

Schimbă locația pentru încărcarea fișierelor în panoul de administrare WordPress Panou de control > Setări > Media > Încărcare fișiere.

10 dec. 2021 11:14:02
Comentarii

Te rog să [editezi] răspunsul tău și să adaugi o explicație: de ce ar putea rezolva acea soluție problema?

fuxia fuxia
10 dec. 2021 12:35:51

Nu există o astfel de setare în Panoul de control > Setări > Media > Încărcare fișiere

foxbeefly foxbeefly
14 oct. 2024 13:45:26