Блог о PHP, SQL, JavaScript, Linux, Node.js, оптимизации сайта


Как удалить неиспользуемые стили CSS на сайте

Как удалить неиспользуемые стили CSS на сайте

Большинство современных сайтов созданы на CMS. Причём, обычно системы управления включают в себя несколько шаблонов, с различными вариантами расположения блоков, с разными цветовыми схемами и с разным набором элементов. Разумеется, для всех этих элементов прописываются стили. Также, стили есть у плагинов. В итоге, получается набор стилей как минимум на полмегабайта, и штук 10 ссылок на разные ...

Отправка писем через SMTP Яндекса, Google, Mail, используя Swift Mailer

Отправка писем через SMTP Яндекса, Google, Mail, используя Swift Mailer

Хотите правильно настроить отправку почты с Вашего сайта? Письма, отправляемые с помощью PHP-функции mail() не приходят? Давно пора использовать SMTP крупных сервисов типа Яндекса, Google или Mail.ru. И речь в данной статье идёт не про рассылку сообщений кому-либо. Мы говорим о нормальной работе форм обратной связи на нашем сайте. Я ...

  • Денис Л.
  • |
  • 13-12-2019
  • |
  • Php
  • |
  • 24848
Игнорируем скролл в <iframe> Яндекс.Карт и Google Maps

Игнорируем скролл в <iframe> Яндекс.Карт и Google Maps

Установили Яндекс.Карты на свой сайт? Использовали самую простую вставку - через iframe? При попадании мыши в данный фрейм (и при прокрутке с телефона) экран не будет прокручиваться как Вам хотелось бы. А будет меняться локация на карте. Яндекс уверяет, что исправить это невозможно, и рекомендует использовать JS API, что более сложно и не всегда ...

October CMS - переезд сайта. Практика, разбор ошибок при переносе

October CMS - переезд сайта. Практика, разбор ошибок при переносе

Недавно у меня возникла задача перенести сайт с October CMS на другой домен и на другой хостинг. "Обычный перенос, ничего особенного", - подумал я поначалу. Но в процессе работы возникали непредвиденные ранее нюансы, о которых я хочу рассказать в этом посте. Кстати, используя логику этой инструкции, можно перенести не только сайт на October CMS, но и на Wordpress, 1С-Битрикс, ...

  • Денис Л.
  • |
  • 19-09-2019
  • |
  • Cms
  • |
  • 5160
Как перевести изображения в WebP и использовать WebP на своём сайте

Как перевести изображения в WebP и использовать WebP на своём сайте

Формат WebP - современный и прогрессивный формат изображений. За счёт его использования, можно здорово сократить время загрузки любой страницы сайта, особенно, если изображений на сайте много. Без какой-либо видимой глазу потери качества можно уменьшить размер картинок на 50%. Также, WebP поддерживает сжатие с потерями без, а ещё анимацию и частичную ...

Запуск скриптов JavaScript и стилей CSS только на определённых страницах сайта

Запуск скриптов JavaScript и стилей CSS только на определённых страницах сайта

Очень часто бывает необходимость запустить определённые JS-скрипты только лишь на определённых страницах нашего сайта. Либо только для определённых IP-адресов. К примеру, определённая JavaScript-библиотека требуется только лишь для одного раздела, либо даже для одной страницы. И загружать её на каждой странице сайта вообще нет смысла, ведь наша задача - максимально быстро отобразить контент ...

Цикл событий в JavaScript или как работает асинхронность

Цикл событий в JavaScript или как работает асинхронность

Для рассмотрения такого вопроса как стек событий и асинхронность, давайте начнём с азов. JavaScript - это однопоточная среда выполнения (run time) и это означает, что стек вызовов у него один. Говоря языком определений, JavaScript - однопоточный неблокирующий асинхронный параллельный язык. И он может делать только одну задачу за одну единицу времени. Стек ...

Сохраняем данные формы на сайте при перезагрузке страницы, с помощью JavaScript и sessionStorage

Сохраняем данные формы на сайте при перезагрузке страницы, с помощью JavaScript и sessionStorage

Представьте ситуацию - Ваш пользователь вводил данные в форму связи на сайте, вдруг у него завис Интернет, он перезагрузил страницу и все данные стёрлись... Либо он просто случайно нажал F5, либо случайно кликнул по любой ссылке на сайте и перешёл на другую страницу... Если мы никуда не записываем вводимые в форму данные, то при возврате на страницу с формой, Ваш пользователь будет мягко ...

  • Денис Л.
  • |
  • 13-08-2019
  • |
  • JavaScript
  • |
  • 20279
Работаем с SQLite3: подключение к базе данных, создание запросов

Работаем с SQLite3: подключение к базе данных, создание запросов

SQLite - очень быстрая, функциональная и удобная база данных, которая поддерживает стандарт SQL. Т.е. при работе с данной базой данных у нас есть возможность делать транзакции и выполнять все основные команды SQL (такие как INSERT, UPDATE, DELETE, CREATE и прочие). К тому же (по информации с официального сайта разработчиков), код ...

  • Денис Л.
  • |
  • 05-08-2019
  • |
  • Sql
  • |
  • 4788
Команда tar в Linux - создаём резервные копии быстро и эффективно

Команда tar в Linux - создаём резервные копии быстро и эффективно

Tar - самая удобная, простая для понимания и быстрая команда для архивирования файлов и папок. Поскольку большинство сайтов расположены на серверах с ОС Linux, чаще всего данную команду используют для создания резервных копий сайтов и важных файлов проекта. В данной статье я расскажу про особенности работы с командой tar, выборочное (инкрементное) резервное копирование, ...

  • Денис Л.
  • |
  • 02-08-2019
  • |
  • Linux
  • |
  • 4131
Установка и настройка Google reCAPTCHA v3 для PHP сайта

Установка и настройка Google reCAPTCHA v3 для PHP сайта

Для того, чтобы установить Google reCAPTCHA v3 на сайт, первым делом заходим на официальный сайт Google reCAPTCHA v3 и получаем ключи. Описывать этот процесс не буду, всё интуитивно понятно и легко. Нам понадобятся 2 вида ключей: Открытый ...

Как запустить Node.js на обычном хостинге

Как запустить Node.js на обычном хостинге

Вам нравится Node.js? Хотите использовать Gulp 4 / Grunt / Webpack на обычном хостинге? Но как сделать это? Ведь на стандартных хостингах нет возможности самостоятельной установки программ. Т.е. Вы не можете запустить установку ни одной программы, даже из официальных репозиториев Linux. Есть выход - nvm (Node Version Manager). С помощью данной утилиты Вы ...

  • Денис Л.
  • |
  • 01-04-2019
  • |
  • JavaScript
  • |
  • 23012
Как подключиться к серверу с обычного мобильного телефона

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

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

  • Денис Л.
  • |
  • 09-01-2019
  • |
  • Linux
  • |
  • 44691
Меняем заголовки h1 по UTM метке через PHP

Меняем заголовки h1 по UTM метке через PHP

Давайте представим, что у Вас есть общая посадочная страница, на которую Вы ведёте пользователей с рекламы в Яндекс.Директ или Google Adwords. И Вы хотите, чтобы для пользователей, пришедших на сайт с разных объявлений показывались разные заголовки. Например, клиент перешёл к Вам по объявлению: "Купить такой-то товар в Москве". При заходе на Ваш сайт клиенту будет показан заголовок: ...

  • Денис Л.
  • |
  • 26-12-2018
  • |
  • Seo
  • |
  • 1078
Как скопировать любой сайт целиком через wget и перевести его в html

Как скопировать любой сайт целиком через wget и перевести его в html

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

  • Денис Л.
  • |
  • 24-12-2018
  • |
  • Linux
  • |
  • 17199
Взлом Android KaiOS и установка приложений на Nokia 8110 4G

Взлом Android KaiOS и установка приложений на Nokia 8110 4G

На днях я купил телефон Nokia 8110 4G. Это единственный кнопочный телефон, который я знаю, на котором есть 4G и возможность использования сторонних приложений (таких как WhatsApp, Telegram, Facebook, Instagram, VK, Viber и прочих). Но для установки их на телефон нужны "танцы с бубном". Очень много подводных камней, которые нужно предусмотреть и о которых ...

  • Денис Л.
  • |
  • 07-12-2018
  • |
  • Linux
  • |
  • 56477
PHP скрипт от скликивания денег в Яндекс Директе

PHP скрипт от скликивания денег в Яндекс Директе

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

  • Денис Л.
  • |
  • 28-11-2018
  • |
  • Seo
  • |
  • 1120
Ставим надёжную защиту от спама на сайте своими силами

Ставим надёжную защиту от спама на сайте своими силами

Замучил спам? Я написал скрипт, который защитит Ваc от ненужных писем через формы обратной связи Вашего сайта. Раньше я пользовался reCAPTCHA от Google. Но после того, как посмотрел на его исходный код, а в частности его вес (314 Кб в несжатом виде для версии v3), а также количество инициируемых им запросов, я отказался от этой идеи и написал всё сам. Работа скрипта ...

  • Денис Л.
  • |
  • 07-11-2018
  • |
  • Php
  • |
  • 7493
Делаем свой счётчик просмотров, используя API Метрики

Делаем свой счётчик просмотров, используя API Метрики

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

Пишем функцию лайков для постов блога

Пишем функцию лайков для постов блога

Для чего нужна функция лайков? В первую очередь, чтобы пользователи могли оценить Вашу запись, а также видеть, как её оценивают другие. Как сделать самостоятельно такой функционал - я расскажу в данном посте. Если Вам понравится данный пост - поставьте лайк! :) Первым делом нам нужно создать таблицу в базе данных. Допустим, у нас сайт с базой данных MySQL. Если у Вас в проекте ...

Как подключить чат в поиске Яндекса + крутой онлайн чат для сайта

Как подключить чат в поиске Яндекса + крутой онлайн чат для сайта

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

Создаём свою таблицу в базе данных 1С-Битрикс

Создаём свою таблицу в базе данных 1С-Битрикс

На днях мне поставили задачу написать свой функционал для нашего сайта на Битрикс, который бы выводил данные из таблицы в базе данных сайта. Таблицу требовалось создать новую, со следующими полями: id category question answer Далее нужно было выводить на странице все ...

  • Денис Л.
  • |
  • 12-09-2018
  • |
  • Cms
  • |
  • 16472
Как делать ссылки, не передающие вес

Как делать ссылки, не передающие вес

Часто на сайте мы хотим сослаться на какой-либо сторонний ресурс. При этом, передавать ему вес совершенно не хочется. Например, Вы делаете на сайта ссылки на социальные сети. И хотели бы, чтобы ссылка не воспринималась поисковой системой в качестве ссылки. Есть несколько вариантов сделать это и я приведу основные способы. ❶ У всех ссылок на сторонние ресурсы ...

  • Денис Л.
  • |
  • 10-09-2018
  • |
  • Seo
  • |
  • 619
Node.js: как рекурсивно сжать все изображения на сайте за 1 час

Node.js: как рекурсивно сжать все изображения на сайте за 1 час

Не так давно я начал работать с Node.js. Отличная штука, скажу я Вам! К примеру, освоив некоторые его основные функции и подключив нужные модули, Вы можете в автоматическом режиме сжимать стили на своём сайте, javascript, изображения и прочее. Сегодня я расскажу про то, как в течении 1 часа я сжал все изображения сайта на 1С-Битрикс, а именно 1215 штук. Все ...

Пишем свой css фреймворк на Sass

Пишем свой css фреймворк на Sass

Если Вы давно работаете в сфере web-разработок, то рано или поздно встанет вопрос о создании своего фреймворка для быстрой вёрстки. Например, Вы получили в работу новый проект. Вы понимаете, что использовать новые крупные библиотеки (bootstrap и тому подобные) на данном проекте нельзя, т.к. сразу поедет разметка всего сайта. А работу нужно выполнить быстро, причём задачи полностью переделать ...