Перейти к контенту
  • 0

Небольшой фикс для SEO транслитерации


proit

Вопрос

Небольшое отступление.

 

Сегодня был АП у гугля, посему решил узнать, как у меня идет переиндексация форума с учетом нового домена и ЧПУ.

Вебмастер тулз выявил немало ошибок сканирования в графе "Переход не выполнен" с пояснением "Ошибка переадресации".

При проходе по ссылкам, происходило зацикливание 301 редиректов, пока все не заканчивалось на белой странице.

 

Я начал разбираться с этой проблемой, оказалось проблема крылась в отсутствии транслитерации для "Ё", что было быстро исправлено... но все проблемы это не решило. Дальнейший анализ показал, что помимо стандартного набора символов [a-z0-9-], которые должны быть в FURL проходят и посторонние, вроде "длинного тире" и многих других... правда они URL-кодируются, но это у меня тоже вызывало зацикливание:D

 

Названия тем, которые порождали у меня проблему:

 

Зорька – увеличение прибыли с сайта. Офиц. дилер Бегуна

Вёрстка Любой Сложности – Недорого

Тёст №1

Если вы у себя проверите, то в результате получите следующие имена:

 

zorka-%E2%80%93-uvelichenie-pribili-s-saita

v%D1%91rstka-ljuboi-slozhnosti-%E2%80%93-nedorogo

t%D1%91st-%E2%84%961

Что никак не подходит под шаблон [a-z0-9-]. В итоге вот какой фикс у меня получился:

 

В файле /admin/sources/base/core.php ищем static public function makeSeoTransliterate( $text ) и приводим к виду:

 

static public function makeSeoTransliterate( $text )
{
	if ( IPB_USE_SEO_TRANSLIT )
	{
		$text = urldecode($text);

		$text = str_replace( array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','a','ju','ja','i','',''), $text);

		/* Fix */
		$text = preg_replace( array('#[^a-z0-9-]#', '#-{2,}#'), array('', '-'), $text );			
		$text = trim($text, '-');
		/* /Fix */

		$text = urlencode($text);
	}

	return $text;

}

 

Т.к. SEO имена кэшируются в БД - ниже приведены 2 запроса, которые очищают проблемные имена для последующего перекэширования:

 

UPDATE ibf_topics 
SET title_seo=''
WHERE title_seo LIKE "%\%%"

UPDATE ibf_forums 
SET name_seo=''
WHERE name_seo LIKE "%\%%"

 

P.S. Возможно, этот фикс пригодиться кому-нибудь, а кого и выручит. Правда, я не разобрался, почему у меня на локалке (под виндой) не вызывает таких категоричных проблем. Возможно, что многие спокойно себе работают и с подобными неЧПУ-урлами, но все же рекомендую провериться по указанным названиям тем.

Я был бы очень рад, если бы с вашей помощью удалось донести до разработчиков сей момент, что бы те в следующих релизах подкорректировали транслитерацию СЕО имен и не приходилось бы переносить данный фикс.

 

P.S.S. Недавно закончил экспорт тем для сайта с форума, находящегося на другом серваке. Если будет востребовано, то могу создать тему с сабжем.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
открываю нотепадом.

Нотепад нотепаду рознь:D Поставьте себе на будущее notepadd++

 

Это оригинал.

 

Я приаттачил 2 пропатченных файла - один для 3.0.3 другой 3.0.4.

 

Попробуйте и потом отпишитесь.

core3.0.3.php

core3.0.4.php

Изменено пользователем proit
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо.

 

Я этим notepadd++ и пользуюсь))

 

Проблема с буквой Ё решилась, вот только пару форумов стали так /index.php?showforum=41 это по особому доступу, т.е. для модераторов он запрещен для остальных.

 

Неверное перенаправление на странице

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

* Эта проблема может возникать при отключении или запрещении принятия cookies.

 

Обновление кеш системы и ЧПУ в списке модулей тоже не помогло пока.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Пожалуйста.

 

/index.php?showforum=41 это по особому доступу, т.е. для модераторов он запрещен для остальных.

Странное поведение, всеже попробуйте выполнить эти 2 запроса

 

UPDATE ibf_topics 
SET title_seo='';

UPDATE ibf_forums 
SET name_seo='';

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Опять двадцать пять!!! нашла косяк ещё один http://мой-сайт.ru/user/1548-alfiika/

 

Ник Эльфийка

 

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

 

Может Й не работает тоже?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Очевидно, что кнопка обновиться ЧПУ не работает так как от неё ожидают :D

 

...'з','и','й','к'...

й есть, значит вам надо обновить СЕО-имена для пользователей. У меня запрещены реги русских ников, поэтому ничего подобного у меня не вылезло.

 

Выполните запрос:

 

UPDATE ibf_members

SET members_seo_name='';

И будет вам счастие ;)

Изменено пользователем proit
Ссылка на комментарий
Поделиться на других сайтах

  • 0

А у меня что-то совсем непонятное творится... Форум на последней версии 3.0.4, работает на поддомене. Устанавливаю "Использовать .htaccess mod_rewrite?" и начинается самое интересное. Если не создавать файл .htaccess, то все встраницы форума выдают 404-ю ошибку. Но если создать файл .htaccess и вписать в него

<IfModule mod_rewrite.c>

Options -MultiViews

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !\..+$

RewriteRule . /index.php [L]

</IfModule>

тогда весь форум вообще отваливается и вылазит внутреняя ошибка сервера (500). Блин, уже час убил на настройку!..

Ссылка на комментарий
Поделиться на других сайтах

  • 0
2makabra, это как то связано с СЕО-фиксом? Пожалуйста, создайте отдельную тему по данной проблеме. Изменено пользователем proit
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Здравствуйте!

Сделала, как советовали в этой теме.

Темы теперь имеют нужный вид: http://сайт.ru/topic/66-zamena-lica/

А вот ни в один раздел не зайти, белая страница.

Да и в темы через раз заходит.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Привет.

А эти запросы делали?

 

UPDATE ibf_topics
SET title_seo='';

UPDATE ibf_forums
SET name_seo='';

UPDATE ibf_members
SET members_seo_name='';

Изменено пользователем Evrika
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну у меня тоже так было пока не сделала повторный запрос, иногда еще помогает в списке модулей очистить кешь ЧПУ, но если стало нормально то не надо делать, для мемберов лучше сделать, потому что с русскоязычными были проблемы тоже белая страница или бесконечный запрос. Изменено пользователем Evrika
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Извините, немного не в тему, вопрос с практической стороны: кто-нибудь анализировал насколько положительно все это (ЧПУ вообще, ЧПУ с транслитерироваными урлами) влияет (и влияет ли вообще) на:

 

1. SEO (лучше индексация, нахождения пользователями, релевантность и т.п.) ?

2. Юзабилити

 

Не вызовет ли это все проблем с апгрейдом в будущем ?

 

Короче: стоит ли ? (спрашиваю, т.к. в SEO пока ноль)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Опять проблема, обновила до 3.0.5 решила проделать опять же.

 

Запросы уже не помогают, кеши чистила вплоть до браузерного.

 

форумы русского названия выводят на бесконечный запрос, на инглише нормально открываются, так же и некоторые темы.

Запросы делала по два раза, что не так опять?

 

core.php

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вопрос снят, вернула стандартный файл заработало.

 

вот только не понятно почему при входе в форум/подфорум какой нибудь, ссылки становятся так /forum/104--/ я хочу чтоб было так /forum/nazvanie/

 

И темы /topic/2470-razvod-gibdd-skrilsja-s-mesta-dtp/ ID: 2470- не нужен вообще

Изменено пользователем Evrika
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вопрос снят, вернула стандартный файл заработало.

 

вот только не понятно почему при входе в форум/подфорум какой нибудь, ссылки становятся так /forum/104--/ я хочу чтоб было так /forum/nazvanie/

 

И темы /topic/2470-razvod-gibdd-skrilsja-s-mesta-dtp/ ID: 2470- не нужен вообще

IPB без id не умеет. Тчк.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну раньше заходя в какой нибудь форум в адресной строке было /forum/104-nazvanie/ а сейчас просто /forum/104--/ только в темах нормально.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а по-моему в 3.0.5 данный фикс для core.php неактуален - и так работает... А вот с фиксом - у меня как раз не работает, также как и у Evrika.

 

Единственное - пришлось в Система -Настройка серверного окружения -Тип обработки неверных URL? изменить с 301 редиректа на любое другое значение, иначе циклические ссылки возникали...

Изменено пользователем Creeping Shadow
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Подскажите пожалуйста. Версия 3.0.3 при включении ЧПУ возникает проблема с кодировкой русских букв, они не правильно транслитируются. В чем может быть проблема?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.