Разработка компонента и плагина "SEO pages". Обсуждение.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Нужна ли разработка?

Для участия в голосовании необходима регистрация на сайте
#1 29 июня 2012 в 21:04
Добрый вечер, друзья!
Вынашиваю идею и частично начал реализовывать компонент и плагин "SEO pages". Хотелось бы узнать нужно ли и если нужно, то выяснить хотелки и кое-что добавить уже на этапе разработки.
Итак, примерно объясню какие стоят задачи.
1. Для любой страницы любого компонента(!!!) возможность переопределения урл. Не секрет, что ЧПУ есть не во всех компонентах. Данная возможность позволить ввести ЧПУ для таких страниц. Например, есть ури "/catalog/item7.html". Для него назначаем ури переопределения "/catalog/subaru.html". При этом при переходе по первому ури будет 301 редирект на второй(ури меняется). При переходе по второму будет реврайте(второй ури подменяется первым и грузится нужная страница компонента), при этом второй ури в адресной строке сохраняется. В итоге, получаем то, что нужно. "/catalog/item7.html" будет отдавать 301 редирект на "/catalog/subaru.html", а страница всегда будет доступна по адресу "/catalog/subaru.html".
Данная возможность будет реализовываться за счет файла custom_rewrite.php, возможность применения которого заложена в системе. Такого же эффекта можно добиться вручную создав этот файл и отредактировав. В рамках компонента будет возможность редактирования с админки.
Так влегкую потестировал. Вроде всё работает. Но нужно будет ещё покопаться. Есть некоторые нюансы. Например, ури переопределения всегда будет содержать название компонента("/catalog/subaru.html"), иначе не получается...
2.Для каждой страницы дать возможность переопределения title, meta-keys, meta-description. Эту задачу выполняет плагин. Сами сео-параметры можно будет ввести в админке, на той же странице, где переопределяем ури.
То есть для пользователя будет админка компонента, наподобие админки "Вопросов и ответов". Где создаем новую seo-страницу. Указываем какая страница какого компонента будет меняться(вводим действующий ури), и далее по необходимости заполняем поля: ури переопределения, тайтл, ключевые слова и дескрипшен. Не один из полей не является обязательным. Если какое-то поле не указано, то этот параметр остается как для действующей страницы.
В админке будет возможность, отредактировать уже созданную seo-страницу, удалить, отключить работу… Ну, как в обычных компонентах. Будет ещё фильтр по компонентам. Для удобства работы можно будет отфильтровать seo-страницы по одному компоненту.
Сам компонент нужен только из-за админки. Фронтендовой части не будет.

Ну, примерно так я вижу это всё. Никакой автоматики не будет. Каждую нужную страницу нужно будет отредактировать вручную. Разработка не для лентяев ))) А для тех, кто готов работать для блага своего сайта.

Сразу же вопрос. Доступ к компоненту должны иметь все админы или только главный админ?

В общем, критикуем, предлагаем, обсуждаем, ругаемся, спорим… Сеошники налетай, свежее мясо! )))

По срокам. Лето… Хоть работы вроде бы предстоить и не очень много, плотно работать возможности нет. В день от силы 1-2 часа, иногда и того нет. Через 1-2 недели уезжаю в отпуск недели на 3, возможности заниматься вообще не будет. Поэтому, постараюсь успеть до отъезда. Если не успею, значит придется подождать 1-1,5 мес. Как то так.
#2 29 июня 2012 в 21:10
Ответ на вопрос: По моему лучше не ограничивать доступ для остальных администраторов, так как допустим у меня на сайте работает команда и мы все выполняем различные настройки а давать логин и пароль главного администратора всем подряд тоже не хочется так как может кого обидим(случайно) из команды и он потом через главного админа что то натворит(люди разные бывают) я просто уже сталкивался с таким!

А компонент вещь хорошая! Удачи в разроботке!
#3 29 июня 2012 в 21:43
100% делай=) это будет один из лучших компонентов для инстанта, лично я СЕО для каждого компонента допиливаю сам… на счет админов сделать поле где можно выбирать кому можно, кому нельзя.
#4 29 июня 2012 в 23:05
Марат, волшебник! Прямо мечта сбывается dance
#5 29 июня 2012 в 23:35

Марат, волшебник!

maia
Я не волшебник, я только учусь smile. Да и шкура неубитого медведя ещё )

В обшем, вырисовывается такая картина. Со второй частью(тайтлы, ключевые слова) проблем не должно быть.
Сложнее с первой частью. С реврайтами. Для тех компонентов, где нет ЧПУ(каталог, фак, клубы, фото, объявления, фото...), будет работать. В чем и заключается основная задача. Проблема с компонентами, где уже есть чпу. Там где в ури присутствует дерево категорий, переопределить получится только ури самой статьи, вернее часть ури, соответствующий названию статьи. Написал статьи, потому что это компонент статей. Хотя для компонента статей не имеет смысла применять реврайт. Там это можно сделать при редактировании статьи(задать ури). Поэтому, считаю, что просто нужна проверка и если это "статьи", то запретить переопределение ури.
Блоги. Тут тоже не получится просто. Ури поста блога содержит название блога. Но ури поста блога нигде не получится переопределить в стандартном движке. Можно сделать проверку на "блоги" и сделать переопределение ури поста со включением названия блога. Только вот нужна ли эта возможность? Может, как в статьях, просто запретить? Такой вот вопрос.

Второй момент. На некоторых компонентах возможна некорректная работа. Если где будет проверяться какое-то условие по $_SERVER['REQUEST_URI'], потому как он у нас переопределенный. Пока не замечал где, но теоретически возможно. Всё простестить одному нет возможности. Поэтому придется сделать, потом уже тестить сообща.
#6 29 июня 2012 в 23:57
Марат

Проблема с компонентами, где уже есть чпу.

а почему бы не отключить такие компоненты из обработки ?
----------------------------------
хотелки
одной кнопкой — вводить на странице тег "не индексировать"
количество слов/знаков, тошнота и т.д.
показать по каким фразам страница в индексе и на каком месте(хоть есть сервисы, но все же)
высвечивание ключей в тексте
возможность сканировать апи я.метрики
#7 30 июня 2012 в 00:00
Готов принять участие как в тестировании, так и в случае необходимости, денежку перевести (так сказать помочь немного материально) за столь нужный компонент… А то давно уже мучаюсь "руками" все переделываю :(
#8 30 июня 2012 в 18:29
Хорошие новости… Переопределить можно будет любой ури, вне зависимости от компонента. Это я сам немного тормознул. Надо вставлять просто $_SERVER['SERVER_NAME'].

одной кнопкой — вводить на странице тег "не индексировать"

lezginka.ru
Это можно сделать. Весь контент генерируемый компонентом на странице заключать в теги <noindex></noindex>. А как быть с контеном модулей? А чтоб полностью страница не индексировалась, нужно редактировать robots.txt с админки. Это чревато последствиями. Не стоит делать. Или есть ещё способы, чтобы убрать индексацию? И по <noindex></noindex> отпишитесь, кто знает. Нужно ли, и правильно ли?
lezginka.ru, без обид. Этого не будет:

количество слов/знаков, тошнота и т.д.
показать по каким фразам страница в индексе и на каком месте(хоть есть сервисы, но все же)
высвечивание ключей в тексте
возможность сканировать апи я.метрики

lezginka.ru
Во-первых, в таблице компонента будут не все страницы. А только те, которые добавите сами вручную. То есть статистику можно будет посмотреть только по этой странице. А если делать, чтобы можно было посмотреть все страницы, это уже совсем другой компонент )
Во-вторых, это будет большое усложнение проекта. На первоначальной версии однозначно не будет. Возможно в будущем.
Опять же SJen уже вроде бы пишет подобное. Так что, в рамках данной разработки, наверно, лучше не стоит.

А то давно уже мучаюсь "руками" все переделываю :(

AlexandrA
В компоненте всё равно придется каждую страницу переделывать руками. Может немного удобнее и проще. Автоматики никакой. Не исключено, что в будущем можно будет немного автоматизировать. Например, по шаблону. Идея, конечно интересная. Но это в будущем.
#9 3 июля 2012 в 00:21
Ну что? Есть желающие потестрировать, прежде чем опубликуем.
Основное вроде готово. Тестировал только на локалхосте, по ходу работы.

Один маленький нюанс. Придется ввести небольшое изменение в файл ядра /core/cms.php. Находим строку примерно 1723, это в блоке public function proceedBody(){}
  1. $is_component = false;
и меняем на
  1. $is_component = true;
Это, как я понял, небольшой недочет. Видимо никто не использовал событие AFTER_COMPONENT_'.mb_strtoupper($component), поэтому и не заметили. По названию событие должно работать после работы компонента. Но из-за вышеуказанного флага оно не работает вообще. И вообще, этот флаг можно убрать, имхо.

Далее скачиваем архив, заливаем на сайт. Устанавливаем компонент seo-page, устанавливаем плагин seo-page, включаем плагин. Чтобы добавить seo-страницу, идем в админку компонента и нажимаем кнопку добавить. Админка идетнична другим компонентам. Разберетесь. В админке есть пояснилки.
Кроме того, что указано в первом моем посте, добавлена быстрая ссылка на редактирование с фронтенда. Только её надо включить в админке плагина. И с любой страницы компонентов можно будет перейти сразу в добавление или редактирование в админку(в отдельной строке).

Важно Рекомендую пока испробовать на реалхосте, но не рабочих сайтах. Мало ли что. Перед установкой и тестированием сделайте резервную копию файлов и бд. Еще один важный момент. В корень сайта добавляется файл custom_rewrite.php. Если у кого уже этот файл существует, смержите или просто удалите с архива этот файл перед заливкой на сервер.

Скачать можно здесь. Об ошибках или если что-то непонятно, отпишитесь…

Всем спасибо!

зы. забыл написать. URI замены(на который меняем) может и не содержать название компонента и любого уровня вложенности. Таким образом можно изменить ури любой страницы, главное, чтобы это страница была связана с каким-нибудь компонентом.
#10 3 июля 2012 в 02:53
Марат спасибо, поставил, проверил — все работает!
вопрос? а можно сделать возможность использования маски? например в урл вида /catalog/item35.html менять только /catalog/?*
ещё раз спасибо!
#11 3 июля 2012 в 02:58
Недавно делали на компоненты чпу. Опробовали вполне успешно схему site.ru/catalog_subaru.html редирект с соответственно site.ru/catalog/item102.html Если пригодится могу скинуть вам.

Огромный плюс, что вы взялись Марат за это.
#12 3 июля 2012 в 03:05

Если пригодится могу скинуть вам.

letsgo
если это про меня? скиньте конечно, интересно будет посмотреть.
#13 3 июля 2012 в 06:59

вопрос? а можно сделать возможность использования маски?

prosis
Да. Думаю можно будет. Думал об этом. До паблика постараюсь приделать.
Что-то мало желающих потестировать. Никому не нужно что ли? Или все ждут уже полностью проверенного варианта.
#14 3 июля 2012 в 08:44

Что-то мало желающих потестировать. Никому не нужно что ли?

Марат
Еще рано, вы выложили после двенадцати практически, в рабочий день, народ не сильно готов к труду над восстановлением собственных ресурсов😊в случае возникновения проблем. Думаю в течении дня сегодня народ распробует, осмыслит и отпишется… Я вот только скачал и собираюсь ставить :)

Забавно… scratchСделал все согласно приведенных выше инструкций и при попытке залогиниться пользователем\редактором\админом выдает "страница не найдена". Если убрать файлик (custom_rewrite.php) из корня то сразу все начинает фунциклировать нормально. Вот собственно…
#15 3 июля 2012 в 09:56
будет время потестирую=)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.