Перейти к содержимому


Простейший модуль ЧПУ


  • Вы не можете ответить в тему
Сообщений в теме: 415

#61 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 March 2012 - 02:14 PM

скажите, а ваш модуль отрабатывает ситуации, когда есть два товара с абсолютно одинаковым названием?

Нет, не отрабатывает. Мне это было не нужно и оставлено на потом, если вдруг кому понадобится.
При одноименных товарах в РАЗНЫХ категориях это сделать легко, надо добавить к ЧПУ товара еще и ЧПУ категории.
При одноименных товарах в ОДНОЙ категории тоже не сильно сложнее, но этот вариант мне представляется фантастично-теоретическим, т.к. одноименные товары в одной категории и без ЧПУ принесут кучу проблем.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#62 jasiuk

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 47 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 03:05 PM

Появилась такая же проблема с одноимёнными подкатегориями, подскажите, пожалуйста, как реализовать корректную работу скрипта?
  • 0

#63 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 March 2012 - 05:00 PM

Появилась такая же проблема с одноимёнными подкатегориями, подскажите, пожалуйста, как реализовать корректную работу скрипта?

Через пару дней сделаю. Если забуду, то, пожалуйста, напомните.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#64 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 06:48 PM

При одноименных товарах в ОДНОЙ категории тоже не сильно сложнее, но этот вариант мне представляется фантастично-теоретическим, т.к. одноименные товары в одной категории и без ЧПУ принесут кучу проблем.


Если они имеют разные ID и коды, то проблем быть не должно (или я ошибаюсь?). Исходя из своего опыта могу сказать, что такая ситуация бывает в случае автоматического граббинга товаров от разных поставщиков. Именно поэтому я стараюсь импортировать товары по коду (который самостоятельно уникализирую), а не по названию.
  • 0

#65 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 March 2012 - 08:05 PM

Если они имеют разные ID и коды, то проблем быть не должно (или я ошибаюсь?).

Ошибаетесь. Проблема будет не в логике работы CMS.
ID у продуктов и категорий уникален принципиально, таково свойство этого поля, оно инкрементное.
Но представьте, что Вы нажимаете на кнопочку "Прайс". Что увидите? Одноименные товары по разной цене? :)

PS. Если Вы уникализируете код товара и заведомо уверены в этом, то Вам сам бог велел использовать ЧПУ не по названию товара, а по коду (простейшие изменения в исходнике), либо по "код_название". ЧПУ по коду вместо ЧПУ по названию, конечно, будет уже нифига не Человечески-Понятным УРЛом, но, как мне кажется, это давно уже и не важно, т.к. ЧПУ делаются не для "человеко-понятности", а для поднятия веса у поисковиков.

PPS. Пожалуй, наиболее правильной (как следствие - простой, т.е. быстро работающей) реализацией жалаемого будет дописывать к транслиту названия товара/категории еще и его ProductID/CategoryID.

---------- Сообщение объединено ----------

Пожалуй, и к остальным всем ЧПУ дописывать ID их исходников - к статьям, новостям, статическим страницам. А хорошая ведь мысль родилась :).
Можно ее усложнить и приписывать только тогда, когда есть дубляж. Но мне это не нравится. Усложнит и замедлит.

---------- Сообщение объединено ----------

Пожалуй, наиболее правильной (как следствие - простой в реализации, т.е. быстро работающей) реализацией жалаемого будет дописывать к транслиту названия товара/категории еще и его ProductID/CategoryID.

Сделано.
Товар выглядит как cpu.badisoft.ru/195/Digma_a700
Категория как cpu.badisoft.ru/1/glavnaya_kategoriya
Статическая страница "О Магазине" как cpu.badisoft.ru/1/o_magazine
Новости аналогично. Таким образом повторяемость исключена в принципе.
Измененные строки (просто для понимания, что менять, если захочется реализовать уникальность как-то по другому):
В index.php:

$to="/".$matches['category']."/".translit($row['name']);
$to="/".$matches['product']."/".translit($row['name']);
$to="/".$matches['page']."/".translit($row['aux_page_name']);
$to="/".$matches['news']."/".translit($row['title']);


В sitemap.php:

$to = "/".$row['categoryID']."/".translit($row['name']);
$to = "/".$row['productID']."/".translit($row['name']);
$to = "/".$row['NID']."/".translit($row['title']);
$to = "/".$row['aux_page_ID']."/".translit($row['aux_page_name']);


Скачать новую версию можно где и всегда (см. шапку).

После заливки новых файлов index.php и sitemap.php надо удалить таблицу xxxx_cpu_table и заново запустить yousite/sitemap.php, чтобы создалась таблица с новыми ЧПУ и новый файл sitemap.xml.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#66 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 08:54 PM

Да, все правильно, отличное решение. Я уже когда-то встречал такое - к названию товара\категории приписывается уникальный ID. Таким образом с одной стороны полностью исключаются дубли, с другой - SEO не страдает. Только код приписывался не как отдельная "категория" в урле (т.е. через слэши), а добавлялся через дефис в конце урла. Например, для категории: http://domain.com/kategoriya-с46759, для товара - http://domain.com/Di...700-p65748.html

ИМХО, так читабельнее, хотя и не принципиально.
  • 0

#67 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 March 2012 - 09:02 PM

ИМХО, так читабельнее, хотя и не принципиально

Я же привел изменяемые строки. Сделайте как Вам удобнее. ИМХО, приведенного вполне достаточно, чтобы вместо "слэш, ID, слэш, name" сделать "слэш,name,минус,ID" :).
Я, собственно, так сначала и сделал, но мне понравилось меньше. ЧПУ-шная часть оказалась в середине строки между именем сайта и ID, что куда как менее читабельно.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#68 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 09:37 PM

Эх, интересную тему мы затронули. Вернее, Вы затронули, а я присоединился :) Когда-то разрабатывал ТЗ для программера на самописный движок, долго искал оптимальное соотношение в формировании урла между SEO-friendly показателем и юзабилити. Правда там все сложнее было, с мультиязычностью и геотаргетингом.

В продолжение: у меня есть еще два мысли касательно SEO и урлов.

1. Если взять пример из Вашего тестового сайта и посмотреть на текущее формирование урлов вложенных категорий, то мы увидим такой урл для категории PocketBook серии Pro: http://cpu.badisoft.ru/10/seriya_Pro. Я думаю очевидно, что значительно интереснее и ярче :) смотрелся бы урл типа http://cpu.badisoft....Book/seriya_Pro

2. Было бы полезно иметь возможность не транслитерировать русское имя категории, а переводить его на английский язык. Я понимаю, что поисковики понимают транслитерацию, но есть мнение, что еще лучше они понимают перевод. Плюс урлы с переводом выглядят солиднее что ли.. Не зря топовые магазины в основном используют такую схему.

Что скажете?
  • 0

#69 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 01 March 2012 - 10:18 PM

У меня (хотя базирусь на другом модуле ЧПУ), сделано так:
  • для категории - ваш_сайт.ru/pocket-book/
  • для подкатегории - ваш_сайт.ru/poсket-book-series-pro/
  • для товара - ваш_сайт.ru/pocket-book/poket-book-series-pro-d700/

Но это компромис, т.к. для товара лучше бы сделать проще: ваш_сайт.ru/poсket-book-series-pro-d700/
В любом случае при таких именованиях шанс повторения ЧПУ сводится к минимуму...

Однако, существует мнение (Лебедева к примеру), что ЧПУ должен повторять хлебные крошки, то есть в этом случае подкатегория должна выглядеть так: ваш_сайт.ru/poсket-book/series-pro/ и товар так: ваш_сайт.ru/pocket-book/series-pro/d700/
Это мнение никак не объясняется, кроме как понятностью для пользователей, но таких пользователей, которые бы тщательно изучали построние УРЛ-ов врядли более 1-2% из общей массы.
  • 0

#70 Juzeppe

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 10:23 PM

Вот что пишет мой провайдер: На наших серверах PHP установлен как обработчик CGI (suPHP)......Вы не можете использовать директивы php_value в файле .htaccess (это вызовет ошибку с кодом 500). Если не требуется вводить глобальные изменения, то можно просто воспользоваться функцией ini_set() непосредственно в коде скрипта.

Я залез в core/config/ там есть файлик init.php в нем раскоментировал
@ini_set('session.use_trans_sid',0);
@ini_set('session.use_cookies',1);
@ini_set('session.use_only_cookies',1);
@ini_set('session.auto_start',0);
@ini_set('magic_quotes_gpc',0);
@ini_set('magic_quotes_runtime', 0);
@ini_set('register_globals',0);
@ini_set('display_errors',0);
Все заработало только вот беда в формируемом sitemap.xml там где должна быть транскрипция с русских букв в латиницу пишет абракадабру. Возможно что-то с кодировкой. Подскажите что поправить?
  • 0

#71 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 01 March 2012 - 11:41 PM

У меня (хотя базирусь на другом модуле ЧПУ), сделано так:

  • для категории - ваш_сайт.ru/pocket-book/
  • для подкатегории - ваш_сайт.ru/poсket-book-series-pro/
  • для товара - ваш_сайт.ru/pocket-book/poket-book-series-pro-d700/

Но это компромис, т.к. для товара лучше бы сделать проще: ваш_сайт.ru/poсket-book-series-pro-d700/
В любом случае при таких именованиях шанс повторения ЧПУ сводится к минимуму...


Абсолютно согласен. Имею такое же мнение - и про категории, и про подкатегории, и про товары - т.е. урл товара должен быть ваш_сайт.ru/poсket-book-series-pro-d700/ , без указания категории.

Что касается Лебедева, то странно от него такое слышать. Или он не встречал товаров с длинным названием и глубокой вложенностью? А то бы порадовался за красоту подобных урлов. В любом случае, в данном вопросе он для меня не авторитет.
  • 0

#72 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 March 2012 - 12:31 PM

. Я думаю очевидно, что значительно интереснее и ярче смотрелся бы урл типа Yourshop - Yourshop

ЧПУ нынче надо для поисковиков, а не для людей. А у поисковиков совершенно иные понятия о "интереснее и ярче".

2. Было бы полезно иметь возможность не транслитерировать русское имя категории, а переводить его на английский язык. Я понимаю, что поисковики понимают транслитерацию, но есть мнение, что еще лучше они понимают перевод.

Предлагаю посмотреть на название этого модуля ЧПУ :).
Хочется чего-то более сложного - есть работающий на этом же принципе LiteSEOtools, имеющий редактор ЧПУ. Переводите хоть на хинди :). Есть работающие на другом принципе (не перехватывающие, а требующие изменения кода сайта) модули ЧПУ, в которых тоже есть редактор. В конце концов, и этому модулю применим любой редактор SQL-таблиц, там одна таблица из двух полей - обычная_ссылка и ЧПУ_ссылка.

---------- Сообщение объединено ----------

Все заработало только вот беда в формируемом sitemap.xml там где должна быть транскрипция с русских букв в латиницу пишет абракадабру. Возможно что-то с кодировкой. Подскажите что поправить?

Посмотрите содержимое SQL-таблички xxxx_cpu_table, что там? нормальные ссылки, абракадабра или в начале абракадабра, а в конце нормальные ссылки?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#73 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 02 March 2012 - 01:17 PM

ЧПУ нынче надо для поисковиков, а не для людей. А у поисковиков совершенно иные понятия о "интереснее и ярче".

Я же про поисковики и говорю. При продвижении товара PocketBook серии Pro урл _http://cpu.badisoft.ru/10/seriya_Pro менее интересен, чем _http://cpu.badisoft.ru/10/PocketBook/seriya_Pro или _http://cpu.badisoft.ru/10/PocketBook-seriya_Pro. Или вы считаете по-другому?

Более наглядный пример - фотоаппараты, видеокамеры и принтеры Canon. Урлы будут иметь примерно такой вид:
_http://mysite.com/3/Canon
_http://mysite.com/15/Canon
_http://mysite.com/63/Canon

Т.е. SEO тут особо не пахнет.

По-моему, решение здесь очевидно: проверять наличие родительской категории, если она есть - добавлять ее имя к формируемому урлу. Ну а реализовывать это или нет - естественно Ваше право.
  • 0

#74 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 02 March 2012 - 02:17 PM

При продвижении товара PocketBook серии Pro урл _http://cpu.badisoft.ru/10/seriya_Pro менее интересен, чем _http://cpu.badisoft.ru/10/PocketBook/seriya_Pro или _http://cpu.badisoft.ru/10/PocketBook-seriya_Pro. Или вы считаете по-другому?


считаю по-другому..... если вы продвигаете по вхождению серии Pro продвигайте более релевантные страницы _http://cpu.badisoft.ru/10/seriya_Pro
а если товар PocketBook то продвигайте категорию Yourshop - Yourshop к примеру или отдельную страницу заточенную под фирму......

но _http://cpu.badisoft.ru/10/PocketBook/seriya_Pro вот это с кучей вложенностей тоже не есть идеал........... и эта дополнительная вложенность ради того чтобы избежать дубли ИМХО не вариант, лучше уж дописывать в конце цифру .
  • 0

#75 tonio

    Пользователь

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 02 March 2012 - 02:54 PM

считаю по-другому..... если вы продвигаете по вхождению серии Pro продвигайте более релевантные страницы _http://cpu.badisoft.ru/10/seriya_Pro
а если товар PocketBook то продвигайте категорию Yourshop - Yourshop к примеру или отдельную страницу заточенную под фирму......


Серию Pro бессмысленно продвигать ибо это непонятно что. Такая серия может быть у любых производителей.

Я приводил более наглядный пример с Кэноном. Если я хочу, например, продвинуть страницу по запросу "фотоаппараты Canon" - то какой целевой урл более интересен:
_http://mysite.com/10/Canon или _http://mysite.com/fotoapparaty-Canon ?

Для меня очевидно второй.
  • 0

#76 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 02 March 2012 - 03:15 PM

Я приводил более наглядный пример с Кэноном. Если я хочу, например, продвинуть страницу по запросу "фотоаппараты Canon" - то какой целевой урл более интересен:
_http://mysite.com/10/Canon или _http://mysite.com/fotoapparaty-Canon ?

Для меня очевидно второй.


если вы продаете фотоаппараты кенон, то более очевидно что у Вас в названии каждого товара будет ФОТОАППАРАТ КЕНОН - XXX
а продвигать категорию можно по бренду Кенон

при этом с вот такой формулировкой _http://mysite.com/fotoapparaty-Canon - я еще согласен, а вот с такой _http://mysite.com/fotoapparaty/Canon както не особо
лучше както вот так например _http://mysite.com/Canon/fotoapparat-canon-xxx.html или _http://mysite.com/fotoapparat/fotoapparat-canon-xxx.html ну или
_http://mysite.com/fotoapparaty-Canon/fotoapparat-canon-xxx.html - но тогда полный дубль вхождений
  • 0

#77 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 March 2012 - 04:05 PM

Я же про поисковики и говорю. При продвижении товара PocketBook серии Pro урл _http://cpu.badisoft.ru/10/seriya_Pro менее интересен, чем _http://cpu.badisoft.ru/10/PocketBook/seriya_Pro или _http://cpu.badisoft.ru/10/PocketBook-seriya_Pro. Или вы считаете по-другому?

Я вообще никак не считаю, т.к. по этому вопросу можно ЗНАТЬ, но никак уж не считать. Но лично мне куда более удобны и симпатичны короткие УРЛы. Вне зависимости от SEO.
Я не видел, чтобы вопрос "интересности урла" где-то описывался не на уровне "мне так кажется/я так считаю", т.е. максимум на уровне эмпирики, а внятно и с четким алгоритмом. А пока нет алгоритма - у каждого разное "я так считаю" и даже общепринятое "есть мнение" запросто может быть далеким от оптимальности.

PS. Сделал ЧПУ товаров и категорий в стиле, рекомендованном Лебедевым. Смотреть и скачивать там же.

---------- Сообщение объединено ----------

http://mysite.com/fotoapparaty-Canon - я еще согласен, а вот с такой _http://mysite.com/fotoapparaty/Canon както не особо

А почему? В чем отличие? Разница-то в слеше вместо минуса.

PS. Отправка сообщений не чаще одного в 150сек начинает конкретно доставать :).

---------- Сообщение объединено ----------

По-моему, решение здесь очевидно: проверять наличие родительской категории, если она есть

Она есть всегда. Более того, всегда есть, как минимум, ДВЕ категории - родительская и родительская родительской.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#78 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 02 March 2012 - 04:15 PM

Я не видел, чтобы вопрос "интересности урла" где-то описывался не на уровне "мне так кажется/я так считаю", т.е. максимум на уровне эмпирики, а внятно и с четким алгоритмом. А пока нет алгоритма - у каждого разное "я так считаю" и даже общепринятое "есть мнение" запросто может быть далеким от оптимальности.


А никогда и не увидишь, потому что если бы кто-нибудь точно знал алгоритмы поисковиков, которые кстати постоянно меняются, то в продвижении и смысла бы не было, ТОПы достигались бы просто нефиг делать.... А проблема как раз в том, что алгоритмы засекречены и остается надеяться только на свои домыслы... кто как считает, ну и разумеется на то, что показывает практика и эксперименты.

Что же касается Лебедева, то мало того что по СЕО он не является авторитетом, вообще не понимаю почему он советы дает, для меня он и как дизайнер то не особо крут, ну да нарисовал он карандаш для Яндекса и что стал мега дизайнером............ все дизайны минимизированы, и в большинстве структура такая что черт ногу сломит. Чего только стоит новый дизайн Приватним абонентам - кстати это уже не первая версия, после первой много чего обновили - видимо по той причине что было много жалоб.
Вот найдите там как прочитать ммс в интернете с сайта, а не на телефоне............. А эта страница там есть (!!!). Так что Лебедев - не авторитет.


А почему? В чем отличие? Разница-то в слеше вместо минуса.

Разница во вложенностях - не в длинне даже а именно в слешах - чем больше их тем глубже - чем глубже, тем хуже (не могу логически объяснить почему, но есть такое мнение.... и вроде бы как обоснованное).
  • 0

#79 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 March 2012 - 04:29 PM

Разница во вложенностях - не в длинне даже а именно в слешах - чем больше их тем глубже - чем глубже, тем хуже (не могу логически объяснить почему, но есть такое мнение.... и вроде бы как обоснованное).

Я правильно понимаю, что "на эмпирическом уровне" :) вложений должно быть как можно меньше, т.е. даже если они есть, то стоит заменять слэш другим символом? А если вложение из трех категорий, то все три уж точно не стоит пихать в ЧПУ? Максимум две, одну, а то и ни одной - в зависимости от присутствия информации о категории в самом названии товара.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#80 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 02 March 2012 - 04:39 PM

Вот вам обсуждаемые источники (читаем, вникаем):
[HIDE="1"][/HIDE]
ИМХО, Лебедев чисто написал что думал в связи с изначальной концепцией ЧПУ от Тима Бернерса-Ли. А поисковики исходят из своих алгоритмов. Однако! Существует явная тенденция поисковиков очеловечивать свои алгоритмы (то есть смотреть на WEB с точки зрения пользователя), заставляя оптимизаторов постепенно переключиться с SEO на HO (human optimization), или, просто напросто стереть границы между ними. Текущий лозунг Google - это типа "делай для людей и вырастешь в поиске, а будешь хитрить и делать все для top10 - упадешь в ОПу"... Ну и т.д. и т.п.
  • 0