- Правильный robots.txt для SMF
- Установка и настройка Discuss — делаем из MODX Revolution форум
- phpBB • Free and Open Source Forum Software
- Extensions
- Extensions DB
- Styles
- Styles DB
- Documentation
- Knowledge Base
- Support Forums
- Discord / IRC
- International Support
- Area51 phpBB Development
- phpBB Bug Tracker
- phpBB Ideas
- Security Tracker
- Development Wiki
- GSoC
- Support Forums
- Extensions Forums
- Styles Forums
- phpBB Discussion
- General Discussion
- Area51
- Official Topic Index
Правильный robots.txt для SMF
Попробуем создать файл robots.txt для только что установленного и настроенного форума, без учёта дополнительных SEO-модов типа Pretty URLs и прочих.
На самом деле правильного варианта не существует, всё зависит от конфигурации форума и ваших требований.
User-agent: * Disallow: /*action #Адреса типа /index.php?action= Disallow: /*topic=*.msg #Адреса типа /index.php?topic=49.msg209#new Disallow: /*topic=*.new Disallow: /*; #Адреса типа /index.php?board=1.0;sort=views Disallow: /*PHPSESSID #Адреса с параметром PHPSESSID Allow: /$ #Индексация главной страницы форума Allow: /*board #Индексация всех разделов Allow: /*topic #Индексация всех тем
Если требуется разрешить индексацию не только первых страниц тем и разделов, но и индексацию остальных страниц, используйте универсальный блок правил (см. ниже), для роботов.
Не забудьте настроить в .htaccess переадресацию адресов с www на адреса без www (если необходимо).
А так настраивается редирект с /index.php на / :
RewriteEngine On RewriteCond % ^\/index.php$ RewriteCond % ^$ RewriteRule ^(.*)$ / [L,R=301]
При установке мода Sitemap и включении новостей XML\RSS в админке набор правил не меняется, но добавляется пара строчек:
User-agent: * Disallow: /*action Disallow: /*topic=*.msg Disallow: /*topic=*.new Disallow: /*; Disallow: /*PHPSESSID Allow: /$ Allow: /*board Allow: /*topic Allow: /*action=.xml #Разрешаем индексацию ленты новостей Allow: /*sitemap #Разрешаем индексацию карты Sitemap: https://dragomano.ru/sitemap.xml #Полный URL к карте сайта
Если ещё поставили Aeva Media и SimplePortal, правила опять дорабатываются:
User-agent: * Disallow: /*action Disallow: /*topic=*.msg Disallow: /*topic=*.new Disallow: /*; Disallow: /*PHPSESSID Allow: /$ Allow: /*board Allow: /*topic Allow: /*forum$ #Индексация главной страницы форума (если установлен SimplePortal) Allow: /*page*page #Индексация страниц портала Allow: /*media$ #Индексация главной страницы галереи Allow: /*media*item #Индексация элементов галереи Allow: /*media*album #Индексация альбомов галереи Allow: /*action=.xml Allow: /*sitemap Sitemap: https://dragomano.ru/sitemap.xml #Полный URL к карте сайта
Заметьте: если у вас форум в поддиректории, то к слэшам в путях добавляется название директории (например: Disallow: /smf вместо Disallow: / ).
Остальные страницы, для которых не описаны правила, не попадут в индекс благодаря тегу canonical, который поддерживается популярными поисковиками.
Модификация, которая поможет автоматизировать описанный выше процесс — Optimus. Пользуйтесь.
Установка и настройка Discuss — делаем из MODX Revolution форум
Сегодня хочу рассказать про то, как из нашего любимого MODX Revolution сделать, пусть и простенький, но вполне рабочий форум.
Для этих целей мы будем использовать пакет Discuss (Github, багтрекер), который можно найти в галерее дополнительных компонентов.
Он уже сейчас умеет регистрировать пользователей с аватарками (ЭТО ОЧЕНЬ ВАЖНО. 1), есть удобная простая админка, к постам можно прикреплять файлы, можно задавать вопросы и т.д. Проще установить и посмотреть самому. Мне понравилось.
Есть несколько русскоязычных постов, в которых рассматривается процесс установки и использования предыдущих версий данного пакета, но это было раньше. Проект развивается, исправляется и не стоит на месте. Не спорю, конечно есть некоторые ошибки, но решение рабочее. Если не планируется большого форума, то я бы посоветовал. Хотя, для крупного форума все же лучше использовать отдельную специализирванную CMS.
Начать следует с того, что для работы потребуется MODX Revolution версии 2.2 и выше и PHP5 и выше.
Для нормальной работы Discuss нам потребуются пакеты Login и FormIt. Рассказывать о том, как устанавливать их я не буду. В сети куча примеров да и ничего сложного там нет.
Установка самого Discuss предельно проста и осуществляется через стандартный менеджер пакетов MODX Revolution. Просто ищете его среди всех проектов, жмакаете Загрузить, потом Установить. В процессе вам будет задана пара вопросов:
- Установить демонстрационные данные (Install Demo Data) — поскольку с работой данного компонента мы не знакомы, то мы, пожалуй, галку поставим. Так проще разобраться.
- Создать Discuss-ресурс (Install Discuss Resource) — тоже ставим галку. Будет создан ресурс, который будет отвечать за весь форум.
Итак, установка прошла успешно. Далее — настройка. Если вы не поставили галку около создания ресурса для Discuss, то самое время создать его. Должно получиться что-то подобное:
- Заголовок: Forums
- Шаблон: empty
- Псевдоним: forums (потом можно будет сменить)
- Содержимое ресурса: [ [!Discuss]]
- Контейнер (во вкладке Настройки): ставим галку
Хотя Discuss и включает в себя функционал регистрации и авторизации с использованием пакета Login, возможно, вы захотите использовать кастомизированные или уже созданные ранее страницы авторизации, регистрации и редактирования профиля для вашего форума. Никаких определенных требований для этих страниц не существует, все, что вам необходимо, так это создать 3 отдельные страницы под эти нужды, используя документацию Login. Единственное, что нужно сделать — это указать некоторые необходимые для Discuss параметры в вызовы Login, Register и UpdateProfile сниппетов:
Для Login добавьте эти пре- и пост-хуки из пакета Discuss:
А после вызова сниппета UpdateProfile необходимо добавить:
Для полноценного редактирования пофиля, который используется на нашем форуме, можно добавить несколько дополнительных полей в чанк-шаблон формы редактирования:
Для работы Discuss нам потребуется ЧПУ, без него ничего не получится. Поэтому в Настройках системы MODX ключ friendly_urls должен иметь положительное значение. Не лишним будет выбрать автоматическую генерацию псевдонимов (automatic_alias) и вложенность URL (use_alias_path), но это не обязательно. Кому как удобнее и больше нравится.
После настройки дружественных URL нам необходимо добавить несколько rewrite-правил в конфигурацию нашего сервера, чтобы всё заработало. Чуть ниже приведены примеры конфигураций для nginx и Apache.
rewrite ^/forums/thread/(7+)/(.*)$ /index.php?q=forums/&action=thread&thread=$1 last; rewrite ^/forums/u/(.+)$ /index.php?q=forums/&action=user&user=$1 last; rewrite ^/forums/board/(7+)/(.*)$ /index.php?q=forums/&action=board&board=$1 last; rewrite ^/forums/category/(1+)/(.*)$ /index.php?q=forums/&category=$1 last; rewrite ^/forums/(.+)$ /index.php?q=forums/&action=$1 last; rewrite ^/forums/(.+)/$ /index.php?q=forums/&action=$1 last;
В документации к Discuss для nginx приводится две конфигурации. Та, что подлиннее отказалась работать корректно. Возможно, что конфликтовали правила, которые уже были у меня до этого (если интересно — можете почитать о конфиге nginx для MODX Revo). Конфиг выше вполне выполняет свои функции, поэтому я остановился на нем.
# If imported from SMF, you can include the following lines to make sure existing urls don't break. RewriteRule ^forums/index.php/topic,(.*).msg(.*).html$ forums/?action=thread&thread=$1&i=1 RewriteRule ^forums/index.php/topic,(.*).(.*).html$ forums/?action=thread&thread=$1&i=1&start=$2 RewriteRule ^forums/\?topic=(.+).(.+)$ forums/?action=thread&thread=$1&i=1 RewriteRule ^forums/index.php/board,(.*).(.*).html$ forums/?action=board&board=$1&i=1&start=$2 RewriteRule ^forums/\?board=(.+).(.+)$ forums/?action=board&board=$1&i=1 # Discuss rewrite rules RewriteRule ^forums/thread/(5+)/(.*)$ forums/?action=thread&thread=$1 [L,QSA] RewriteRule ^forums/u/(.+)$ forums/?action=user&user=$1 [L,QSA] RewriteRule ^forums/board/(7+)/(.*)$ forums/?action=board&board=$1 [L,QSA] RewriteRule ^forums/category/(5+)/(.*)$ forums/?category=$1 [L,QSA] RewriteRule ^forums/(.+)$ forums/?action=$1 [L,QSA] RewriteRule ^forums/(.+)/$ forums/?action=$1 [L,QSA]
Данные правила необходимо вставлять до основных правил, которые обеспечивают работу MODX. Это необходимо соблюдать как для nginx, так и для Apache.
Кстати, следует упомянуть то, что по умолчанию в качестве псевдонима к странице форума используется «forums«. Мне оно не очень нравилось и я его поменял. Для этого достаточно сменить псевдоним у ресурса, который отвечает за форум (тот, который должен был создаться автоматически после установки нашего форума), а также заменить все вхождения «forums» на нужное вам в конфигах, которые приводились выше.
Теперь, когда сервер, ресурсы и дружественные URL настроены, самое время взяться за конфигурацию самого Discuss. В админке переходим в Система -> Настройки системы, в фильтре в выпадающем селекте находим пространство имен discuss. Нам необходимо настроить следующие ключи:
- discuss.forums_resource_id — указываем id ресурса, который создался при установке Discuss;
- discuss.login_resource_id — указываем id ресурса, который отвечает за вызов сниппета Login;
- discuss.register_resource_id — указываем id ресурса, который отвечает за вызов сниппета Register;
- discuss.update_profile_resource_id — указываем id ресурса, который отвечает за вызов сниппета UpdateProfile;
- discuss.sso_mode — ставим галочку для того, чтобы использовались наши собственные авторизацию, регистрацию и редактирование профиля вместо встроенных в Discuss.
Помимо перечисленных настроек вы можете найти и другие. Некоторые могут оказаться полезными в той или иной ситуации. Например, мне пригодилось discuss.debug_templates, когда необходимо было понять какой из множества чанков используется в том или ином месте в шаблоне страницы. discuss.theme позволяет выставить нужную тему (кстати, в Discuss можно использовать свои темы)
После всех манипуляций мы должны иметь готовый к употреблению форум на MODX Revolution, правда на английском языке. Но возможна русификация. Но это — тема отдельной статьи, ровно как и создание собственных шаблонов для Discuss. Как-нибудь расскажу.
Если на ваш взгляд в данном посте присутствуют ошибки, неточности или у вас просто хорошее настроение — пишите комментарии. До встречи =)
Автор: Артур Минимулин ⚫ 5 ноября   2013 г. ⚫ Тэги: Конфигурация, MODx, Revolution, php, Компоненты MODx
phpBB • Free and Open Source Forum Software
Our customisation database contains just about everything you might need to customise your phpBB board to your liking. In it you will find Extensions, MODs (for 3.0.x), Styles, Language Packs, BBCodes, as well as various tools.
Extensions
Extensions DB
Styles
Styles DB
Documentation
Knowledge Base
Support Forums
Discord / IRC
International Support
Area51 phpBB Development
All Development Discussion takes place at Area51. Bug tracker, development wiki, continuous integration and other development tools are located here. Find out how to get involved in phpBB development.
- AuthorSoshen
- Last updated Tue Mar 12, 2013 9:27 am
- Total Downloads 3152
- Announcement topicphpBB 3.0.x
- Rating ( 6 )
- CategoriesCommunication, Miscellaneous
phpBB Bug Tracker
phpBB Ideas
Security Tracker
Development Wiki
GSoC
Support Forums
Extensions Forums
Styles Forums
phpBB Discussion
General Discussion
Area51
Official Topic Index
Released: Tue Mar 12, 2013 9:27 am File size: 198.66 KiB Validated for: phpBB 3.0.11 MD5 checksum: 5e4e4b7ff0df8a64124379849946b66a Install Time About 10 Minute(s) Install Level Easy
Official Topic index create a ordered list of topics in a post and in external page. This is a A-Z mod.
You can choose which topic will become the list and you can choose if add to the list by default all forums’s topics (usefull for forums that already have a lot of messages) or add them manually.
In both cases you can remove manually from the list the topics that you want to not disappear on the list.
You can filter the list by letters, numbers, symbols for fast find the topic you want.
Tag filter supported.
Topics with single or double tag are filtered and the system will ignoring the tags.
Are supported tag like [] or () or <>.
More faster than before.
The system add a single db query when you open the topic with list inside.
Stand alone page with all list.
You can create external list with name that you like and show them outside topics. This lists can merge topics from different forums and subforums.