- 13, Mar 2013
- #1
Оптимизируем XenForo под поисковые системы
А эту тему мы посвятим начальной оптимизации движка под поисковые системы.
Нужно отдать должное разработчикам, кое-что там уже есть в наличии. Полагаю, что если покопаться появятся новые подводные камни, но я расскажу пока то, что мне удалось увидеть "на бегу".
1. Некоторые хостинги не отдают никакую кодировку с сервера. Тем не менее, мы знаем, что XenForo работает с кодировкой UTF-8. Но и сам движок ничего не отдает из мета полей. В результате, если мы скриптами посмотрим что отдает наш форум, то увидим следующее:
Вот эти самые крокозябры видят и поисковые системы, что на мой взгляд не правильно.
Сервер мы заставлять отдавать кодировку не будем, а вот движок мы это делать заставим.
К слову сказать, что вот этим грешит даже офф сайт XenForo в России У них тоже нечитаемые титлы. Идем в шаблоны, находим шаблон header, ищем в нем:
И после него вставляем:
Теперь XenForo будет отдавать что ему и положено. То есть кодировку UTF-8. Смотрим, и видим:
Совсем же другое дело!
2. В XenForo уже есть кое что из SEO дел, и в частности это ЧПУ.
Главная, Настройки, Оптимизация для поисковых систем (SEO) Ставим галочки напротив:
Включать заголовок страницы в URL
Использовать ЧПУ-ссылки Создаем тестовую тему, ну например с названием "Проверка темы". В строке браузера все как бы нормально. URL читабельный, но на кириллице. В результате из
http://вашсайт.ру/threads/Проверка-темы.1
мы получаем
http://вашсайт.ру/threads/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D1%82%D0%B5%D0%BC%D1%8B.1/
Ну это же бардак! Зачем нам нужны крокозябры вместо URL? Но, все это собственно логично.
Движок нацелен на распространение в англоязычной среде, и вполне естественно, что название тем у них будет на английском.
Следовательно и ЧПУ у них будет на латинице.
А что делать нам? А мы делаем следующее: Идем в:
/library/XenForo/Link.php
Ищем код:
Меняем его на
Все.
В результате всего этого мы уже на начальной стадии получили некоторую оптимизацию нашего форума.
Разумеется есть СЕО маньяки, которые могут копаться в коде, но я считаю дальше уже контент работает на вас.
А эту тему мы посвятим начальной оптимизации движка под поисковые системы.
Нужно отдать должное разработчикам, кое-что там уже есть в наличии. Полагаю, что если покопаться появятся новые подводные камни, но я расскажу пока то, что мне удалось увидеть "на бегу".
1. Некоторые хостинги не отдают никакую кодировку с сервера. Тем не менее, мы знаем, что XenForo работает с кодировкой UTF-8. Но и сам движок ничего не отдает из мета полей. В результате, если мы скриптами посмотрим что отдает наш форум, то увидим следующее:
Вот эти самые крокозябры видят и поисковые системы, что на мой взгляд не правильно.
Сервер мы заставлять отдавать кодировку не будем, а вот движок мы это делать заставим.
К слову сказать, что вот этим грешит даже офф сайт XenForo в России У них тоже нечитаемые титлы. Идем в шаблоны, находим шаблон header, ищем в нем:
<xen:hook name="header">
И после него вставляем:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Теперь XenForo будет отдавать что ему и положено. То есть кодировку UTF-8. Смотрим, и видим:
Совсем же другое дело!
2. В XenForo уже есть кое что из SEO дел, и в частности это ЧПУ.
Главная, Настройки, Оптимизация для поисковых систем (SEO) Ставим галочки напротив:
Включать заголовок страницы в URL
Использовать ЧПУ-ссылки Создаем тестовую тему, ну например с названием "Проверка темы". В строке браузера все как бы нормально. URL читабельный, но на кириллице. В результате из
http://вашсайт.ру/threads/Проверка-темы.1
мы получаем
http://вашсайт.ру/threads/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D1%82%D0%B5%D0%BC%D1%8B.1/
Ну это же бардак! Зачем нам нужны крокозябры вместо URL? Но, все это собственно логично.
Движок нацелен на распространение в англоязычной среде, и вполне естественно, что название тем у них будет на английском.
Следовательно и ЧПУ у них будет на латинице.
А что делать нам? А мы делаем следующее: Идем в:
/library/XenForo/Link.php
Ищем код:
public static function buildIntegerAndTitleUrlComponent($integer, $title = '', $romanize = false)
Меняем его на
public static function buildIntegerAndTitleUrlComponent($integer, $title = '', $romanize = true)
Все.
В результате всего этого мы уже на начальной стадии получили некоторую оптимизацию нашего форума.
Разумеется есть СЕО маньяки, которые могут копаться в коде, но я считаю дальше уже контент работает на вас.