Статьи

ИКС сайта в Яндексе — его особенности и рекомендации по улучшению показателей индекса

С началом осени Яндекс ввел новый показатель для оценки сайтов ИКС (индекс качества сайтов), полностью отказавшись от тИЦ. Давайте разберемся, что представляет собой новый показатель и что нужно делать, чтобы ИКС стал максимально высоким.

Профессия fullstack программист

Full stack программист – это универсал, который с легкостью заменит несколько узкоспециализированных специалистов. В его компетенцию входит верстка дизайна сайта, настройка кнопок, форм, личного кабинета, то есть всего, с чем работает пользователь (по сути, это обязанности frontend- программиста). Одновременно с этим он выполняет и работу backend- разработчика, то есть занимается обслуживанием серверов, контролем храния данных на нем и вычислениями на сервере.

WalletOne проверка статуса платежа

Всем привет!

Наверняка кто-то из вас использует систему WalletOne на своих сайтах в виде единой кассы. Если кто-то не знает, о чем речь, вот ссылка для ознакомления - https://www.walletone.com/ru/about/

Коротко опишу как это работает.

Чем плохи шаблонные решения для “быстрого запуска” собственного бизнеса?

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

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

Callback из формы на сайте

Не так давно встала задача настроить callback из формы на сайте.

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

Вполне логично, что я немедленно отправился в Гугл для поиск авиртуальной или облачной АТС.

В приоритете стояли сервисы предлагающие простой API, низкую цена на услуги и несмотря на небольшую цену - хорошее качество. И после недолгих поисков я нашёл сервис http://zadarma.com

Почему остановился именно на нём:

Google Swiffy

Сервис позволяет конвертировать Flash-файлы в HTML5-код.
В целом всё просто, переходим по ссылке https://developers.google.com/swiffy/convert/upload, где нам предлагают загрузить наш swf-файл.
Загружаем swf-файл, принимаем условия (естественно не читая) и кликаем заветную кнопку “Upload and convert”
После конвертирования файла, нам вежливо предлагают кликнуть по кнопке ниже, чтобы посмотреть preview, либо через ПКМ сохранить результат в виде html-файла.
Внутри мы видим, что к файлу подключается сама библиотека swiffy
<script type="text/javascript" src="https://www.gstatic.com/swiffy/v7.2.0/runtime.js"></script>
И ниже ОГРОМНЫЙ скрипт, который, собственно, и представляет наш конвертируемый swf файл в виде JS объекта.
Далее мы указываем переменную в которой указываем КУДА мы будем выводить результат и какой объект мы должны показать.
Ну и последней строкой запуск магии, т.е. Swiffy

Конвертация данных из MySQL в PostgreSQL

Доброго времени суток! Как и все "разработчики", я стараюсь осваивать что то новое, пробовать новые технологии и использовать их на практике. Большая часть начинающих разработчиков начинает знакомство с СУБД MySQL, потому что она наиболее распространенная и неприхотливая в типизации и обслуживании. СУБД идет почти во всех сборках (Денвер, ХАМП, Open Server и etc), написано кучу документации и примеров оптимизации сервера, но если захочешь использовать нестандартные вещи, такие как:

  • геолокацию;
  • NoSQL хранилище;
  • новые типы данных.

Как установить код Sape на UMI CMS

Итак, первое что мы делаем, это конечно же копируем файлы Sape в корневую директорию сайта и выставляем права 777 для папки.

Далее, открываем файл /classes/modules/custom.php и вставляем туда после строки:

/* вывод в шаблон ссылок из системы sape */
 public function mylinks($limit = false) {
 if (!$limit)
 $limit = false;
 if (!defined('_SAPE_USER')) {
 define('_SAPE_USER', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
 }
 require_once(getServer('DOCUMENT_ROOT') . '/' . _SAPE_USER . '/sape.php');
 $o['charset'] = 'UTF-8';
 $o['request_uri'] = getServer('REQUEST_URI');
 $sape = new SAPE_client($o);
 return $sape->return_links($limit);
 }

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

Для того чтобы вызвать его и отобразить ссылки, в нужном месте xsl-шаблона вставляем код:

<xsl:value-of disable-output-escaping="yes" mode="custom" select="document('udata://custom/mylinks/')"></xsl:value-of>

Теперь смело идем и добавляем сайт в Sape. Только не забудьте перед этим отключить кеширование.

Заблокирована загрузка смешанного активного содержимого

С версии Firefox 23 в фарбаге можно увидеть такое сообщение:

Заблокирована загрузка смешанного активного содержимого

Суть этого заключается в блокировании запросов на содержимое с https на http, когда содержимое может быть модернизировано злоумышлиником. Более подробнее описано в блоге: 

https://blog.mozilla.org/tanvi/2013/04/10/mixed-content-blocking-enabled-in-firefox-23/

Получаем бесплатные SSL сертификаты для домена

StarSSL — это сервис выдачи авторизованных сертификатов, который предоставляет всем бесплатный сертификат на 1 год (который, через год можно будет продлить еще)! Далее, мы рассмотрим необходимые действия для получения сертификата! 

Отписка на рассылку - List-Unsubscribe

Для того чтобы пользователь мог моментально отписаться от Вашей рассылки добавляем в хидеры:

List-Unsubscribe: <тут может быть email или веб ссылка на отписку на вашем сайте>

Я делают так:

$message = Swift_Message::newInstance()->setFrom('noreply')
->setTo()
->setSubject()
->setBody()
->setContentType('text/html');
$headers = $message->getHeaders();
if($headers->has('List-Unsubscribe')) {
$headers->remove('List-Unsubscribe');
}
$headers->addTextHeader('List-Unsubscribe', $link_to_unsubscribe);

где $link_to_unsubscribe ссылка на ваш сайт с мгновенной отпиской

CDN Yandex

Сегодня задумался куда бы разместить библиотеки js и css и лучшим решением было бы размешение на каком нибудь cdn сервисе (google, rockspace, amazon). Есть другое ничуть не хуже хранилище — Яндекс

Чеклист для начинающего seo специалиста

Небольшой чек лист перед оптимизацией сайта:

1. Главное зеркало
2. Аффилиаты
3. Проверка индексирования
4. Выявление мусора
5. Отсутствие дублей
6. Поиск битых ссылок
7. Валидация кода
8. Проверка контента на уникальность
9. Наличие правильно настроенного robots.txt
10. Наличие sitemap.xml
11. Уникальность внутри title, h1-6, мета тегов
12. Структура ЧПУ
13. Ответы сервера, скорость загрузки сайта
14. Технические блоки контента
15. Хостинг

Список можно добавлять своими пунктами.

Включаем gzip сжатие в nginx

Долго разбирался со сжатием в nginx и все никак не хотело работало:

gzip on;

gzip_disable "msie6";

gzip_static off;

gzip_vary on;

gzip_proxied any;

gzip_comp_level 4;

gzip_buffers 16 8k;

gzip_http_version 1.1;

gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript;

gzip_min_length 1024;

Не работало из за того, что версия протокола была 1.0, а сжатие работает только на 1.1:

gzip_http_version 1.1;

Как поменять суффиксы html на htm Joomla

Ничего сложного, достаточно пару изменений в файле \includes\router.php

$uri->getVar('format', 'htm')

И закоментировать строчку

//$vars['format'] = $suffix;

Далее в файле .htaccess изменить

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html|htm?|feed|pdf|vcf|raw))$ [NC]