[Другое] SEF (ЧПУ) в IP.Board 3

Статус
В этой теме нельзя размещать новые ответы.

Kosiak

Гуру форума
Регистрация
12 Сен 2006
Сообщения
627
Реакции
75
Ещё одна проблема IP.Board 3 в малой разумности встроенного SEF (основная проблема, что он оставляет кирилицу в адресе). Хотелось бы оптимизировать пути на форуме под свои нужды и избавиться от кирилицы там, где она точно не нужна.

Хорошими вариантами SEF могли бы стать:
- транслитерирование (путь IBR, но пока от них нет релиза), например: myforum.ru/forum/40-forum-o-sobakah/
- либо числовой путь до объекта(наиболее элегантный путь, я считаю), например: myforum.ru/forum/40/

В данных примерах мне не нравится только одно, слово в адресе: /forum/
существует масса вещей, для чего жёстко прописанные слова, придуманные IPS не подходят. А таких разделов в "трёшке" появляется несколько:
/forum/
/topic/
/user/
/calendar/
Уверен, что многие могли бы придумать для своих форумов гораздо более красивые пути, чем придумали "специалисты" из IPS.
Вопрос лишь заключается в том, как это сделать?

Давайте делиться информацией по тому, как изменить стандартное формирование путей в IPB3.
 
Z могу ошибаться но разве не в файле .htacces это прописывается?
 
Ещё одна проблема IP.Board 3 в малой разумности встроенного SEF
А чем кирилица не устраивает, википедия ж работает и никто не жалуется, ютф в масы проникают, даешь кирилицу в ссылках :-]
 
Нет.


Добавлено через 2 минуты
А чем кирилица не устраивает, википедия ж работает и никто не жалуется, ютф в масы проникают, даешь кирилицу в ссылках :-]
Я тоже так раньше думал, но потом передумал :-]
Инфраструктура недостаточно проработана ещё для этого: такие адреса не передаются, они сначала браузерами переводятся в коды и только затем отправляются. Если скрипт или устройство или паук не понимают как это всё собрать назад, то мы увидим очень некрасивый адрес. По мне, чем адрес короче, тем лучше.
 
  • Заблокирован
  • #5
Kosiak, причем тут боты(поисковые) ЧПУ же изначально для человеко-понятных ссылок сделан.
Удобно же писать аля википедия/ссылка-на-тему. По моему очень удобно.
 
неудобно эту ссылку потом куда-нибудь копировать.
А вообще никто не видит разницу между русским ЧПУ и английским SEF?
Все их употребляют как синонимы, но это далеко не так. Я не уверен, что русский ЧПУ - это хороший вариант для людей. Вот "русский" адрес первой страницы из Википедии:
хттп://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
Нравится? Мне нет.
 
  • Заблокирован
  • #7
Да знаю я про такие адреса, эт понятно... но если просто вместо %D0%97%D0%B0%D0%B3%D0%BB% написать русскими то перейдет по той же ссылке.
Есть такой подгон у поисковиков, выводить ссылки без перекодировки обратно как есть на самом деле, а как оно к ним отправляется (кодом русских символов)
Америкосам в этом отношении оч повезло, нет этого гемороя изначально все красиво.

Тебе бы как хотелось то - транслит? Как например в Вобла SEO заменяется русские символы в адрисе на транслит.
Ну если совсем бесит то можно отключить и забыть про сео.
 
Отключать не нужно. Транслит - это некрасиво, но свои 5 копеек в SEO добавляет (поисковики свободно разбирают транслит, как оказалось). В тех проектах, которые важны для меня, на которые ходят люди я оставлю просто эстетические короткие ссылки SEF по id (в версии от IBR они будут). Если же мне понадобится что-то быстро протолкнуть поисковикам, то выберу транслит (скорее всего такой мод скоро появится). И уж совсем на гавно можно оставить русские URL - поисковики их понимают, а на остальных... в общем, главное, чтоб поисковики любили :-]
 
Anroid SEO Translit URLs Fix
Описание: фикс переводит в транслит ссылки основанные на тайтлах тем сообщений форума.
Ссылка до: index.php?/topic/2-супер-мега-тема-на-русском/
Ссылка после: index.php?/topic/2-super-mega-tema-na-russkom/

Вообщем замене подлежит один файлик: admin\sources\classes\output\publicOutput.php используется функция iconv() но она на всех нормальных хостингах да и на денвере есть, кодировку файлика не менять на ютф =).

Инструкция по установке: распаковать в корень форума с заменой файла.

Anroid SEO Translit URLs Fix:


Для тех кто любит сам и руками:

1) Открыть файл: admin\sources\classes\output\publicOutput.php, найти в нем текст:
Код:
    /**
     * Formats the URL (.htaccess SEO, etc)
     *
     * @access    public
     * @param    string    Raw URL
     * @param    string    Any special SEO title passed
     * @param    string    Any special SEO template to use. If none is passed but SEO is enabled, IPB will search all templates for a match
     * @return    string    Formatted  URL
     */
2) До него вставить:
Код:
    /**
     * Функция перевода кирилицы в латиницу (транслит)
     *
     * @access    public
     * @param    string        Строка в кирилице
     * @return    string        Строка в латинце
     */
    public function ru2Lat($string)
    {    
        $string = iconv("UTF-8", "cp1251",  urldecode($string)); 
        $rus = array('ё','ж','ц','ч','ш','щ','ю','я','Ё','Ж','Ц','Ч','Ш','Щ','Ю','Я');
        $lat = array('yo','zh','tc','ch','sh','sh','yu','ya','YO','ZH','TC','CH','SH','SH','YU','YA');
        $string = str_replace($rus,$lat,$string);
        $string = strtr($string,
                "АБВГДЕЗИЙКЛМНОПРСТУФХЪЫЬЭабвгдезийклмнопрстуфхъыьэ",
                "ABVGDEZIJKLMNOPRSTUFH_I_Eabvgdezijklmnoprstufh_i_e");
        $string = urlencode($string);
        return($string);
    }
3) тутже ниже найти код:

Код:
    public function formatUrl( $url, $seoTitle='', $seoTemplate='' )
    {
4) Ниже вставить:
Код:
        //START: ANDROID FIX: Translit URLs            
        $seoTitle = $this->ru2Lat($seoTitle);
        //STOP: ANDROID FIX: Translit URLs
5) Все теперь ссылки на теме в транслите ;-)
 
  • Заблокирован
  • #10
а как если я форум хочу в UTF8?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху