Если ещё актуально
Не надо Ultimate_SEO_URLs. Лишние они для xt:Commerce - там родной SEFU сделан лучше. Надо просто перекодировку в транслит сделать в xtc_cleanName.inc.php:
<?php /* ----------------------------------------------------------------------------------------- $Id: xtc_cleanName.inc.php 1319 2005-10-23 10:35:15Z mz $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright (c) 2003 XT-Commerce Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ function xtc_cleanName($name) { $cyrillic = array("ж", "ё", "й","ю", "ь","ч", "щ", "ц","у","к","е","н","г","ш", "з","х","ъ","ф","ы","в","а","п","р","о","л","д","э","я","с","м","и","т","б","Ё","Й","Ю","Ч","Ь","Щ","Ц","У","К","Е","Н","Г","Ш","З","Х","Ъ","Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","Я","С","М","И","Т","Б"); $translit = array("zh","yo","i","yu","","ch","sh","c","u","k","e","n","g","sh","z","h","", "f", "y", "v", "a", "p", "r", "o", "l", "d", "yе", "jа", "s", "m", "i", "t", "b", "yo", "I", "YU", "CH", "", "SH", "C", "U", "K", "E", "N", "G", "SH", "Z", "H", "", "F", "Y", "V", "A", "P", "R", "O", "L", "D", "Zh", "Ye", "Ja", "S", "M", "I", "T", "B"); $name=str_replace($cyrillic, $translit, $name); $replace_param='/[^a-zA-Z0-9]/'; $name=preg_replace($replace_param,'-',$name); $name = str_replace(array("_-","-_","--","__"), array("-","-","-","_"), $name); return $name; } ?>
P.S. xt:Commerce - классный скрипт! Но zen cart лучше :)
Для phpBB2
1. В темплейтах найди файл bbcode.tpl.
2. В нём ищи строку начинающуюся с <!-- BEGIN url -->. Это шаблон для <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> меняй на <!-- BEGIN url --><noindex><a href="{URL}" target="_blank" class="postlink" rel="nofollow">{DESCRIPTION}</a><noindex><!-- END url --> Правда это не решает проблем с автораспознованием. Для этого в bbcode.php смотрим функцию function make_clickable, ищем две строки: // matches an "xxxx://yyyy" URL at the start of a line, or after a space. // xxxx can only be alpha characters. // yyyy is anything up to the first space, newline, comma, double quote or < $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); // matches a "[/zzzz]" kinda lazy URL thing // Must contain at least 2 dots. xxxx contains either alphanum, or "-" // zzzz is optional.. will contain everything up to the first space, newline, // comma, double quote or <. $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); Соответственно добавляем <noindex> и rel="nofollow". IPB 2.1.3 class_bbcode_core.php Функция function regex_build_url( $url=array() ) ... return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; Опять же, соответственно добавляем <noindex> и rel="nofollow". P.S. Чтобы не раздражать валидаторы, я использую <noindex> и rel="nofollow" только для роботов." title=". Добавляй что хочешь. Например стандартный templates/subSilver/bbcode.tpl содержит <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> меняй на <!-- BEGIN url --><noindex><a href="{URL}" target="_blank" class="postlink" rel="nofollow">{DESCRIPTION}</a><noindex><!-- END url --> Правда это не решает проблем с автораспознованием. Для этого в bbcode.php смотрим функцию function make_clickable, ищем две строки: // matches an "xxxx://yyyy" URL at the start of a line, or after a space. // xxxx can only be alpha characters. // yyyy is anything up to the first space, newline, comma, double quote or < $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); // matches a "[/zzzz]" kinda lazy URL thing // Must contain at least 2 dots. xxxx contains either alphanum, or "-" // zzzz is optional.. will contain everything up to the first space, newline, // comma, double quote or <. $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); Соответственно добавляем <noindex> и rel="nofollow". IPB 2.1.3 class_bbcode_core.php Функция function regex_build_url( $url=array() ) ... return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; Опять же, соответственно добавляем <noindex> и rel="nofollow". P.S. Чтобы не раздражать валидаторы, я использую <noindex> и rel="nofollow" только для роботов." target="_blank">. Добавляй что хочешь. Например стандартный templates/subSilver/bbcode.tpl содержит <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> меняй на <!-- BEGIN url --><noindex><a href="{URL}" target="_blank" class="postlink" rel="nofollow">{DESCRIPTION}</a><noindex><!-- END url --> Правда это не решает проблем с автораспознованием. Для этого в bbcode.php смотрим функцию function make_clickable, ищем две строки: // matches an "xxxx://yyyy" URL at the start of a line, or after a space. // xxxx can only be alpha characters. // yyyy is anything up to the first space, newline, comma, double quote or < $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); // matches a "[/zzzz]" kinda lazy URL thing // Must contain at least 2 dots. xxxx contains either alphanum, or "-" // zzzz is optional.. will contain everything up to the first space, newline, // comma, double quote or <. $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); Соответственно добавляем <noindex> и rel="nofollow". IPB 2.1.3 class_bbcode_core.php Функция function regex_build_url( $url=array() ) ... return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; Опять же, соответственно добавляем <noindex> и rel="nofollow". P.S. Чтобы не раздражать валидаторы, я использую <noindex> и rel="nofollow" только для роботов.
<!-- BEGIN url --><noindex><a href="{URL}" target="_blank" class="postlink" rel="nofollow">{DESCRIPTION}</a><noindex><!-- END url -->
// matches an "xxxx://yyyy" URL at the start of a line, or after a space. // xxxx can only be alpha characters. // yyyy is anything up to the first space, newline, comma, double quote or < $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); // matches a "[/zzzz]" kinda lazy URL thing // Must contain at least 2 dots. xxxx contains either alphanum, or "-" // zzzz is optional.. will contain everything up to the first space, newline, // comma, double quote or <. $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
function regex_build_url( $url=array() ) ... return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
Куки обрабатываете?
И никто не умеет работать с сайтами в кодировке utf-8.
Из бесплатных мне нравятся zen-cart и xtCommerce.