В slug записи добавляется месяц

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Уже были темы с аналогичными вопросами, но они закрыты

#1 30 сентября 2023 в 16:19

Ребята, поиском по сайту нашел эти вопросы, но туда нельзя добавить мой вопрос, так как эти темы закрыты — «Решено».

Я сейчас тоже обнаружил, что у меня к году добавился месяц в slug. Как то не очень смотрится. Я создал новый тип контента и одним из его полей является год выпуска из военного училища. И теперь slug  вместо base/1972/1-uve выглядит так: base/1972august/1-uve

Ранее там нужно было закомментировать в /system/languages/ru/functions.php такую строку 

  1. if (is_numeric($slug)){ $slug .= strtolower(date('F')); }

Я открыл этот файл, сейчас там немного по другому....

  1. function lang_slug($string, $disallow_numeric = true) {
  2.  
  3. $string = strip_tags(trim($string));
  4. $string = mb_strtolower($string);
  5. $string = str_replace(' ', '-', $string);
  6.  
  7. $slug = preg_replace('/[^a-zа-яё0-9\-\/]/u', '-', $string);
  8. $slug = preg_replace('/([-]+)/i', '-', $slug);
  9. $slug = trim($slug, '-');
  10.  
  11. $ru_en = [
  12. 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
  13. 'е' => 'e', 'ё' => 'yo', 'ж' => 'zh', 'з' => 'z',
  14. 'и' => 'i', 'й' => 'i', 'к' => 'k', 'л' => 'l', 'м' => 'm',
  15. 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's',
  16. 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
  17. 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ъ' => '', 'ы' => 'y',
  18. 'ь' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ja'
  19. ];
  20.  
  21. $slug = strtr($slug, $ru_en);
  22.  
  23. if (!$slug) {
  24. $slug = 'untitled';
  25. }
  26. if ($disallow_numeric && is_numeric($slug)) {
  27. $slug .= strtolower(date('F'));
  28. }
  29.  
  30. return $slug;
  31. }
  32.  

Правильно ли я понял, что сейчас чтобы не добавлялся месяц к цифрам в УРЛ — достаточно поменять только в верхней части функции вот на это

  1. function lang_slug($string, $disallow_numeric = false)

И тогда месяц не будет добавляться к цифровой части УРЛ?

И еще подскажите пожалуйста если я создал уже очень много записей — теперь убрать месяц из УРЛ можно только редактируя все записи или в базу данных залезть? Что посоветуете ребята? Или оставить все как есть? В чем вообще опасность или вредность если в составе УРЛ будут просто цифры по годам? 

#2 1 октября 2023 в 21:14

Дааааа… спасибо всем за ответы:)  Так и не понял  в чем вообще опасность или вредность если в составе УРЛ будут просто цифры по годам? 

#3 1 октября 2023 в 21:20

Наверное ни кто не понимает о чём вы..

В шаблоне генерации УРЛ стоит поле год выпуска? Какой тип этого поля?

#4 1 октября 2023 в 21:24

Дааааа… спасибо всем за ответы:)  Так и не понял  в чем вообще опасность или вредность если в составе УРЛ будут просто цифры по годам? 

Юран

нет не какой опасности или вредности, с точки зрения СЕО и прочего разницы нет будет только год или будет как сделано сейчас с месяцем, просто разные цели будут достигаться.

#5 1 октября 2023 в 23:27

просто разные цели будут достигаться

maxisoft

А почему разные цели будут достигаться? Ведь УРЛы такого вида base/1972august/1-uve  и такого вида base/1972/1-uve  выведут одну и ту же страницу....

Добавлено спустя 1 час

Наверное ни кто не понимает о чём вы..

В шаблоне генерации УРЛ стоит поле год выпуска? Какой тип этого поля?

denmois

У меня тип контента с категориями, в роли категорий года выпуска, выглядит так 

Изображение

Помимо категорий используется еще вот это поле instantcms.ru/forum/pole-god.html  для удобства поиска через фильтр. 

Я вроде задал конкретный и простой вопрос — в чем разница между base/1972august/1-uve  и  base/1972/1-uve.   Мне просто не понравилось, что добавляется месяц и выглядит нелепо и в УРЛ и в breadcrumb. Сейчас я внес изменение в файл, записал $disallow_numeric = false. Но вопрос то остался… Для чего это сделано было — добавление месяца к цифровой части УРЛ? Может в моем случае убрать месяц ни на что не повлияет… но ведь неспроста по умолчанию добавляется месяц к цифрам....

#6 2 октября 2023 в 10:51

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

#7 2 октября 2023 в 12:08

но ведь неспроста по умолчанию добавляется месяц к цифрам....

Юран

ИМХО может ошибаюсь… У всех задачи разные, для кого то по SEO достаточно что бы был обозначен только год, а для кого то необходима большая детализация до месяца...

Например в поисковых запросах ищут «топ такого то года» или «какие празднике в месяце таком то»… и согласен с  maxisoft, возможно нет там никакого глубинного смысла, а просто сделано для разнообразия URL...

Для чего это сделано было — добавление месяца к цифровой части УРЛ? Может в моем случае убрать месяц ни на что не повлияет…

Юран

SEO очень хитрая наука, один сеошнег вам скажет, не парьтесь никаких проблем нет, другой будет утверждать, что указывать месяц обязательно так как это дает поисковику более точную информацию...

 Мне просто не понравилось, что добавляется месяц и выглядит нелепо и в УРЛ и в breadcrumb

Юран

Опять же ИМХО, делайте, как считаете лучше для ВАШЕГО сайта… Я могу только сказать, что лично мне кажется, что подобная детализация вряд ли нужна...

Потому что, элементарно если начать заморачиваться в эту сторону SEO (построение правильного URL) тогда начинать надо с уровня вложенности, чем меньше тем лучше... 

И такой синтаксис (если уж говорить о добавлении месяца),  /1972-august/ был бы лучше, чем такой /1972august/… и т.д.

#8 2 октября 2023 в 16:50

Большое спасибо всем за участие. Оставлю только годы, потому что при создании контента в УРЛ тупо добавлялся просто текущий месяц, который к записи не имеет никакого отношения. Я потом отредактировал одну августовскую запись, уже в сентябре — получилось такое base/1972september/1-uve  

Согласен, что для уникализации УРЛ оно может и нужно, но у меня база выпускников, логичнее и красивее смотрится без месяца. Более менее разобрались с вопросом, спасибо огромное за ответы 👍🤝

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.