dmpress

Участники
  • Публикации

    85
  • Зарегистрирован

  • Посещение

  • Days Won

    6

Все публикации пользователя dmpress

  1. Ок. Хочу заказать у вас платные доработки. Добавлю тогда этот момент.
  2. ничего не изменилось если подстановочный алиас realty - в письме ссылка с адресом /realty123 - при переходе по ней открывается страница с адресом /realty123 если ставлю свой подстановочный алиас rest - в письме ссылка с адресом /realty123 при переходе - открывается страница ошибки 404 еще изменил в этой функции везде realty на rest - тоже не заработало))
  3. я вот про это - редирект не идет Вы про это? здесь имеется в виду свой алиас - "подстановочная часть стандартного алиаса объявления"?
  4. Дмитрий, я же об этом и пишу. Я изменил свой подстановочный алиас на стандартный. Но всё работает не совсем корректно - письмо приходит как и раньше со ссылкой вида /realty123, ссылка нормально открывается (если подстановочный алиас нестандартный - то ссылка не открывается), но она открывается по адресу /realty123 вместо адреса, который формируется на сайте в соответствии с заданными условиями расширенных алиасов, т.е. переадресация с адреса /realty123 на правильный адрес не происходит - а значит это дубль нормальной страницы и он будет проиндексирован при включенном обходе по метрике. Мы как будто говорим на разных языках)) Давайте ещё раз. Я установил следующие правила в настройках, чтобы было понятно заскринил всю страницу. При этих правилах по ссылке из письма "Заявка на объект" переход происходит на дубль объекта с адресом /realty123 Как сделать так, чтобы переход происходил на нормальную страницу объекта? Попробуйте на демо - там тоже самое.
  5. попробовал и так и там ещё есть чуть ниже if (1 == $this->getConfigValue('apps.seo.level_enable') && preg_match('/^realty/', $requesturi)) тоже поставил свой алиас, но не сработало - и так и так подставляется realty и страница открывается с ошибкой но я не понимаю почему мы меняем realty на мой алиас? ведь когда прописываю realty - письмо корректно открывается по адресу site.ru/realty-77 (для примера), меня не устраивает что это дубль существующей страницы и редирект на существующую не происходит, как написано выше здесь вот мой полный исходный файл main main.php
  6. у меня вот так, шаблон Новосёл function isRealtyDetected($requesturi) { $result = false; $unknown_address = false; $realty_id = false; if (!$result && 1 == $this->getConfigValue('apps.seo.data_alias_enable')) { $url_string_parts = explode('/', $requesturi); if (count($url_string_parts) > 0) { $possible_alias = $url_string_parts[count($url_string_parts) - 1]; $possible_alias = preg_replace('/[^A-Za-z0-9_-]/', '', urldecode($possible_alias)); if ($possible_alias != '') { $DBC = DBC::getInstance(); $query = "SELECT id FROM " . DB_PREFIX . "_data WHERE translit_alias=? LIMIT 1"; $stmt = $DBC->query($query, array($possible_alias)); if ($stmt) { $ar = $DBC->fetch($stmt); if ((int) $ar['id'] > 0) { $realty_id = (int) $ar['id']; $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); if ($html = $kvartira_view->main($realty_id)) { $this->template->assert('main', $html); $result = true; } } } } } } if (!$result && preg_match('/realty/', $requesturi)) { if (1 == $this->getConfigValue('apps.seo.level_enable') && preg_match('/^realty/', $requesturi)) { $realty_id = $this->getIDfromURI($requesturi); if ($realty_id) { $query = 'SELECT topic_id FROM ' . DB_PREFIX . '_data WHERE id=?'; $DBC = DBC::getInstance(); $stmt = $DBC->query($query, array($realty_id)); if ($stmt) { $ar = $DBC->fetch($stmt); $topic_id = $ar['topic_id']; } require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/admin/structure/structure_manager.php'); $Structure_Manager = new Structure_Manager(); $category_structure = $Structure_Manager->loadCategoryStructure(); if ($category_structure['catalog'][$topic_id]['url'] != '') { $parent_category_url = $category_structure['catalog'][$topic_id]['url'] . '/'; } else { $parent_category_url = ''; } if (1 == $this->getConfigValue('apps.seo.html_prefix_enable')) { $new_location = SITEBILL_MAIN_URL . '/' . $parent_category_url . 'realty' . $realty_id . '.html'; } else { $new_location = SITEBILL_MAIN_URL . '/' . $parent_category_url . 'realty' . $realty_id; } header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $new_location); exit(); } } elseif (1 == $this->getConfigValue('apps.seo.level_enable') && !preg_match('/^realty/', $requesturi)) { $realty_id = $this->getIDfromURI($requesturi); require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); $html = $kvartira_view->main($realty_id); if ($html) { $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); $this->template->assert('main', $html); $result = true; } } elseif (0 == $this->getConfigValue('apps.seo.level_enable') && preg_match('/^realty/', $requesturi)) { $realty_id = $this->getIDfromURI($_SERVER['REQUEST_URI']); require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); $html = $kvartira_view->main($realty_id); if ($html) { $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); $this->template->assert('main', $html); $result = true; } } } return $result; }
  7. вернул - заработало, но редирект с этих адресов не идёт, открываются страницы с этими урл /realty123 что не есть хорошо, особенно с учетом того, что стоит обход по метрике... будут дубли... как сделать чтобы редирект работал?
  8. Не совсем понял ответ У меня эта опция также изменена и не равна realty. Но причем здесь это? Это значение у меня всё равно нигде не подставляется. Везде формируются урл по заданному выше правилу. Для seo очень плохо если объявление будет доступно по разным url - это дубли страниц, зачем их плодить? Поэтому если есть возможность менять урл, должна быть возможность вставлять в письмо текущий url объявления. Как его можно подставлять из базы данных? Какой оператор использовать в шаблоне письма? Я так понимаю надо где-то сформировать новый realty_href_new и подставить его потом сюда Как это реализовать?
  9. скрин во вложении только, пожалуйста, разместите здесь что и где нужно будет изменить в системе уже столько изменений вручную, что обновлять уже невозможно
  10. там есть такая строка а причем здесь правила? проблема в этом getRealtyHref($realty_id) он почему-то возвращает левый урл попробуйте у себя на демо версии - задайте правила и сделайте заявку на объект (доп. поля) сейчас еще проверил раздел Сообщения у аккаунта, который подал объявление - там ссылка на объявление в сообщениях тоже неправильная
  11. Напишите, пожалуйста, расшифровку кодов, которые можно вставлять в шаблоны писем. Или хотя бы ответ на следующий вопрос. Сейчас в шаблоне письма "Заявка на объект" для вывода адреса объявления используется следующий код <a href="http://{$server_name}{$estate_folder}{$realty_href}"> При этом если разрешена установка нестандартных алиасов и прописаны поля для их формирования, в этом письме-заявке, которое отправляется из карточки объявления, выводится неверная ссылка на объявление. Выводится url со словом realty (нигде не используется, было в шаблоне по умолчанию) вместо текущего сформированного url в соответствии с настройками. Как изменить строку кода в шаблоне чтобы выводился реальный адрес объявления?
  12. Второй строки нет в файле main.php в шаблоне Новосел... Прикрепляю исходный файл main.php
  13. даже вот такой код нашел на просторах интернет: ************************************ Ниже приведён код, который следует вставить между <head></head> либо сделать через функцию. <? if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443){ $protocol = 'https://'; }else{ $protocol = 'http://'; } $url = $protocol.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $urlend = strrpos($url, '?', -1); // Находим и удаляем все параметры (номер страницы, параметры фильтра и тд.) $url = substr($url, 0, $urlend); if(mb_substr($url, -1) == '/'){ // Тут оставляем, если ссылки на сайте не заканчиваются на /, либо удаляем, если заканчиваются на /. $url = substr($url, 0, -1); } echo '<link rel="canonical" href="'.$url.'"/>'; ?> Немного подробнее про код. Вначале определяем, открывается ли сайт по безопасному протоколу или нет. Потом собираем наш URL из протокола ($protocol), домена ($_SERVER['SERVER_NAME']) и ссылки ($_SERVER['REQUEST_URI']). Далее определяем, есть ли в URL параметры или нет ($_SERVER['QUERY_STRING']). Если есть, их удаляем, они не нужны для тега. И в конце (не обязательно) удаляем слеш, если ссылки формируются без него. Так-же это полезно, чтобы не использовать 301 редирект, который конфликтует с обработкой 404 страницы на разных CMS. ************************************ Но непонятно куда его у нас вставлять... да и в целом правильный он или нет...
  14. Возможно не понял ваш вопрос. Естественно canonical добавляется в мета теги, конкретно в <head>, тег <link>. Где я писал что в пейджер? Если для страниц пагинации - это не значит что в пейджер, профдеформация)) при этом немного углубился в тему - пишут что это просто прописывается с условиями: идет проверка - если просто страница - в каноникал идет её урл, если страница с параметрами "page=" и тп, то параметры удаляются из урл и в каноникал идет урл без этих параметров т.е. для вас это должно быть очень легко - вы знаете в каком месте формируются мета теги, добавьте туда код с условиями для формирования тега link и его аттрибута canonical с канонической ссылкой типа <link href="https://site.ru/obecty/" rel="canonical" /> не забудьте про протокол (http/https) - это важно таким образом правильный каноникал будет у всех страниц сайта, в том числе и у страниц пагинации
  15. 1. Верно. Но частота обхода сайта выше, чем частота обхода sitemap - в яндекс вебмастере это видно. Т.е. при правильной настройке каноникал новые страницы быстрее попадают в индекс. Плюс смотрим ответ на вопрос 2. 2. Не верно. Метрика связана с Вебмастером. Тут не совсем прозрачный момент - нет чёткой информации о том, что статистика ПФ закрытых от индексации страниц используется для ранжирования. Ведь это могут быть и страницы личных кабинетов и прочее. "Сайт должен быть полезным пользователям" - соответственно по логике поисковика по поведенческим оценивается польза индексируемого контента. Если страницы нет в индексе, то и нет смысла учитывать её ПФ. При этом по страницам пагинации есть исключение - они строго не в поиске, но их контент учитывается при определении полноты ответа и по "желанию" поисковика страницы пагинации могут выводиться на поиске, если это необходимо. Соответствующая информация есть в блоге Яндекс вебмастера: https://webmaster.yandex.ru/blog/nekanonicheskie-stranitsy-v-poiske Поэтому для Яндекса желательно страницы пагинации не закрывать от индексации, а указывать каноническую страницу. Поэтому и возник вопрос этого поста. 3. Не верно. Высокие позиции достигаются полнотой ответа на семантическое ядро запросов в тематике. Под каждую группу желательно отдельную посадочную страницу. Учитывается не только текст объявления, но и весь контент страницы (это если объявы дают пользователи). Если сайт агентства - то понятно, что это желательно уникальные тексты по каждому объекту. И много чего ещё, у меня большой практический опыт в seo. Но этот момент к canonical не относится. 4. Ребята, но если вы знаете как - почему не написать как добавить canonical? Вместо этого большого поста не по теме вопроса))) время потратили - а пользы нет((( 5. Верно. Но вопрос не про это)) Вопрос звучит так: Судя по изученной в интернете информации это решается несколькими строками кода. Также желательно чуть расширить вопрос - надо чтобы canonical выводился для всех страниц сайта. Вы специализируетесь на разработке - для вас это легко. Для меня и многих других пользователей сайтбилл сложно. Зачем вы объясняете про seo на котором не специализируетесь? Очень прошу дать решение по добавлению canonical - этим вы поможете всем пользователям sitebill. Спасибо!
  16. Подскажите, пожалуйста, как вы прописали canonical? Особенно для страниц пагинации? Пытался добавить в шаблон <link rel="canonical" href="http://site.ru{$smarty.server.REQUEST_URI}" /> Но это просто копирует в каноникал текущий адрес страницы. Получается надо как-то с помощью условий это прописать - для обычных страниц одно правило формирования каноникал, для страниц пагинации другое. Но как это сделать? Буду признателен за помощь.
  17. Без каноникал движок "полуфабрикат", а заявляется же как готовый к работе. Уже даже Яндекс Вебмастер помечает урлы без каноникал. Ну и написать тут могли бы - что это платно)) В Битрикс, например, тоже его по умолчанию нет и хороший модуль стоит 1000 руб. Поставил и есть canonical автоматически на всех страницах, плюс можно для любых урл задать еще и вручную какой хочется.
  18. Похоже разработчики забили на проект(( Очень жаль, не смотря на всю его корявость, плюсы всё же были...
  19. вот и повод есть)) оптимизируете людям сайт, по ходу оптимизации сделаете скрины с комментариями и разместите здесь - польза всем!
  20. Ну, во-первых, форум для того и есть чтобы публиковать решения которые могут повторить другие пользователи. А во-вторых - вы не знаете какие настройки мне нужны, а какие нет. Как разработчики вы должны дать хотя бы список того, где могут быть тормоза и мы, как пользователи, уже сами будем включать/выключать и тестировать. В чем сложность-то? Сделайте скрины админки и прямо на скринах напишите что можно потестировать. Админки у всех одинаковые, зачем вам для этого доступ к моей админке? Вон Chernetskiy выше описал как легко оптимизируется Вордпресс. Я так понял это намёк - зачем вам Сайтбилл, переходите на Вордпресс...
  21. Уважаемые разработчики! Прошу не игнорировать и ответить на вопрос - тема серьезная. Без нормальной настройки canonical высоких позиций и широкой видимости в поиске в данном случае не будет, а значит движок получается бесполезный с коммерческой точки зрения. Какой смысл в сайте, который не могут найти через поиск? Только большая просьба - прошу решение не через "дайте доступ в админку", а нормальное. Я так понимаю надо просто добавить код в файлы, которые выводят страницы пагинации. Теоретически для вас, как создателей cms, это не сложно, не понятно почему до сих пор не сделано))
  22. Здравствуйте! Как настроить генерацию атрибута rel="canonical" для станиц пагинации? Канонической для них должна быть первая страница раздела, без "page=" Без данной настройки или будут дубли или, если закрыть страницы пагинации от индексации, - робот не будет нормально обходить объявления и не будут учитываться поведенческие факторы на этих страницах. Нашел несколько тем на форуме с этим вопросом и ни в одной нет ответа.