|
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое/Записи в блоге |
![]() |
Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое
Голосов: 1 Адрес блога: http://www.blogovoe.ru/blog/ Добавлен: 2013-12-27 23:28:54 блограйдером panevin |
YouTube: монетизация видео
2016-09-01 12:16:58 (читать в оригинале)Продолжительное время мне не давал покоя феномен украинского журналиста Анатолия Шария, после того как он обмолвился о своём заработке с видео на Ютубе — 20 000 € в месяц (двадцать тысяч евро в месяц! пересчитайте в наши тугрики, прослезитесь). Ну, то, конечно, недостижимая планка, у Шария > 200 000 просмотров роликов, а ролики он штампует пачками в день. Но мы попробуем, что нам, кабанам.
Делаем ролик. Не умеем делать? Спиздим чужое.
Главное авторские права не нарушать, а тут и видео удачное — во-первых оно на Вимео, есть слабая надежда, что его нет на YouTube (оказалось что уже есть, ну да ладно), во-вторых я же фактически рекламирую эту яхту, размещая ролик.
Затем включаем монетизацию роликов и связываем аккаунт на YouTube с аккаунтом в AdSense. Идём в Канал—>Монетизация
{IMG_2 alt="YouTube: монетизация видео, связь с AdSense"}
В настройках видео во вкладке Монетизация включаем её. Пол дела сделано.
Нам нужны тысячи просмотров, иначе овчинка выделки не стоит. Если у вас есть посещаемый сайт нужной тематики, проблем нет. У меня такого сайта под рукой не оказалось, я решил запилить псто на Яплакал (как раз нужная аудитория и суперпосещаемый форум). Мне повезло и псто набрал вожделенные 50 плюсов и попал на глагне :) Вуаля! > 8 000 просмотров за 2 дня. А дня через 3 раздуплится статистика Ютуба и покажет мне сколько я заработал.
Перенос записей из Wordpress в Битрикс
2016-08-29 08:30:10 (читать в оригинале)Задача:
Перенести из Wordpress все записи в Битрикс.
Решение:
Накатываем в Вордпрессе плагин Export Featured Images, делаем экспорт записей в XML файл. А теперь, самое интересное — распарсить XML и засунуть записи в инфоблок в Битриксе.
Поехали:
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($DOCUMENT_ROOT."/bitrix/modules/main/include/prolog_before.php");
set_time_limit(0);
ini_set('max_execution_time', '36000');
// ini_set('memory_limit', '512M');
$IBLOCK_ID = 14;
$update = true;
//////////////
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
CModule::IncludeModule("sale");
$obE = new CIBlockElement();
$file = $_SERVER["DOCUMENT_ROOT"].'/scripts/wordpress.2016-06-06.xml';
$xml = simplexml_load_file($file);
function castr_str ($text,$length) {
$temp_text = explode(" ",$text);
$temp1_string = '';
for ($h=0; $h 5) $text = $temp1_string.'...';
else $text = $temp1_string;
return($text);
}
function xmlObjToArr($obj) {
$namespace = $obj->getDocNamespaces(true);
$namespace[NULL] = NULL;
$children = array();
$attributes = array();
$name = strtolower((string)$obj->getName());
$text = trim((string)$obj);
if( strlen($text) <= 0 ) {
$text = NULL;
}
// get info for all namespaces
if(is_object($obj)) {
foreach( $namespace as $ns=>$nsUrl ) {
// atributes
$objAttributes = $obj->attributes($ns, true);
foreach( $objAttributes as $attributeName => $attributeValue ) {
$attribName = strtolower(trim((string)$attributeName));
$attribVal = trim((string)$attributeValue);
if (!empty($ns)) {
$attribName = $ns . ':' . $attribName;
}
$attributes[$attribName] = $attribVal;
}
// children
$objChildren = $obj->children($ns, true);
foreach( $objChildren as $childName=>$child ) {
$childName = strtolower((string)$childName);
if( !empty($ns) ) {
$childName = $ns.':'.$childName;
}
$children[$childName][] = xmlObjToArr($child);
}
}
}
return array(
'name'=>$name,
'text'=>$text,
'attributes'=>$attributes,
'children'=>$children
);
}
$array = xmlObjToArr($xml);
$count = 0;
$count_err = 0;
$tags = array();
foreach ($array['children'] as $item) {
foreach ($item[0]['children']['item'] as $post) {
$text = $post['children']['content:encoded'][0]['text'];
if (!empty($text)) {
$atext = strip_tags($text);
$atext = castr_str($atext,210);
}
$date = $post['children']['wp:post_date'][0]['text'];
list($day,$time) = explode(' ',$date);
list($year,$month,$dayc) = explode('-',$day);
$date = $dayc.'.'.$month.'.'.$year.' '.$time;
$code = $post['children']['wp:post_name'][0]['text'];
$name = $post['children']['title'][0]['text'];
$status = $post['children']['wp:status'][0]['text'];
if ($status == 'trash') $active = "N";
else $active = "Y";
if (empty($name)) {//если название пустое Битрикс не даст сохранить элемент
$name = 'Без названия';
$active = 'N';
}
if (empty($code)) {//сгенерируем символьный код, если он пустой
$arParams = array("replace_space"=>"-","replace_other"=>"-");
$code = Cutil::translit($name,"ru",$arParams);
}
$link = $post['children']['link'][0]['text'];//old url
$keywords = $post['children']['wp:postmeta'][2]['children']['wp:meta_value'][0]['text'];
unset($tags,$title,$description,$keywords);
foreach ($post['children']['wp:postmeta'] as $k => $meta) {//титлы, дискрипшены, кейвордзы
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_title') $title = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_description') $description = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_keywords') $keywords = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
}
$SECTION_ID = 13;//другое
foreach ($post['children']['category'] as $k2 => $tag) {//распихивание записей по рубрикам, совпадающим с тегами
if ($tag['attributes']['domain'] == 'post_tag') $tags[] = $tag['text'];
$tag['text'] = strip_tags($tag['text']);
if ($tag['text'] == 'разработка сайтов' || $tag['text'] == 'аудит') $SECTION_ID = 12;
if ($tag['text'] == 'SEO') $SECTION_ID = 14;
if ($tag['text'] == 'контекстная реклама') $SECTION_ID = 15;
if ($tag['text'] == 'продвижение в соцсетях' || $tag['text'] == 'SMM' || $tag['text'] == 'продвижение в facebook' || $tag['text'] == 'продвижение в одноклассниках') $SECTION_ID = 16;
if ($tag['text'] == 'аналитика' || $tag['text'] == 'аудит') $SECTION_ID = 17;
if ($tag['text'] == 'конверсия') $SECTION_ID = 18;
}
if (!empty($tags)) $tags_txt = implode(",", $tags);
else $tags_txt = '';
$arSelect = array(
"ID",
"NAME",
"IBLOCK_ID",
"IBLOCK_SECTION_ID",//added
"*",//added
"DETAIL_TEXT",
"ACTIVE",
"ACTIVE_DATE",
"SORT",
"DETAIL_PICTURE"
);
$arFilter = array(
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_ACTIVE" => "Y",
"CODE" => $code,
//"ACTIVE_DATE" => "Y",
//"ACTIVE" => "Y",
);
$r = CIBlockElement::GetList(
array(),
$arFilter,
false,
false,
$arSelect
);
$arFields = Array(
"ACTIVE" => $active,
"IBLOCK_ID" => $IBLOCK_ID,
"NAME" => $name,
"CODE" => $code,
"PREVIEW_TEXT" => $atext,
"PREVIEW_TEXT_TYPE" => 'html',
"DETAIL_TEXT" => $text,
"DETAIL_TEXT_TYPE" => 'html',
"TAGS" => $tags_txt,
"DATE_CREATE" => $date,
"IPROPERTY_TEMPLATES"=>Array(
"ELEMENT_META_TITLE" => $title,
"ELEMENT_META_DESCRIPTION" => $description,
"ELEMENT_META_KEYWORDS" => $keywords,
)
);
if ( $arCurrentItem = $r->GetNext() ) {//update
$arFields_update = $arFields;
$arFields_update["SECTION_ID"] = $SECTION_ID;
$arFields_update["IBLOCK_SECTION_ID"] = $SECTION_ID;
$obE->Update($arCurrentItem["ID"], $arFields_update);
echo ''.$name.' update
';
}
else {//insert
$arFields_insert = $arFields;
$arFields_insert["CODE"] = $code;
$arFields_insert["SECTION_ID"] = $SECTION_ID;
if ( $ID = $obE->Add($arFields_insert) ) {
//CIBlockElement::SetPropertyValuesEx($ID, $IBLOCK_ID, $arProps_add);
echo ''.$name.' add
';
$count++;
}
else {
echo $name.' ошибка добавления
';
$count_err++;
}
}
}
}
echo 'Успешно: '.$count.'
';
echo 'Ошибок: '.$count_err;
Вот таким вот кандебобером. А перенос картинок опишу следующим постом.
Перенос записей из Wordpress в Битрикс
2016-08-29 08:30:10 (читать в оригинале)Задача:
Перенести из Wordpress все записи в Битрикс.
Решение:
Накатываем в Вордпрессе плагин Export Featured Images, делаем экспорт записей в XML файл. А теперь, самое интересное — распарсить XML и засунуть записи в инфоблок в Битриксе.
Поехали:
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($DOCUMENT_ROOT."/bitrix/modules/main/include/prolog_before.php");
set_time_limit(0);
ini_set('max_execution_time', '36000');
// ini_set('memory_limit', '512M');
$IBLOCK_ID = 14;
$update = true;
//////////////
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
CModule::IncludeModule("sale");
$obE = new CIBlockElement();
$file = $_SERVER["DOCUMENT_ROOT"].'/scripts/wordpress.2016-06-06.xml';
$xml = simplexml_load_file($file);
function castr_str ($text,$length) {
$temp_text = explode(" ",$text);
$temp1_string = '';
for ($h=0; $h 5) $text = $temp1_string.'...';
else $text = $temp1_string;
return($text);
}
function xmlObjToArr($obj) {
$namespace = $obj->getDocNamespaces(true);
$namespace[NULL] = NULL;
$children = array();
$attributes = array();
$name = strtolower((string)$obj->getName());
$text = trim((string)$obj);
if( strlen($text) <= 0 ) {
$text = NULL;
}
// get info for all namespaces
if(is_object($obj)) {
foreach( $namespace as $ns=>$nsUrl ) {
// atributes
$objAttributes = $obj->attributes($ns, true);
foreach( $objAttributes as $attributeName => $attributeValue ) {
$attribName = strtolower(trim((string)$attributeName));
$attribVal = trim((string)$attributeValue);
if (!empty($ns)) {
$attribName = $ns . ':' . $attribName;
}
$attributes[$attribName] = $attribVal;
}
// children
$objChildren = $obj->children($ns, true);
foreach( $objChildren as $childName=>$child ) {
$childName = strtolower((string)$childName);
if( !empty($ns) ) {
$childName = $ns.':'.$childName;
}
$children[$childName][] = xmlObjToArr($child);
}
}
}
return array(
'name'=>$name,
'text'=>$text,
'attributes'=>$attributes,
'children'=>$children
);
}
$array = xmlObjToArr($xml);
$count = 0;
$count_err = 0;
$tags = array();
foreach ($array['children'] as $item) {
foreach ($item[0]['children']['item'] as $post) {
$text = $post['children']['content:encoded'][0]['text'];
if (!empty($text)) {
$atext = strip_tags($text);
$atext = castr_str($atext,210);
}
$date = $post['children']['wp:post_date'][0]['text'];
list($day,$time) = explode(' ',$date);
list($year,$month,$dayc) = explode('-',$day);
$date = $dayc.'.'.$month.'.'.$year.' '.$time;
$code = $post['children']['wp:post_name'][0]['text'];
$name = $post['children']['title'][0]['text'];
$status = $post['children']['wp:status'][0]['text'];
if ($status == 'trash') $active = "N";
else $active = "Y";
if (empty($name)) {//если название пустое Битрикс не даст сохранить элемент
$name = 'Без названия';
$active = 'N';
}
if (empty($code)) {//сгенерируем символьный код, если он пустой
$arParams = array("replace_space"=>"-","replace_other"=>"-");
$code = Cutil::translit($name,"ru",$arParams);
}
$link = $post['children']['link'][0]['text'];//old url
$keywords = $post['children']['wp:postmeta'][2]['children']['wp:meta_value'][0]['text'];
unset($tags,$title,$description,$keywords);
foreach ($post['children']['wp:postmeta'] as $k => $meta) {//титлы, дискрипшены, кейвордзы
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_title') $title = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_description') $description = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
if ($meta['children']['wp:meta_key'][0]['text'] == '_aioseop_keywords') $keywords = $post['children']['wp:postmeta'][$k]['children']['wp:meta_value'][0]['text'];
}
$SECTION_ID = 13;//другое
foreach ($post['children']['category'] as $k2 => $tag) {//распихивание записей по рубрикам, совпадающим с тегами
if ($tag['attributes']['domain'] == 'post_tag') $tags[] = $tag['text'];
$tag['text'] = strip_tags($tag['text']);
if ($tag['text'] == 'разработка сайтов' || $tag['text'] == 'аудит') $SECTION_ID = 12;
if ($tag['text'] == 'SEO') $SECTION_ID = 14;
if ($tag['text'] == 'контекстная реклама') $SECTION_ID = 15;
if ($tag['text'] == 'продвижение в соцсетях' || $tag['text'] == 'SMM' || $tag['text'] == 'продвижение в facebook' || $tag['text'] == 'продвижение в одноклассниках') $SECTION_ID = 16;
if ($tag['text'] == 'аналитика' || $tag['text'] == 'аудит') $SECTION_ID = 17;
if ($tag['text'] == 'конверсия') $SECTION_ID = 18;
}
if (!empty($tags)) $tags_txt = implode(",", $tags);
else $tags_txt = '';
$arSelect = array(
"ID",
"NAME",
"IBLOCK_ID",
"IBLOCK_SECTION_ID",//added
"*",//added
"DETAIL_TEXT",
"ACTIVE",
"ACTIVE_DATE",
"SORT",
"DETAIL_PICTURE"
);
$arFilter = array(
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_ACTIVE" => "Y",
"CODE" => $code,
//"ACTIVE_DATE" => "Y",
//"ACTIVE" => "Y",
);
$r = CIBlockElement::GetList(
array(),
$arFilter,
false,
false,
$arSelect
);
$arFields = Array(
"ACTIVE" => $active,
"IBLOCK_ID" => $IBLOCK_ID,
"NAME" => $name,
"CODE" => $code,
"PREVIEW_TEXT" => $atext,
"PREVIEW_TEXT_TYPE" => 'html',
"DETAIL_TEXT" => $text,
"DETAIL_TEXT_TYPE" => 'html',
"TAGS" => $tags_txt,
"DATE_CREATE" => $date,
"IPROPERTY_TEMPLATES"=>Array(
"ELEMENT_META_TITLE" => $title,
"ELEMENT_META_DESCRIPTION" => $description,
"ELEMENT_META_KEYWORDS" => $keywords,
)
);
if ( $arCurrentItem = $r->GetNext() ) {//update
$arFields_update = $arFields;
$arFields_update["SECTION_ID"] = $SECTION_ID;
$arFields_update["IBLOCK_SECTION_ID"] = $SECTION_ID;
$obE->Update($arCurrentItem["ID"], $arFields_update);
echo ''.$name.' update
';
}
else {//insert
$arFields_insert = $arFields;
$arFields_insert["CODE"] = $code;
$arFields_insert["SECTION_ID"] = $SECTION_ID;
if ( $ID = $obE->Add($arFields_insert) ) {
//CIBlockElement::SetPropertyValuesEx($ID, $IBLOCK_ID, $arProps_add);
echo ''.$name.' add
';
$count++;
}
else {
echo $name.' ошибка добавления
';
$count_err++;
}
}
}
}
echo 'Успешно: '.$count.'
';
echo 'Ошибок: '.$count_err;
Вот таким вот кандебобером. А перенос картинок опишу следующим постом.
Современные требования к сайтам
2016-08-27 15:22:57 (читать в оригинале)Сайты и сама разработка сайтов совершенствуются и усложняются год от года, отмирают одни технологии (например, Flash), появляются другие (HTML5).
Современные требования к сайтам таковы:
Адаптив
С год назад Google припугнул всех веб-мастеров понижением выдачи сайтов не адаптированных под мобильные устройства. Это действительно произошло, но для мобильной выдачи. Падения трафика на не адаптированных сайтах я не заметил, зато заметил рост у сайтов с «адаптивом».
Проверить свой сайт на соответствие требованиям можно тут.
Микроразметка
Никто не будет спорить, что микроразметка этот тотальный плюс сайту как в плане улучшения индексации (роботу легче найти цену товара и характеристики), так и в плане социализации — при грамотной
микроразметке расшаривания материалов в соцсетях будет происходить в привлекательном виде — с нужными заголовками, картинками и описанием.
Расшаривание материалов
Лайки, ссылки на расшаривание материалов, попадаются повсеместно, на сайтах совершенно разной тематики, в том числе и на коммерческих ресурсах. Тут зависит от тематики сайта и его аудитории. Где-то люди станут расшаривать страницы сайта, где-то нет.
Ретина
Apple сделала всем подлянку, «раздробив» физический пиксель Айфонов/Айпадов/мониторов на 4 части. Пришлось изворачиваться и заготавливать отдельные изображения под ретина-дисплеи (в 2 раза больших размеров по ширине).
Современные требования к сайтам
2016-08-27 15:22:57 (читать в оригинале)Сайты и сама разработка сайтов совершенствуются и усложняются год от года, отмирают одни технологии (например, Flash), появляются другие (HTML5).
Современные требования к сайтам таковы:
Адаптив
С год назад Google припугнул всех веб-мастеров понижением выдачи сайтов не адаптированных под мобильные устройства. Это действительно произошло, но для мобильной выдачи. Падения трафика на не адаптированных сайтах я не заметил, зато заметил рост у сайтов с «адаптивом».
Проверить свой сайт на соответствие требованиям можно тут.
Микроразметка
Никто не будет спорить, что микроразметка этот тотальный плюс сайту как в плане улучшения индексации (роботу легче найти цену товара и характеристики), так и в плане социализации — при грамотной
микроразметке расшаривания материалов в соцсетях будет происходить в привлекательном виде — с нужными заголовками, картинками и описанием.
Расшаривание материалов
Лайки, ссылки на расшаривание материалов, попадаются повсеместно, на сайтах совершенно разной тематики, в том числе и на коммерческих ресурсах. Тут зависит от тематики сайта и его аудитории. Где-то люди станут расшаривать страницы сайта, где-то нет.
Ретина
Apple сделала всем подлянку, «раздробив» физический пиксель Айфонов/Айпадов/мониторов на 4 части. Пришлось изворачиваться и заготавливать отдельные изображения под ретина-дисплеи (в 2 раза больших размеров по ширине).
Категория «SEO»
Взлеты Топ 5
|
| ||
|
+539 |
551 |
QoSyS |
|
+530 |
550 |
zwerjok |
|
+513 |
620 |
Psd Tutorials |
|
+501 |
549 |
Темы_дня |
|
+464 |
504 |
Я,мой блог и интернет |
Падения Топ 5
|
| ||
|
-1 |
21 |
Блог интернет-разработчика |
|
-2 |
6 |
SeoAdvice |
|
-5 |
3 |
Идеи, которые могут изменить мир |
|
-6 |
152 |
Олимпийский блог |
|
-7 |
2 |
SEO Критик |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.

