Разделы
Теги | RSS © 2008 – 2022
Контакты
email:
skype:
» » » Страница 7

Ведение корпоративного блога, 7 правил


Ведение корпоративного блога, 7 правил

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

1. Создание релевантного контента, то есть такого, который поможет посетителю решить конкретную проблему. К примеру, подходящим наполнением для блога KISSmetrics будут посты о веб-аналитике и о том, как более эффективно её проводить. Блог, на который нужно привлечь веб-дизайнеров, должен быть посвящён веб-дизайну.
2. Применение гостевого постинга, то есть размещение ссылок на корпоративный блог на других популярных ресурсах сходной тематики.
3. Грамотная работа с аудиторией. Посетители должны не быть потребителями. Они должны обеспечивать конверсию блога, то есть совершать действия, нужные его создателю:
- давать email-адрес в обмен на предоставление ценного отчёта или руководства,
- делиться контентом в соцсетях или отправить его друзьям;
- скачивать электронные книги по предоставляемым ссылкам и т.д.
- и из читателей превращаться в потенциальных покупателей.
4. Регулярная публикация материалов. Только это удержит от падения трафика.
5. Установка связей с читателями, прежде всего, путём общения с ними и исчерпывающих ответов на их комментарии
6. Упор на продвижение контента. Увеличение поискового трафика и спроса на контент является закономерным следствием развития блога. Но начинается всё, как правило, с малого – с распространения материалов блога в соцсетях. На первой стадии этим можно заняться самостоятельно, подключив друзей, коллег и партнёров – так будут привлечены первые постоянные читатели. Затем можно воспользоваться таргетированной рекламой, то есть рекламой, рассчитанной только на целевую аудиторию.
7. Ранняя монетизация блога и переход его к лидогенерации – поиску потенциальных клиентов с определёнными контактными данными. Лучше это сделать, когда блог будет посещать 10к в месяц. Чем раньше состоится переход. Тем раньше можно будет усовершенствовать стратегию контент-маркетинга.

1 - Готовим CentOS 7. Запускаем сеть после установки



ping ya.ru
nmcli d

Видим инет не доступен. Запускаем
nmtui

выставим
x Automaticlly connect

Перезапускаем
service network restart

Проверяем
pint ya.ru

Интернет-магазин без продвижения - сайт без продаж


Интернет-магазин без продвижения - сайт без продаж

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

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

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

0 - Готовим CentOS 7. Установка минимальной сборки


Здраствуйте товарщи! Cтартую цикл постов по настройке сервера в virtualbox на CentOS 7.
Стек основного софта: nginx, php7, mongodb, redis, beanstalkd, supervisord.
Зачем устанавливать все это на виртуалке? - Что бы, например, протестировать на идентичных настройках при переносе на vps.
Почему именно CentOS? - Чаще всего при аренде vps вам доступно к выбору либо centos либо freebsd.
А сегодня начнем с установки.

В принципе вопросов здесь и сложностей возникнуть не должно.

Новый драйвер mongodb для PHP - черновик по основным запросам


Ранее писал черновик по основным запросам Mongodb в PHP, но стоило обновить пхп, и каково было мое разочарование, новый драйвер php для mongo полностью поменял синтаксис.
Это хорошо, что не стоит на месте, и плохо, что придется переписывать. На данный момент (написания статьи, а не ее публикации) нет ни одной odm и orm поддерживающей новый драйвер. Только библиотека которая является оберткой для драйвера, и какой-то не полной (http://mongodb.github.io/mongo-php-library/api/index.html)

Вот наш герой: https://github.com/mongodb/mongo-php-driver
pecl/mongodb это новый MongoDB driver для PHP, а раньше это был его наследник pecl/mongo driver.

Что же делать и как дальше быть, попытаемся разобраться.
Документация http://php.net/manual/ru/set.mongodb.php
Поехали:
 "world"];
$bulk = new MongoDB\Driver\BulkWrite;
$id = $bulk->insert($document);
try {
    $result = $mongo->executeBulkWrite('mydb.collection', $bulk);
    echo (string)$id;
} catch (MongoDB\Driver\Exception\Exception $e) {
    echo $e->getMessage(), "\n";
}


// SELECT
$filter = [
    'hello' => 'world'
];
$options = [
    'projection' => [
        'hello' => 1,
    ],
    'sort' => [
        "hello" => -1,
    ],
    'skip' => 2,
    'limit' => 5
];
$query = new MongoDB\Driver\Query($filter, $options);
try {
    $cursor = $mongo->executeQuery('mydb.collection', $query);
    // здесь тоже можно посчитать количество с помощью iterator_count($cursor)
    // если хотите работать как с массивом а не обьектом, то приходится преобразовывать =(
    $cursor = MongoDB\BSON\fromPHP($cursor->toArray());
    $cursor = json_decode(MongoDB\BSON\toJSON($cursor), true);
    //
} catch (MongoDB\Driver\Exception\Exception $e) {
    echo $e->getMessage(), "\n";
}
foreach($cursor as $document) {
    echo "
";
    print_r($document);
    echo "
"; } // count считаем так или смотрите ниже выполнение count c помощью Command $count = count($cursor); */ // SELECT_ONE // аналогично // SELECT только limit указуем в 1 // UPDATE $filter = ["hello" => "world"]; $update = ['$set' => ["hello" => "wonderful world"]]; $options = ["limit" => 1, "upsert" => false]; $bulk = new MongoDB\Driver\BulkWrite; $bulk->update($filter, $update, $options); try { $result = $mongo->executeBulkWrite('mydb.collection', $bulk); var_dump($result); } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // DELETE $filter = ['hello' => 'world']; $options = ["limit" => 1]; $bulk = new MongoDB\Driver\BulkWrite; $bulk->delete($filter, $options); try { $result = $mongo->executeBulkWrite('mydb.collection', $bulk); var_dump($result); } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // ВЫПОЛНЕНИЕ ЗАПРОСОВ С ПОМОЩЬЮ КОМАНД - COUNT и COMPLEX SELECT // COUNT пример считаем количество записей world $query = ["hello" => "world"]; $command = new MongoDB\Driver\Command(["count" => "collection", "query" => $query]); try { $result = $mongo->executeCommand("mydb", $command); $res = current($result->toArray()); $count = $res->n; echo $count; } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // COMPLEX SELECT (это пример, результат этого запроса будет пустой) $command = new MongoDB\Driver\Command([ 'aggregate' => 'collection', 'pipeline' => [ ['$match' => [ "hello" => "world" ]], ['$project' => [ "hello" => 1 ]], ['$group' => [ '_id' => '$hello', 'sum' => ['$sum' => '$world'] ]], ['$skip' => 1], ['$limit' => 1], ['$sort' => [ 'hello' => 1 ]], ], 'cursor' => new stdClass, ]); $cursor = $mongo->executeCommand('mydb', $command); foreach ($cursor as $document) { echo "
";
    var_dump($document);
    echo "
"; } //еще хотелось бы показать нюансы вставки и преобразования дат // ВСТАВИТЬ ТЕКУЩУЮ ДАТУ $milliseconds = round(microtime(true) * 1000); // теперь это миллисекунды $document = ["date" => new MongoDB\BSON\UTCDateTime($milliseconds)]; $bulk = new MongoDB\Driver\BulkWrite; $id = $bulk->insert($document); try { $result = $mongo->executeBulkWrite('mydb.collection', $bulk); echo (string)$id; } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // ИЗВЛЕКАЕМ ДАТУ И ДЕЛАЕМ ЧИТАБЕЛЬНОЙ // раньше был new Mongoid($_id) // теперь это new MongoDB\BSON\ObjectId($_id) $filter = ['_id' => new MongoDB\BSON\ObjectId('568991464c20200df6792a39')]; $options = ['limit' => 1]; $query = new MongoDB\Driver\Query($filter, $options); try { $cursor = $mongo->executeQuery('mydb.collection', $query); // если хотите работать как с массивом а не обьектом, то приходится преобразовывать =( $cursor = MongoDB\BSON\fromPHP($cursor->toArray()); $cursor = json_decode(MongoDB\BSON\toJSON($cursor), true); // } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } $res = current($cursor); // можно так $date = date('Y-m-d H:m:s', $res['date']['$date'] / 1000 ); echo $date.'
'; // можно так $d = new MongoDB\BSON\UTCDateTime($res['date']['$date']); $datetime = $d->toDateTime(); $date = $datetime->format('Y-m-d H:m:s'); echo $date.'
'; // Автоинкремент поля Mongodb через findAndModify // http://veselov.sumy.ua/1960-avtoinkrement-polya-mongodb-na-php.html $command = new MongoDB\Driver\Command([ 'findAndModify' => 'collection_counters', 'query' => ['field' => 'user_id'], 'update' => ['$inc' => ['nextId' => 1]], "new" => true ]); try { $result = $mongo->executeCommand("mydb", $command); $num = $result->toArray(); $num = $num['nextId']; // дальше добавляем сам документ // .. } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // Множественный INSERT batchInsert как и UPDATE и DELETE // выполняется аналогично insert $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(["hello" => "world"]); $bulk->insert(["hello1" => "world1"]); $bulk->insert(["hello2" => "world3"]); try { $result = $mongo->executeBulkWrite('mydb.collection', $bulk); } catch (MongoDB\Driver\Exception\Exception $e) { echo $e->getMessage(), "\n"; } // преобразование даты для выборки по дате // ранее было new MongoDate( time() ) // теперь new MongoDB\BSON\UTCDateTime( time() * 1000 ) $dateTime = new MongoDB\BSON\UTCDateTime(strtotime(date('Y-m-d H:m:s', time())).'000'); $filter = [ 'date' => [ '$gte' => new MongoDB\BSON\UTCDateTime(strtotime("{$year}-{$month}-01").'000'), '$lt' => new MongoDB\BSON\UTCDateTime(strtotime(date('Y-m-d H:m:s')).'000') ] ]; // Было // new MongoRegex("/$text/i")) // стало // new MongoDB\BSON\Regex($text, 'i')) // И еще пример для размышления =) $filter = []; $options = []; $query = new MongoDB\Driver\Query($filter, $options); $cursor = $mongo->executeQuery( 'mydb.collection', $query); $cursor->setTypeMap(['root' => 'array']); // выводим как массив // формируем массив в нужном для нас порядке foreach ( $cursor as $doc ) { $id = (string)$doc['_id']; $res[$id] = $doc; unset($res[$id]['_id']); } echo "
";
print_r($res);
echo "
"; echo '
ok';

Ну вот вроде как и разобрались с основным представлением о том как выглядит новый php mongodb driver.

Где взять текстовый контент для интернет-магазина


Где взять текстовый контент для интернет-магазина

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

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

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

Скрипт интернет витрины для вас https://veselov.sumy.ua/vvshop/.

Третий путь — заказать контент у копирайтера. Это платно, однако позволяет сэкономить время. А еще у копирайтера больше опыта создания текстов, ему легче качественно выполнить задание. Тексты на заказ - наиболее разумный вариант.

Заказать контент для сайта просто - это делается на биржах копирайтинга. Есть и ряд других сервисов, позволяющих заказывать тексты на конкретную тему и покупать готовые.
«
1...34567891011...63
»
Вверх