Перенос сайта на WordPress на другой хостинг.

Доброго времени суток, уважаемые читатели блога Мои тараканы!

Переезд сайта на другой хостинг

Недавно возникла потребность перенести сайт на WordPress с сервера одного хостинг провайдера на сервер другого хостинга. В принципе, причин для этого может быть множество — вас перестали устраивать услуги хостера (большая цена или не удовлетворительное качество), вы купили уже готовый проект или же просто хотите создать тестовую копию вашего творения.

На вопрос «как перенести сайт» может быть много вариантов ответов, всё зависит от того что именно вам нужно — со сменой домена, без смены домена, перенос на Денвер (локальный компьютер), другой движок. В данной статье расскажу о том как произвести перенос сайта на WordPress на примере двух хостинг-провайдеров. Экспорт будет производиться из Hostenko на TimeWeb.

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

Перенос файлов

Первое, с чего мы начнем, это копирование файловой системы. Для этого нам обязательно понадобиться программа FileZilla — без неё перенос сайта на другой хостинг невозможен. Скачиваем. Устанавливаем. Запускаем.

Менеджер сайтов FileZilla

Открываем программу и кликаем по иконке в верхнем левом углу.

В диалоговом окне настраиваем соединение с сервером.

Соединение с сервером

1. Создаем новое соединение.
2. Придумываем ему название.
3, 5, 6. Эти параметры узнаем у хостера (см. ниже).
4. Тип входа Нормальный.
7. Соединиться.

Для соединения нам нужны параметры Хост, Пользователь и Пароль — их мы узнаём в панели управления хостингом (как я говорил в начале поста, переносить ресурс мы будем из Хостенко).

Переходим в Личный кабинет >> Управление хостингом:

Данные для FTP соединения Хостенко.

Отсюда берём данные Хост, Пользователь (login), Пароль.

Теперь мы можем соединиться с сервером по протоколу ftp (File Transfer Protocol).

Перенос файлов с сервера на компьютер

В левой половине экрана мы видим папки и файлы, находящиеся на нашем компьютере, справа — на удалённом сервере. Нам нужно создать папку на компьютере (правой кнопкой мыши «Создать каталог и открыть его») и туда скопировать все содержимое из корневой директории (кликнуть по одному из элементов, нажать на клавиатуре Ctrl+A (выбрать все) и просто перетянуть файлы в нужную нам папку).

Перемещение файлов

Простым перетягиванием копируем файлы к себе на компьютер

Копирование может занять длительное время. У меня этот процесс занял 15 минут.

Выгрузка файлов на сервер

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

Это можно сделать двумя способами: либо создать новый сайт и подключить к нему домен (как подключить домен читайте мою статью), либо создать его на поддомене, что, в принципе я и сделал.

Создаем поддомен на хостинге TimeWeb

Создаем новый сайт

1. Придумываем имя для поддомена.
2. Указываем директорию.

Соединяемся по ftp с сервером TimeWeb при помощи уже известной нам программы FileZilla. Данные для подключения мы найдём на главной страничке панели управления.

Данные для FTP

Когда подключимся, мы увидим созданную нами через админку директорию, и уже имеющиеся там папку cgi-bin и файлик index.htm. Вот как прокомментировали наличие этих файлов в службе поддержки:

Индексный файл index.htm и папка cgi-bin создаются автоматически. Вам необходимо добавить индексный файл Вашего сайта и затем удалить файл index.htm. Папка cgi-bin не влияет на работу сайта и также может быть удалена.

Удаляем их и переносим все, что мы сохранили в папку на компьютере в корневую папку на хостинге.

Экспорт-импорт базы данных

Файловую систему мы перенесли. Но это только половина дела. Если мы сейчас перейдем по адресу нашего сайта мы увидим следующее сообщение: Ошибка установки соединения с базой данных. Ясное дело — базы данных (далее буду использовать сокращение БД) у нас то ещё нет.

Экспорт базы данных

Снова возвращаемся в админ-панель Hostenko. Личный кабинет >> Управление хостингом.

Переходим в phpmyadmin

Переходим в phpMyAdmin (панель управления базой данных).

Делаем экспорт таблиц БД.

Экспорт БД

Сохраняем дамп БД в формате SQL себе на компьютер.

 

Импорт и настройка базы данных

Теперь идём в панель управления TimeWeb и создаем новую БД. Обязательно запомните, как вы её назвали и пароль к ней.

Создаём новую базу данных

Открываем в Notepad++ (FTP настраивается по такому же принципу как и в FileZilla) wp-config.php (находится в корневой директории), в нём прописаны настройки к старой БД их нужно изменить на новые:

// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** //
/** Имя базы данных для WordPress */
define('DB_NAME', 'сюда вписываем имя БД');
/** Имя пользователя MySQL */
define('DB_USER', 'сюда имя пользователя (может совпадать с именем БД)');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'пароль');

Что будет если сейчас открыть главную страницу нашего проекта? Мы увидим следующее сообщение:

Установка wordpress

Ничего устанавливать не нужно. У нас всё установлено. Это происходит, потому что наша база данных ещё пуста. Нам нужно произвести импорт таблиц из старой БД в новую. Для этого переходим в phpMyAdmin (на хостинге на который переезжаем). И импортируем таблицы из дампа SQL на нашем компьютере.

Импорт БД.

1. Переходим во вкладку «Импорт».
2. Выбираем сохраненный ранее дамп БД.
3. Жмём Ok

Процесс завершон

Если мы сейчас откроем наш сайт, мы наконец-то увидим то, что нужно. Но в случае если вы при переезде сменили доменное имя, ресурс может работать не совсем корректно — могут не отображаться картинки, ссылки вести на страницы со старым доменом и др. Это по тому, что в некоторых таблицах БД сохранились «хвосты» от вашего старого домена.

Чтобы это исправить, нам нужно произвести следующие действия:

В phpMyAdmin открываем вкладку SQL и выполняем запросы:

UPDATE wp_options SET option_value = REPLACE (option_value, 'старый домен', 'новый домен') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'старый домен', 'новый домен');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'старый домен','новый домен');

Обратите внимание! Имя домена вводим без http://. Иначе адрес вашего сайта может получиться вида http://http://vash_site.ru

Запросы к базе данных.

1. Открываем вкладку SQL.
2. Сюда вписываем запросы.
3. Жмём «Вперёд».

Ну вот! Теперь всё работает как часы! Перенос сайта на другой хостинг произведён! В какой последовательности вы будете выполнять перечисленные действия — не важно, главное их произвести правильно.

Осталась пара нюансов! Нужно удалить упоминания о старом домене (если они конечно есть) в документах .htacess и robots.txt (о настройке роботс.тхт я когда-то писал).

Мы рассмотрели перенос сайта на WordPress, но по такому же принципу можно переместить вебсайт на любом движке. Если у вас ещё остались вопросы по теме «как перенести сайт?», задавайте их в комментариях.

На этом прощаюсь с вами. Подписывайтесь на обновления моего блога в Twitter , RSS или по почте!

С уважением, Мышак Пётр!

Добавление товара в магазин на WordPress + WooCommerce .

Доброго времени суток, дорогие читатели блога Мои тараканы!

В последнее время всё больше торговых площадок перебираются в интернет. Сейчас в сети можно купить практически любой товар, от тест-полосок для глюкометров до 3d принтера.  Sony, Adidas, HealthPoint — практически все крупные производители предоставляют возможность своим покупателям заказать товар через сеть.

Большим компаниям нанять разработчиков и создать свой  ИМ (интернет-магазин) не составляет никаких проблем. Но как же быть простым ИП? Хотя, в наше время, создать свой блог на WordPress (я даже не беру в счет всевозможные блог платформы) сейчас может даже пенсионер, но вот создание интернет магазина и наполнение его товарами — дело другое.

style=»display:inline-block;min-width:300px;max-width:620px;width:100%;height:90px»
data-ad-client=»ca-pub-4069981169900037″
data-ad-slot=»9687149656″
data-ad-format=»horizontal»>

Сегодняшний пост — это инструкция по наполнению интернет магазина, которую я написал специально для своего клиента. Но, поскольку, инструкция получилась универсальной, любой начинающий веб-мастер может её использовать в своих целях.

Мы будем использовать движок WopdPress и плагин для интернет-магазина WooCommerce. У нас есть следующие вводные: Вордпрес установлен и полностью настроен, WooCommerce подключен и настроен, в магазин добавлены нужные категории товаров. Нам остаётся просто наполнить магазин товарами.

ОГЛАВЛЕНИЕ:

1. Заполнение полей «Описание» и «Название».
2. Виды товаров в магазине на WooCommerce.
3. Создание простого товара.
4. Создание вариативного товара.

И так, приступим. Мы в админке WordPress. Слева располагается менюшка с кучей разных пунктов. Опускаемся до раздела «Товары» и выбираем пункт «Добавить товар».

Меню в админке WoordPress

Меню добавление товара.

Название и описание.

(К оглавлению ⇑)
Заполняем поля название, полное описание и краткое описание.

С названием товара всё понятно. Описание — не подписанное поле сразу за заголовком.

Поля «Название товара» и «Полное описание товара». Используем только текст — для изображений у нас есть соответствующие поля, которые мы рассмотрим ниже.

Краткое описание — данное поле у вас может находиться в самом низу странички, но для удобства его можно переместить простым перетягиванием к полному описанию.

Краткое описание.

Получаем следующий результат:

Так будут отображаться наши поля в карточке товара

Чтобы не возникало вопросов что такое «Простой» или «Вариативный» товар, вставлю небольшое описание всех видов товаров.

Виды товаров в магазине на WooCommerce.

(К оглавлению ⇑)

Обычный товар — это наиболее популярный и простой тип товара. Например, мобильные телефоны это обычный товар. Его можно заказать и доставить, ничего особенного. На закладках мы настраиваем все параметры товара. Плюс, обычный товар может быть загружаемым и (или) виртуальным. Вы можете продавать электронные книги или воздух.

Если серьёзно, при выборе виртуального продукта, у него удаляются поля веса и размера, его наличие не учитывается на складе. Так можно продавать доступ к закрытой части сайта, к примеру.

Группированный товар. Вы наверняка сталкивались в интернет-магазинах с предложениями типа «купи этот телефон, а вот и наушники к нему подходящие». Вот это как раз из этой серии. Группируем товары, добавляем похожие. Все для того, чтобы человек купил еще что-то, кроме основной покупки. У этого типа товара нет цены, как таковой. Ее вы будете добавлять на странице каждого «дочернего» товара.

Внешний товар. Это волшебный вид товара. Нет, серьёзно. В последнее время развелось очень много партнерских программ от крупных интернет-магазинов и этот вид товара открывает путь для «виртуальных» магазинов. Представьте ситуацию — вы создаете магазин, наполняете его товаром, который предоставляет партнер и по кнопке купить — отправляете посетителя на сайт партнера, где он и покупает товар. Вы получаете свою комиссию и только следите за работой своего сайта. Все остальное за вас делает партнер.

Вариативный товар. Самый сложный вид товара, который подразумевает наличие нескольких видов одного товара. К примеру, товары с размерами или различными цветами.

Источник: http://gering111.com/woocommerce.

Создание простого товара.

(К оглавлению ⇑)
И так, приступим к заполнению данных товара.

Основные настройки Простого товара:

Основные настройки «Простого товара».

1. Вид товара. Здесь в выпадающем списке выбираем «Простой товар».

2. Первая вкладка «Основные настройки».

3. Артикул — У нас это поле обозначено как «SKU», его можно оставить пустым. Артикул будет генерироваться автоматически на основе ID товара, при помощи плагина WooCommerce Product SKU Generator.

Артикул — тип или род изделия, товара, а также его цифровое или буквенное обозначение для кодирования, параграф, раздел параграфа, статья, глава. В настоящее время больше употребляется как обозначение марки, разновидности товара или его кода, используемого для организации учёта товаров (ru.wikipedia.org).

4. Цена товара — если мы не планируем устраивать распродажу товаров, то заполняем только графу «Базовая цена», иначе устанавливаем и цену на распродаже.

Запасы и доставка:

Управление запасами.

1. Переходим во вкладку «Запасы».

2. Если вы планируете постоянно пополнять количество товаров на складе, то снимите галочку и в графе «Статус остатка» укажите «В наличии».

3. Если количество товара ограничено — укажите остаток на складе.

4. Если разрешить резервирование, то количества товара в запасе может быть ниже нуля.

В этом поле указываем габариты и вес товара.

Доставка. Здесь указываем габариты и вес товара.

Сопутствующие товары:

Сопутствующие товары.

1. Открываем вкладку «Сопутствующие товары».

2. Апселлы — Лучшие товары которые вы бы рекомендовали в замен данному. К примеру, товары, которые лучше по качеству или каким-то другим характеристикам, допустим более высокой ценой (апселлы выводится ниже полного описания в карточке товара).

3. Кросселы — Кросс-продажи — это товары, которые вы продвигаете в корзине, основываясь на текущем товаре (выводится в корзине с текущим товаром).

4. Групировка — Установите эту настройку, чтобы сделать данный товар частью комплекта.

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

Так будут отображаться сопутствующие товары на страничке товара.

Задаём миниатюру товара, галерею, указываем метки и категорию, в которую будет добавлен товар. Публикуем.

В принципе, основные пункты по созданию Простого товара я описал, можно переходить к Вариативному товару.

Создание вариативного товара.

(К оглавлению ⇑)
Данный вид товара более сложный, но и более гибкий в настройке.

Создание нового атрибута для вариаций.

Для создания вариативного вида товара нужно сначала создать для него атрибуты. Для этого переходим меню Товары>>Атрибуты.

Переходим в меню Товары>>Атрибуты.

Добавляем новый атрибут:

Добавляем новый атрибут. Здесь всё просто: вбиваем название и сохраняем.

Теперь нужно задать ему нужные свойства.

Изображение №11. Для настройки жмем на иконку в виде шестерёнки.

Задаем значения атрибуту.

Вбиваем значение которое можно задать атрибуту. В нашем случае атрибуту «Размер обуви» первое значение мы зададим «10».Сохраняем.

Таким «макаром», создаем размеры от 10 до, скажем 30.

Теперь у нас есть 20 вариаций размеров обуви.

Или другой пример. Есть у нас товар «Чехол коляска-сани», товар выполнен в трёх цветах — коричневый, синий, чёрный. Создаём атрибут цвет и задаём этому атрибуту соответствующие вариации: коричневый, синий, чёрный или любой другой цвет.

Задаём значения атрибуту «Цвет

»

Настройка вариативного товара.

Теперь возвращаемся непосредственно к редактированию товара (в данном случае товар «Чехол коляска-санки»).

Переходим меню «Товары» и переходим к редактированию или добавлению нового товара.

1. Указываем что наш товар является «Вариативным».

2. Переходим во вкладку «Атрибуты».

3. Выбираем из списка интересующий нас атрибут.

Задаём значения атрибуту.

1. ОБЯЗАТЕЛЬНО ставим галочку «Использовать для вариаций».

2. Указываем значения атрибутов товара (синий, коричневый, чёрный, серобуромалиновый).

3. Сохраняем.

Создаём вариации товара.

1. Переходим во вкладку «Вариации».

2. Из выпадающего списка выбираем «Создать вариации из всех атрибутов».

3. Сохраняем.

Указываем какую вариацию товара отображать на сайте по умолчанию.

 

Задаём значения для каждой вариации.

1. Разворачиваем список вариаций.

2. Задаём миниатюру для вариации (если нужно).

3. Обязательно указываем цену для каждой вариации.

4. Также можно указать вес и габариты для каждой вариации.

5. Сохраняем изменения.

Всё — товар готов к публикации.

На выходе мы получаем такую карточку товара

Атрибуты вариаций можно комбинировать, например: цвет и размер. И для каждой вариации можно назначить свою цену. Например, вещь большего размера продавать дороже.

На первый взгляд всё кажется запутанным и сложным, но на самом деле это совсем не так.

Подписывайтесь на обновления блога в Twitter , RSS или по почте!

С уважением, Мышак Пётр!

 

Как изменить xfsearch в DLE DataLife Engine.

Доброго времени суток дорогие читатели блога Мои тараканы!

xfsearch в DataLife Engine

xfsearch в DataLife Engine

Сегодня, впервые, в моем блоге пойдет речь о системе управления сайтом DataLife Engine (DLE). Точнее не о самом DLE а конкретно о выводе дополнительных полей и различных способа изменения xfsearch в URL на что то более подходящее. Для тех, кто не знаком с этим движком, написанное ниже будет совершенно непонятным, но для тех, кто в теме, данный пост, думаю, будет даже очень полезен. Хотя, возможно, и тот, кто привык работать с WordPress найдет для себя что ни будь интересное.

Пост получился довольно громоздкий, поэтому я сделал оглавление для навигации.

1. Что такое дополнительное поле.
2. Что такое перекрёстные ссылки в доп. полях.
3. Меняем xfsearch в URL страниц перекрёстных ссылок в доп. полях на название доп поля. + страницы пагинации.
4. Меняем метатег TITLE на страницах тегов и дополнительных полей
5. Как разместить текст описания на страницах доп. полей в DLE
6. Модуль для SEO оптимизации доп. полей в DLE (похожий на TagFace)

Давно я не писал таких объемных статей, в принципе, я вообще давно не писал, а тут ТАКОЕ. Последний раз что-то подобное было это пост о восстановлении Хрома а до этого советы по восстановлению данных после переустановки Винды. Надеюсь мой мануальчик вам пригодится.

Что такое дополнительное поле в DataLife Engine

И так, для начала давайте разберемся, что собой представляют дополнительные поля в DLE. Дополнительными полями можно назвать расширение для более удобного добавления материалов на сайт. Если заглянуть на страничку добавления новости, мы обнаружим, что там уже существует несколько полей. Это заголовок, дата, категория, краткая новость, полная новость и т.д.

Возможности данного движка предусматривают добавление собственных полей. Возьмём, к примеру, какой ни будь киносайт (DLE больше всего подходит для создания киносайтов сайтов). Как я уже говорил, у нас уже есть краткое описание (выводится в ленте новостей) и полное описание на полной странице материала. Но кроме описания мы хотим указать режиссера фильма, актёрский состав, год выпуска и сделать это так чтобы эти строки визуально отличались от всего описания. Для этого и существуют дополнительные поля. Мы создаем дополнительное поле, вставляем его в шаблон, форматируем нужным нам образом (применяем стили) а в админке только подставляем свои значения для каждого материала. Таким образом, мы избавляем себя от ввода и форматирования однотипной информации.

Перекрёстные ссылки в доп. полях

(К оглавлению ⇑)
Перекрёстные ссылки в доп полях это почти то же самое что, всем известные, теги, только генерируется полуавтоматически. Как это работает? Если в настройках поля указать значения доп. полей будут выводится в виде ссылок на показ других публикаций, которые имеют такие же значения. Например, если в поле режиссер (берём к примеру всё тот же кино-сайт) вы укажите Леонид Гайдай, то на сайте эта информация отобразится в виде ссылки на ленту новостей которые имеют такое же значение, то есть на фильмы где вы в поле «режиссер» указали слово «Гайдай».

Меняем xfsearch в URL страниц перекрёстных ссылок в доп. полях на название доп поля. + страницы пагинации

(К оглавлению ⇑)
Голову сломал пока определился как правильно сформулировать заголовок :). Но все не так пугающе, как можно подумать прочитав подзаголовок. Суть в следующем: Например, на нашем киносайте есть доп поле «год выхода» или «режиссер фильма» (или оба этих поля одновременно) и вы для него используете перекрёстные ссылки, то URL страницы на которой выводятся записи по доп. полю имеют следующий вид:

www.site.ru/xfsearch/2015 или www.site.ru/xfsearch/Леонид+Гайдай

Вот это самое xfsearch портит внешний вид URL, к тому же и для года выхода и режиссера фильма будет один путь в URL. Получается как какая-то непонятная категория — xfsearch. Согласитесь это не совсем правильно.

Выход — заменить xfsearch на название доп поля. Например, если для вывода года выпуска фильма доп поле у вас имеет название year а для режиссера снявшего этот фильм rejiser, то заменив xfsearch на названия этих полей вид URL будет следующий:

www.site.ru/year/2015 и www.site.ru/rejiser/Леонид+Гайдай
Как это реализовать? Если погуглить (странное слово, я например гуглю в Яндексе :)) найдется масса сайтов (практически все из ТОП 10 выдачи), которые, ссылаясь друг на друга, описывают один и тот же хак. Хак рабочий, но есть одно НО. Если у вас, поэтому доп. полю есть много статей (например, фильмов 2015 года) то, скорее всего у вас появятся страницы пагинации. И на страницах пагинации название доп поля в URL сменится на стандартное xfsearch.

www.site.ru/xfsearch/2014/page/2/

Погуглив немного глубже (немного это слабо сказано) я нашел хак, который будет нормально работать и на страницах пагинации. Вот сам хак:

Открываем файл engine.php и находим следующий код:

$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );

Заменяем на:

$url_page = $config['http_home_url'] . urlencode($_GET['xn']) . "/" . urlencode ( str_replace("'", "'", $xf) );

В файле .htaccess ищем

RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]

Ниже вставляем:

RewriteRule ^(название доп поля1, нап. year)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [L]
RewriteRule ^(название доп поля1, нап. year)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [L]
RewriteRule ^(название доп поля2, нап. rejiser)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [L]
RewriteRule ^(название доп поля2, нап. rejiser)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [L]

Ссылка на источник хака.

Хорошо продумайте название для доп.поля, чтобы оно нормально смотрелось в URL. Будьте внимательны! Если вы начали наполнять сайт и в процессе работы решили поменять название доп. поля все данные которые были введены ранее будут утрачены!

Меняем метатег TITLE на страницах тегов и дополнительных полей

(К оглавлению ⇑)
Скажу сразу данный хак подойдет не всем. Его удобно использовать если у вас на сейте только одно дополнительное поле (например, всё тот же, режиссер) а для тегов к фильму вы используете один параметр (например, если у вас все-таки киносайт, вы используете год выхода на экран) — этот вариант подойдет замечательно.

Для того чтобы поменять Title на страницах тегов нужно открыть файл engine/engine.php, найти строки:

elseif ($do == 'tags') $nam_e = stripslashes($tag);
elseif ($do == 'xfsearch') $nam_e = $xf;

И заменить их на свой вариант, примерно так:

elseif ($do == 'tags') $nam_e = "Фильмы ".$xf" года";
elseif ($do == 'xfsearch') $nam_e = "Режиссер фильма ".$tag.;

Я, например, использовал его только для страниц тегов.

elseif ($do == 'tags') $nam_e = 'Список фильмов с тегом "'.$tag.'"';

Теперь у меня на сайте тайтл страницы тега, например, «приключения» выглядит так:

Список фильмов с тегом "приключения">> Site.RU - смотрите онлайн лучшие фильмы в интернете!
вместо
приключения>> Site.RU - смотрите онлайн лучшие фильмы в интернете!

Как разместить текст описания на страницах доп. полей в DLE

(К оглавлению ⇑)
Скажем на странице, где выводятся новости по xfsearch Леонид Гайдай (мы уже знаем, как заменить xfsearch на rejiser),мы решили вывести небольшой текст, повествующий о жизни и творчестве этого великого кино художника.

Открываем файл «templates.class.php » находится он по адресу «/engine/classes»

Находим в нем:

$this->copy_template = $this->template;
$this->template_parse_time += $this->get_real_time() - $time_before;

ВЫШЕ этого вставляем:

if( strpos( $this->template, "{request=" ) !== false or strpos( $this->template, "[request=" ) !== false ) {
        preg_match_all("#[\{\[]request=['"](.+?)['"]#is",$this->template,$matchs,PREG_PATTERN_ORDER);
        $matchs = ((isset($matchs[1]) and is_array($matchs[1]))?$matchs[1]:array());
        $matchs = array_unique($matchs);
        foreach($matchs as $match){
            $vmatch = explode('=',$match);
            $amatch = explode('->',$vmatch[0]);
            $value = $_REQUEST;
            foreach($amatch as $imatch)
                $value = (($value and isset($value[$imatch]))?$value[$imatch]:false);
            if((isset($vmatch[1]) and (is_array($value) and in_array($vmatch[1],$value) or $vmatch[1]==$value)) or (!isset($vmatch[1]) and $value)){
                $this->template = preg_replace ( "#\{request=['"]{$vmatch[0]}['"]\}#is", (is_array($value)?'array':$value), $this->template );
                $this->template = preg_replace ( "#\[request=['"]{$vmatch[0]}['"]\](.+?)\[/request\]#is", '\1', $this->template );
                $this->template = preg_replace ( "#\[request=['"]{$vmatch[0]}={$vmatch[1]}['"]\](.+?)\[/request\]#is", '\1', $this->template );
            } else {
                $this->template = preg_replace ( "#\{request=['"]{$vmatch[0]}['"]\}#is", '', $this->template );
                $this->template = preg_replace ( "#\[request=['"]{$vmatch[0]}['"]\](.+?)\[/request\]#is", '', $this->template );
                $this->template = preg_replace ( "#\[request=['"]{$vmatch[0]}={$vmatch[1]}['"]\](.+?)\[/request\]#is", '', $this->template );
            }
        }
    }
    if( strpos( $this->template, "{request}" ) !== false) {
        var_dump($_REQUEST);
        $this->template = str_replace('{request}', '', $this->template );
    }

Теперь открываем файл шаблона main.tpl

В месте где у вас должен быть текст, нужно вставить:

[aviable=xfsearch]
[request="xf=Леонид+Гайдай"]
Тут текст о великом Леониде Гайдае
 [/request]
[/aviable]

Если вы хотите что бы текст был только на первой странице и не отображался на страницах пагинации, то вам нужно вставить такой код:

[aviable=xfsearch]
 [page-count=1][request="Леонид+Гайдай"]
Тут текст о великом Леониде Гайдае
 [/request][/page-count]
[/aviable]

Учтите! Наверняка код [aviable=xfsearch] [/aviable] в вашем шаблоне уже существует. Вам только остается его найти и вставить внутрь оставшуюся часть кода.

Модуль для SEO оптимизации доп. полей в DLE

(К оглавлению ⇑)
И наконец, модуль, который выполняет все, что описано в предыдущих двух пунктах и не только. Модуль очень похож на модуль TagFace от Алаича. Можно сказать больше, он не просто похож — он выполняет все те действия с доп. полями, что и TagFace с тегами. Но вряд ли вы найдете такой модуль в интернете. Я сам долго копал пока нашел его. И я даже заплатил за него деньги (небольшие, но всё же). Я предлагаю получить данный модуль почти бесплатно.

https://yadi.sk/d/N7M4cLwvhEi7h

Вы можете следить за обновлениями блога в Twitter , RSS или по почте!

С уважением, Мышак Пётр!

Атака ботов на сайт.

Доброго времени суток, дорогие читатели блога Мои тараканы!

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

Боты атакуютВсё началось с того,  что ко мне обратился клиент, сайт которого находится у меня на обслуживании, с просьбой закинуть новые фото. Вроде бы, казалось,  пустяк, загрузить на сайт полдесятка свежих фотографий, но на это у меня ушло почти 3 часа. А всё потому что любые действия на сайте откликались пятисот…,не помню какой точно, ошибкой сервера.

Когда я заглянул на хостинг, оказалось,  что мой аккаунт создаёт большую нагрузку на сервер. В этот вечер хостер даже отключил все мои сайты на полчаса, чтобы снять нагрузку. Когда сайты снова были подключены и нагрузка упала, я без проблем загрузил фото и пошел заниматься своими делами, не придав особого значения всему происходящему, решив, что все произошло из за технических проблем на хостинге.

Следующие дней пять я был сильно загружен на офлайн работе и к компу я практически не подходил. Но оказывается все эти дни мой хостер присылал сообщения о том, что, согласно моему тарифному плану, мой аккаунт создаёт чрезмерную нагрузку на сервер. Мне предлагалось самостоятельно искать решение проблемы и понижать нагрузку до допустимых рамкок, или за отдельную плату покупать выделенный сервер.

Вот одно из таких писем:

Здравствуйте!

Ваш аккаунт _ _ _ _ _ _ оказывает чрезмерную нагрузку на сервер.

Нагрузка на CPU характеризует суммарное время, затраченное процессорами сервера на обработку процессов аккаунта. Для снижения нагрузки следует оптимизировать скрипты, исключить выполнение требующих значительных вычислительных ресурсов процессов.

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

По данным статистики нагрузка на сервер:
Дата, нагрузка на CPU, нагрузка на MySQL
_ _ _ _   _ _  _ _

_ _ _ _   _ _  _ _

_ _ _ _   _ _  _ _

_ _ _ _   _ _  _ _

— что превышает допустимые значения на текущем тарифном плане: нагрузка на CPU до 50 cp, MySQL до 1000.
Информацию по нагрузке за прошедшие дни и ограничения тарифных планов Вы можете посмотреть в панели управления.

Мы можем предложить Вам следующие варианты решения сложившейся ситуации:
1. Устранить источник нагрузки, самостоятельно оптимизировав сайты, используя средства CMS, либо специализированное ПО (профайлеры, фреймворки) на локальном компьютере.
2. Обратиться к соответствующим специалистам для снижения оказываемой нагрузки, в случае если Вы не готовы самостоятельно произвести оптимизацию.
3. Рассмотреть вариант перехода на техническое решение без ограничений по нагрузке (выделенный или виртуальный сервер).

Статистически, рост нагрузки чаще всего возникает по одной из следующих причин:
1) рост посещаемости;
2) использование неоптимизированных скриптов;
3) отключение кеширования;
4) действие вредоносного кода;
5) нежелательная активность поисковых или иных ботов;
6) увеличение объёма обрабатываемых данных.

Скачок нагрузки может быть вызван различными причинами, например:
1) скачок посещаемости;
2) работы на сайте;
3) действие вредоносного кода;
4) DoS-атака;
5) ошибка в логике работы скриптов.

В течение 7 дней (до _ _ _ _   _ _  _ _ включительно) Вам необходимо снизить создаваемую нагрузку до ограничений тарифного плана, либо принять решение об адекватной смене условий размещения. Если по истечении этого срока будет по-прежнему наблюдаться повышенная нагрузка, дальнейшее обслуживание на прежних условиях будет невозможно.

В случае, если нагрузка будет вызывать нестабильную работу сервера, мы будем вынуждены приостановить работу аккаунта.

Получить консультацию по данному вопросу Вы можете в рамках текущего обращения системы обратной связи.

Но о них (о этих письмах) я узнал когда на телефон мне начали приходить SMS что мои сайты недоступны. Вот тогда я забил тревогу.

Перед отключением мне было отправлено сообщение следующего содержания:

Здравствуйте!

Напоминаем, что Ваш аккаунт _ _ _ _ _ оказывает чрезмерную нагрузку на сервер.

Так как уровень создаваемой аккаунтом нагрузки угрожает стабильной работе сервера, мы вынуждены приостановить работу сайтов.

При имеющихся показателях нагрузки мы можем предложить Вам следующие варианты дальнейшего размещения:

— Аренда выделенного сервера.
……………

— Аренда виртуального сервера (VDS)

…………..

Также мы будем готовы возобновить работу после устранения источника нагрузки с Вашей стороны.

Получить консультацию по данному вопросу Вы можете в рамках текущего обращения системы обратной связи.

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

Но с другой стороны, даже если бы я знал (в принципе я догадывался), какой сайт и почему является источником проблем, я не мог бы их решить, потому что сайты были отключены. Замкнутый круг получается. Мне нужно при отключенных сайтах устранить все неполадки. Потом написать в сапорт, чтобы сайты включили, но если проблема окажется нерешенной,  мой аккаунт просто удалят, без права восстановления. А вместе с ним девять сайтов, половина из которых клиентские.

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

Как раз в это время я начал замечать что на сайте начали регистрироваться боты. Но ничего пресекающего не предпринял, поскольку считал, что в ближайшее время я всё перенесу на новый движок, и потом буду уже что то с ними решать. Но не всё так вжизни происходит, как тебе хочется, череда событий в личной жизни заставила на некоторое время меня забыть о своих сайтах. А в это время боты продолжали свою деятельность.

В общем, что-то нужно было делать. Но по большому, мне оставалось только полагаться на интуицию. Я поставил на то, что все-таки косяк висел на анимешном сайте. Я отлинковал домен и написал в службу поддержки. Оказалось, я был прав:  когда все сайты подключили,  нагрузка больше не подымалась.

Хорошо, но что делать дальше? Чтобы перенести сайт на новый движок,  мне нужно,  чтобы функционировали оба сайта. Для этого планирую подключить ущербный сайт и быстро исправить ошибки, плюс создать поддомен и на нем установить новый движок. Потом вручную переместить материалы.

Но не всё так просто. Когда я восстановил сайт и зашел в админку,  я был в шоке — там зарегистрировалось около двух сотен ботов! За неделю они успели наштамповать около тысячи статей и около ДВАДЦАТИ ТЫСЯЧ комментариев!!!!

Регистрацию на сайте запретил. Комментирование запретил. Ботов удалил. Статьи удалил (хотя на это ушло немножко больше времени). А вот когда дело дошло до комментариев… Как вы думаете, сколько мне понабилось бы времени, если бы я начал удалять комментарии вручную через админку, когда ресурсы движка не позволяли удалять даже сотню сообщений за один раз? Неделю, как минимум.

Пришлось через MySQLAdmin лезть в базу данных. Как я не люблю это дело. Если честно,  я её даже боюсь :) , но что делать.

Нашел таблицу,  в которой хранятся все комментарии ( у меня это была joomla_k2_comments) и во вкладке SQL ввёл следующий запрос:

DELETE FROM joomla_k2_comments WHERE 1

Пара секунд и комментариев больше нет.

P.S. Хочу принести  извинения за длительное отсутствие. Дело в том, что этот пост писался ещё в июне, но из-за событий у меня на родине мне было не до блога — всё свободное время уходит на просмотр сводок с фронтов. Да и вообще,  писать о каких-то бытовых проблемах, когда на родине происходит ТАКОЕ — мне кажется аморально. Надеюсь,  в дальнейшем ситуация пойдет на поправку, как на Донбассе,  так и у меня в блоге.

С уважением, Мышак Петр!  

 

Создаем табы (вкладки) для сайта без JavaScript на CSS.

Доброго времени суток, уважаемые читатели блога Moi-tarakany.

Как-то я публиковал у себя в блоге статью о гармошке  для сайта в которой информация открывалась-пряталась по клику в горизонтальной спройлере. Сегодня хочу поделится похожей штукой — это «табы» информация в которых открывается во вкладках.

Для этого в то место на сайте где хотим видеть табы размещаем этот код:

<div class="korpus">
<input type="radio" name="odin" checked="checked" id="vkl1"/><label for="vkl1">CSS</label><input type="radio" name="odin" id="vkl2"/><label for="vkl2">HTML</label><input type="radio" name="odin" id="vkl3"/><label for="vkl3">Дополнительно</label>
<div>первая вкладка</div>
<div>вторая вкладка</div>
<div>третья вкладка</div>
</div>

A в файл CSS добавляем следующий код:

.korpus > div, .korpus > input { display: none; }
.korpus label { padding: 5px; border: 1px solid #aaa; line-height: 28px; cursor: pointer; position: relative; bottom: 1px; background: #fff; }
.korpus input[type="radio"]:checked + label { border-bottom: 2px solid #fff; }
.korpus > input:nth-of-type(1):checked ~ div:nth-of-type(1),
.korpus > input:nth-of-type(2):checked ~ div:nth-of-type(2),
.korpus > input:nth-of-type(3):checked ~ div:nth-of-type(3) { display: block; padding: 5px; border: 1px solid #aaa; }

Ещё немножко пошаманив над кодом я получил такой результат. Всё просто, без всяких заморочек.

P.S. Данный пример подсмотрел здесь.

С уважением, Мышак Пётр!

Гармошка-спойлер для сайта на JQuery

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

Простое но довольно интересное решение я нашел здесь. Я немножко поработал с CSS и представляю вам свой вариант.

Этот код вставляем в том месте где хотим видеть спойлер.

<h2 class="trigger"><a href="#">Заголовок</a></h2>
<div class="toggle_container">
<div class="block">Содержимое спойлера</div>
</div>

А этот код вставляем в файл CSS.

h2.trigger {
width: 647px;
height: 40px;
padding: 0 0 0 50px;
margin: 0 0 5px 0;
font-weight: normal;
font-size: 15px;
float: left;
line-height: 40px;
border: 1px solid #0454a8;
color: #fff;
text-decoration: none;
background: #0973bb;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0f97d0', endColorstr='#0454a8');
background: -webkit-gradient(linear, left top, left bottom, from(#0f97d0), to(#0454a8));
background: -moz-linear-gradient(top,  #0f97d0,  #0454a8);
background: gradient(linear, top,  #0f97d0,  #0454a8);
border: 1px solid #0454a8;
}

h2.trigger:hover {
color: #fff;
text-decoration: none;
background: #0973bb;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0454a8', endColorstr='#0454a80f97d0');
background: -webkit-gradient(linear, left top, left bottom, from(#0454a8), to(#0454a80f97d0));
background: -moz-linear-gradient(bottom,  #454a8,  #0f97d00);
background: gradient(linear, bottom,  #0454a8,  #0f97d0);
border: 1px solid #0454a8;
}

h2.trigger  a {
color: #fff;
text-decoration: none;
display: block;
}

h2.trigger  a:hover {
color: #fff;
}

.toggle_container {
background-color: #000;
opacity: 0.9;
margin: 0 0 5px;
padding: 0;
font-size: 1em;
width: 698px;
clear: both;
overflow: hidden;
margin-top: 8px;
border-radius: 0 0 5px 5px;
font-family: Cambria, Georgia, serif;
font-style: italic;
font-size: 16px;
border: 1px solid #333;
}
.block {
padding: 20px;
}

И остается JQuery. Этот код нужно разместить между тегами <head></head>.

<script type="text/javascript" language="javascript">// <![CDATA[
$(document).ready(function() {
$('h2:first').addClass('active');
$('.toggle_container:not(:first)').hide();
$('h2.trigger').click(function() {
$(this).toggleClass('active').next().slideToggle('slow') .siblings("div:visible").slideUp('slow');
$(this).siblings('h2').removeClass('active');
return false; //
});
});
// ]]></script>

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

С уважением, Мышак Пётр.

Как перенести сайт на другой сервер со сменой движка.

Доброго времени суток,  читатели блога Мои тараканы.

Сегодня хочу продолжить историю,  которую я начал уже больше года назад. Я о своем сателлите, на который я полностью забил. Напомню,  это был сайт про рыбалку на SetUp’овском движке, в котором у меня имелся годовой PRO-аккаунт. Читать далее «Как перенести сайт на другой сервер со сменой движка.»

Белый экран смерти WordPress.

Доброго времени суток, мои читатели.

Белая страница смерти WordPress

Страница смерти WordPress

Прошлым постом я начал серию статей, посвященных описанию трудностей, которые возникают у меня при создании нового шаблона для своего блога. Так вот, сегодня я продолжу эту тему.

Ведя работу над своим шаблоном, я неожиданно столкнулся со следующей проблемой: при выполнении каких-либо действий в админке WordPress, после которых требуется сохранение данных, например, сохранение изменений в записи, начинает высвечиваться пустой белый экран. Обновления страницы ни к чему не приводили. Только возврат на предыдущую страницу в браузере, но тогда изменения не всегда вступали в силу.

Сначала я грешил на плагины, потому что возникал ещё один баг, о котором я напишу в одном из следующих постов. Все манипуляции с шаблоном проводились на моем тестовом блоге, поэтому я мог смело отключать все плагины. Но это ничего не дало.

Проблема крылась в файле functions.php. В принципе,  искать её было больше негде. Подтверждением моих мыслей было и то, что при удалении всей информации из этого файла блог начинал функционировать нормально.

Значит functions.php, но что дальше? Где именно искать ошибку — последнее время я только с этим файлом и работал. А на ошибку указал мне сам белый экран. Белый экран означает, что вывод ошибок в браузер отключен.

Чтобы вывести вывод ошибок в браузер,  я поместил в файл .htaccess следующий кусочек кода:

php_value display_errors 1

Теперь на белой страничке появлялась ошибка:

Warning: Cannot modify header information — headers already sent by (output started at /home/user/site.ru/public_html/wp-content/themes/Moi-tarakany/functions.php:10) in/home/user/site.ru/public_html/pluggable.php on line 876

Эта ошибка означает,  что у меня кривые руки :) . Если быть точным, что-то неправильно в файле functions.php,  а именно в 10-й строке.

Исправил эту ошибку,  появлялась новая и т.д. Так, по цепочке, я исправил все ошибке в файле. Не буду позориться, рассказывать, где я опростоволосился, скажу лишь, что это были простые синтаксические ошибки (незакрытая скобка, лишняя запятая, забытые точка с запятой и т.п.). Признаюсь честно, помочь кому-то в исправлении ошибок не могу — сам пользовался советами Гугла и Яндекса. Даже не знаю, будут ли полезны кому-то мои заметки, надеюсь, что будут.

Чтобы топик был не таким сухим, представляю вашему вниманию кавер на композицию, совсем недавно взорвавшую интернет:

Чтобы узнавать о новых статьях в блоге, предлагаю подписаться на обновления по RSS или по почте! Также Вы можете следить за моим щебетом в Твиттере.

С уважением, Мышак Пётр.

Генерация WordPressom невалидного кода функцией the_category

Доброго времени суток читатели Моих тараканов!

Валидный код генерируемый движком WordPress

А вот и первая ласточка.

В одном из последних постов я оговорился, что работаю над новым шаблоном для своего блога. Планирую написать код шаблона собственноручно, от первого до последнего тега. С HTML у меня проблем нет, а вот с PHP придется немного потягаться.

На написание кода тратится много времени, когда на сам блог времени не уделяется. Я решил исправить ситуацию и публиковать небольшие заметки о проблемах, которые будут возникать у меня в процессе верстке. К статье добавил специально созданный тег «новый шаблон», чтобы каждый желающий мог проследить за ходом возникновения проблем и способах их решения.

А вот и первая проблема. После анонса статьи я вывел список категорий связанных с ней, такой функцией:

<?php the_category(', '); ?>

WordPress генерировал такой HTML код:

<a href="http://moi-tarakany.ru/category/html/" title="Просмотреть все записи в рубрике &laquo;html&raquo;" rel="category tag">html</a>

На первый взгляд всё нормально, но если проверить код на валидность, то мы увидим следующее сообщение:

Bad value category tag for attribute rel on element a: The string category is not a registered keyword or absolute URL. Whitespace in path component. Use %20 in place of spaces.

Валидатор ругался на эту часть кода rel="category tag", сгенерированную WordPress.

Я немножко погуглил и нашел такое решение: чтобы удалить невалидный код нужно просто добавить в файл functions.php следующую функцию:

function remove_category_rel($output)
{
    $output = str_replace(' rel="category tag"', '', $output);
    return $output;
}
add_filter('the_category', 'remove_category_rel');

Чтобы узнавать о новых статьях в блоге, предлагаю подписаться на обновления по RSS или по почте! Также Вы можете следить за моим щебетом в Твиттере.

С уважением, Мышак Пётр.

Домен под ключ. Как подобрать, зарегистрировать и подключить к хостингу домен для сайта

Домен под ключ. Как зарегистрировать, подключить и перенести домен для сайта на другой хостинг

Доброго времени суток, дорогие читатели блога «Мои тараканы».

Вы, конечно, догадались, о чем пойдет речь в сегодняшнем посте. Да, совершенно верно,  о домене для сайта.

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

Краткое содержание:

1. Как подобрать домен.
2. Как приобрести домен.
3. Как связать домен с сайтом.
4. Склейка доменов, редирект 301.

Как подобрать домен. Правила и советы при выборе домена

Правильное доменное имя - залог успеха

Все сайты, которые мы посещаем в интернете, состоят из отдельных документов, которые хранятся на различных веб-серверах. Чтобы получить к ним доступ, нам нужно отправить запрос серверу, где они лежат. Чтобы не запоминать двенадцатизначный ip-адрес сервера, решили использовать его буквенный синоним — доменный адрес (домен).

Доменный адрес состоит из нескольких доменных имен. Например, домен moi-tarakany.ru состоит из двух:   ru — доменного имени первого (верхнего) уровня или доменной зоны, и moi-tarakany — домена второго уровня.

Существуют некоторые правила при подборе имени для сайта. Первое из них: имя должно быть оригинальным (интригующим), чтобы зацепить потенциального посетителя, к тому же, запоминающимся и, желательно, коротким, чтобы его можно было легко запомнить и ввести вручную. За примерами далеко ходить не не нужно, тот же Yandex.ru или Gogle.com. Не устраивают такие примеры, пожалуйста, — WPNew.ru и Vovka.su. Согласитесь, такие адреса легко запомнить и ввести вручную.

Короткий домен — это хорошо, но стоит учесть и источники трафика. Если вы рассчитываете, что основным вашим трафиком будет трафик из поисковиков, то о длине домена не стоит задумываться. Например, адрес KtoNaNovenkogo.ru сложно ввести вручную (и вряд ли кто-то пытался это сделать), а посещаемость в блоге под 20 000 человек в сутки.

Если вы ведете личный блог, то в качестве имени для сайта можно использовать свои собственные имя или фамилию. Примеры блогов с такими именами: Sidash.ru, Sosnovskij.ru и уже упомянутый Vovka.su.

Имя должно соответствовать содержанию. Например, по адресу ribak.ru должен быть сайт о рыбалке, но никак не о женском белье или косметике. Как вы думаете, о чем сайт с таким именем noga.com.ua или zelenuha.pp.ua? Вы поняли о чем я говорю?

Если тематика позволяет, то можете начать имя сайта с цифры 1. Это позволит занять более высокие позиции в каталогах, в которых ранжирование производится в алфавитном порядке.

Неплохо было бы, если бы в имени присутствовали ключевые слова. Подобрать доменное имя с использованием ключевых слов поможет Сервис подбора доменных имен от регистратора Nic.ru.

Например, ваш сайт посвящен созданию сайтов, вводим ключевые слова «создать» и «сайт» и смотрим результат. Если в таблице есть подходящий домен и он свободен, его можно сразу же зарегистрировать.

Сервис подбора доменных имен

Так мы подошли к следующему пункту.

Регистрация доменного имени. Как приобрести домен.

Можете воспользоватся услугами Nic.ru, но, мне кажется, домен в зоне RU за 600р. — это слишком. Я решил поискать регистратора подешевле. 2domains.ru — самый подходящий вариант, здесь домен в зоне RU можно зарегистрировать всего за 99 рублей.

При регистрации будьте предельно внимательны. Все введенные вами данные желательно записать в блокнот (кодовое слово и секретный вопрос понадобятся для вашей идентификации и восстановления утраченных данных). Кстати, хорошая привычка записывать важные данные в блокнот.

Для подтверждения регистрации нужно перейти по ссылке в письме, которое придет на указанный вами E-mail.

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

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

Если вы ещё не определились с выбором хостинг-провайдера, поставьте галочку «Использовать DNS-сервера регистратора».

Использовать DNS-сервера регистратора

Как связать домен с сайтом.

Для наглядности я решил показать, как связать домен с сайтом  на примере двух хостинг-провайдеров — TimeWeb и Hostenko.

Начну с TimeWeb.

Сразу оговорюсь, TimeWeb предоставляет услугу регистрации доменного имени. Мало того, при оплате хостинга на год  вы получаете домен в зоне Ru в подарок.

Но я не советовал бы этого делать. Я имею ввиду заказ домена у хостинг-провайдера, любого, не обязательно ТаймВеб. Во-первых,  это поможет избежать бюрократической волокиты, если вы решите сменить хостера. Во-вторых, если вдруг сайт упадет вследствие длительной D-DOS атаки, вы легко сможете перенести домен и файлы сайта на другой хостинг.

Чтобы домен соответствовал сайту нам нужно прописать DNS-сервера TimeWeb у регистратора.

DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Чтобы прописать DNS нам нужно:

1. Авторизуйтесь в панели управления и выберите пункт меню «Домены» -> «Управление» -> «Мои домены». Найдите нужный домен и нажмите на него.
2. У Вас откроется меню управления доменом. Выберите там «Управление DNS-серверами / Делегирование».
3. Снимите галочку «Использовать DNS-сервера регистратора»
4. Пропишите DNS в форму. TimeWeb имеет следующие NS-сервера:

ns1.timeweb.ru
ns2.timeweb.ru
ns3.timeweb.org
ns4.timeweb.org

IP указывать не нужно.

Изменение DNS-серверов

На то, чтобы изменения вступили в силу,  может уйти от нескольких минут до 72-х часов. Это обстоятельства, не зависящие ни от регистратора, ни от хостинг провайдера.

Далее идем в панель управления акаунтом TimeWeb.

Выбираем «Управление доменами» -> «Разместить на NS серверах».

1. Выбираем домен,  который хотели бы перенести (специально для написания этого поста я приобрел домен 1testsite.ru).
2. Указываем сайт, к которому будет привязан этот домен (если у вас ещё нет сайта,  указываем «новый сайт») и директорию, в которой будет находиться сайт, например,  1testsite.ru.
3. Жмем «Перенести домены на NS-сервера TimeWeb».
Перенести на NS-сервера TimeWeb

Всё! Теперь, как только обновится DNS, мы можем создавать сайт, используя зарегистрированный нами домен.

Теперь давайте рассмотрим,  как подключить домен к сайту на Hostenko.

Пара слов о Хостенко. Хостенко — это хостинг,  предназначенный специально для сайтов на WordPress. Путь от регистрации до создания сайта займет 5 минут, даже если у вас нет абсолютно никаких навыков сайтостроении.

Хостенко не предоставляет услуг по регистрации домена. Но зато есть возможность воспользоваться субдоменом, который потом можно легко заменить на собственный домен.

Процесс подключения намного проще, чем у ТаймВеб. Заходим в Личный Кабинет. Жмем «Изменить домен».Жмем "изменить домен"

Вписываем наше доменное имя в форму и ставим редиобатон на «я пропишу NS-сервера».

Отмечаем "я пропишу NS-сервера"

Жмём «Продолжить». Что мы видим:

«Пока что Ваш домен не связан с указанными NS-серверами.
Согласно регламенту, обновление домена может занимать до 72 часов, поэтому эффект может быть не моментальным».

И это понятно — во первых на это нужно время, и во вторых нам нужно изменить прописку нашего домена у регистратора.

Идем в панель управления 2domains.ru и дальше по уже знакомому нам пути: «Домены» -> «Управление» -> «Мои домены». Прописываем DNS-серверы, у Hostenko это:

ns1.domenator.com
ns2.domenator.com
ns3.domenator.com

Теперь нам осталось только ждать. Через время наш сайт будет доступен по новому адресу.

Склейка доменов. Редирект 301.

http://moi-tarakany.ru

Если вы подключили домен к уже существующему сайту, то вам нужно определиться, какой домен считать основным.

1. Первым делом нужно открыть файл .htaccess и установить редирект 301 на новый домен. Для этого вставляем в файл следующий код:

Redirect 301 / http://site.com

Естественно, замените site.com на новое имя сайта.

2. В файле robots.txt в директиве Host указать главное зеркало сайта (то есть домен, который нужно считать основным).

3. Если вы используете WordPress, то главное зеркало также можно (даже нужно) указать в админке.

Главное зеркало сайта.

4. Разместить несколько сквозных ссылок с «мордочки» (главной страницы) на новый домен. Конечно, лучше заменить все внутренние ссылки, но это трудоемкий процесс, редиректа 301 будет достаточно.

Вот что говорят по поводу смены домена Яндекс и Гугл.

Список Dofollow блогов.

http://zoneseo.ru
http://blogpressa.ru
http://uncleya.ru
http://seo.goldenone.ru
http://www.mariatrudler.com
http://armamentarium.ru
http://delovoyblin.ru
http://www.s1z.ru
http://moneyseeker.ru
http://evsyukov.com.ua
http://fromtundra.ru
http://kyoks.ru

Кто не понимает о чем идёт речь, может почитать мой пост «Движение Dofollow».

Чтобы узнавать о новых статьях в блоге, предлагаю подписаться на обновления по RSS или по почте! Также Вы можете следить за моим щебетом в Твиттере.

С уважением, Мышак Пётр.