FAQ по двигу MSE

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
Описание CMS и ее возможностей

Название CMS MSE или Music Search Engine представляет собой поисковик по базе с музыкой с возможность прослушать трек и сразу скачать.
Для пользователей самый простой вариант без наворотов.
Давайте рассмотрим принцип и логику работы самого движка.
Для наглядного примера рассмотрим движок на сайте Музыку скачать бесплатно на телефон

Настройка конфига сайта

Для установки движка достаточно залить файлы в хостинг и выставить права доступа для папки cache 777 в ней у нас хранится закэшированные треки и шаблон
Для загрузки файлов на хостинг используем программу FileZilla
Далее настраиваем файл конфига в корне сайта сonfig.php


Откроем его, по содержимому интуитивно понятно, какая строка за что отвечает.

# SEO настройки скрипта
# -----------------------------------

# Заголовок главной страницы
'main-title' => 'Музыку скачать бесплатно на телефон',

# SEO Описание главной страницы
'main-description' => 'Музыку скачать бесплатно на телефон вы можете на нашем сайте',

# Дополнительные ключевые слова главной
'main-keywords' => 'скачать, музыку, бесплатно',

# Заголовок страницы поиска трека, {query} - поисковый запрос
'track-title' => 'Скачать {query} mp3 на телефон',

# SEO Описание страницы поиска трека, {query} - поисковый запрос
'track-description' => 'Скачать {query} mp3 на телефон можно на нашем сайте',

# Дополнительные ключевые слова страницы поиска трека
'track-keywords' => 'скачать, mp3, бесплатно',

# Заголовок страницы жанра
'genre-title' => 'Лучшие треки из жанра {genre} скачать бесплатно на телефон',

# SEO Описание страницы жанра
'genre-description' => 'Лучшие треки из жанра {genre} скачать бесплатно на телефон вы можете на нашем сайте',

# Дополнительные ключевые слова жанра
'genre-keywords' => 'скачать, музыку, бесплатно',



// Общие настройки скрипта
'domain' => 'domain.com', //Домен сайта
'key' => 'mp3', //Ключевое слово в урле
'template' => 'topmusic', //Текущий Шаблон
'template_cache' => 1, //Кеширование файлов шаблона (0/1)
'data_cache' => 1, //Кеширование треков и прочих спарсенных данных (0/1)

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

Настройка Шаблона



Рассмотрим более подробно папку templates в которой хранится наш шаблон, отвечающий за внешнее оформление сайта. Откроем шаблон topmusic.


Файлы формата tpl как шаблон DLE (Datalife Engine), если вы имели опыт работы с этой CMS, то вам будет проще разобраться
Принцип работы почти аналогичный, за исключением гибкости этого движка, в то время, как DLE имеет общий шаблон и к нему подключаются другие файлы.
В музыкальном движке каждый файл собирается по кусочкам, как пазлы в мозаике.

main.tpl - главная страница сайта
search.tpl - страница с нашим треком
sidebar.tpl - вид нашего сайдбара, где расположены категории и подборки
footer.tpl - подвал нашего сайта,в него мы можем добавить что угодно, контакты, статистику сайта и так далее
header.tpl - шапка нашего сайта
error.tpl - страница ошибки в случае, если трек не будет найден
genre.tpl - страница с жанрами нашего сайта
share.tpl - это шаблон соц кнопок, чтобы поделится в соц сетях данным треком
track-list.tpl - это шаблон конкертно одного трека
musicset.tpl - шаблон для создания подборок
radio.tpl - шаблон в котором создается радио
track-ajax.tpl - шаблон аякса ( треки которые подгружаются при клике на кнопку "Еще треков" )

Это 12 основных файлов для нашего сайта и плюс папка pages. В ней мы можем сколько угодно генерировать свои статические страницы. Например страницу с подборками треков
Как видим все просто, давайте дальше разберем как формируется страница на примере страницы жанров. Откроем страницу через Notepad++

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

Как создать подборку?

Шаблон отвечающий за подборку musicset.tpl откроем его.
Как видим в нем подключается 4 шаблона:
1) Шапка шаблона иди header
2) Сайдбар или боковая колонка в шаблоне
3) Трек лист или оформление треков
4) Футер или подвал


Кроме подключаемых файлов у нас еще присутствует код с переменными, которые настраиваются в файле /libs/musicsets.php
В данном php файле мы настраиваем и создаем наши подборки. Перейдем в него и создадим подборку треков.


Здесь нам придется углубиться немного в php. Файл состоит из массивов. Ниже пример массива в простом варианте.
array(
key => value,
key2 => value2,
key3 => value3,
...
)
Где key => value (ключ => значение)

Возьмем на примере нашего файла самый маленький массив - это массов трека.
array (
'id' => 48672044,
'artistNames' => 'Егор Крид',
'name' => 'Зажигалки',
'duration' => '2:39'
),
Откуда нам взять эти данные? Кликаем правой кнопки мыши, на просмотр кода элемента в браузере на примере любой песни.
Ниже на скрине показал стрелочками откуда мы берем эти данные.


После массива одного трека, идет массив всего треклиста. Далее идет массив всей подборки.
Для создания новой подборки, мы копируем массив всей подборки и дублируем ее ниже
При этом нам в обязательном порядке надо задать новый айди - 'id' => 0, - это 1,2 или 3 без разницы и чпу страницы 'url' => 'top100june2017', здесь кирилицей задаем новое значение.

И важный момент, между массивами подборок необходимо ставить запятую

После уже можем проверить по новому адресу нашу подборку. В моем случае - это будет ссылка Топ 100 июнь 2017 скачать бесплатно или слушать онлайн

Как добавить новое радио на сайт?

Файл шаблона, который отвечает за радио - radio.tpl
Принцип работы такой же как на подборках.
Подключается 3 шаблона:
1) Шапка шаблона иди header
2) Сайдбар или боковая колонка в шаблоне
3) Футер или подвал
Далее идет код, который отвечает за поток самого радио. Данные этого потока мы настраиваем в файле /libs/radio.php


Рассмотрим подробнее файл настройки аудиопотока для радио.

Смотрим по такому же принципу как и на подборках. Углубляемся в php. Интуитивно понятно какой параметр за что отвечает.
Так же создаем новую радиостанцию массивом array или просто копируем любой блок уже находящихся там радио и разделаем запятой ), на скрине - это 26 строка.
Далее возникает вопрос откуда брать ссылку на радио?
Я гуглил "радио онлайн" выбрал самый топовый сайт Радио онлайн слушать бесплатно! можно с других сайтов, лучше конечно находить официальный сайт радиостанции и там на странице проигрывания кликаем посмотреть код элемента и ищем нечто подобное, что указал на скрине. Это наш поток. Копируем его, проверить его работоспособность можно открыв сылку во вкладке браузера. У вас будет открыт плеер и работать радио - значит поток выбрали верно.


Далее мы этот поток вставляем в значение "link"
Не забываем настроить свой адрес страницы с радиостанцией и присвоить ей свой айди.
Новая страница радио будет по адресу http://izmp3.ru/radio/ваша страница

Как настроить жанры?

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




Например нам надо добавить описание к категориям, как это сделать?
с 6 по 8 строку идет код

{if $genre.title == "Рок"}
описание категории Рока
{/if}

Что он означает?
if - это условие
genre.title - это значение переменной
Рок - это содержание нашей переменной

Если простым языком, то в этом коде мы выводим содержание переменной "Рок"
В роли значения нашей переменной genre.title выступает значение тайтла категории.

Примеры всех переменных у жанров вы можете посмотреть в файле site.ru/libs/genre.php
Возьмем например наш кусок кода, который отвечает за категорию Рока с 5 строки и 12 строку
'name'
'title'
'main_list'
'excluded_genre_id'
'zid'
'poster'
Это значения наших переменных
Выше в коде как мы видим использовалась переменная 'title'
все что в строке идет после стрелочки => является содержимым нашей переменной




Например мы хотим вывести содержание нашей категории не по условиям переменной title, а по name
Код будет выглядеть так:
{if $genre.name == "rock"}
описание категории Рока
{/if}

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


Как мы можем использовать наши условия на практике?

В папке с нашим шаблоном, где лежат наши 9 файлов создаем еще один файл например opisanie.tpl
В нем создаем блоки в которых пишем описания для наших категорий. Выглядет будет примерно так
{if $genre.title == "Рок"}
описание категории Рока
{/if}
{if $genre.title == "Рэп"}
описание категории Рэпа
{/if}

{if $genre.title == "Поп"}
описание категории Рэпа
{/if}
И уже после заполнения нашего файла opisanie.tpl подключаем его в наш файл genre.tpl при помощи include file
Выглядет будет так

{include file="opisanie.tpl"}
Потом вставляем этот код в то место, где мы хотим вывести наше описание. Рекомендуем описание выводить максимально высоко к заголовку
Ниже на скрине описание выводится сразу же после заголовка



Как создать статические страницы?

Далее рассмотрим статические страницы в которых мы можем создавать наши подборки песен, страницы под каждого певца и любое другое содержание.
Создаем статическую страницу. В папке pages как мы помним должны лежать все наши статические страницы.


Создаем например файл 1.tpl и заполняем его любым содержимым. Отображаться наша статическая страница будет по адресу Это Статическая страница
Создадим страницу с названием top100, она будет отображаться по адресу http://izmp3.ru/page/top100
Рассмотрим на примере уже готового файла страницу с подборками
Как шаблон у вас лежит статическая страница 1.tpl или static-page.tpl
Здесь так же шаблон собирается из кусочков. Отметить можно момент, что вы можете добавлять любые песни в список повторяя блок трека, ниже приведу скрин
блок с 59 строки по 77 отвечает за строчку с треком

Таким образом мы можем для каждой подборки составлять свой список треков, а так же в файле делать уникальное описание к подборки
После рассмотрения шаблона, оценим возможности CMS
По скорости работы визульно видно, что загрузка почти моментальная, если посмотреть по консоли в браузере, то вес страницы всего 500 кб, а загрузка чуть более секунды




Для сравнения сравним с топовыми сайтами ipleer.fm и muzofond.com



По умолчанию без какой либо оптимизации googlespeed показывает для мобильных пользователей и компьютера 70 баллов из 100




В движок встроен font awesome
Font Awesome – это шрифт, созданный из иконок, называют их еще векторными иконками. Важно, что иконки отображаются не картинками. Опять же улучшение по скорости загрузки
Векторные иконки – это значит, что они хорошо выглядят вне зависимости от размера отображения.
Настраиваемые шрифты – вы можете управлять ими, как любыми другими шрифтами. Меняйте цвета, добавляйте анимацию и многое другое!
Самим такое сделать сложно, но если при заказе дизайна у специалистов, вы упомянете о такой функции, они вам предложат варианты испльзования.
Совместимы с любым браузером – шрифтовые иконки отлично работают с любым браузером.
На данный момент Font Awesome предлагает 675 различных иконок


Загрузку оценили и увидели явное преимущество.

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



Каким образом новые страницы попадают в выдачу?

Страница скрипта представляет собой коллекцию ссылок на другие страницы, образуя сеть в виде паутины. Поисковый бот переходит по ссылкам на другие страницы, видит новые коллекции и индексирует их. Например, вы имеете страницу с 20-ю треками. Каждый трек образует внутреннюю ссылку на другую страницу. Каждая из 20 страниц имеет еще по 20 треков = новых ссылок и т.д. Размер сайта может достигать миллионы страниц.
Чем чаще бот приходит на ваш сайт, тем больше страниц попадает в индекс. приведу пример среди наших сайтов, как видим на скрине бывало за день, бот проходил около 600 тысяч страниц.


Стоит упомянуть, что на движке на данный момент отсуствует карта сайта и база данных.
Карта сайта с миллионами страниц просто бесполезна, весит очень много и всех треков и названий не охватит, база данных тоже была убрана, так как сделали акцент именно на скорости загрузки движка. А любй запрос к базе данных - это увеличение скорости загрузки страницы в 2 и более раза
 
Последнее редактирование:

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
Обновил про подборки, осталось еще про радио отписать.
Обратите внимание еще на стат страницы,там тоже небольшое изменение,в конце слэш не нужен.
 

Form

Приватовец
Приватовец
VIP
Прошёл марафон
Регистрация
24 Фев 2017
Сообщения
364
Реакции
183
Баллы
43
Обратите внимание, что если вы хотите заключить сделку с этим пользователем, он заблокирован
А как для статических страниц прописать тайтл и дескрипшн?

Тьфу, там же в самой странице и прописывается, тупанул )
 
Последнее редактирование:

JohnyLee

Приватовец
Приватовец
VIP
Прошёл марафон
Регистрация
23 Фев 2017
Сообщения
128
Реакции
57
Баллы
28
Не могу осилить, откуда берется список треков на главной странице? Ни где в движке его нет.
Парсится откуда-то?
 

Лукорез

Новичок
Регистрация
24 Фев 2017
Сообщения
214
Реакции
132
Баллы
43
Обратите внимание, что если вы хотите заключить сделку с этим пользователем, он заблокирован

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113

Анна

Модератор
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
23 Апр 2017
Сообщения
1.377
Реакции
540
Баллы
113
Как настроить жанры?

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




Например нам надо добавить описание к категориям, как это сделать?
с 6 по 8 строку идет код

{if $genre.title == "Рок"}
описание категории Рока
{/if}

Что он означает?
if - это условие
genre.title - это значение переменной
Рок - это содержание нашей переменной

Если простым языком, то в этом коде мы выводим содержание переменной "Рок"
В роли значения нашей переменной genre.title выступает значение тайтла категории.

Примеры всех переменных у жанров вы можете посмотреть в файле site.ru/libs/genre.php
Возьмем например наш кусок кода, который отвечает за категорию Рока с 5 строки и 12 строку
'name'
'title'
'main_list'
'excluded_genre_id'
'zid'
'poster'
Это значения наших переменных
Выше в коде как мы видим использовалась переменная 'title'
все что в строке идет после стрелочки => является содержимым нашей переменной


@Лукорез, @Seopirat, подскажите, при добавлении жанров есть переменные. Где взять значение этих переменных, чтобы добавить жанр. Интересуют вот эти переменные

'main_list'
'excluded_genre_id'
'zid'
 

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
@Анна, попробуй с урла zvooq подставить, но это не факт, что сработает
 

Анна

Модератор
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
23 Апр 2017
Сообщения
1.377
Реакции
540
Баллы
113
@Анна, попробуй с урла zvooq подставить, но это не факт, что сработает
То есть получается, что только 8 жанров автоматом и больше не предусмотрено? Тогда нужно это сделать в следующих версиях.
 

Form

Приватовец
Приватовец
VIP
Прошёл марафон
Регистрация
24 Фев 2017
Сообщения
364
Реакции
183
Баллы
43
Обратите внимание, что если вы хотите заключить сделку с этим пользователем, он заблокирован
Извиняюсь что не по теме, но как вы на mse настроили редирект с www на без www, где-то была такая инфа, вроде в дневниках, но никак не могу найти её. У меня всё время сайт выдаёт ошибку при такой правки .htaccess
 
Сверху Снизу