Archive for the ‘Blogger – WordPress’ Category

May 26th, 2012 by Sveta (admin)

WordPress: Как исправить слово во всех постах… или перекрашиваем черное в белое.

Часто перед владельцем блога на WordPress'е возникает задача изменить во всех постах блога один набор символов ("слово") на другой.

На самом деле такая задача может возникнуть у блогера, ведущего блог на любой платформе, но я люблю WordPress за то, что на WordPress'е подобную замену можно выполнить с помощью только одной SQL-команды.

Для начала приведу пример, когда это может понадобиться:
1) После миграции блога с платформы Blogger на WordPress пришлось во всех постах изменить группу символов переноса строки с <br /> на <br/> (вроде и так и так правильно, но первый случай не срабатывал).
2) Если вы переносили блог с Blogger'а на WordPress (и при этом на Blogger'е у вас было доменное имя третьего уровня т.е. moiblog.blogspot.com) возможно вам захочется поменять все внутренние ссылки с http://moiblog.blogspot.com на http://moi-wp-blog.ru
3) А возможно вы по каким-то причинам сменили политическую ориентацию и теперь во всех постах хотели бы "перекраситься" (как я уже говорила поменять черное на белое).
Задание читателям: придумайте еще в каких случаях было бы удобно сделать подобную замену во всех постах.

Сегодняшний пост я написала после того, как мне пришлось во всех моих постах из блога о похудении изменить имя несчастной девушки страдающей от ожирения с Джоржия (как у меня было до сегодняшнего дня) на Джорджия (как должно быть правильно).

Замена была сделана с помощью единственной SQL-команды, но перед этим:
1) Я нашла имя базы данных, которая обслуживала этот блог. Как найти?
2) Сделала резервную копию таблицы wp-posts. Как сделать? (Напишу в следующем посте)
3) В найденной на шаге 1) Базе Данных, в перед тем экспортированной на шаге 2) на домашний компьютер таблице wp-posts я сделала на SQL следующую операцию.

UPDATE wp_posts SET post_content = REPLACE (post_content, 'Джоржия', 'Джорджия');

Смотрим на картинку:

MySQL: Изменяем все вхождения во всех постах слова черное на белое.


А вот результат выполнения SQL-запроса.

MySQL: замена во всех постах произведена.


Итого, замена была произведена в 45 записях, немного многовато если учесть, что про "Джоржию" я упоминала в постах 10 не более, но пугаться не следует, так как по умолчанию (если вы их не удалите) WordPress хранит все варианты всех ваших постов. Поэтому 45 записей, где упомяналась Джоржия, в файле wp-posts - это нормально.

Потом я подумала и решила, что надо поменять не только все вхождения слова Джоржия, но и все склонения её имени в постах... для этого я выполнила такой запрос:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'Джорж', 'Джордж');

а потом я поменяла написание её имени и в заголовках постов:

UPDATE wp_posts SET post_title = REPLACE (post_title, 'Джорж', 'Джордж');

Читателям же задание написать SQL-запрос меняющий во всех постах слово черное на белое ;).

Всегда ваша Света на WordPress'е!

January 29th, 2012 by Sveta (admin)

WordPress – Blogger: Ссылки на архивы.

Итак, продолжаем рассказ на тему переезда с бесплатной платформы Blogger на WordPress на собственном хостинге. Основное - ссылки на свои посты мы уже сохранили.

Сегодня мы позаботимся о ссылках на архивы.
На платформе Blogger ссылки на архивы оканчивались так: /yyyy_mm_01_archive.html
На WordPress'е они имеют такое окончание: /yyyy/mm

Визуально правило перенаправления (ридеректа) понятно. Теперь ему надо научить apache web server, который работает на нашем хостинге.

Самый простой способ - внесение записей в .htaccess файл, который располагается в корневой директории файлового пространства вашего блога. На том же уровне где вы можете видеть директории wp-admin wp-content и тд.

добавьте в верхней строчке этого файла запись:

RedirectMatch 301 /([0-9][0-9][0-9][0-9])_([0-9][0-9])_01_archive.html$ /$1/$2

Нажмите сохранить и проверьте работоспособность перенаправления:
в адресной строке допишите к урл вашего блога /2011_12_01_archive.html и убедитесь что ваш запрос был перенаправлен на урл с окончанием /2011/12

На сегодня все.
Ваша Света
PS Если в файловом пространстве вашего блога вы не нашли файла .htaccess
1) Убедитесь что в настройках ftp есть галочка показывать скрытые файлы
2) Возможно вам придется создать файл .htaccess (но перед этим свяжитесь саппортом хостинга и уточните у них используют ли они веб-сервер apache или что-то другое).

January 14th, 2012 by Sveta (admin)

WordPress – Blogger: Уходя с Blogspot забери свои постоянные ссылки!

Это не чудо, это каждый из вас может сделать!

Если на платформе Blogger вы использовали свое доменное имя - это особенно имеет смысл сделать, тем более что делается это очень просто.

Конечно, чтобы пользоваться WordPress'ом надо знать намного больше, чем когда вы были на Blogger'е, многие частности будут различаться в зависимости от интерфейсов, которые вам предоставил ваш хостер. Поэтому описываю без подробностей.

1) В WordPress'овском блоге приводим структуру ссылок к той, что у вас была на Blogger'е: /%year%/%monthnum%/%postname%.html
2) С помощью ftp в корневую директорию вашего блога (обратите внимание блога, а не аккаунта) закачиваем файл blogger_url.php.zip и распаковываем.
3) В браузере выполняем полученную php-программку для чего переходим по ссылке http://мойблог.ru/blogger_url.php
4) В процессе выполнения программка перечислит все постоянные ссылки, которые у вас были на Blogger'е и вам останется только убедиться, что все ссылки теперь как были раньше. В этом легко убедиться, если перед переездом с Blogger'а вы сделали себе карту сайта на Blogger'е.
5) Теперь давайте сохраним ссылки (сделаем умную переадресацию) наших страницы архива.
Факультативно публикую текст программы:

<?php
require_once('wp-load.php');

$i = 0;
$res = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_permalink'");
$wpdb->print_error();

foreach ($res as $row){
$slug = explode("/",$row->meta_value);
$slug = explode(".",$slug[3]);
$i++;
echo $i . ". " . $slug[0] . "<br/>";
$wpdb->query("UPDATE $wpdb->posts SET post_name ='" . $slug[0] . "' WHERE ID = $row->post_id");
$wpdb->print_error();
}

echo "-------------DONE! ENJOY!!!-----------";
?>