Преди известно време ми се наложи да премина към нов домейн в един от сайтовете ми на базата на WordPress. Естествено потърсих в интернет за статии по въпроса и наистина имаше доста такива. В повечето обаче споменаваха едва 2-3 неща, които трябва да се направят. В крайна сметка се оказа, че нещата са доста повече.
В един момент ми дойде гениалната идея да си ги запиша за бъдещо ползване, все пак си падам по реда и записките. Сега обаче ми дойде друга идея, ще ги запиша малко по-подробно в тази статия и така и вие ще можете да се обърнете към нея или да си ги копирате някъде офлайн за бъдещо ползване
.
Само още нещо искам да уточня преди да започна. Става дума за следната ситуация: Имате си WordPress блог на ваш хостинг с домейн star-domain.com и искате целия сайт да се премести на домейна nov-domain.com, като всичко останало се запази. Тоест ако сте имали страницата http://star-domain.com/neshto, новата ще стане http://nov-domain.com/neshto, а старата ще пренасочва както потребители, така и ботове към новата.
Да започнем
:
- Купете си нов домейн и го добавете като add-on във вашия хостинг (като следователно му се създава негова папка от вида nov-domain.com във вашата public_html папка).
- Влезте през файл мениджъра (в cPanel-а) в папката на стария ви домейн star-domain.com, маркирайте цялото и съдържание и го архивирайте. Изтеглете архива на вашия компютър на сигурно място и го изтрийте от хостинга (само архива, не самите файлове).
- Отидете в phpMyAdmin (в cPanel-а) и изберете базата данни на вашия сайт star-domain.com. Отидете в дясно на Експортиране и изтеглете .sql файл с вашата база от данни. Съхранете го на вашия компютър на сигурно място.
- Сега докато сте в phpMyAdmin и в правилната база данни, отидете на менюто SQL, където могат да се изпълняват заявки и изпълнете следните 5 заявки една по една. Вместо nov-domain.com и star-domain.com пишете вашите нов и стар домей и ако ползвате www то го добавяте и него. Ако случайно сте променили стандартния префикс на таблиците на нещо различно от wp_, то променете и това:
UPDATE wp_options SET option_value = replace(option_value, 'http://star-domain.com', 'http://nov-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://star-domain.com','http://nov-domain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://star-domain.com', 'http://nov-domain.com');
UPDATE wp_posts SET post_excerpt = replace(post_excerpt, 'http://star-domain.com', 'http://nov-domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://star-domain.com', 'http://nov-domain.com');
Тези заявки ще настроят WordPress за новия домейн и също ще заменят всички споменавания на стария ви домейн в постовете, в резюмето и в добавените custom полета. В този ред на мисли, не се притеснявайте ако някои заявки върнат нулев резултат (примерно не всеки има резюмета или пък споменава домейна си в това поле). - Минимизирайте прозореца и се насочете към онзи архив от стъпка 2, който е на вашия компютър. Разархивирайте го в една папка и използвайте текстов редактор, който има възможност за търсене и замяна в множество файлове автоматично (мисля че NotePad++ го може) за да намерите всички попадения на стария домейн във всички файлове в папката и да ги замените с името на новия домейн. Така ако сте добавяли някакъв код във файлове на плъгини или на темата ви, то той ще се актуализира. Сега архивирайте всички файлове в друг zip (не rar) архив и ги качете така. Слeд това ги разархивирайте през файловия мениджър в папката на новия ви домейн.
- Ако имате Hotlink защита на изображения или други файлове, то добавете на съответното място в съответния .htaccess файл новия домейн като позволен домейн.
- Сега свалете и отворете .htaccess файла от папката на стария домейн и намерете тези редове:
<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Заменете ги с тези редове (като вместо nov-domain.com сложите вашия нов домейн):
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://nov-domain.com/$1 [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Ако нямате тези редове във файла, които ви карам да намерите, то просто добавете тези редове (като вместо nov-domain.com сложите вашия нов домейн):
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://nov-domain.com/$1 [R=301,L]
След промените, качете файла на мястото на стария (не забравяйте, става дума за папката на стария домейн). За да сте сигурни, че е станало правилно 301 пренасочването, то потърсете в гугъл за сайт за проверка на 301 пренасочвания и минете там няколко стари адреса. Потърсете за „check 301 redirect“ или нещо такова. - Отидете в админ панела на новия си сайт и вижте в настройките на плъгините дали има място където трябва да смените името на домейна с новото. Само да уточня, че ако домейна ви е много скоро закупен, може DNS-ите на вашия интернет доставчик да не са се обновили и да не ви се зарежда новия домейн.
- Ако имате код на някакви PPC реклами, то може да се наложи да отидете в съответния сайт и да създадете нова реклама, за да ви работи на новия домейн. Също може да се наложи някаква корекция и генериране на нов код на вашия брояч на посещенията.
- Ако сте добавили сайтът си в профили в социални мрежи и други подобни, то ще е добре да отидете да смените адреса с новия. Ако имате купени линкове, линкове от директории за статии, линкове от сателити и други ваши сайтове, то където е възможно отидете и заменете линковете с новите адреси или съответно се свържете с вашите партньори и те да ги сменят.
- Едно съобщение за вашите потребители, гласящо че имате нов адрес и да си променят отметките, също няма да е лошо (въпреки че стария домей си сочи към новия).
Фиух… Май сме готови
. Ако има нещо неточно/грешно/неясно в статията моля, попитайте/поправете/допълнете ме с коментар по-долу
.

Браво, Скуби! Много добре описано и на всичкото отгоре не можах да намеря нито една правописна грешка!
Мерси (и за проверката)
Много полезно благодаря.
Здравей. Използвах ръководството ти в по-голямата му част. Специално замествания в MySQL бяха, безценни. Поставен бях в следната ситуация. Имам съществуващ блог, който не мога да преместя на сайта който искам поради съображения за сигурност. Ако блога ми е е blog.example.co.uk то ми трябваше blog.example.com да зарежда съдържанието, без да го местя. Админа на хостинга ми довави example.com като паркирам домейн и създаде blog.example.com да сочи към папката където е blog.example.co.uk. Всичко почна да зарежда адекватно, но мямах редиректи. Ако пробвах с твоят метод се получаваше loop и грешка 500. С малко ровен намерих как се пише условието в което да работи правилото. Добавих RewriteCond %{HTTP_HOST} ^blog.example.co.uk [NC]. Сега без да правя нова инсталация успях да получа нов домейн, който да зарежда старото съдържание и да прави 301 на старият.
Поздрави за ръководството!
Здравей!
Аз съм начинаеща и се опитвам да се справя със следната ситуация: Имам УП блог, който искам да кача на собствен домеин. Хоста ми е 000webhost.
Все още съм на стъпка 2… би ли казал по какъв начин да си кача УП блога в хоста? Add-on-нала съм и двата домеина в Cpanel(и старият- WP и новият), създадох папки, но те са празни. До колкото разбирам файловете, изграждащи блога, трябва да се намират в папката си в хоста. Как да стане това?
Мерси предварително
Здравей. Ами архива на твоя сайт може да се качи през ftp програма, след това през файл мениджъра на cpanel-а да се разархивира в папката на адд-он домейнта ти. После създаваш и база данни и импортваш таблиците (или ако може направо цялата база да се импортне, не съм сигурен възможно ли е). Но ако си много начинаеща едва ли ще се справиш с всичко
. А в тоя безплатния хостинг може да имаш и други проблеми. Успех все пак.