TLENS » 2014.02.17 17:34

В общем у меня состоит задача в создании ключевых юрл по именах видео для моего сайта "видеосейвера".
Я отказался от транслитерации имени для url так как имена могут быть на разных языках. В том числе и на иероглифах.
Решил вообще ничего не переводить а составлять юрл так как например в википедии
Я так понимаю нужно перевести символы двоеточие в " что бы не искривить html ну и что то сделать с такими символами как решетка и вопросительный знак. Пробовал решетку перекинуть в %23 а вопросительный знак в %3F а вообще меня это не удовлетворяет и Я решил эти два символа вообще вырезать
На что еще необходимо обратить внимание?

Gemorroj » 2014.02.17 17:48

Просто использовать rawurlencode. Да нет же. Не катит такой вариант. Задача состоит в создании Человеко понятного урля.
Например возьмем имя "!Exclamation Mark, Asia! Asia! #04, 아시아! 아시아! 20030809"
После encodeURIComponent получаем ::thumb1183::
Нужно что то вроде  ::thumb1184::

TLENS » 2014.02.17 18:07

Ой сори. вместо ответить нажал отредачить)
Добавлено спустя   2 минуты  2 секунды:
Или глюк какой то на сайте

TLENS » 2014.02.17 18:22

Я так подумал. Наверное стоит просто вырезать все эти символы !    "    #     %    &    '    *    ,     :     ;    <    =    >     ?    [    ]    ^    `    {    |    }    <пробел> И после сделать эскэйп
Как вариант использовать только ключевые слова в юрле.
Но появляется другой вопрос как определить где знак препинания а где иероглиф, так как они не попадают под регулярку \w

Gemorroj » 2014.02.17 18:54

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

TLENS » 2014.02.17 20:05

Gemorroj написал:

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

В общем сделал так:

Код:

1
2
3
4
5
6
7
8
var querystring = require('querystring');
module.exports.titleToUrl = function (title) {
return querystring.escape(
title.replace(/[\!"\#%&\*,\:;<=>\?\[\]\^`\{\|\}\/]+/g, '')
.replace(/\s/g, '_')
.replace(/_+/g, '_')
);
};
TLENS » 2014.02.18 15:48

Gemorroj написал:

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

В общем у меня появилась задача вырезать абсолютно все лишнее со строки и потом только сделать rawurlencode. Было бы идеально просто пройтись регуляркой типо replace(/[a-z\dа-яё\s]/gi, '-').replace(/_+/g, '-') но увы здесь мне нужно оставить всякие иероглифы от арабских до каких то там трех байтовых японских. В общем Я хз как все это сделать. Тцпо перечислить все разрешимые символы это долго и мучительно.

Gemorroj » 2014.02.18 16:13

TLENS, ну сначала определись тебе белый список символов нужен или черный.

TLENS » 2014.02.18 16:36

Gemorroj, тут Ты прав здесь трудно определиться. Я думаю что для моей задачи будет проще создать черный список. Все остальное кодировать в шестнадцатеричную систему.

tipsun » 2014.02.23 14:53

Мб сделать в виде (упор будет на ид.видео, а после для поисковика, или для чего еще там): сайт/путь/ид.видео/только-буквы-вырезать-символы

TLENS » 2014.02.23 22:54

он на него и стоит. только логичнее сделать сразу ключевики /key/id...

Влад23 » 2014.03.17 13:52

Чпу ни как не повлияют на выдачу в пс. Они даже не повлияют если страница сайта несёт полезную информацию.

Влад23 » 2014.03.17 14:04

Хотя такой сайт наврядле будет пользоваться доверием яндекса, тк все генерируется на ходу, + плагиат получается, а такие страницы в яше выдаче на 150-200 местах вечно остаются.  Нужно вносить труды не в только функционал, но и в несущую часть контента, описание и тп

<title>Дельфин принадлежу &raquo; Видеосейвер Videosaver.su</title> что это за хрень , даже если и будет в топе на 1 месте, переходов по такому заголовку будет 1% из ста и то чисто случайно
Добавлено спустя   1 минуту  49 секунд:
И кстати если гугл начнет давать по 2-3к в сутки, то скорее всего наложутся санкции в ручную ,могут посчитать злостным спамом, у меня такое происходит с одним из моих сайтов, которые я тубо набивал контентом с сайтов доноров, пачками типа того же ютуба