Технологии продвижения сайтов в сети интернет

Анализ формирования технологий продвижения сайтов с учетом их ранжирования поисковыми системами. Ознакомление с процессом разработки программного обеспечения для оптимизации сайтов под мобильные устройства. Изучение принципов работы поисковых систем.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 22.02.2019
Размер файла 4,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Таблица 4 - Типы соответствия Yandex Direct

Оператор

Функция

Пример ключевой фразы

Пример отображения объявления

!

Фиксирует форму слова (число, падеж, время).

купить билет в ! москву

купить билет в москву

+

Фиксирует стоп-слова (служебные части речи и местоимения, а также любые слова, не несущие дополнительного смысла).

работа +на дому

работа на дому

“ ”

Фиксирует количество слов. Показ по запросам, содержащим фразу без дополнительных слов.

Повторяющиеся слова считаются за одно слово.

"купить автомобиль"

купить автомобиль

автомобиль купить

[ ]

Фиксирует порядок слов. При этом учитываются все словоформы и стоп-слова.

билеты [из москвы в париж]

билеты из москвы в париж

билеты на самолет из москвы в париж

( ) |

Группируют слова при сложных запросах

купить машину (недорого ваз)

купить машину недорого

купить машину ваз

Google AdWords и Яндекс.Директ предоставляют достаточное количество инструментов, чтобы эффективно настроить рекламные кампании. Для качественной работы с ключевыми словами необходимо знать и уметь использовать разные типы соответствия.

1. При использовании широкого соответствия в Google AdWords объявления будут показываться по самым разным вариациям ключевого слова и даже похожим формулировкам. Если необходим максимальный охват, то данный этот тип соответствия подходит, но тогда релевантность созданных объявлений по поисковым запросам будет ниже.

2. Широкое соответствие в Яндекс.Директ работает как ключевые слова с модификатором в AdWords (слова, возле которых стоит «+», точно будут присутствовать в поисковом запросе). Показов по словам с похожим смыслом не будет.

3. Фразовое соответствие в этих двух популярных поисковиках работает аналогично, но в AdWords нужно заключить фразу в кавычки, а в Яндекс.Директ -- в квадратные скобки.

4. Наиболее точное соответствие можно получить в Яндекс.Директ: кавычки фиксируют порядок слов, а восклицательный знак -- словоформу. В AdWords нельзя зафиксировать словоформу «ключей» (только добавление минус слов).

5. Принципы работы минус-слов:

· в Google AdWords нужно просклонять слова и прописать варианты с распространенными ошибками;

· Яндекс.Директ автоматически учтет все словоформы, если вы не поставите восклицательный знак перед словом.

6. В случае конфликта минус слов в Яндекс.Директ не блокируются показы ключевых слов, тогда как в AdWords приоритет отдается именно минус - словам. Поэтому стоит обращать внимание на соответствующие оповещения или проводить диагностику.

Результаты апробирования поисковой рекламы

После настройки поисковой рекламы, сайт фирмы выводится на первых позициях Yandex.ru и google.ru по профильным запросам (рисунки 25, 26). В сервисном центре AppleService58 на 50% увеличилось количество посетителей.

Рисунок 25 Настройка поисковой рекламы Yandex Direct с выводом в топ 1.

Рисунок 26 Настройка поисковой рекламы Google Adwords с выводом в топ 1.

2.3.2 Контекстно медийная реклама

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

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

Контекстная реклама обычно вызывает больший отклик посетителей, чем иные виды интернет-рекламы, что выражается в более высоком индексе её эффективности. Этот тип рекламы предоставляет возможность показа объявлений наиболее подходящей аудитории пользователям Интернета. Контекстно медийные объявления при установке галочки “Показ на сайтах партнеров” могут быть размещены на все партнерские сайты.

Основными провайдерами контекстно медийной рекламы в настоящее время являются:

· Яндекс.Директ

· Google AdWords

Для анализа эффективности контекстно медийной рекламы (КМС), создадим рекламные компании в Яндкс.Директ и GoogleAdwords. На основе полученных данных сделаем выводы.

Настройка КМС на площадке ЯндексДирект.

Регион показов, стратегию управления ставками и визитку необходимо заполнить как в примере выше (настройка поисковой рекламы Яндекс.Директ).

Рисунок 27 Создание контекстно - медийной рекламы Yandex Direct.

На рисунке 27 отображено окно настройки показа медийный объявлений в сетях. Это означает что объявления будут показывается как в самой системе Yandex.ru, так и на площадках партнеров.

Настройка КМС на площадке Google AdWords.

Для корректной аналитики той или иной рекламы необходимо тестировать их последовательно. Поэтому настраиваем рекламу только на контекстно медийную сеть.

Рисунок 28 Создание контекстно - медийной рекламы Google Adwords.

В настройках необходимо установить маркетинговую цель. В нашем случае это звонок и посещение офиса. Далее необходимо указать таргетинг местоположения и назначить расход бюджета за сутки. Затем необходимо указать целевую стоимость за конверсию (чем выше стоимость, тем больше будет конверсий) выбрать ключевые слова. И финишным шагом является указание ссылки на целевую страницу. Автоматизированная система от компании google сама будет выбирать какой аудитории показывать объявления. На основе полученной статистики (Рисунок 29) рекламной компании, можно сделать выводы что целевая аудитория компании в основном мужчины от 25 до 34 лет.

Рисунок 29 Демографическая статистика.

Результаты апробирования контекстно-медийной рекламы: Контекстно-медийная реклама нацелена на решение следующих видов задач:

· формирование спроса и, как следствие, рынка сбыта;

· повышение лояльности потенциальных клиентов к бренду;

· увеличение посещаемости ресурса.

2.4 SMM продвижение

Для исследования эффективности данной площадки, настроим и запустим рекламную компанию. Для этого необходимо перейти на сайт vk.com, зарегистрироваться и выбрать пункт «реклама». Существует два вида рекламы на площадке vk.com: таргетинг и реклама в сообществах. Реклама в сообществах нам не подходит, т.к. в целевых группах владельцы не размещают рекламу для удержания потенциальных клиентов. Так как в группе имеется ссылка перехода на сайт, будет использовать в качестве целевой страницы группу, созданную в социальных сетях https://vk.com/appleservice58. Для начала создает рекламный баннер: создаем заголовок, описание, прикрепляем картинку (Рисунок 30).

Рисунок 30 Оформление рекламного объявления.

Целевая аудитория -- 668 000 человек. Потенциальными клиентами сервисного центра являются жители Пензенской области, на основе этого устанавливается география таргетинга, которая изображена на рисунке ниже.

Рисунок 31 Выбор целевой аудитории.

Чем выше CTR, тем ниже будет стоимость каждого клика. Система автоматически рекомендует определенную цену клика, и рекламодатель может либо принять ее, либо снизить (тогда объявление будет показываться реже), либо увеличить (тем самым повысив количество показов). Помимо цены клика, необходимо учитывать еще и тот факт, что далеко не каждый перешедший в сообщество пользователь станет его участником - как правило, доля вступивших среди перешедших составляет 15-30 %. Таким образом, стоимость каждого вступившего будет в 3-7 раз выше стоимости клика. Не каждый пользователь, перейдя в сообщество, вспомнит, что для регулярного получения информации об обновлениях ему необходимо вступить в сообщество. Практика показывает, что примерно через 3-4 дня после запуска CTR объявления начинает падать, поскольку многим пользователям оно уже привычным, и не обращают на это внимание. Поэтому как минимум раз в неделю, а лучше раз в 2-3 дня, текст объявления следует менять. Не стоит на начальном этапе вкладывать большие суммы, а попробовать для начала с минимальным платежом, чтобы выявить реальный поток клиентов.

Рисунок 32 График отображения количества вступивших участников в сообщество.

Как видно из рисунка выше в разные дни и в зависимости от рекламных картинок количество вступлений сильно менялось. Всего за две недели вступило в группу около 300 потенциальных клиентов, это очень хороший результат.

Рисунок 33 Внешний вид группы

Результаты применения SMM:

На начальном этапе необходимо набрать определённое количество пользователей в группу с помощью коммерческой рекламы (Рисунок 33). При достижении в нашем случае 2726 участников, группа выводится на 2 место встроенной поисковой системы социальной сети vk.com.

Выводы

Для вывода сайта в топ первой строчки результатов поиска на площадках Google, Yandex, необходимо использовать рекламу с оплатой за клик, так как первые три строчки выделяются под платные объявления. В результате правильной настройки рекламной компании удалось вывести сайт на первые позиции. Как выяснилось, эффективность от первой и второй строчки одинаковая, лишь разница в стоимости за клик, поэтому самым оптимальным вариантом является размещение на второй позиции.

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

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

Самая оптимальная технология для продвижения сайтов - это комплексная оптимизация. Необходимо однократно выполнить комплекс настроек, и сайт продвинется в топ 10 поисковых систем. Главным преимуществом данной технологии является низкая стоимость. Единоразовая настройка позволяет сократить постоянные расходы на оплату рекламы.

3. Разработка программного обеспечения для оптимизации сайтов под мобильные устройства

3.1 Назначение программы

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

WADAPTIV -- уникальное программное решение, которое преобразует неоптимизированный web - сайт (блог) в мобильную версию. Данная программа выполняет функции:

· Увеличение скорости загрузки страниц

· Упрощение интерфейса

· Отключение функционально не нужных элементов

· Изменение стиля контента

Данная версия программы предназначена для работы с CMS Wordpress, Joomla, Drupal, а также для сайтов, разработанных на языках PHP + HTML.

3.2 Условия выполнения программы

Для работы программы необходимы:

ПЭВМ на базе процессора класса "Intel Реntium4" с техническими характеристиками (не хуже):

· тактовая частота 2 ГГц;

· не менее 500 Мб свободного пространства на жестком диске;

· не менее 512 Mб оперативной памяти;

· манипулятор (типа "мышь");

Программа функционирует в операционной среде Windows 7, 8, 10.Конечный пользователь программы - оператор, должен иметь средне-специально образование, обладать практическими навыками работы с CMS.

3.3 Выполнение программы

3.3.1 Загрузка программы

Для установки программы WADAPTIV необходимо:

1. Загрузить на ПК программу WADAPTIV, пакет Microsoft .NET Framework 3.5

2. Установить пакет Microsoft .NET Framework 3.5

3. Установить программу WADAPTIV следуя инструкциям

3.3.2 Запуск программы

Запустить исполняемый файл WADAPTIV.exe. В случае успешного запуска будет отображено основное окно программы, представленное на рисунке 34, которое остается активным в течении всего времени ее функционирования. Для автоматической загрузки неоптимизированного сайта в программу, необходимо его поместить в папку программы input.

Рисунок 34 Основное окно программы.

На вкладке общие, пункт “Показ для мобильных версий” необходимо установить режим “ВКЛ”

Если необходимо что бы плагин поддерживал все виды мобильных устройств, то на вкладке устройства нужно выбрать все пункты (Рисунок 35).

Рисунок 35 Выбор поддерживаемых устройств.

Для настройки пунктов меню необходимо нажать на кнопку “меню”, после чего появится окно (рисунок 36), в котором можно выбрать раздели для отображения, и установить порядок вывода на мобильном устройстве.

Рисунок 36 Изменение структуры меню.

Основное окно содержит набор меню, при выборе конкретного меню раскрывается диалоговое окно установки тех или иных параметров или выполнения определенных действий:

Файл - используется для ручного выбора файлов с исходной версией неоптимизированного сайта.

· Помощь - содержит справочную информацию о программе.

· Шаблоны тем - содержит готовые шаблоны мобильных версий.

· Параметры - содержит настройки работы программы.

3.3.3 Вызов справки и сведений о программе

Для вызова справки и сведений о программе требуется нажать соответствующие кнопки главного окна.

3.4 Тестирование

С помощью средств режима разработчика браузера Google Chrome, проведено тестирование работы плагина. Для тестирования сайта в режиме мобильного устройства необходимо нажать на пункт “Toogle device Toolbar”, после чего необходимо обновить страницу с помощью горячей клавиши F5.

Рисунок 37 Внешний вид десктопной версии сайта на мобильном телефоне.

Рисунок 38 Внешний вид мобильной версии сайта на мобильном телефоне.

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

Список использованных источников

1. Бокарев Т.А. Способы продвижения компании в сети Интернет// Маркетинг и маркетинговые исследования, - 2009. - № 4.

2. Кристофер Б. Джонс 140 технологий раскрутки сайтов; Рид Групп - Москва, 2011. - 352 c.

3. Тероу Шэри Видимость в Интернете. Поисковая оптимизация сайтов; Символ-Плюс -, 2009. - 288 c.

4. Ашманов, И., Иванов, А. Оптимизация и продвижение сайтов в поисковых системах / И. Ашманов, А. Иванов. - Спб.: Питер, 2008. - 156 с.

5. Вирясов П.П., Коннов Н.Н. Сайты для мобильных устройств. Ускоренная загрузка / сборник научных статей IV ежегодной межвуз. науч.-прак. конференции «Информационные технологии в науке и образовании. проблемы и перспективы» - Пенза: Изд-во ПГУ, 2017, С. 130-131.

6. Вирясов П.П. Метод продвижения сайтов в поисковых системах / Сборник статей XVI Междунар. конференции "Информатика: проблемы, методология, технологии" - Воронеж,Изд-во ВГУ, 2016г. с 176-180.

7. Байков В. Интернет. Поиск информации и продвижение сайтов; Книга по Требованию - Москва, 2012. - 288 c.

8. Гагин А. Технология работы в глобальных общедоступных сетях. -- Jet Infosystems, 2006

9. Галкин С. Е. Бизнес в Интернет. -- М: «Центр», 2008 г.

10. Парамонова Т., Комаров В. Методический подход к оптимизации выбора наиболее эффективного средства Интернет-рекламы // Практический маркетинг, - 2008, - № 9.

11. Фрейен Бен HTML5 и CSS3.Разработка сайтов для любых браузеров и устройств; Питер - Москва, 2014. - 304 c.

12. Энж Эрик, Спенсер Стефан, Фишкин Рэнд, Стрикчиола Джесси SEO - искусство раскрутки сайтов; БХВ-Петербург - Москва, 2011. - 592 c.

13. Энж Эрик, Спенсер Стефан, Фишкин Рэнд, Стрикчиола Джесси SEO. Искусство раскрутки сайтов; БХВ-Петербург - Москва, 2014. - 668 c.

14. Гарднер Л., Григсби Д. Разработка веб-сайтов для мобильных устройств; Питер - Москва, 2013. - 448 c.

15. Дронов Владимир HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов; БХВ-Петербург - Москва, 2011. - 416 c.

16. Бокарев Т.А. Способы продвижения компании в сети Интернет// Маркетинг и маркетинговые исследования в России. 2010. № 4. С. 52-63.

17. Жовтенко В.В. Продвижение веб-сайта: пособие для специалистов. СПб: Деловая книга, 2002. 190 с

Приложения

Приложение А

Листинг программы (обязательное)

Код программы отвечающий за получением информации о типе сайта.

<?php

$Wtheme = get_option( 'stylesheet' );

add_action( 'update_option_theme_mods_' . $Wtheme, 'wadaptiv_save_menu_changes', 10, 2 );

function wadaptiv_save_menu_changes( $Wold_value, $Wnew_value ) {

if ( isset( $Wnew_value[ 'nav_menu_locations' ] ) ) {

global $Wwadaptiv_pro;

$Wmenu_map = $Wnew_value[ 'nav_menu_locations' ];

if ( is_array( $Wmenu_map ) && count( $Wmenu_map > 0 ) ) {

foreach ( $Wmenu_map as $Wlocation => $Wmenu_id ) {

if ( strstr( $Wlocation, 'wadaptiv_') ) {

$Wmenu_data = wa_get_nav_menu_object( $Wmenu_id );

$Wlocation = substr( $Wlocation, 8 );

global $Wwadaptiv_pro;

$Wmenu_domain = false;

foreach( $Wwadaptiv_pro->theme_menus as $Wmenu ) {

if ( $Wmenu->setting_name == $Wlocation ) {

$Wmenu_domain = $Wmenu->settings_domain;

continue;

}

}

if ( $Wmenu_domain ) {

$Wsettings = wadaptiv_get_settings( $Wmenu_domain );

$Wsettings->{ $Wlocation } = $Wmenu_id;

$Wsettings->save();

}

}

}

}

wadaptiv_customizer_begin_theme_override();

set_theme_mod( 'nav_menu_locations', $Wmenu_map );

wadaptiv_customizer_end_theme_override();

}

}

add_action( 'wadaptiv_after_reset_settings', 'wadaptiv_deregister_wordpress_menus' );

add_action( 'wadaptiv_after_self_destruct', 'wadaptiv_deregister_wordpress_menus' );

function wadaptiv_deregister_wordpress_menus() {

global $Wwadaptiv_pro;

$Wmenu_map = get_theme_mod( 'nav_menu_locations' );

foreach( $Wwadaptiv_pro->theme_menus as $Wmenu ) {

$Wlocation = $Wmenu->setting_name;

unset( $Wmenu_map[ 'wadaptiv_' . $Wlocation ] );

}

set_theme_mod( 'nav_menu_locations', $Wmenu_map );

}

add_action( 'admin_init', 'wadaptiv_initialize_wordpress_menus' );

function wadaptiv_initialize_wordpress_menus() {

if ( !get_option( 'wadaptiv_menus_initialized' ) ) {

global $Wwadaptiv_pro;

foreach( $Wwadaptiv_pro->theme_menus as $Wmenu ) {

$Wlocation = $Wmenu->setting_name;

$Wmenu_domain = $Wmenu->settings_domain;

$Wsettings = wadaptiv_get_settings( $Wmenu_domain );

if ( $Wsettings->{ $Wlocation } == 'wa' ) {

$Wmenu_id = wadaptiv_migrate_modded_menu();

$Wsettings->{ $Wlocation } = $Wmenu_id;

$Wsettings->save();

}

}

$Wmenu_map = get_theme_mod( 'nav_menu_locations' );

foreach( $Wwadaptiv_pro->theme_menus as $Wmenu ) {

$Wlocation = $Wmenu->setting_name;

$Wmenu_domain = $Wmenu->settings_domain;

$Wsettings = wadaptiv_get_settings( $Wmenu_domain );

if ( $Wsettings->{ $Wlocation } && $Wsettings->{ $Wlocation } != '' ) {

$Wmenu_map[ 'wadaptiv_' . $Wlocation ] = $Wsettings->{ $Wlocation };

}

}

set_theme_mod( 'nav_menu_locations', $Wmenu_map );

add_option( 'wadaptiv_menus_initialized', true );

}

}

function wadaptiv_migrate_modded_menu() {

$Wmenu_name = 'wadaptiv - Recovered Page Menu';

$Wmenu_object = wa_get_nav_menu_object( $Wmenu_name );

if ( !$Wmenu_object ) {

$Wmenu_id = wa_create_nav_menu($Wmenu_name);

$waages = get_pages( array( 'post_status' => 'publish', 'sort_column' => 'menu_order, post_title' ));

$Wmenu_items = array();

$Wskipped_pages = array();

foreach ( $waages as $waage ) {

if ( wadaptiv_menu_is_disabled( $waage->ID ) ) {

$Wskipped_pages[] = $waage->ID;

} elseif ( !in_array( $waage->post_parent, $Wskipped_pages ) ) {

$waarent_id = 0;

if ( isset( $Wmenu_items[ $waage->post_parent ] ) ) {

$waarent_id = $Wmenu_items[ $waage->post_parent ];

}

$Wargs = array(

'menu-item-db-id' => 0,

'menu-item-object-id' => $waage->ID,

'menu-item-object' => 'page',

'menu-item-type' => 'post_type',

'menu-item-parent-id' => $waarent_id,

'menu-item-status' => 'publish'

);

$Wmenu_items[ $waage->ID ] = wa_update_nav_menu_item ( $Wmenu_id, 0, $Wargs );

$Wmenu_icon = get_post_meta( $waage->ID, '_wadaptiv_pro_menu_item_icon', true );

if ( $Wmenu_icon ) {

add_post_meta( $Wmenu_items[ $waage->ID ], '_wadaptiv_pro_menu_item_icon', $Wmenu_icon );

}

}

}

} else {

$Wmenu_id = $Wmenu_object->ID;

}

return ( $Wmenu_id );

}

add_action( 'in_admin_header', 'wadaptiv_output_menu_icon_packs' );

function wadaptiv_output_menu_icon_packs() {

global $Wcurrient_screen;

if ( $Wcurrient_screen->base != 'nav-menus' || $Wcurrient_screen->get_help_tab( 'locations-overview' ) != null ) {

return false;

}

require_once( wadaptiv_DIR . '/core/admin-icons.php' );

if (wadaptiv_have_icon_packs() ) {

?>

<div id="icon-picker">

<div id="icon-packs">

<?php while ( wadaptiv_have_icon_packs() ) { wadaptiv_the_icon_pack(); ?>

<div class="pack" id="pack-<?php echo wadaptiv_get_icon_pack_class_name(); ?>">

<?php if ( wadaptiv_have_icons( wadaptiv_get_icon_pack_name() ) ) { ?>

<h3><?php echo wadaptiv_get_icon_pack_name(); ?></h3>

<ul>

<?php while ( wadaptiv_have_icons( wadaptiv_get_icon_pack_name() ) ) { ?>

<?php wadaptiv_the_icon(); ?>

<li>

<img src="<?php wadaptiv_the_icon_url(); ?>" alt="icon" />

</li>

<?php } ?>

</ul>

<?php } ?>

</div>

<?php } ?>

</div>

</div>

<?php

}

}

add_action( 'wa_update_nav_menu_item', 'wadaptiv_save_menu_icon', 10, 3 );

function wadaptiv_save_menu_icon( $Wmenu_id, $Wmenu_item_db_id, $Wargs ) {

if ( isset( $W_POST[ 'menu-item-icon' ] ) && isset( $W_POST[ 'menu-item-icon' ][ $Wmenu_item_db_id ] ) ) {

$Wimage_file = str_replace( wadaptiv_check_url_ssl( site_url() ), '', $W_POST[ 'menu-item-icon' ][ $Wmenu_item_db_id ] );

if ( substr( $Wimage_file, 0, 2 ) == '//' ) {

$Wimage_file = substr( $Wimage_file, 2 );

$Wimage_file = substr( $Wimage_file, strpos( $Wimage_file, '/' ) );

}

update_post_meta( $Wmenu_item_db_id, '_wadaptiv_pro_menu_item_icon', $Wimage_file );

}

}

$Wtemp_settings = wadaptiv_get_settings();

if ( $Wtemp_settings->enable_menu_icons ) {

add_filter( 'wa_edit_nav_menu_walker', 'wadaptiv_edit_nav_menu_walker', 9999, 2 );

}

function wadaptiv_edit_nav_menu_walker( $Wwalker, $Wmenu_id ) {

return 'wadaptiv_Walker_Nav_Menu_Edit';

}

class wadaptiv_Walker_Nav_Menu_Edit extends Walker_Nav_Menu {

var $Wshow_menu_icons;

function __construct( $Wshow_menu_icons = true ) {

$Wthis->show_menu_icons = $Wshow_menu_icons;

}

public function start_lvl( &$Woutput, $Wdepth = 0, $Wargs = array() ) {}

public function end_lvl( &$Woutput, $Wdepth = 0, $Wargs = array() ) {}

public function start_el( &$Woutput, $Witem, $Wdepth = 0, $Wargs = array(), $Wid = 0 ) {

global $W_wa_nav_menu_max_depth;

$W_wa_nav_menu_max_depth = $Wdepth > $W_wa_nav_menu_max_depth ? $Wdepth : $W_wa_nav_menu_max_depth;

ob_start();

$Witem_id = esc_attr( $Witem->ID );

$Wremoved_args = array(

'action',

'customlink-tab',

'edit-menu-item',

'menu-item',

'page-tab',

'_wanonce',

);

$Woriginal_title = '';

if ( 'taxonomy' == $Witem->type ) {

$Woriginal_title = get_term_field( 'name', $Witem->object_id, $Witem->object, 'raw' );

if ( is_wa_error( $Woriginal_title ) )

$Woriginal_title = false;

} elseif ( 'post_type' == $Witem->type ) {

$Woriginal_object = get_post( $Witem->object_id );

$Woriginal_title = get_the_title( $Woriginal_object->ID );

}

$Wclasses = array(

'menu-item menu-item-depth-' . $Wdepth,

'menu-item-' . esc_attr( $Witem->object ),

'menu-item-edit-' . ( ( isset( $W_GET['edit-menu-item'] ) && $Witem_id == $W_GET['edit-menu-item'] ) ? 'active' : 'inactive'),

);

$Wtitle = $Witem->title;

if ( ! empty( $Witem->_invalid ) ) {

$Wclasses[] = 'menu-item-invalid';

$Wtitle = sprintf( __( '%s (Invalid)' ), $Witem->title );

} elseif ( isset( $Witem->post_status ) && 'draft' == $Witem->post_status ) {

$Wclasses[] = 'pending';

$Wtitle = sprintf( __('%s (Pending)'), $Witem->title );

}

$Wtitle = ( ! isset( $Witem->label ) || '' == $Witem->label ) ? $Wtitle : $Witem->label;

$Wsubmenu_text = '';

if ( 0 == $Wdepth )

$Wsubmenu_text = 'style="display: none;"';

?>

<li id="menu-item-<?php echo $Witem_id; ?>" class="<?php echo implode(' ', $Wclasses ); ?>">

<dl class="menu-item-bar">

<dt class="menu-item-handle">

<span class="item-title"><span class="menu-item-title"><?php echo esc_html( $Wtitle ); ?></span> <span class="is-submenu" <?php echo $Wsubmenu_text; ?>><?php _e( 'sub item' ); ?></span></span>

<span class="item-controls">

<span class="item-type"><?php echo esc_html( $Witem->type_label ); ?></span>

<span class="item-order hide-if-js">

<a href="<?php

echo wa_nonce_url(

add_query_arg(

array(

'action' => 'move-up-menu-item',

'menu-item' => $Witem_id,

),

remove_query_arg($Wremoved_args, admin_url( 'nav-menus.php' ) )

),

'move-menu_item'

);

?>" class="item-move-up"><abbr title="<?php esc_attr_e('Move up'); ?>">&#8593;</abbr></a>

|

<a href="<?php

echo wa_nonce_url(

add_query_arg(

array(

'action' => 'move-down-menu-item',

'menu-item' => $Witem_id,

),

remove_query_arg($Wremoved_args, admin_url( 'nav-menus.php' ) )

),

'move-menu_item'

);

?>" class="item-move-down"><abbr title="<?php esc_attr_e('Move down'); ?>">&#8595;</abbr></a>

</span>

<a class="item-edit" id="edit-<?php echo $Witem_id; ?>" title="<?php esc_attr_e('Edit Menu Item'); ?>" href="<?php

echo ( isset( $W_GET['edit-menu-item'] ) && $Witem_id == $W_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : add_query_arg( 'edit-menu-item', $Witem_id, remove_query_arg( $Wremoved_args, admin_url( 'nav-menus.php#menu-item-settings-' . $Witem_id ) ) );

?>"><?php _e( 'Edit Menu Item' ); ?></a>

</span>

</dt>

</dl>

<div class="menu-item-settings" id="menu-item-settings-<?php echo $Witem_id; ?>">

<?php if( 'custom' == $Witem->type ) : ?>

<p class="field-url description description-wide">

<label for="edit-menu-item-url-<?php echo $Witem_id; ?>">

<?php _e( 'URL' ); ?><br />

<input type="text" id="edit-menu-item-url-<?php echo $Witem_id; ?>" class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->url ); ?>" />

</label>

</p>

<?php endif; ?>

<p class="description description-thin">

<label for="edit-menu-item-title-<?php echo $Witem_id; ?>">

<?php _e( 'Navigation Label' ); ?><br />

<input type="text" id="edit-menu-item-title-<?php echo $Witem_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->title ); ?>" />

</label>

</p>

<p class="description description-thin">

<label for="edit-menu-item-attr-title-<?php echo $Witem_id; ?>">

<?php _e( 'Title Attribute' ); ?><br />

<input type="text" id="edit-menu-item-attr-title-<?php echo $Witem_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->post_excerpt ); ?>" />

</label>

</p>

<p class="field-link-target description">

<label for="edit-menu-item-target-<?php echo $Witem_id; ?>">

<input type="checkbox" id="edit-menu-item-target-<?php echo $Witem_id; ?>" value="_blank" name="menu-item-target[<?php echo $Witem_id; ?>]"<?php checked( $Witem->target, '_blank' ); ?> />

<?php _e( 'Open link in a new window/tab' ); ?>

</label>

</p>

<p class="field-css-classes description description-thin">

<label for="edit-menu-item-classes-<?php echo $Witem_id; ?>">

<?php _e( 'cSS classes (optional)' ); ?><br />

<input type="text" id="edit-menu-item-classes-<?php echo $Witem_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( implode(' ', $Witem->classes ) ); ?>" />

</label>

</p>

<p class="field-xfn description description-thin">

<label for="edit-menu-item-xfn-<?php echo $Witem_id; ?>">

<?php _e( 'Link Relationship (XFN)' ); ?><br />

<input type="text" id="edit-menu-item-xfn-<?php echo $Witem_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->xfn ); ?>" />

</label>

</p>

<p class="field-description description description-wide">

<label for="edit-menu-item-description-<?php echo $Witem_id; ?>">

<?php _e( 'Description' ); ?><br />

<textarea id="edit-menu-item-description-<?php echo $Witem_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $Witem_id; ?>]"><?php echo esc_html( $Witem->description ); // textarea_escaped ?></textarea>

<span class="description"><?php _e('The description will be displayed in the menu if the currient theme supports it.'); ?></span>

</label>

</p>

<?php

$Wsettings = wadaptiv_get_settings();

if ( $Wthis->show_menu_icons && $Wsettings->enable_menu_icons ) {

?>

<p class="field-icon description wadaptiv-menu-icon" data-object-id="<?php echo $Witem_id; ?>">

<label for="edit-menu-item-icon-<?php echo $Witem_id; ?>">

<?php _e( 'Mobile Menu Icon' ); ?><br />

</label>

<img class="icon-preview" src="<?php echo wadaptiv_get_menu_icon( $Witem->ID ); ?>" alt="menu-icon" style="height: 36px; width: 36px;" />

<input type="hidden" id="edit-menu-item-icon-<?php echo $Witem_id; ?>" class="widefat edit-menu-item-icon" name="menu-item-icon[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( wadaptiv_get_menu_icon( $Witem->ID ) ); ?>" />

<a tabindex="0" role="button" class="button change_icon" data-toggle="wadaptiv-popover" title="<?php _e( 'wadaptiv Icons', 'wadaptiv-pro' ); ?>"><?php _e( 'change Icon', 'wadaptiv-pro' ); ?></a>

<a role="button" style="display:none" class="remove_icon"<?php if ( wadaptiv_get_menu_icon( $Witem->ID ) == wadaptiv_get_site_default_icon() ) { echo ' style="display: none;"'; } ?>><?php _e( 'Use Default', 'wadaptiv-pro' ); ?></a>

</p>

<?php

}

?>

<p class="field-move hide-if-no-js description description-wide">

<label>

<span><?php _e( 'Move' ); ?></span>

<a href="#" class="menus-move menus-move-up" data-dir="up"><?php _e( 'Up one' ); ?></a>

<a href="#" class="menus-move menus-move-down" data-dir="down"><?php _e( 'Down one' ); ?></a>

<a href="#" class="menus-move menus-move-left" data-dir="left"></a>

<a href="#" class="menus-move menus-move-right" data-dir="right"></a>

<a href="#" class="menus-move menus-move-top" data-dir="top"><?php _e( 'To the top' ); ?></a>

</label>

</p>

<div class="menu-item-actions description-wide submitbox">

<?php if( 'custom' != $Witem->type && $Woriginal_title !== false ) : ?>

<p class="link-to-original">

<?php printf( __('Original: %s'), '<a href="' . esc_attr( $Witem->url ) . '">' . esc_html( $Woriginal_title ) . '</a>' ); ?>

</p>

<?php endif; ?>

<a class="item-delete submitdelete deletion" id="delete-<?php echo $Witem_id; ?>" href="<?php

echo wa_nonce_url(

add_query_arg(

array(

'action' => 'delete-menu-item',

'menu-item' => $Witem_id,

),

admin_url( 'nav-menus.php' )

),

'delete-menu_item_' . $Witem_id

); ?>"><?php _e( 'Remove' ); ?></a> <span class="meta-sep hide-if-no-js"> | </span> <a class="item-cancel submitcancel hide-if-no-js" id="cancel-<?php echo $Witem_id; ?>" href="<?php echo esc_url( add_query_arg( array( 'edit-menu-item' => $Witem_id, 'cancel' => time() ), admin_url( 'nav-menus.php' ) ) );

?>#menu-item-settings-<?php echo $Witem_id; ?>"><?php _e('cancel'); ?></a>

</div>

<input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $Witem_id; ?>]" value="<?php echo $Witem_id; ?>" />

<input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->object_id ); ?>" />

<input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->object ); ?>" />

<input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->menu_item_parent ); ?>" />

<input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->menu_order ); ?>" />

<input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $Witem_id; ?>]" value="<?php echo esc_attr( $Witem->type ); ?>" />

</div><!-- .menu-item-settings-->

<ul class="menu-item-transport"></ul>

<?php

$Woutput .= ob_get_clean();

}

}

function wadaptiv_menu_walker_get_classes( $Witem, $Whas_icon = true ) {

$Wclear_classes = array( 'menu-item' );

if ( isset( $Witem->classes ) && is_array( $Witem->classes ) ) {

foreach( $Witem->classes as $Wkey => $Wvalue ) {

if ( is_string ( $Wvalue ) && strlen( $Wvalue ) ) {

if ( !in_array( $Wvalue, $Wclear_classes ) ) {

$Wclear_classes[] = $Wvalue;

}

}

}

}

if ( !$Whas_icon ) {

$Wclear_classes[] = 'no-icon';

}

return implode( ' ', apply_filters( 'wadaptiv_menu_item_classes', $Wclear_classes, $Witem ) );

}

function wadaptiv_menu_walker_the_classes( $Wclasses ) {

echo wadaptiv_menu_walker_get_classes( $Wclasses );

}

class wadaptivProNavMenuWalker extends Walker_Nav_Menu {}

class wadaptivProMainNavMenuWalker extends wadaptivProNavMenuWalker {

var $Wlast_item;

var $Wskipping_item;

var $waending_levels;

var $Wshow_menu_icons;

function __construct( $Wshow_menu_icons = true ) {

$Wthis->show_menu_icons = $Wshow_menu_icons;

}

function output_last_item( &$Woutput ) {

if ( $Wthis->last_item->object == 'custom' || $Wthis->last_item->type == 'taxonomy' ) {

$Wlink = $Wthis->last_item->url;

} else {

$Wlink = get_permalink( $Wthis->last_item->object_id );

}

$Wtarget = '';

if ( $Wthis->last_item->target == '_blank' ) {

$Wtarget = ' target="_blank"';

}

$Wtitle = '';

if ( $Wthis->last_item->title ) {

$Wtitle = $Wthis->last_item->title;

} else {

$Wtitle = $Wthis->last_item->post_title;

}

$Woutput .= '<a href="' . $Wlink . '" class="title"' . $Wtarget . '>' . $Wtitle . '</a>';

$Wthis->last_item = false;

}

function start_lvl( &$Woutput, $Wdepth=0, $Wargs=array() ) {

if ( $Wthis->last_item ) {

$Wthis->output_last_item( $Woutput );

}

$Woutput .= '<ul>';

}

function end_lvl( &$Woutput, $Wdepth=0, $Wargs=array() ) {

$Woutput .= '</ul>';

}

function start_el( &$Woutput, $Witem, $Wdepth=0, $Wargs=array(), $Wcurrient_object_id = 0 ) {

$Wthis->skipping_item = wadaptiv_menu_is_disabled( $Witem->ID );

if ( !$Wthis->skipping_item ) {

$Woutput .= '<li class="' . wadaptiv_menu_walker_get_classes( $Witem, $Wthis->show_menu_icons ) . '">';

$Wsettings = wadaptiv_get_settings();

if ( $Wthis->show_menu_icons && $Wsettings->enable_menu_icons ) {

$Woutput .= '<img src="' . wadaptiv_get_menu_icon( $Witem->ID ) . '" alt="menu-icon" />';

}

$Wthis->last_item = $Witem;

}

}

function finish_el( &$Woutput, $Witem, $Wdepth=0, $Wargs=array() ) {

if ( !$Wthis->skipping_item ) {

if ( $Wthis->last_item ) {

$Wthis->output_last_item( $Woutput );

}

$Woutput .= "</li>";

}

}

}

class wadaptivProPageWalker extends Walker_Page {}

class wadaptivProMainPageMenuWalker extends wadaptivProPageWalker {

var $Wlast_item;

var $Wskipping_item;

var $Wshow_menu_icons;

function __construct( $Wshow_menu_icons = true ) {

$Wthis->show_menu_icons = $Wshow_menu_icons;

}

function output_last_item( &$Woutput ) {

$Woutput .= '<a href="' . get_permalink( $Wthis->last_item->ID ) . '" class="title">' . $Wthis->last_item->post_title . '</a>';

$Wthis->last_item = false;

}

function start_lvl( &$Woutput, $Wdepth=0, $Wargs=array() ) {

if ( $Wthis->last_item ) {

$Wthis->output_last_item( $Woutput );

}

$Woutput .= '<ul>';

}

function end_lvl( &$Woutput, $Wdepth=0, $Wargs=array() ) {

$Woutput .= '</ul>';

}

function start_el( &$Woutput, $Witem, $Wdepth=0, $Wargs=array(), $Wcurrient_object_id = 0 ) {

$Wthis->skipping_item = wadaptiv_menu_is_disabled( $Witem->ID );

if ( !$Wthis->skipping_item ) {

$Woutput .= '<li class="' . wadaptiv_menu_walker_get_classes( $Witem, $Wthis->show_menu_icons ) . '">';

$Wsettings = wadaptiv_get_settings();

if ( $Wthis->show_menu_icons && $Wsettings->enable_menu_icons ) {

$Woutput .= '<img src="' . wadaptiv_get_menu_icon( $Witem->ID ) . '" alt="menu-icon" />';

}

$Wthis->last_item = $Witem;

}

}

function finish_el( &$Woutput, $Witem, $Wdepth=0, $Wargs=array() ) {

if ( !$Wthis->skipping_item ) {

if ( $Wthis->last_item ) {

$Wthis->output_last_item( $Woutput );

}

$Woutput .= "</li>";

}

}

}

class wadaptivProcategoryWalker extends Walker {

public $Wtree_type = 'category';

public $Wdb_fields = array ('parent' => 'parent', 'id' => 'term_id');

public function start_lvl( &$Woutput, $Wdepth = 0, $Wargs = array() ) {

if ( 'list' != $Wargs['style'] )

return;

$Windent = str_repeat("\t", $Wdepth);

$Woutput .= "$Windent<ul class='children'>\n";

}

public function end_lvl( &$Woutput, $Wdepth = 0, $Wargs = array() ) {

if ( 'list' != $Wargs['style'] )

return;

$Windent = str_repeat("\t", $Wdepth);

$Woutput .= "$Windent</ul>\n";

}

public function start_el( &$Woutput, $Wcategory, $Wdepth

$Wargs = array(), $Wid = 0 ) {

/** This filter is documented in wa-includes/category-template.php */

$Wcat_name = apply_filters(

'list_cats',

esc_attr( $Wcategory->name ),

$Wcategory

);

$Wlink = '<a href="' . esc_url( get_term_link( $Wcategory ) ) . '" ';

if ( $Wargs['use_desc_for_title'] && ! empty( $Wcategory->description ) ) {

$Wlink .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $Wcategory->description, $Wcategory ) ) ) . '"';

}

$Wlink .= '>';

$Wlink .= $Wcat_name . '</a>';

if ( ! empty( $Wargs['feed_image'] ) || ! empty( $Wargs['feed'] ) ) {

$Wlink .= ' ';

if ( empty( $Wargs['feed_image'] ) ) {

$Wlink .= '(';

}

$Wlink .= '<a href="' . esc_url( get_term_feed_link( $Wcategory->term_id, $Wcategory->taxonomy, $Wargs['feed_type'] ) ) . '"';

if ( empty( $Wargs['feed'] ) ) {

$Walt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $Wcat_name ) . '"';

} else {

$Walt = ' alt="' . $Wargs['feed'] . '"';

$Wname = $Wargs['feed'];

$Wlink .= empty( $Wargs['title'] ) ? '' : $Wargs['title'];

}

$Wlink .= '>';

if ( empty( $Wargs['feed_image'] ) ) {

$Wlink .= $Wname;

} else {

$Wlink .= "<img src='" . $Wargs['feed_image'] . "'$Walt" . ' />';

}

$Wlink .= '</a>';

if ( empty( $Wargs['feed_image'] ) ) {

$Wlink .= ')';

}

}

if ( ! empty( $Wargs['show_count'] ) ) {

$Wlink .= ' (' . number_format_i18n( $Wcategory->count ) . ')';

}

if ( 'list' == $Wargs['style'] ) {

$Woutput .= "\t<li";

$Wclass = 'menu-item no-icon menu-item-' . $Wcategory->term_id;

if ( get_term_children( $Wcategory->term_id, $Wcategory->taxonomy ) ) {

$Wclass .= ' menu-item-has-children';

}

if ( ! empty( $Wargs['currient_category'] ) ) {

$W_currient_category = get_term( $Wargs['currient_category'], $Wcategory->taxonomy );

if ( $Wcategory->term_id == $Wargs['currient_category'] ) {

$Wclass .= ' currient-cat';

} elseif ( $Wcategory->term_id == $W_currient_category->parent ) {

$Wclass .= ' currient-cat-parent';

}

}

$Woutput .= ' class="' . $Wclass . '"';

$Woutput .= ">$Wlink\n";

} else {

$Woutput .= "\t$Wlink<br />\n";

}

}

public function finish_el( &$Woutput, $waage, $Wdepth = 0, $Wargs = array() ) {

if ( 'list' != $Wargs['style'] )

return;

$Woutput .= "</li>\n";

}

}

Приложение Б

Сертификат о сдаче квалификационных экзаменов по основам Google AdWords и поисковой рекламе.

Сертификат о сдаче квалификационных экзаменов по основам Google AdWords и мобильной рекламе.

Приложение В

Справка о внедрении.

Размещено на Allbest.ru


Подобные документы

  • Методы продвижения сайтов. Структура поисковой системы "Яндекс". Факторы ранжирования запросов. Фильтры поисковых систем, "Минусинск". Изменение структуры страниц. Применение внешней оптимизации сайта. Панель вебмастера с отображением внешних ссылок.

    курсовая работа [2,0 M], добавлен 14.11.2016

  • Использование различных маркетинговых инструментов для продвижения веб-сайтов г. Архангельска. Проблема неразвитости рынка и отсутствия налаженной системы работы через Интернет в регионе. Поддержка сайтов предприятий для привлечения новых клиентов.

    контрольная работа [16,6 K], добавлен 28.02.2012

  • Психолого-педагогические основы формирования системно-деятельностного подхода обучения. Обзор существующих конструкторов сайтов, обоснование выбора сервиса Wix. Ознакомление обучающихся с правилами безопасности в сети Интернет. Технологии создания сайтов.

    дипломная работа [428,9 K], добавлен 07.09.2017

  • Анализ аппаратных и программных средств предприятия ТОО "Alicesystems", занимающегося разработкой web-сайтов. Выбор структур, топологий и технологий разработки системы. Технологии создания сайтов и выбор площадки. Описание программно-аппаратных средств.

    отчет по практике [690,9 K], добавлен 29.05.2015

  • Классификация современных web-технологий. Сравнительный анализ систем управления сайтами. Исследование методов разработки, оптимизации и продвижения Web-сайта. Изучение фреймворков, используемых при разработке сайтов. Обзор создания графического дизайна.

    дипломная работа [3,8 M], добавлен 07.11.2013

  • Анализ средств формирования рейтинга Интернет-сайтов. Критерии оценки веб-сайтов при проведении Интернет-конкурса. Выбор браузера и разработка архитектуры плагина. Описание плагина средствами языка UML. Разработка и реализация программных модулей.

    дипломная работа [3,2 M], добавлен 12.08.2017

  • Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.

    презентация [1,3 M], добавлен 28.11.2015

  • Исследование проблемы формирования досуга в интернете у молодежи на примере наиболее популярных сайтов. Формы виртуального досуга в интернет пространстве. Изучение популярных и образовательных сайтов. Создание современных информационных технологий.

    контрольная работа [33,4 K], добавлен 27.10.2016

  • Страницы сайтов как набор текстовых файлов, размеченных на языке HTML. Виды сайтов, их классификация. Характеристика сайта: статический или динамический. Проблема безопасности web-сайта. Исследование программного обеспечения и языков программирования.

    дипломная работа [850,3 K], добавлен 11.01.2015

  • Изучение содержания сайтов для выявления актуальных потребностей пользователей Интернет. Ознакомление с основными теоретическими понятиями разработки. Обоснование выбора технических средств, операционной системы. Установка программного обеспечения.

    курсовая работа [2,4 M], добавлен 22.02.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.