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

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

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

Задача: Вы должны написать качественный и объёмный текст для вашего фарма шопа.

Для примера возьмем таблетку Виагра. Мы знаем что Виагра помогает справляться с проблемой эректильной дисфункции. Перечислим мы основные достоинства Виагры, ну и наберется текста максимум на пол страницы А4.

А как написать несколько страниц интересного текста для пользователей и поисковых роботов? Такой вопрос мне часто задают в ICQ мои товарищи. Я подготовил схему, опираясь от которой можно написать отличную статью/описание для любого лекарственного препарата.

Пишем контент по Виагре

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

Пополнение

Моя жизнь 13 ноября, 2009

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

Томас

Шикарный, игривый, добрый, неимоверно смешной Британский кот.

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

Документов у Томаса больше чем у меня самого и моей машины. Родился – 23.08.09, на данный момент весит – 1,5кг. Завтра идем к ветеринару стричь ногти, также советоваться по поводу его стерилизации.

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

Томас

Томас

Томас

DSC00009

1. Причины написания.

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

2. Задача.

Необходимо сделать добавление контента в описание препаратов на движке SE2 главмеда. Способ правки шаблонов работает, но он несколько прямолинеен и не универсален.

3. Теория.

Как известно (или неизвестно), все (т.е. абсолютно ВСЕ) данные по продаваемым лекарствам в главмедовском движке хранятся в виде XML файла. Насколько я успел разобраться (вникать особенно времени не было, поэтому поправлять меня можно и нужно), при установке движка, а также при выполнении операции ?xmlupdate через браузер происходит следующее:

  • каждый препарат или группа препаратов, которые хранятся в файле data/data.xml извлекаются, преобразуются в ассоциативный массив;
  • полученный массив сериализуется;
  • сериализованный массив сохраняется в папке data с именем item.{ID}.ser или items_in_group.{ID}.ser.

Далее при работе движка обращение за данными по препарату или группе препаратов идет по id препарата или id группы соответственно к файлу item.{ID}.ser или items_in_group.{ID}.ser. Пытливый читатель спросит, что такое child.{ID}.ser, я отвечу так: это данные по подгруппам для тех препаратов, у которых есть несколько вариантов расфасовки.

4. Главная идея.

Мне не хочется лезть в шаблон каждый раз, когда у меня появляется новый, заказанный у Лаки ;) контент для очередного препарата. С другой стороны, мне нельзя править ser файлы в движке главмеда, ибо они не переживут обновления каталога. В таких нечеловеческих условиях приходится работать.

Выход есть. Когда в движке некая функция получает массив значений для препарата или группы, мне нужно вставить проверку на наличие измененных данных. Если они есть в наличии – значит заменить данные на мои, если нет – ничего не менять. И уже после этого возвращать данные из функции.

5. Конкретика.

Для работы нам понадобится минимальное знание php и наличие сервера с этим самым php. Для начала возьмем любой из ser файлов и преобразуем его содержимое в массив. Далее делаем простой print_r и получаем примерно следующее:

Array
(
    [id] => 188
    [name] => Viagra
    [packages] => Array
        (
            [0] => Array
                (
                    [id] => 4730
                    [parent_id] => 188
                    [pills_count] => 30
                    [pills_type] => pills
                    [dosage] => 25
                    [dosage_type] => mg
                    [price] => 145.38
                    [price_per_item] => 4.85
                    [name] => 30 pills x 25 mg
                    [save_money] => 0
                    [per_type] => pill
                ) 
 
            [1] => Array
                (
                    [id] => 4731
                    [parent_id] => 188
                    [pills_count] => 60
                    [pills_type] => pills
                    [dosage] => 25
                    [dosage_type] => mg
                    [price] => 217.13
                    [price_per_item] => 3.62
                    [name] => 60 pills x 25 mg
                    [save_money] => 74
                    [per_type] => pill
                ) 
 
[!skip!] 
 
[description] =>
    [Drug_name] => Viagra (Sildenafil)
    [Drug_Uses] => Viagra is used for treating erectile dysfunction (e.g. male impotence). It works by helping the blood flow into the penis to achieve and maintain an erection during sexual stimulation.
    [How_Taken] => Viagra is to be taken 30 minutes to 1 hour before sexual activity. You may take it up to 4 hours before sexual activity. Viagra is not supposed to be taken more often than once per day.
    [Drug_Class_and_Mechanism] => Viagra is a phosphodiesterase type 5 inhibitor and it works by helping the blood flow into the penis to achieve and maintain an erection during sexual stimulation.
 
<img src="/img/viagra.jpg" alt="" /> 
 
<img src="/img/viagra_3d.jpg" alt="" />
    [Missed_Dose] =&gt; Viagra is to be 
 
[!skip!] 
 
    [bundle] =&gt;
    [price_per_item] =&gt; 2.09
    [min_price_child_id] =&gt; 4735
    [sprice_per_item] =&gt; 3.97
    [group] =&gt; Array
        (
            [name] =&gt; Men's Health
            [id] =&gt; 57
        ) 
 
)

Пропустить пришлось очень многое, потому как, повторюсь, тут хранится ВСЯ информация о препарате, включая описания на нескольких языках. На всякий случай приведу секретный код для получения всего массива:

<?php 
$str = file_get_contents('data/item.188.ser'); 
$ar = unserialize($str); 
print_r($ar); 
?>

Для чего это надо? Исключительно для того, чтобы видеть индексы в массиве именно того текста, который мы хотим изменить. Например, мы заказали у Лаки контент по препарату c id 188 (Viagra) и контент этот включает описание дозировки препарата.

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

Отмечаем себе, что нам нужно будет изменить значение для $array['Drug_Uses'] и повторяем все шаги для остального контента.

Для определенности скажу, что я собираюсь менять следующие значения в массиве:

  • [small_description]
  • [Drug_Uses]
  • [Missed_Dose]
  • [Warnings_Precautions]

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

Идем дальше. Если опустить все лирические подробности, то файл, в котором вызывается ТА САМАЯ функция расположен в каталоге core и называется item_data.cls.php. И вот с этой самой минуты начинается очень тонкая работа.

6. ПРЕДУПРЕЖДЕНИЕ.

Далее идут советы по внесению изменений в ядро движка SE2. Все, что вы сделаете – вы сделаете своими руками на свой страх и риск. Если что-то перестанет работать, никто в этом не виноват и помощи ждать будет неоткуда. Я сказал.

7. Снова конкретика.

На самом деле все не так страшно, если вы понимаете простую вещь: резервная копия файла на создание потребует минуты, а сэкономить может часы. Поэтому копируем файл core/item_data.cls.php в core/item_data.cls.php.bck и начинаем “хирургию”.

Находим следующий код (у меня он на строке 289):

    /* Читает данные из файла, сохраненые ранее в сериализованном виде
     * @param   $filename   String    Имя файла для сохранения
     * @return              Any       Переменная сохраненая ранее.
     */
    function load_data($filename){
        global $SITE_ROOT;
        if(file_exists($SITE_ROOT.'data/'.$filename.'.ser')){
            $str = file_get_contents($SITE_ROOT.'data/'.$filename.'.ser');
            return unserialize($str);
        }
        else{
            return false;
        }
    }

Заменяем его на следующий:

    /* Читает данные из файла, сохраненые ранее в сериализованном виде
     * @param   $filename   String    Имя файла для сохранения
     * @return              Any       Переменная сохраненая ранее.
     */
    function load_data($filename){
        global $SITE_ROOT;
        if(file_exists($SITE_ROOT.'data/'.$filename.'.ser')){
            $str = file_get_contents($SITE_ROOT.'data/'.$filename.'.ser');
            $ar = unserialize($str);
            if (file_exists($SITE_ROOT.'data/changed/'.$filename.'.ser')){
               include_once ($SITE_ROOT.'data/changed/'.$filename.'.ser');
               foreach ($changed as $key =&gt; $value){
                   $ar[$key] = $value;
               }
            }
        return $ar;
        }
        else{
            return false;
        }
    }

и сохраняем.

Что необходимо знать. Во-первых, файлы с измененными значениями массива будут искаться в папке data/changed/ и названия их должны совпадать с названиями исходных файлов. Чуть подробнее объясню ниже. Во-вторых, эти файлы должны иметь строго оговоренную структуру, потому как проверку на валидность данных я не предусматриваю.

8. Порядок работы (в качестве резюме).

  1. В директории data создаем директорию changed.
  2. Делаем бекап файла core/item_data.cls.php и вносим в него изменения.
  3. Находим id препарата, данные которого необходимо изменить.
  4. Находим ключи массива, в которых хранятся данные, подлежащие изменению.
  5. Создаем в директории data/changed/ файл с именем item.{ID}.ser и в нем размещаем данные в следующем виде:

“Здесь измененный текст”,
Drug_Uses” => “Здесь измененный текст”,
Missed_Dose” => “Здесь измененный текст”,
Warnings_Precautions” => “Здесь измененный текст”

);

?>

6. Идем на страницу сайта с описанием препарата и проверяем, что получилось.

9. TODO.

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

Не так давно я опубликовал обзор нового европейского шопа от Rx-Partners.biz, с тех прошло немало времени, пришло время написать небольшой обзор.

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

На моем нынешнем европейском фарма шопе присутствует всего 6-ть препаратов категории ED из 15-ти предлагаемых. Для каждого из них написан уникальный контент на итальянском и французском языке. Статические страницы закрыты от индексации в файле robots.txt.

Внешние ссылки (тематические, ресурсы личные):

2 ссылки - PR-3;

3 ссылки PR-2;

15 ссылок PR- 0; (Сплоги, итальянский язык)

Шоп в бане/предполагаю из за ссылок со сплогов с частыми/одинаковыми анкорами.

На этом я решил не останавливаться, а использовать вторую жизнь, всего их три :) .

Первое на что я уделил внимание это конечно же контент, и так: написано, переведено, вычитано 112К уникального контента на итальянском языке, или 22К слов или 134К символов с пробелами.

Именно столько контента потребовалось для полного копирайта европейского шопа на итальянском языке.

В ближайшее время займусь кастомайзом дизайна, атрибуты alt и title для картинок, а также кастомайзом урл-ов.

.EU – домены беру у Ruler-domains.com по 11,24$.

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

Сейчас я отвечу на очень часто задаваемый/волнуемый вопрос многих вебмастеров, в том числе и меня. Есть уникальные итальянские уники, есть клики, есть заходы на пейпейдж, ордеров нет! WTF!?

Цитирую Ansmart:

В Италии больше всего распространены не кредитные карты, а прямой перевод с банковского счета на счет.
Это так, как работает Direct Debit (ili EuroDebit) для Германии, Голландии, Австрии, Англии.
Чтобы понять размах ситуации я приведу цифры про Германии. Там проникновение кредитных карт – 25%. Кредитных карт настолько мало, а дебетных практически нет.
Немцы, конечно, не носят в магазины тонны наличных, они используют директ дебит, или electronic cash. Такая “карта” есть у всех, также как паспорт.

Вот фото подобной карты:

Ec-bankkarte

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

Можно попробовать поставить более узнаваемую картинку, вот такую вот:

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

Резюмировать эту писанину я хочу вот как:
1. если на вашем итальянском сайте конверт хуже (соотношение заходов на пейпейдж и покупок), чем на сайтах других стран, не переживайте, что с сайтом что-то не то – дело в платежных методах.

Думаю теперь многим стало ясно, что как и почему. Я рассчитываю на уникальный контент, также есть возможность поставить линк на шоп с медицинского блога PR-4, который ведет не первый год итальянец врач.Европейские ордеры есть, по достижению каких либо приятных результатов нового шопа отпишусь.

Недавно было апдейт PR, все фарма проекты получили – PR-1, PR-2, мой фарма блог был удостоен PR-4 :) .

Продолжаю работать с Medinc.biz. Количество ордеров в сутки растет, недавно был побит рекорд в 4 ордера за сутку. На данный момент работаю с контроллами, трафик поисковый, все белое.

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

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



Do Follow Блог