Доброго времени суток, друзья!
Представляю вашему вниманию новую разработку. Те, кто следил за темой, уже в курсе. Особого интереса тема не вызвала, да и как обычно, желающих
потестировать нашлось немного. Тем не менее, ОГРОМНОЕ СПАСИБО тем, кто участвовал. Для полного теста в таком темпе нет времени. На носу отпуск, поэтому решил выложить разработку, чтобы осталось пару дней для исправления, если всё же найдутся критические ошибки. В целом, вроде бы всё работает. Почему говорю, вроде бы? Потому что разработка охватывает всю систему. Поэтому возможно всё.
Описание: Разработка позволяет переопределить seo-параметры для каждой страницы. Под seo-параметрами понимается uri страницы, заголовок страницы(то что находится между тегами <title></title>), ключевые слова(meta-тег keywords), описание(meta-тег description). URI можно переопределить для любой страницы сайта, остальные параметры только для тех страниц, которые являются результатом работы какого-либо компонента. Чтобы было понятнее, опишу, что делает компонент и что делает плагин.
Итак, КОМПОНЕНТ обеспечивает удобной админкой для редактирования и занесения данных в БД. Вторая задача компонента — переопределение uri. Как это происходит? В систему заложена работа файла custom_rewrite.php, схожего с файлом url_rewrite.php, про который все слышали и который является внутренней эмуляцией mod_rewrite. В этот файл можно записать определенные правила, написанные с применением регулярных выражений. И в соответствии с этими правилами будет происходить замена url. Эти правила можно заносить вручную. Но это создает определнные трудности. Компонент обеспечивает простое создание правил для переопределения url. В данной версии поддерживаются только простые правила. Явное соответствие определенному uri и явная замена другим. Шаблоны
не поддерживаются.
ПЛАГИН обеспечивает замену других seo-параметров. Привязан к событию работы компонента. Поэтому плагин будет работать только на тех страницах, которые являются результатом работы какого-либо компонента. В админке плагина можно включить "быстрые ссылки". Если включено, то на страницах сайта на фронтенде появится ссылка на страницу добавления или редактирования в админке.
УСТАНОВКА.
1. Скачиваем архив.
2. Если у вас уже существует файл custom_rewrite.php, то смержим данный файл с архива с вашим файлом(это означает, что правила
с вашего файла заносите в файл с архива)
3. Заливаем архив на хостинг.
4. Устанавливаем компонент seo_page (SEO страницы).
5. Устанавливаем соответсвующий плагин.
6. Включаем плагин.
7. Если нужно, в настройках плагина включаем "быстрые ссылки".
КАК РАБОТАТЬ? После установки, идем в админку компонента "SEO страницы". Админка схожа с админкой других компонентов.
Нажимаем кнопку "Новая SEO-страница", появится страница добавления. Имейте ввиду, что SEO-страница в разработке позиционируется с одной страницей во фронтенде и одним правилом в файле custom_rewrite.php. Обратите внимание, обязательно нужно заполнить только одно поле "Текущий URI", остальные поля необязательны. Если какое-то поле не заполнено, то остается прежнее значение, определяемое системой или каким-либо компонентом. Примеры как вводить uri смотрите пояснительные записи в админке. После заполнения нужных пунктов сохраняем seo-страницу.
Можно заменить любой ури на любой ури. Главное, чтобы ури, на который меняете текущий, был уникальным для сайта.
ВАЖНО. Чтобы работал плагин, нужно будет внести небольшое изменение в файл ядра /core/cms.php. Это строка примерно 1723
$is_component = false;
Заменяем на:
$is_component = true;
Это, как я понял, небольшой недочет. Видимо никто не использовал событие AFTER_COMPONENT_'.mb_strtoupper($component), поэтому и не заметили. По названию событие должно работать после работы компонента. Но из-за вышеуказанного флага оно не работает вообще. И вообще, этот флаг можно убрать, имхо.
СКАЧАТЬ АРХИВ
PS. Замену по шаблону пока не стал делать. Просто не успею. Сами шаблоны несложно, сложнее сделать их добавление в админке. Это надо обдумать. Возможно, когда будет посвободнее, доделаю. Сегодня-завтра в блоге постараюсь выложить инструкцию, как можно написать шаблон для смены url.
Приятного пользования!
Обновляемся как обычно. Перезаливаем архив. Идем в админку. В админке Компоненты->Установить компоненты.
"Найдены компоненты, доступные для установки:", нажать на ссылку "SEO-страницы v1.1.0 > 1.1.1".
Представляю вашему вниманию новую разработку. Те, кто следил за темой, уже в курсе. Особого интереса тема не вызвала, да и как обычно, желающих
потестировать нашлось немного. Тем не менее, ОГРОМНОЕ СПАСИБО тем, кто участвовал. Для полного теста в таком темпе нет времени. На носу отпуск, поэтому решил выложить разработку, чтобы осталось пару дней для исправления, если всё же найдутся критические ошибки. В целом, вроде бы всё работает. Почему говорю, вроде бы? Потому что разработка охватывает всю систему. Поэтому возможно всё.
Описание: Разработка позволяет переопределить seo-параметры для каждой страницы. Под seo-параметрами понимается uri страницы, заголовок страницы(то что находится между тегами <title></title>), ключевые слова(meta-тег keywords), описание(meta-тег description). URI можно переопределить для любой страницы сайта, остальные параметры только для тех страниц, которые являются результатом работы какого-либо компонента. Чтобы было понятнее, опишу, что делает компонент и что делает плагин.
Итак, КОМПОНЕНТ обеспечивает удобной админкой для редактирования и занесения данных в БД. Вторая задача компонента — переопределение uri. Как это происходит? В систему заложена работа файла custom_rewrite.php, схожего с файлом url_rewrite.php, про который все слышали и который является внутренней эмуляцией mod_rewrite. В этот файл можно записать определенные правила, написанные с применением регулярных выражений. И в соответствии с этими правилами будет происходить замена url. Эти правила можно заносить вручную. Но это создает определнные трудности. Компонент обеспечивает простое создание правил для переопределения url. В данной версии поддерживаются только простые правила. Явное соответствие определенному uri и явная замена другим. Шаблоны
не поддерживаются.
ПЛАГИН обеспечивает замену других seo-параметров. Привязан к событию работы компонента. Поэтому плагин будет работать только на тех страницах, которые являются результатом работы какого-либо компонента. В админке плагина можно включить "быстрые ссылки". Если включено, то на страницах сайта на фронтенде появится ссылка на страницу добавления или редактирования в админке.
УСТАНОВКА.
1. Скачиваем архив.
2. Если у вас уже существует файл custom_rewrite.php, то смержим данный файл с архива с вашим файлом(это означает, что правила
с вашего файла заносите в файл с архива)
3. Заливаем архив на хостинг.
4. Устанавливаем компонент seo_page (SEO страницы).
5. Устанавливаем соответсвующий плагин.
6. Включаем плагин.
7. Если нужно, в настройках плагина включаем "быстрые ссылки".
КАК РАБОТАТЬ? После установки, идем в админку компонента "SEO страницы". Админка схожа с админкой других компонентов.
Нажимаем кнопку "Новая SEO-страница", появится страница добавления. Имейте ввиду, что SEO-страница в разработке позиционируется с одной страницей во фронтенде и одним правилом в файле custom_rewrite.php. Обратите внимание, обязательно нужно заполнить только одно поле "Текущий URI", остальные поля необязательны. Если какое-то поле не заполнено, то остается прежнее значение, определяемое системой или каким-либо компонентом. Примеры как вводить uri смотрите пояснительные записи в админке. После заполнения нужных пунктов сохраняем seo-страницу.
Можно заменить любой ури на любой ури. Главное, чтобы ури, на который меняете текущий, был уникальным для сайта.
ВАЖНО. Чтобы работал плагин, нужно будет внести небольшое изменение в файл ядра /core/cms.php. Это строка примерно 1723
$is_component = false;
Заменяем на:
$is_component = true;
Это, как я понял, небольшой недочет. Видимо никто не использовал событие AFTER_COMPONENT_'.mb_strtoupper($component), поэтому и не заметили. По названию событие должно работать после работы компонента. Но из-за вышеуказанного флага оно не работает вообще. И вообще, этот флаг можно убрать, имхо.
СКАЧАТЬ АРХИВ
PS. Замену по шаблону пока не стал делать. Просто не успею. Сами шаблоны несложно, сложнее сделать их добавление в админке. Это надо обдумать. Возможно, когда будет посвободнее, доделаю. Сегодня-завтра в блоге постараюсь выложить инструкцию, как можно написать шаблон для смены url.
Приятного пользования!
UPDATE 15.07.2012
Архив обновлен. Исправлена критическая ошибка, возникающая при деактивации seo-страницы. При деактивации seo-страницы с id, например, равным 1, некорректно деактивировались и страницы id = 1*. Изменения затронули только файл /admin/components/seo_page/backend.php. У кого установлено, перезалейте.UPDATE_2 15.07.2012
Архив обновлен. Исправлена ошибка, связанная с применением уникальных индексов в БД. В связи с чем невозможно было создавать более 1-й seo-страницы без параметра "URI замены". Для того, чтобы легче было исправить баг, было решено повысить версию компонента. Поэтому в архиве теперь версия 1.1.1. Не удивляйтесь такому быстрому скачку с версии 1.0.0. В файле install.php предыдущей версии по ошибке, чисто механически была указана версия 1.1.0. Поэтому, чтобы система увидела компонент для обновления пришлось указать версию 1.1.1.Обновляемся как обычно. Перезаливаем архив. Идем в админку. В админке Компоненты->Установить компоненты.
"Найдены компоненты, доступные для установки:", нажать на ссылку "SEO-страницы v1.1.0 > 1.1.1".
А для разделов статей тоже можно будет настроить seo-теги?
Спасибо
Первый - нужно то же самое, но уже для версии на utf-8. Её многие очень-очень ждут, даже проекты не начинают делать.
Второй - невозможность "автоматизации" назначения вложенности. Если бы движок управлялся одним админом, то больше ничего не надо было бы. Но здесь же пользователи, регистрации, у каждого свой контент... Опубликует кто-то статью, и пока админ доберётся до сайта чтобы изменить ссылку по своему замыслу, на статью уже появятся ссылки с других сайтов. Админ изменит uri, и эти ссылки уже не актуальны... А когда пользователей много, и все публикуют...
Короче, Компонент ОЧЕНЬ ТРЕБУЕТ ДАЛЬНЕЙШЕГО РАЗВИТИЯ!!!
По утф-8, только в августе. После отпуска. Пока никак не успею.
По шаблонам, как раз работаю над этим. Вроде бы нашел решение, но нужно потестировать. Сегодня-завтра попробую выложить инструкцию. Но будет не в рамках компонента. Но тоже не сложно. Пару строчек в файле ядра, ну и сами шаблоны. Пока не точно. Если будет всё работать.
А ссылки с других сайтов, вроде не страшно. От старого адреса идет 301-редирект на новый. Только не знаю, передается ли при этом статический вес. Спецы, что скажут?
У разработки есть ещё одно назначение - другие seo-параметры, которые тоже иногда важны. Например тайтлы. Это уже нужно отдельно для каждой страницы.
Очень хорошо, что продолжаешь разработку! Тайтлы тоже важны.
Но всёже попытаюсь разъяснить. Если вы не заметили, то обратите внимание, что при создании разделов контента не предоставляется возможность заполнять - заголовок страницы, ключевые слова и описания - для создаваемых страниц. А просто добавляет эти значения из главных настроек сайта. Что приводит к дублям - заголовков страниц, ключевых слов и мета описаний. Что пагубно влияет на СЕО вашего сайта. Это относится не только к разделам статей, но и практически ко всем компонентам.
Так вот, главная задача этого компонента - исправление данной оплошности.
Работает великолепно, почти...
Короче, столкнулся с проблемкой.
Установил компонент, плагин, исправил на $is_component = true;
Создал первую СЕО страницу.
Начал создавать вторую.
Нажимаю создать/сохранить , а в ответ Запись не была добавлена в БД. Пытаюсь повторить, но эффект тот-же.
Удаляю первую страницу. И создаю другую - всё ОК, страница создалась со следующим номером ID. Но получить список из двух и более страниц так и не получилось.
Если я чего не так делаю прошу указать на ошибки.
Спасибо.
http://instantcms.ru/blogs/seo-vs-instantcms/nemnogo-optimizaci-ne-pomeshaet.html
Спасибо maia, что заметила и сообщила!
Благодаря пользователю AlexSF была выявлена ещё одна ошибка. Подробности в посте UPDATE_2 15.07.2012. Спасибо, AlexSF!
Это всё maia виновата, говорит волшебник. Вот и сглазила ))). А если серьезно, противопоказано летом работать. Невозможно сосредоточиться в полной мере. Поэтому и ошибки. Ещё и с отпуска пришлось сорваться раньше времени. Обстоятельства...
Надеюсь это не я из отпуска вырвал )))
Но вот у меня не получается поставить SEO, например, на раздел доски объявлений. То есть адрес раздела меняется на новый, а заголовок страницы, ключевые слова и описание остаются прежними.
Может быть, я чего не так делаю?
Как вы разобрались?
Сомнение пока у меня вызывает только то, что если я например заменил ури board/13 на nedvizhimost.html но все равно во всех компонентах и модулях сайта ссылки будут board/13 а уже потом будет переадресовываться на nedvizhimost.html. Т.е. если специально не ставить где то ссылку на nedvizhimost.html то получается на сайте не будет ни одной ссылки на неё. Как с точки зрения ПС это будет выглядеть?
Не писали ли какой скрипт, чтобы с базы данных, все записи по сео перезаливались в файл?
Странный глюк. Сам использую компонент, пока всё нормально. Вручную не редактировали файл custom_rewrite.php? Желательно не трогать.
Вроде бы понял причину, из-за чего может быть. По какой то причине не подставился id записи, нужно ввести проверку. Исправлю.
Если не срочно, потерпите немного. В течении недели постараюсь сделать скрипт для восстановления файла из БД.
<?php
function custom_rewrite_rules(){
ВСТАВЛЯЕМ ТЕКСТ
//строчку ниже не убирать, это заглушка. Чтобы не выкидывало на 404 страницу при пустом файле
//применительно к компоненту seo-page
$rules[] = '';
return $rules;
}
?>
Есть компонент для инстанта - sitemap карта сайта, назначение думаю понятно.
Но все карты он делает со старыми не сео ссылками, есть ли смысл тогда использовать его или все норм, или использовать другой какой сайтмеп генератор?
+++
В чем может быть причина, кто знает?
Имеет ли смысл создавать сео-страницу для доски объявлений, если после этого не работает сортировка?
Компонент меняет ури, формируемый компонентом, на задаваемый пользователем.
Большинство функций компонентов(всякие фильтры, шаблоны...) привязаны к ури, который формируется компонентом.
Так что вполне возможно, что эти функции перестанут работать. Это нормально.
Сам пользуюсь компонентом и пока что не возникало таких проблем. Из-за чего? Потому что не стоит все страницы загонять под компонент. Это в основном ВЧ или СЧ, в основном, главная страница какого-то компонента или страница категории. И ни разу не попадалась страница с фильтрами.
Если что-то не работает, выбор за вами. Скорее всего, лучше убрать сео-ури с этой страницы.
а старая ссылка писалась в файл, в htaccess c rewrite 301
Чтобы во всех компонентах ссылка соответствовала новой seo ссылке.
но все равно во всех компонентах и модулях сайта ссылки будут board/13
а уже потом будет переадресовываться на nedvizhimost.html.
Т.е. если специально не ставить где то ссылку на nedvizhimost.html то получается
на сайте не будет ни одной ссылки на неё. Как с точки зрения ПС это будет выглядеть?
Поэтому везде останутся ссылки на старый адрес, а уже оттуда 301-редирект на новый. Ну если только ручками писать. При желании можно и ручками вписать в меню. При создании меню можно выбрать урл и вписать ручками. В остальных местах уже никак.
Не думаю, что это так критично. По-крайней мере, у меня работает на сайте.
Не знаю, передается ли при 301 редиректе вес страницы. Если да, то вообще без проблем.
Вот изображение на нем 2 варианта альтернативного URL
При первом варианте страница получается третьего уровня вложенности,
При втором варианте 2 уровня вложенности
Я правильно это понимаю? или же ошибаюсь?
(Компонент доска объявлений)
Уровень вложенности - это немного другое. Вложенность - это количество кликов от главной, пока не откроется нужная страница. Поэтому при обоих вариантах будет 2-й уровень вложенности. Но всё же поисковики лучше реагируют, если ключевик в урл расположен ближе к началу(в идеале поддомен - ключевик.домен.ру ). Поэтому второй вариант лучше. Но тут есть один маленький нюанс. Если мы так задаем урл(не указывая board), то в дальнейшем исключается создание в корневом разделе статьи с урл-ом nedvigimost. Потому как мы теряем board. И если даже мы создадим статью с названием "Недвижимость", то если перейти по его урлу, мы попадем на /board/nedvigimost. Статья будет недоступна.
Но всё же нельзя будет создать раздел "Недвижимость" )))
Слово недвижимость можно транслитирировать разными способами:
1. nedvigimost
2. nedvizhimost
УРАаааааа у меня всё работает.
Для полного "феншуя" понадобилось перекодировать в UTF-8 только один файл:
\admin\components\seo_page\backend.php
ОГРОМНОЕ СПАСИБО тебе Марат
перекодировал его весь в UTF-8. Единственный файлом где понадобилось кроме мышки использовать
ещё и клавиатуру был С:\SEO_PAGES_V.1.1.1\components\seo_page\install.sql
ENGINE=MyISAM DEFAULT CHARSET=cp1251;
заменил на
ENGINE=MyISAM DEFAULT CHARSET=utf8;
На 1.10.4 тоже должно работать.