Пример базового запроса MySQL для поиска / замены, используемого в инструменте базы данных, таком как PHPMyAdmin или Adminer, выглядит следующим образом:
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');
, который ищет точную строку старого URL и заменяет ее новойURL, только в таблице wp_posts.(Вам также может понадобиться выполнить поиск в wp_postmeta
и таблицах параметров).
Вы можете использовать инструменты текстового редактора или электронную таблицу, чтобы превратить все ваши изменения в список запросов UPDATE и запустить их.Поскольку все URL-адреса уникальны, это может быть единственным вариантом.
Протестируйте несколько, прежде чем запускать их все.Сделайте резервную копию вашей базы данных и выполните запросы к копии сайта.Выполнение всех запросов одновременно может привести к тайм-ауту PHP или MySQL и уничтожить ваш сервер.
Вероятно, хорошей идеей будет сначала очистить базу данных пост-ревизий Wordpress, потому что, если у вас сотни постов, запрос также обработает их.и выполнение всех запросов одновременно может привести к таймауту и уничтожению сервера.
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Затем оптимизировать все таблицы в инструменте базы данных.