Организация информации на сайте
Что я имею в виду?
Сейчас инстант имеет меню-ориентированную организацию, то есть структура меню определяет какой будет адрес у материала. И это имеет побочный эффект — при такой организации имеет значение каким путем пользователь/поисковый бот до материала (статья/блог и пр.). При разном пути и адреса одного и того же материала будут разные 😥
Нужно сделать материало- (раздело-/рубрико- как понятнее)ориентированную организацию. То есть каким бы образом пользователь не добирался до материала адрес должен быть одним единственным.
Тогда зная название раздела и название материала можно легко сформировать полную ссылку. В том числе и для формирования карты сайта. Сейчас для того, чтобы сформировать карту сайта без сканирования сайта не обойтись и все из-за такой организации информации, а было бы наоборот простой запрос к паре таблиц и на все формирование карты сайта уйдет несколько секунд.
Ввели адрес /content/stati/bizness/ попали в раздел на сайте Статьи — Бизнес.
Ввели адрес /content/stati/bizness/super-puper-zarobotok.html — открыли статью "Супер пупер заработок" в указанном выше разделе. И никаких заморочек. Нашли через поиск, вышли через теги или любым другим путем адрес материала остается неизменным /content/stati/bizness/super-puper-zarobotok.html.
/view-content/do-read/id-32/menuid-38
/view-catalog/do-cat/id-5/menuid-48
/view-users/menuid-42
Это не есть хорошо!
Необходимо дать возможность пользователю самому назначать путь…
Вот лишь несколько ссылок на один и тот же материал (статью) на сайте:
sverdlovsk.net.ua/content/37/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/125/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/124/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/123/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/37/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/0/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
sverdlovsk.net.ua/content/49/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
этот список можно продолжить и далее, но смысла нет и так все понятно. Цифру после слова контент можно ставить любую лишь бы был пункт в меню с таким id.
И совершенно не важно что этот пункт ведет в совершенно другой раздел сайта, блоги, каталог, фотоальбом все равно покажет эту статью.
А теперь скажите мне, какое отношение имеет раздел фотографии домашних любимцев к статье об автовокзале?
Не знаю, где находят пауки эти левые ссылки, но они их находят!
sverdlovsk.net.ua/view-content/do-read/id-79/menuid-53 — это ссылка прямо из меню на статью
sverdlovsk.net.ua/content/10/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html — это ссылка из модуля "последние материалы" и тут кстати тоже возможны варианты. Все зависит от настройки этого модуля "Переходить в пункт меню". Имеется в виду, какая цифра будет стоять после слова content.
sverdlovsk.net.ua/content/50/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html — это вернулся по PathWay на несколько шагов назад и прошел по пути
sverdlovsk.net.ua/content/0/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html#c — это ссылка из модуля "последние комментарии".
У меня в базе 593 статьи, 386 фотографий, 42 позиции в каталоге и более 12000 страниц в базе Яндекса, как вы думаете это правильно?
А что будет когда Яндекс проанализирует то, что насобирал на моем (и на ваших, кстати, сайтах тоже)?
Никто не скажет. Может ничего не будет, а может и в бан загреметь.
А как правильно?
В базе есть таблица cms_content в ней есть поле category_id — все, больше ничего не нужно. Единственное, что можно из соответствующей таблицы подтянуть нужные данные по категории (название, что показывать и т.д. и п.р.)
Проверили, можно показывать или нет и выдали seo-название категории (сейчас materialy/sverdlovsk/transport/avtovokzal) плюс seo-название статьи (materialy/sverdlovsk/transport/avtovokzal/avtovokzal).
Ага, сейчас seo-название статьи сразу включает и название раздела, прекрасно, значит seo-название категории(раздела) не берем.
В итоге получается ссылка sverdlovsk.net.ua/content/materialy/sverdlovsk/transport/avtovokzal/avtovokzal.html
Расшифровывается ссылка следующим образом: Материал(статья) avtovokzal.html лежащий в разделе "/materialy/sverdlovsk/transport/avtovokzal/" от корня сайта. Слово content сообщает, что это статья, а не блог или фотки или каталог.
А как легко можно будет сделать модуль "Карта сайта" — просто сказка. Кроме, формирования непосредственно sitemap.xml можно будет легко формировать html-версию для сайта с иерархией и прочими примочками.
Только не надо мне говорить, что мол не нравится не пользуйся. Мне инстант нравится и я хочу сделать его еще лучше.
Я беспокоюсь о будущем своего сайта и будущем будущих своих сайтов и о будущем ваших сайтов и о будущем сайтов будущих вебмастеров, которые будут пользоваться для себя и своих будущих пользователей инстантом… 😊
со временем мы будем постепенно изменять эту ситуацию, но нужно понимать что это не самая тривиальная задача и она займет определенное время, не самое короткое.
Замена алгоритма формирования ссылок задача не тривиальная, но в целом система станет проще. Все равно, думаю, формированием в основном занимается некий набор функций в библиотеках и замена их поменяет и в целом для движка.
Рад, что вы тоже считаете это необходимым.
Проблема, описанная здесь давно решена начиная с релиза 1.6.