Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Всё что можно прочитать и увидеть, соответственно можно скопировать. Эффективной защиты от копирования не существует. Но это не значит, что ей нельзя препятствовать, можно отключить использование правой или других кнопок мыши, которые применяются для копирования, это станет незначительным, но всё-таки препятствием в копировании для начинающих пользователей.
Для отключения кнопок используем данный код:
Хотелось бы заметить, что работает этот код только на браузерах Internet Explorer. Не исключено что и для других браузеров есть нечто подобное. Если захотите воспользоваться другим кодом, просто замените этот на свой код, вставив его между echo ' и ';
Код необходимо интегрировать в систему. Это не составит особого труда, даже начинающему веб мастеру, не знакомому с языками программирования.
Для использования этого метода Вам необходимо выставить права CHMOD 666 на файл: config/config_header.php
Операцию производим непосредственно из панели администратора системы: Панель администратора >> Редактор >> Файл внедрения в шапку системы: config_header.php
Не для кого не секрет то, что хорошему Интернет проекту нужна раскрутка коего для посещаемости, Интернет просто кишит статьями, обсуждениями на форумах о том, как же поднять посещаемость своему проекту. Мое личное мнение о массовых банерных сетях такое, что толку от них как от кота молока, попытки раскрутить сайт методом банерных ротаций в таких сетях равны нулю. Если вы решили раскручивать сайт рекламой, то ставить её нужно исключительно тематически и без ротации, тогда вероятность того, что её увидит нужная вам аудитория, очень велика. Но Интернет реклама требует вложений, причём не маленьких, сейчас я попробую донести до вас как можно реально раскрутить свой сайт при этом, не заплатив не гроша.
За пол года присутствия на Интернет-рынке я искал множество методов раскрутки своих некоммерческих проектов, пока не наткнулся на тот факт, что на много больше 50% аудитории находит нужный им ресурс из поисковой системы. Что же нужно сделать, что бы допустим в первую десятку выпадающих сайтов Яндекса по поисковому запросу «бесплатный хостинг 1гб на винте» выпадал именно ваш сайт? Я не стану рассказывать о таком явлении как индекс цитирования, думаю, о нём знает любой уважающий себя веб мастер в любом случае если кто не знаком, то может прочитать описание на страницах Яндекса. И так, для того, что бы Ваш сайт попадал в первые десятки по поисковым запросам требуется, что бы ваш сайт обладал необходимым кол-вом тИЦ и PR, пытаться пробиться в первые по таким запросам как «Видео» или «Хостинг» очень хлопотно и практически не возможно, я руководствуюсь тем «Кто ищет тот всегда найдёт».
Для начала Вам потребуется оптимизировать свой сайт для поисковой системы, я обычно ограничивался тем что (речь идёт о SLAED CMS) вписывал в «Описание» и «Ключевые слова сайта» в конфигурации «Слаеда» востребованные запросы Яндекса, Гугла и Рамблера выдаваемые мне генераторами статистики по запрашиваемому слову, (найти эти генераторы можно тут: Рамблер, Гугл, Яндекс). Хочу так же отметить что генерация keywords (ключевых слов) и титлов в системе SLAED CMS производится автоматически, допустим, есть какая-то новость, система автоматической генерации сама выбирает ключевые слова из текста и ставит их в html-код страницы заключая их в тег meta name="keywords". Значит после генерации и вписывания значений, для оптимизации можно ещё воспользоваться системой ЧПУ, так как обычные динамические ссылки SLAED и другой подобной ей системы тяжело воспринимаются поисковиками для индексации. Так же смею заметить, что в системе существует ЧПУ, начиная с версий "1.7 Pro" и "2 Lite".
Теперь предстоит самое главное, это увеличение тИЦ. Думаю известно, что для увеличения тИЦ нужен обмен ссылками для цитирования вашего ресурса, и так сказать поднятия ему числового авторитета. Все когда-то начинали с простейшего, ручного обмена ссылками, заходя в каталог Яндекса и подбирая нужные для обмена по тематике сайты и посылая веб-мастерам по Эл. Почте запросы по обмену. Но это не для нас, благо теперь это кровью и потом не дается. Для обмена ссылками я использую автоматические системы по обмену ссылками, то есть каждый желающий веб-мастер добавляет свой сайт в эту систему, ставя php-скрипт каталога обменника, а затем подбирает нужные по тематике или каким либо другим критериям сайты для обмена. Я использую две системы это: Нагваль и OnLink самые интересные и перспективные, на мой взгляд, системы, тем, что не тормозные, лёгкие и удобные в обращении.
Значит, какие выполняем действия:
Регистрируемся в системах Нагваль и OnLink, ставим скрипты каталогов для взаимообмена на свой сервер, а на сами каталоги делаем ссылки с главных страниц. Тут есть пару советов, это то, что не закрывать эти каталоги от индексации разными хитрыми и не очень методами (за это можно схватить бан) и грамотно составить описание сайта я советую составлять описание из ключевых слов, о которых я писал выше.
Далее начинаем подбирать сайты для обмена, тут нечего сложного кроме одного но, сразу советую откинуть амбиции относительно контента сайтов и обмениваться только с теми, у кого тИЦ составляет не ниже 50 и с теме у кого PR не меньше хотя бы 1, так как, обмениваясь с нулевыми сайтами вы уменьшаете вес ссылок для подсчёта, как бы отдавая этим сайтам часть своего возможного кол-ва тИЦ.
После подбора сайтов к обмену ждём, скажу сразу что моментального прироста тИЦ и PR на следующий день у Вас не будет, потому, как надо ждать пересчёта, пересчёт тИЦ яндексом по моим наблюдениям производиться как правило раз в две недели в ночь с вторника на среду, а вот с гуглом ситуация будем по сложнее, пересчёт PR ведется около 1 раза в три месяца, поэтому к этому знаменательному моменту советую подготовиться конкретно, обменявшись ссылками с как можно большим кол-вом сайтов.
В общем, то всё, кроме того, что попытайтесь не светить свои сайты на форумах с такими цитатами как «Я раскручиваю свой сайт методом накрутки тИЦ» бан поисковика можно схватить моментом, тем более, если тИЦ форума около 1500 :). Более подробную информацию и обсуждения о поисковых системах можно получить тут.
Автор: Лабутис Станислав
Специально для SLAED.NET, если будут вопросы, то пишите сюда, остальное в Яндексе, удачи!
История происхождения и развития наиболее известных и популярных систем построения сайтов. В 1998 году Франциско Бурзи один из первых, разработал и создал систему построения сайтов. На данный момент подобные системы называются CMS - Content Management System. Взяв за основу популярную в то время новостную ленту ThatWare, он выпустил в свет PHP-Nuke. Таким образом, Франциско Бурзи стал родоначальником данного направления развития подобных систем. В скором времени начали появляться в свет подобные системы, они брали за основу или частично использовали структуру и функции PHP-Nuke.
Данная информация собиралась по крупицам, по этой причине могут быть некоторые не соответствия действительности, в виду не существования некоторых проектов. Системы, обозначенные крестом, это проекты которые уже не существуют или двигаются в этом направлении.
Информация о проектах
Ссылки, которые мне удалось найти, на те проекты, которые существуют или существовали в своё время по данному адресу.
Если обратить внимание на самые популярные системы, которые основаны на PHP-Nuke, то можно заметить что они полностью или почти полностью изменили основные функции. Это говорит о том, что сама по себе система PHP-Nuke нуждается в оптимизации и модификации. Некоторые системы занимаются наращиванием или изменением функций, не обращая внимание на скорость работы и нагрузку на сервер.
Разрабатывая SLAED CMS, мы в отличие от других, в первую очередь максимально снизили нагрузку на сервер и скорость работы системы, максимально увеличили безопасность. При всём этом, функционал системы нисколько не пострадал, даже наоборот увеличился. Уделяется особое внимание на простоту в использовании, интуитивно понятный интерфейс, приятное оформление. Система росла, видоизменялась и модифицировалась. В конечном итоге родилась самостоятельная система SLAED CMS, которая переросла своего прародителя, избавилась от всех его недостатков, в свою очередь, переняв и приумножив все его плюсы.
Представляю Вашему вниманию новую версию системы SLAED CMS 1.5 Reloaded. Сразу же хочу заметить, что, начиная с версии SLAED CMS 1.5 система не будет поддерживать совместимость со стандартными модулями, темами и блоками PHP-Nuke. На это есть ряд причин, как правило, основной из них является дальнейшее развитие системы в плане функциональности, безопасности и скорости работы. Для интеграции модулей, блоков или тем, используйте инструкцию, опубликованную на нашем сайте, в отделе «Учебники».
Детальное описание проделанных работ после первого анонсирования системы:
Для повышения скорости работы, откорректирован код во всех блоках системы.
Закончена языковая поддержка на трёх языках (Русский, Немецкий, Английский) панели управления администратором проекта и главной части системы.
Для повышения безопасности, произведено функциональное отделение административной части управления системой.
Исправлены проблемы добавления категорий и файлов из панели администратора в модуле галереи.
Установлен авто переход в тему форума, в которой был произведён ответ.
Откорректирована функция отражения E-Mail в комментариях к статьям.
Частично переписан модуль «Топ пользователи». Значительно снижено количество запросов в базу, что в свою очередь повышает скорость работы модуля. Улучшена функциональная часть при просмотре пользователей.
Увеличено время сохранения IP адреса проголосовавшего человека. Таким образом, в модуле опросов, предотвращена возможность голосовать более одного раза в сутки с одного IP адреса.
В панели администратора, отдел блоков в два раза сокращено количество запросов в базу данных. Тем самым, снижено время генерации данного отдела.
Повышена функциональность модуля HTML Content. Теперь у Вас есть возможность установки титульного графического элемента персонально для каждой страницы.
Коррекция блока посетителей сайта. При получении нового личного сообщения, загорается красная лампочка.
В модуле Files добавлена возможность загрузки файлов со своего компьютера в директорию сайта.
В панели администратора при редактировании файла, добавлена возможность смены актуальной даты публикации.
Произведено структурное разделения ядра системы. Все функциональные файлы вынесены в отдельную директорию системы.
Все, изложенное мной, является плодом более чем 3-летнего опыта в области оптимизации сайтов и практических наблюдений. Таким образом, мои рекомендации будут носить в большей степени субъективный практический характер, чем теоретический. Сразу предупреждаю, что все мои советы актуальны для владельцев серьезных тематических ресурсов, а не всяких дурацких развлекательных порталов, цель которых – привлечь абы кого, чтобы только заработать баннерные показы или накрутить счетчик.
Продвижение сайта - Заголовки
Итак, я открываю серию статей, посвященных продвижению интернет-сайта в сети. Все, изложенное мной, является плодом более чем 3-летнего опыта в области оптимизации сайтов и практических наблюдений. Таким образом, мои рекомендации будут носить в большей степени субъективный практический характер, чем теоретический. В моих статьях я не буду тратить время на всякие системы накрутки счетчиков, обмена посетителями и прочую подобную фигню. Продвижение в моем случае прежде всего означает оптимизацию страниц сайта под поисковые роботы + различные советы и тонкости из практики. Надеюсь, вам будет интересно и кому-нибудь мои советы даже помогут в увеличении целевой аудитории, посещающей ваш сайт.
Будем считать, что вы хорошо владеете программированием на HTML и знаете, для чего нужны различные тэги и куда их пихать, поэтому на технической стороне я не буду заострять внимание. Говоря о заголовке, я имею в виду содержание страницы от тэга ‹HEAD› до тэга ‹/HEAD›. Напомню, что структура стандартной страницы представляет из себя примерно следующее:
Как раз о верхней части страницы и пойдет речь в этой статье, т.е. подробно о тегах TITLE и META.
TITLE
Надеюсь, вы уже догадались, что TITLE – это титул страницы. Пользователь видит его в верхней части окна браузера. Тэг TITLE прежде всего имеет важное значение при оптимизации страницы под поисковые машины. Все без исключения поисковые роботы обрабатывают значение TITLE и в соответствии с его содержанием формируют перечень ключевых слов и фраз страницы. Таким образом, титул должен отражать реальное содержание страницы или сайта. Однако при заполнении этого параметра многие совершают следующие ошибки:
Начинают перечислять перечень ключевых слов. Современные поисковые роботы стали гораздо сообразительней, чем раньше и в большинстве случаев им удается распознать, что в титуле написана белиберда, а не четкое и внятное содержание страницы. Это может привести к тому, что поисковик проигнорирует титул при индексации;
Вбивают текст размером с первый том "Капитала" Карла Маркса. Дело в том, что поисковые роботы серьезно относятся к содержимому тэга TITLE, но обычно индексируют первые 25-50 символов. Таким образом, оставшаяся писанина только напрасно увеличивает объем страницы и время загрузки;
Перегружают титул спецсимволами (запятыми, кавычками, тире и пр. знаками). Спецсимволы в TITLE не индексируются поисковыми роботами, так что их использование лучше свести к минимуму, или вообще постараться обойтись без них;
Пишут содержание TITLE прописными (заглавными) буквами. Многие поисковики этого не любят. Так что лучше их не злить понапрасну и писать нормально. От того, что вы напишете титул прописными, заметней для поисковика вы не станете!
В общем, рекомендую перед заполнением тэга TITLE как следует подумать, о чем ваш сайт и выразить его тематику в 2-3 веских словах в виде словосочетания.
META
О тэге META у нас будет разговор серьезный. Прежде всего необходимо понять, что META-тэги являются важной составляющей в странице и их правильное использование может как поднять популярность страницы, так и оказать обратное воздействие.
META-тэги делятся на две группы: контролирующие отображение страницы браузером и служащие ценной информацией для поисковых машин. Первая группа тэгов вводится следующим образом:
‹META HTTP-EQUIV="параметр" CONTENT="значение"›
Я не буду заострять внимание на этом виде META-тэга, т.к. моя задача – рассказать, как сделать страницу доступной, а не как сделать, так, чтобы она правильно отображалась браузером. Но чтобы вы поняли, для чего нужны эти META-тэги, приведу несколько примеров их использования:
Указывает, в какой кодировке должна выводиться страница (в данном случае: windows-1251). Также возможны значения (в поле CHARSET): koi8-r, iso-8859-5, iso-8859-1 и т.д.
Указывает типы переменных, содержащихся на странице (в данном случае: текст и JavaScript™). Возможные значения: text, javascript, php и т.д.
‹META HTTP-EQUIV="pragma" CONTENT="no-cache"›
или
‹META HTTP-EQUIV="no-cache›
или
‹META HTTP-EQUIV="cache-control" CONTENT="no-cache"›
или
‹META HTTP-EQUIV="expires" CONTENT="wed, 2 mar 1996 00:00:05 GMT"›
Запрет на кэширование браузером страницы. Тэг актуален в том случае, если содержимое страницы часто меняется. В этом случае браузер будет при каждом обращении к странице заново ее кэшировать.
Сообщает браузеру язык, на котором написана страница (в данном случае: английский и русский). Возможно указать и один язык (например, только "ru") или несколько через запятую. Сразу скажу, что этот тэг актуален только для очень старых браузеров, а новые на него внимания не обращают, так что лучше его избегать.
Принудительно осуществляет переход на указанную страницу через определенное количество секунд (в данном случае: переход на страницу "http://yandex.ru/index.html" через 5 секунд).
Существует еще с десяток META HTTP-EQUIV тэгов, но, на мой взгляд, они бестолковые и не оказывают существенного влияния на отражение страницы. Или предназначены для устаревших версий браузеров, которые практически уже не используются. Советую не увлекаться такими тэгами и обратить внимание прежде всего на первый пример, выдающий кодировку документа – он является обязательным; остальные же используйте только по необходимости!
Второй тип META-тэгов вводится следующим образом:
‹META NAME="параметр" CONTENT="значение"›
Эти META-тэги никак не влияют на отображение страниц сайта, но играют важную роль в предоставлении информации поисковым роботам и указывают на алгоритм индексирования. В общем, служат чем-то вроде паспорта для страницы. Поскольку известно, что основная доля трафика генерируется поисковыми роботами, необходимо отнестись с полным сурьезом к заполнению значений этих тэгов. Ниже я привожу примеры значений с необходимыми комментариями:
‹META NAME="description" CONTENT="..."›
В поле CONTENT вы должны ввести краткое описание документа. Ни в коем случае не строчите трактат длинной в жизнь и не перечисляйте ключевые слова! Правильным будет написание небольшого предложения длинной до 200-250 символов, в котором повествуется, о чем ваш сайт (страница) и что на нем можно найти. Избегайте большого количества спецсимволов, слов из прописных букв и бессмыслицы (например, "Это чумовой сайт! Все сюда!"). Содержание параметра DESCRIPTION часто отражается в результатах поиска и вносится в базу данных поисковика. Так что чем точнее и лаконичней будет сформулировано описание сайта, тем лучше!
‹META NAME="keywords" CONTENT="..."›
В поле CONTENT вы должны внести через запятую (!) перечень ключевых слов и фраз, в соответствии с которым будет строиться запрос поисковым роботом. Только не надо вносить весь словарь Ожегова и/или Даля! Во-первых, поисковики обычно обрабатывают только первые n-цать символов в строке CONTENT (в среднем до 500). Во-вторых, ключевые слова и фразы должны отражать реальное содержимое страницы. В противном случае поисковый робот отсекает ненужное и часть содержимого KEYWORDS просто зазря засоряет страницу. Существует расхожее мнение, что сейчас поисковые роботы практически не уделяют внимания значению параметра KEYWORDS. Действительно, в процессе эволюции поисковики стали меньше обращать внимания на ключевые слова, потому что многие нехорошие люди занимались банальным поисковым спамом и вносили в KEYWORDS совсем не то, что было отражено на странице. Тем не менее, актуальность этого META-тэга еще до конца не утрачена и заполнять его все-таки рекомендуется.
Сообщает поисковому роботу частоту обновлений содержимого. В соответствии с этим страница может быть статичной (static), т.е. обновления происходят время от времени, редко или совсем не происходят; или динамичной (dynamic), которая обновляется часто (например, страница новостей). В поле CONTENT необходимо записать только одно из значений ("static" или "dynamic"), в соответствии с характером страницы. Некоторые "умники" пытаются обдурить поискового робота, объявляя статичную страницу динамичной, в надежде на то, что ее рейтинг повысится. Поисковик очень быстро вычисляет таких мошенников, отслеживая дату изменения файла страницы и характер изменений ее содержимого. В итоге можно отправиться в бан-лист, из которого путь будет не так прост. Чтобы этого не произошло, постарайтесь либо писать правду, либо вообще не употреблять этот параметр. Без него поисковик тоже в состоянии разобраться, какая эта страница и как часто ее переиндексировать.
‹META NAME="revisit-after" CONTENT="..."›
Тэг почти аналогичен предыдущему и указывает, через какой промежуток времени поисковик должен переиндексировать страницу. Опять-таки лучше не дразнить поискового робота и указывать реальное значение. Если у вас не лента новостей с ежедневным, еженедельным или прочим регулярным обновлением, то лучше этот параметр вообще не использовать. Если все-таки возникла такая необходимость, то значения поля CONTENT могут быть такими: day (пример: 1 day), days (пример: 7 days), week (пример: 1 week), weeks (пример: 2 weeks), year (пример: 1 year), years (пример: 5 years). Выражать промежуток времени можно различными значениями, но только одним из них. Например, 1 год можно записать как "1 year" или "365 days", или "52 weeks". Но недопустимо употребление сразу нескольких значений. Например, "1 year 2 weeks 3 days"!
‹META NAME="robots" CONTENT="..."›
Это очень важный тэг, который указывает поисковику, каким образом ему необходимо индексировать страницу. Возможные значения поля CONTENT:
index, follow – индексировать страницу и все ссылки на ней
index, nofollow – индексировать страницу, не индексировать ссылки
noindex, follow – не индексировать страницу, а только ссылки
noindex, nofollow – не индексировать страницу, не индексировать ссылки
all – равнозначен index, follow
none – равнозначен noindex, nofollow
Если вам все равно, как поисковый робот будет индексировать содержимое страницы, то лучше вообще этот параметр не использовать, т.к. в этом случае поисковик определит наиболее оптимальный и эффективный способ индексации. Если вдруг вам необходимо запретить на индексацию часть содержимого страницы, а другую оставить, то необходимо поместить запрещенный для поисковых роботов блок в тэг ‹NOINDEX›...‹/NOINDEX›. В этом случае META-тэг с параметром "robots" использовать не надо.
Существует еще целая куча META-тэгов подобного вида, всесторонне описывающая содержимое страницы, включая данные о ее создателе, генераторе, классификации и т.п. Отталкиваясь от практического опыта могу заметить, что ничего, кроме, засорения страницы и увеличения ее объема, они по сути не делают. Так что лучше ограничиться использованием вышеуказанных тэгов, которые являются основополагающими.
Итак, мы рассмотрели с вами основные требования к написанию заголовка страниц таким образом, чтобы их успешно и правильно индексировали поисковые роботы. Если вы все сделаете правильно, то уже через некоторое время (от 2 недель до месяца) вы заметите, что поисковые роботы стали лучше вас видеть и посетители стали лучше вас находить. Закрепляя вышесказанное, хочу привести пример, как может выглядеть идеальная для поисковика страница:
‹HTML›‹HEAD›‹TITLE›Справочник по META-тэгам‹/TITLE›
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED CMS Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable2() и CloseTable2() которые нужно заменить.
Старый вариант: OpenTable2();
Новый вариант: OpenTable();
Старый вариант: CloseTable2();
Новый вариант: CloseTable();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"
В сегодняшнем мировом Интернет-сообществе стремительно набирают популярность системы управления контентом – CMS. С их помощью любой пользователь может с минимальными усилиями создать полноценный web-сайт. При этом пользователь не обязан знать всех тонкостей web-программирования. Достаточно установить CMS на сервер, наполнить получившийся web-сайт необходимым содержанием и новый портал готов принимать посетителей. Остается только один вопрос – какую CMS выбрать? В этой статье мы познакомим вас с новой, но уже набирающей популярность системой Open SLAED.
Предыстория
Проект SLAED CMS (http://www.slaed.net) был создан несколько лет назад и сразу зарекомендовал себя с лучшей стороны. Сегодня разработано уже четвертое поколение SLAED CMS Pro, и несомненным ее козырем является стабильность работы и отлично проработанная система защиты.
Совсем недавно разработчики SLAED CMS представили первую версию системы, относящуюся к новому поколению CMS. Ее название – Open SLAED. Это поколение не только вобрало в себя лучшие качества платной версии SLAED CMS, но и содержит абсолютно новые функции и технологии. Поэтому в сегодняшней статье я познакомлю вас с этой системой управления контентом. Для начала давайте узнаем, какие же преимущества имеет Open SLAED:
• Использование UNICODE для функции многоязычности
• Внедренная технология AJAX
• Поддержка PHP 4, PHP 5, а также готовящейся к выходу PHP 6
• Повышенный уровень безопасности системы и ее компонентов
• Работа системы под лицензией GPL 3
Пожалуй, о последнем пункте нужно рассказать отдельно. Как известно, ветка SLAED CMS Pro является платной, а предшественница Open SLAED – SLAED CMS Lite распространялась как freeware. Open SLAED – это первое поколение SLAED CMS, которое распространяется под лицензий GNU/GPL. Таким образом, эта система имеет большие перспективы в мире CMS, поскольку теперь разработчики и энтузиасты могут свободно расширять функциональность Open SLAED, создавать неограниченное количество компонентов для нее: блоков, модулей, тем, языковых пакетов.
Установка
Перед тем, как познакомиться с Open SLAED, ее необходимо установить на сервер. Для начала нам потребуется сам дистрибутив системы. Open SLAED можно загрузить на сайте: http://www.slaed.net. Для установки системы нам потребуется web-сервер, совместимый с Apache, интерпретатор PHP, а также СУБД MySQL. Итак, для начала необходимо распаковать дистрибутив Open SLAED в корневую папку сайта, после чего нужно выставить необходимые права доступа:
• 666 – на все файлы в папке config/, config/cache/, config/counter/, config/logs/ (кроме файлов .htaccess и index.html);
• 777 – на папки (именно папки, а не файлы!) config/cache/, config/counter/, config/logs/, а также на папку uploads/ и все остальные папки, вложенные в нее.
Кроме этого, разработчики рекомендуют изменить имя файла admin.php в целях безопасности.
Еще один важный момент – подготовка базы данных для Open SLAED. Для этого достаточно создать новую БД с помощью имеющегося средства для управления MySQL (скорее всего, это будет phpMyAdmin), например, с именем openslaed (рис.1).
Рис.1. Создание БД для Open SLAED.
Теперь, подготовив почву для CMS, запускаем установочный скрипт, который находится по адресу: http://корневая_папка/setup.php. Инсталлятор приветливо встречает нас и предлагает выбрать один из языков системы – английский, немецкий, русский. Кстати, сразу же бросается в глаза отличный и тщательно проработанный дизайн инсталлятора (рис.2).
Рис.2. Выбор языка CMS.
Далее система отобразит лицензионное соглашение и спросит, согласны ли вы с ним. Теперь следует важный этап инсталляции – установка соединения с базой данных. Для этого необходимо указать сервер БД, имя пользователя и пароль для авторизации, а также название той базы данных, которую вы создали для Open SLAED, также можно изменить стандартный префикс для таблиц БД (это необязательно). Кроме того, если вы изменили в целях безопасности имя файла admin.php, обязательно укажите в конфигурации новое имя этого файла (без расширения .php). Теперь, если вы все параметры указали верно, инсталлятор соединится с БД и добавит необходимые для Open SLAED таблицы (рис.3).
Рис.3. Процесс установки таблиц.
Финальным аккордом будет создание учетной записи администратора. Больших трудностей этот шаг вызвать не должен – вводим имя, пароль, e-mail и адрес сайта. Также можно разрешить создание учетной записи администратора как обычного пользователя. На этом процесс установки окончен. Теперь можно авторизоваться и войти в админ-панель.
- Уголок web-мастера -
Перед тем, как перейти к изучению интерфейса системы, должен обратить ваше внимание на следующую деталь. На некоторых серверах возможна ситуация, когда браузеры ошибочно используют для русского варианта Open SLAED не UNICODE, а другую кодировку, чаще всего Windows-1251 или KOI8-R. Чтобы избежать такого эффекта, необходимо явно указать браузеру использование UNICODE. Для этого открываем файл .htaccess, находящийся в корневой папке, и добавляем в него следующую строку:
AddDefaultCharset UTF-8
Теперь все будет отображаться без ошибок.
- Уголок web-мастера -
Админ-панель
Итак, вы вошли в админ-панель (рис.4). Как можно заметить, ее интерфейс разделен на несколько частей:
Главной частью админ-панели является рабочее место администратора, где отображаются системные сообщения и ссылки на все имеющиеся модули админ-панели; отсюда начинается настройка и администрирование Open SLAED. Первым делом мы обратимся к модулю «Конфигурации». Здесь собраны основные параметры CMS, как то: название сайта, адрес, логотип и т.д. Кроме того, если вы собираетесь устанавливать форум на свой web-сайт, то здесь можно объединить регистрацию пользователей форума и Open SLAED, а также интегрировать в систему профили и сервис личных сообщений форума. Open SLAED поддерживает следующие форумы:
• phpBB 2.0.x;
• Invision Power Board 1.3.1, 2.0.x, 2.1.x, 2.2.x, 2.3.x;
• vBulletin;
• Simple Machines Forum (SMF).
Кроме этого, модуль «Конфигурации» содержит немало других интересных параметров. Здесь можно настроить работу графического кода (captcha) для защиты от рекламных роботов, использование редакторов в модулях системы, cookies, ЧПУ, языки, цензуру, кэширование и многое другое. Кстати, Open SLAED содержит и поддерживает четыре редактора для публикации: обычный BB-редактор, TinyMCE 3, Spaw 2 и FCKeditor.
В отличие от предыдущего поколения Lite, в Open SLAED также был вынесен отдельный модуль для управления рейтингами. В стандартной комплектации возможно настройка рейтингов в модулях «Новости», «Профиль» и «Каталог файлов».
Также заметно улучшился модуль «RSS каналы». Теперь пользователи могут создать собственное оформление новостей, управлять количеством выводимых новостей, подробно просматривать отдельные каналы RSS.
Должен обрадовать тех, кто создает многоязычные порталы. В Open SLAED появился отдельный модуль для управления языками. Сюда были вынесены все настройки языков для модулей системы и админ-панели. Но не это главное. Изюминка модуля «Языки» состоит в том, что теперь можно редактировать языковые файлы прямо из админ-панели с помощью редактора языков! Причем все языковые константы отсортированы и разделены по установленным языкам, поэтому теперь вы сможете легко и быстро создать многоязычный web-сайт (рис.5).
Рис.5. Редактор языков.
Еще я должен отметить новый модуль «Файловый редактор». Используя его, вы забудете о длительных загрузках на FTP-сервер файлов для каталога или изображений для новостей. По умолчанию для загрузки используется папка uploads/news/ и файлы форматов *.gif, *.jpg, *.jpeg, *.png. Однако, используя конфигурации, можно настроить загрузки под себя и разрешить другие форматы файлов, а также указать допустимый размер файлов, количество одновременных загрузок, количество файлов на страницу, разрешить гостям добавлять файлы.
Конечно, не ударил лицом в грязь и модуль «Безопасность». Как всегда, здесь можно найти все для блокировки нежелательных IP-адресов, настройки правил для администраторов, защиты от DDoS- и Flood-атак, работы со статистикой.
Пользователи
Итак, изучив основные возможности админ-панели, перейдем к одному из фундаментальных компонентов Open SLAED – управлению пользователями. Важным нововведением в этой сфере является система очков (пунктов) и рейтингов.
С помощью очков (пунктов) можно судить об активности на портале того или иного пользователя. Например, за просмотр страницы добавляется 1 пункт, за публикацию материала в FAQ – 10 пунктов, а за оценивание какого-либо файла в каталоге – 3 пункта. В Open SLAED уже имеется некоторый набор действий, за которые добавляются очки, а администратор уже может настроить количество выставляемых очков по своему вкусу (рис.6).
Рис.6. Настройка системы пунктов.
Рейтинг, в отличие от очков, выставляет не CMS, а другие посетители вашего портала. Оценку определенному пользователю можно выставлять по пятибалльной шкале в комментариях и только один раз (рис.7).
Рис.7. Комментарий и рейтинг.
Кстати, у администраторов есть возможность изменять количество пунктов у посетителя. Для этого достаточно зайти в модуль «Пользователи», найти там нужного пользователя и отредактировать его профиль. Кроме количества очков, здесь можно указывать такую контактную информацию, как web-сайт, e-mail, аккаунты в ICQ, AIM, Yahoo и MSN, личную информацию (увлечения, род занятий и т.д.), используемый язык на сайте. Кроме того, можно создать с помощью редактора собственное меню, которое будет отображаться на панели блоков.
Как всегда, имеется стандартный набор инструментов для работы с комментариями (рис.7):
• Персональная информация о комментаторе;
• Переход на web-сайт комментатора;
• Отправка писем на e-mail;
• Информация об IP-адресе;
• Блокировка нежелательных посетителей;
• Редактирование комментария:
• Удаление комментария.
Страничка с профилем комментатора, на которую ведет первая ссылка, содержит подробную информацию о нем, как то: ник, дата рождения, IP-адрес, пол, количество набранных пунктов, группы, контакты и даже подробная информация о браузере пользователя (рис.8)!
Рис.8. Персональная информация.
Выводы
Итак, новая CMS Open SLAED уже зарекомендовала себя как стабильная и мощная система с отличным набором инструментов для управления порталом, необходимых для создания собственного web-сайта. С помощью Open SLAED можно создать сайт практически любой направленности – от домашней странички до сложного корпоративного портала или софтового каталога. Поэтому, если вы хотите создать хорошо защищенный и функционирующий web-сайт, попробуйте эту систему, она прекрасно выполнит свою работу, а вы и ваши посетители останутся довольны. На этом позвольте попрощаться, до новых встреч!
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable() и CloseTable() которые нужно заменить.
Старый вариант: OpenTable(); или OpenTable2();
Новый вариант: open();
Старый вариант: CloseTable(); или CloseTable2();
Новый вариант: close();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"