Больше 10 варов на страницу или 10 холиваров на страницу

Больше 10 варов на страницу
7
Нейтральная
сторона
1
10 холиваров на страницу
5
Нужно увеличить количество холиваров на странице
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Оставить как есть, потому что такое количество оптимально

16-09-2016 14:24 +2

Давно пора. А ещё уменьши ограничение в 20 секунд между сообщениями.

4 комментария
opera.rulez 16-09-2016 14:31 0

who_am_i, На самом деле приходится так часто отправлять сообщения?

who_am_i 16-09-2016 14:36 +1

opera.rulez, Лично у меня подобное окошко с завидной регулярностью выскакивает. Как у других - не знаю.
Я частенько открываю несколько вкладок с разными варами, отвечая в одном, потом сразу же в другом, но приходится ждать.

Snorki 18-09-2016 20:42 0

who_am_i, У меня тоже довольно часто бывает, учитывая что пишу быстро. Плюс еще оценки ставить, надо ждать. Зачем? Долой ограничения! Я за свободный холиварс ру))

Travis 19-09-2016 19:58 0

opera.rulez, Да, это актуально.

16-09-2016 14:29 0

Сейчас у нас в глобальном списке холиваров больше полутора тысяч страниц. Это очень много. Яндекс добавляет в поиск порядка 500 страниц, т. е. только треть от этого количества.

Кроме того, далеко не каждый пользователь пролистывает список дальше второй страницы.

Если увеличить количество холиваров на страницу, то, вероятно, глубина просмотра увеличится.

Правда, некоторые факты меня смущают:
1. Именно 10 холиваров на странице довольно хорошо вписываются в дизайн.
2. При увеличении количества холиваров на главной возможно чуть-чуть увеличится время загрузки (что на самом деле смешно по сравнению со временем загрузки типичного холивара).
3. Вероятно, большое количество ссылок негативно на чём-нибудь скажется (хотя это тоже смешно, учитывая количество ссылок в типичном холиваре).
4. В длинном списке не за что зацепиться, если пункты не пронумерованы. Есть ненулевая вероятность того, что внимание будет притупляться.

Сто́ит ли экспериментировать с увеличением количества холиваров на главной, например, до 20, или это лишено смысла?

1 комментарий
BerkutOi 16-09-2016 14:38 0

opera.rulez, я б предложил 15, в 20-ти действительно можно потеряться

16-09-2016 15:17 0

/war/all?page=2&count=42

0 комментариев
16-09-2016 14:39 0

Это все от скуки я думаю. Только в глазах будет рябить во время прокрутки.

Большой индекс у яндекса нам не нужен. Он у нас уже есть и возможно именно потому, что он большой, каждая страница по отдельности имеет меньший вес и наши успехи в выдаче никакие.

49 комментариев
opera.rulez 16-09-2016 14:48 0

vosmoi, Возможно, будет рябить, потому и сомневаюсь.

Но если увеличить количество холиваров на страницу, то самих страниц будет меньше, поэтому есть шанс, что и переиндексация будет быстрее, и вес будет по-другому размазываться.

vosmoi 16-09-2016 14:53 +1

opera.rulez, я думаю, что если это может иметь положительные эффекты, то они будут мало заметны. Мне нравится 10 хв на страницу, небольшая прокрутка, все компактно, в планшете грузится быстро.

opera.rulez 24-09-2016 13:39 +1

vosmoi, > возможно именно потому, что он большой, каждая страница по отдельности имеет меньший вес

Всё фигня. У нас с одной страницы в пагинаторе ссылки не более, чем на 8 других страниц (пример: Первая 2 3 [ 4 ] 5 6 7 8 Последняя, итого 2 + 6 = 8, если не считать ссылку на себя), поэтому общее количество страниц на сайте не имеет значения, а вес растекается не слишком сильно, ибо «дальние» страницы будут иметь слишком глубокий уровень вложенности.

Дублей страниц на сайте теперь нет (за исключением того, что holywars.ru/war/all и главная — одно и то же).

На мой взгляд у нас три проблемы:

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

Как исправить ситуацию, не знаю. Ссылки с соцсетей не годятся, потому что они снабжены атрибутом nofollow (Твиттер, бесплатные аккаунты ЖЖ) либо сделаны редиректом через закрытую от индексации страницу (ВК, ФБ). Покупка ссылок через Sape нас тоже не спасёт, ибо Яндекс научился детектировать участие в биржах.

2. Нет корректного элемента <h1>. Тот, который мы вставили, невалиден. Могу попробовать ещё раз переверстать страницу, чтобы валидатор перестал ругаться, но боюсь, что всё равно будет не слишком естественно.

Место для правильного <h1> можно найти, если обрезать логотип сайта до квадратного (того места, где сейчас цветная надпись HOLYWARS, как раз хватит для <h1>).

3. Поисковые системы не в курсе новых комментариев в холиварах, поэтому обновление индекса может растягиваться на месяцы и на годы.

На форумах с постраничным делением тем новые комментарии в теме обнаруживаются по появлению новой страницы.

У нас же всегда один холивар = одна страница. Поисковый робот может зайти в холивар, когда он только создан и в нём ноль комментариев, а повторно может зайти через год или вообще не зайти. Нужно каким-то образом поисковик известить о том, что холивар обновился. Интервал обновления, указанный в sitemap.xml, по факту не действует.

Может быть, для недавно сделанной странички holywars.ru/comments/all нужно сделать RSS-версию и скормить её поисковикам, тогда они будут в курсе новых комментариев?

Офтопик.

opera.rulez 24-09-2016 15:17 0

opera.rulez, Дополнение к офтопику: пришёл Бинг, прошёлся по всем обычным ссылкам, включая nofollow, зашёл на image map, но при этом не заметил кнопки форм, SVG и ссылки, добавленные скриптами.

Jotun 24-09-2016 16:01 0

opera.rulez, Вот это реально интересно

opera.rulez 24-09-2016 16:30 0

Jotun, Интереснее будет через пару недель, когда можно будет проверить, что из этого попало в индекс.

Что-то я поторопился. Нужно было в ссылках использовать придуманные уникальные слова, тогда бы заодно узнали, что попадает в поиск. Ну, может быть, после этого эксперимента проведём второй.

opera.rulez 25-09-2016 02:25 0

opera.rulez, Про H1: вроде удалось заткнуть валидаторы. Но я не знаю, насколько семантически корректно то, что H1 помещён в ячейку таблицы. Т. е. не завершает ли закрывающий тег таблицы область действия тега H1?

opera.rulez 25-09-2016 12:02 0

opera.rulez, И снова про H1 (почти баян). На главной vk.com/ такой код:
<div id="header" style="display: none">
<h1 id="title"></h1>
</div>


Как было в старом дизайне, так и осталось. Да, пустой H1, да ещё завёрнутый в display: none, чтобы наверняка.

Может быть, H1 совсем не нужен?

P.S. Больше ада:
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

И это дизайн 2016-го года...

vosmoi 25-09-2016 12:49 +1

opera.rulez, в старом дизайне у нас подписи становились серыми у всех сторон, кроме выбранной. У нас сейчас название стороны серое, а подпись зеленая:


Нужно сделать подписи тоже серыми, если сторона серая.

opera.rulez 25-09-2016 15:48 +1

vosmoi, Исправил.

Если интересно, напишу о текущем состоянии эксперимента по индексации.

Бинг добавил в индекс страницу, на которую указывала nofollow-ссылка: www.bing.com/search?q=site:holywars.ru/t ...

А Гугл по nofollow-ссылкам не переходил, но добавил в индекс страницу, на которую указывала кнопка формы (метод GET): www.google.ru/search?ie=UTF-8&hl=ru&q=si...

Отсюда мораль: все активные действия можно реализовывать только через POST, иначе придёт Гугл и добавит товары в корзину.

А ещё поисковые роботы ходят без cookies и не указывают источник перехода (Referer:), в отличие от реальных пользователей, зашедших браузером (у нас только r619 ругался на то, что ХВ не позволял регистрироваться/авторизовываться без указания Referer; вероятно, r619 — бот).

Jotun 25-09-2016 20:51 +1

vosmoi, Но я же... Репортил этот баг... В другом варе...

Jotun 25-09-2016 20:54 0

opera.rulez, А ещё поисковые роботы ходят без cookies и не указывают источник перехода (Referer:), в отличие от реальных пользователей, зашедших браузером (у нас только r619 ругался на то, что ХВ не позволял регистрироваться/авторизовываться без указания Referer; вероятно, r619 — бот).
Реквестирую экстеншн для хрома, который будет затирать Referer

opera.rulez 26-09-2016 11:46 +1

Jotun, В некоторых браузерах есть решение из коробки для параноиков.

1. В браузерах на Gecko (Firefox, Seamonkey) about:config, меняем network.http.sendRefererHeader. До кучи там ещё есть network.http.referer.XOriginPolicy, network.http.referer.spoofSource, network.http.referer.trimmingPolicy для более тонкой настройки граблей.

2. В Опере на Presto (⩽ 12.x) вообще просто: правая кнопка мыши → настройки для сайта → сеть → отправлять данные о ссылающейся странице либо F12 и тот же пункт меню. Да, можно выключить отправку Referer как глобально, так и только для избранных доменов.

3. В браузерах на Хромиуме нашёл только chrome://flags/#reduced-referrer-granularity. Полного выключения в меню не нашёл, но готовые расширения есть:
chrome.google.com/webstore/search/refere ...

В Вике нашёл, что, оказывается, есть черезжопный способ выключения и в Хромиуме: ru.wikipedia.org/wiki/HTTP_referer Выключить можно только перед стартом браузера.

Если отправка Referer выключена, всё равно есть 100500 способов спалиться:
1. На сайтах могут быть подключены скрипты Google Analytics, Яндекс-Метрика и подобные. Они могут обрабатывать событие onclick и собирать статистику по кликам по ссылкам. Если у целевого сайта установлена та же система аналитики, что и у исходного, то админ будет знать, с каких сайтов переходили.
2. Также собирают статистику виджеты соцсетей.
3. Поисковые системы могут показывать не прямые ссылки, а ссылки через редирект через промежуточную страницу, которая собирает статистику (yandex.ru/click, www.google.com/url).

cherepets 26-09-2016 11:54 0

opera.rulez, Короч, для приемлемой анонимности нужно юзать самописный браузер (но не вебвью, а какой-то упрощенный рендер) без поддержки JS?

opera.rulez 26-09-2016 12:03 0

Jotun, Смотри, что нашёл: duck.co/forum/thread/5596/ddg-doesn-t-wo ...

Duckduckgo не работает, если передавать фейковый Referer. Да, поисковик для параноиков не работает с настройками для параноиков.

opera.rulez 26-09-2016 12:04 0

cherepets, Без поддержки JS ты сможешь пользоваться далеко не всеми сайтами.

opera.rulez 26-09-2016 12:10 0

Jotun, А ещё есть куча сервисов типа такого: www.nullrefer.com/

cherepets 26-09-2016 12:24 +2

opera.rulez, Нахуй SPA и прочие "веб-приложения".
Хотите делать приложения? Пишите на C(++/Objective/#), а сайты надо делать сайтами.

Jotun 26-09-2016 21:56 0

cherepets, А кто тебе мешает сделать сайт на C#, кстати?

cherepets 26-09-2016 22:56 0

Jotun, Браузеры. У них же во фронтэнде царит языковой ведорлок и как эту хуйню обозвать?

Jotun 26-09-2016 22:57 0

cherepets, Ну, я про бекэнд, разумеется.
На фронтенде зато тайпскрипт хорошо заходит

cherepets 26-09-2016 23:08 0

Jotun, Нихуя он не заходит, я проверял.
1) Все твои чудо-типизации исчезают в рантайме
2) Половины проверок нехватает и видимо их не появится чтобы не сломать совместимость, ибо они породили чумные техники (создание фейковых классов вместо референсов).
3) Взаимодействие с либами, для которых нет тайпдефов = боль. Написание тайпдефов для либ, которые сами не были написаны на TS/Dart = боль, ибо они тоже любят разные чумные техники.
4) Верстка как была гавном, так и осталась. Вместо программирования там надо заниматься запоминанием багов трех уже готовых реализаций одного косячного формата.

А бэкэнд в стиле положи-возьми вообще плевать на чем писать. HTTP довольно простой протокол - можно хоть на чистом Си писать, лишь бы была либа под твою СУБД нормальная (не говорю ORM, потому что сейчас хайпят NoSQL нубы которые не могут в SQL и... с ним и правда проще когда тебе надо только складировать данные и всё).

Jotun 26-09-2016 23:21 0

cherepets, А бэкэнд в стиле положи-возьми вообще плевать на чем писать. HTTP довольно простой протокол - можно хоть на чистом Си писать, лишь бы была либа под твою СУБД нормальная (не говорю ORM, потому что сейчас хайпят NoSQL нубы которые не могут в SQL и... с ним и правда проще когда тебе надо только складировать данные и всё).

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

cherepets 26-09-2016 23:29 0

Jotun, Ну, я заранее и написал что "в стиле положи-возьми". А что обычному сайту еще надо то?

Jotun 26-09-2016 23:30 0

cherepets, Хз, ни разу таких не педалил. Это же даже не интересно, ну.

cherepets 26-09-2016 23:35 0

Jotun, А трахаться с несовместимостями пакетов и разным поведением на разным платформах в ксамарине - инетересно?)

Jotun 26-09-2016 23:39 0

cherepets, Как минимум это не уныло.
Другое дело, что время от времени это дичайший пиздец.

cherepets 26-09-2016 23:53 +1

Jotun, Ох, я сейчас начал один проект пилить и только и делаю что охуеваю. Правда это в основном коснулось скорее моего непонимания того как работают некоторые платформы сами по себе.
Но всё же есть ряд вещей которые добивают:
- HttpClient не на Windows какой-то мертвый. Запросы уходят куда надо, но вполне валидные ответы приводят к крашу приложения.
- Многие пакеты поддерживают не все платформы. Для Xamarin.Forms.GoogleMaps винда нужна от 10ки, а для NControl - обязательно моложе 10ки (пришлось пилить приватный форк).
- Анимации на Android просто сломаны. То что работает на Android 5.x+, Windows (любой) и iOS (любой) на Android приводит к какой-то калечной конвульсивной анимации, которая в итоге убивает все элементы.
- Нет НИ ОДНОЙ полностью нормальной библиотеки с картами. Вот тот же Xamarin.Forms.GoogleMaps плох сразу везде (на ведре требует последние гуглосервисы, на iOS просто урод, на Windows слава богу в реальности это Bing, но зачем-то с уродливым пином, который можно переопределить, но для этого надо прочитать исходники либы и немного везения). MapBox - ублюдочный API и винда вообще проигнорена (предлагают делать отдельную версию... на WebGL!!!).
- Набор Layout ебанутый. Есть пара простых (Stack и Grid), но оба работают не как надо (Grid некоторыми элементами игнорится, Stack на винде идет не до низа, а "почти до низа".

Короч, прототип я сам еще накидать могу, но дальше проще фрилансерам денег дать, чем столько времени и нервов тратить на баги в примитивнейших вещах.

cherepets 26-09-2016 23:56 0

cherepets, Блин, про чудесный XAML и сокеты не написал... Ну в целом и так, думаю, идея понятна)

Jotun 27-09-2016 00:03 0

cherepets, HttpClient не на Windows какой-то мертвый. Запросы уходят куда надо, но вполне валидные ответы приводят к крашу приложения.
- Многие пакеты поддерживают не все платформы. Для Xamarin.Forms.GoogleMaps винда нужна от 10ки, а для NControl - обязательно моложе 10ки (пришлось пилить приватный форк).


Знакомо. Гуглился баг в багтрекере моно на эту тему.

- Анимации на Android просто сломаны. То что работает на Android 5.x+, Windows (любой) и iOS (любой) на Android приводит к какой-то калечной конвульсивной анимации, которая в итоге убивает все элементы.
Это не проблема ксамарина, а проблема backward compatibility и общей каличности Андроид.

С сокетами тупо очень. Давно обещают нормальный SignalR, но никак не сделают.

cherepets 27-09-2016 00:15 +2

Jotun, Гуглился баг в багтрекере моно на эту тему.

Причем в статусе RESOLVED FIXED
bugzilla.xamarin.com/show_bug.cgi?id=196 ...
Вот только почему-то всё равно возникает, хотя я обновил до последней версии всё что мог.

Это не проблема ксамарина, а проблема backward compatibility и общей каличности Андроид.

Но 4.х - самая популярная версия ведра (54.6%). Если не поддерживать 4.х, то может тогда проще вообще сказать, что шел бы весь андроид нахуй?
И вообще тогда надо писать не Xamarin.Android, а Xamarin.Nexus, потому что получается, что приложение всё равно только на Nexus запустить смогут.

Давно обещают нормальный SignalR, но никак не сделают.

Мне критично нужна возможность тупо записать в поток, прочитать из потока. У меня очень слабый сервак, поэтому часть данных он "сериализует" (угу, пошутил так пошутил) тупо через StructLayout и unsafe и вот прям сразу в поток. В "нормальном" нете есть, в WinRT есть, а в Xamarin полторы либы и обе калеки какие-то.

Jotun 27-09-2016 00:29 0

cherepets, Но 4.х - самая популярная версия ведра (54.6%). Если не поддерживать 4.х, то может тогда проще вообще сказать, что шел бы весь андроид нахуй?
И вообще тогда надо писать не Xamarin.Android, а Xamarin.Nexus, потому что получается, что приложение всё равно только на Nexus запустить смогут.

Так лол, там такие же проблемы на нативе возникают. Мне сложно судить про Xamarin.Forms, но про обычный PCL+Platform specific Xamarin я тебе это гарантирую.

Причем в статусе RESOLVED FIXED
bugzilla.xamarin.com/show_bug.cgi?id=196 ...
Вот только почему-то всё равно возникает, хотя я обновил до последней версии всё что мог.

Да, такие ситуации бесят (справедливости ради, конкретно этот баг имеет workaround хотя бы).
Помню, был один баг на Андроиде, который в багтрекере гугла открыт в 2014 году, закрыт, переоткрыт, снова закрыт... и там пишут все равно "Guys, bug reproduces on new devices", но гуглам тупо пофиг.
Странно, что такие корпоративные гиганты позволяют себе подобное отношение к разработчикам, но всё же.

Но 4.х - самая популярная версия ведра (54.6%). Если не поддерживать 4.х, то может тогда проще вообще сказать, что шел бы весь андроид нахуй?
И вообще тогда надо писать не Xamarin.Android, а Xamarin.Nexus, потому что получается, что приложение всё равно только на Nexus запустить смогут.

Хз, сложно судить, потому что версии до 4.4 мы не саппортим, но даже с учетом 4.4 у нас все равно target version это 5.0-5.1

cherepets 27-09-2016 00:43 0

Jotun, Так лол, там такие же проблемы на нативе возникают

Тогда видимо #if !ANDROID
Уж всяко проще, чем купить 20 телефонов и разбираться на какой прошивке анимации работают, на какой ломают интерфейс.

этот баг имеет workaround хотя бы

Блин, а какой? Я несколько дней искал и не нашел. Пишут только про отключение https и использование ModernHttpClient - мне не помогло ни то, ни то.

cherepets 27-09-2016 00:45 0

cherepets, // вообще найти бы мне тупо сокеты работающие, а дальше HttpClient я уже и сам напишу за час. Всяко проще, чем ебаться с кучей кривых либ.

Jotun 27-09-2016 00:50 0

cherepets, Блин, а какой? Я несколько дней искал и не нашел. Пишут только про отключение https и использование ModernHttpClient - мне не помогло ни то, ни то.
Собственно это был фикс в моем случае.
Плюс ещё для DELETE-запроса, для которого баг прострелил в первый раз, помогла почему-то (почему? Потому что идите нахуй) замена DeleteAsync на SendAsync.

Тогда видимо #if !ANDROID
Уж всяко проще, чем купить 20 телефонов и разбираться на какой прошивке анимации работают, на какой ломают интерфейс.

Эти if'ы от лукавого.
Правильный выбор - покупать кучу девайсов, потому что device-specific дерьмо там повсюду

cherepets 27-09-2016 01:18 0

Jotun, Переписал на SendAsync. Ошибка прежняя. И даже с HttpCompletionOption.ResponseHeadersRead - всё равно прежняя => ошибка вообще где-то при чтении заголовков.

Видимо лучше вообще не разбираться.
Я завтра должен прототип приложения уже рабочий показать, буду делать это на винде. По результатам мне дадут денег, на деньги надо нанять фрилансеров. Вот такое решение проблемы будет :D

opera.rulez 02-10-2016 01:58 0

Jotun, Прошла неделя. Наверное, писать рановато, но всё-таки подведу временные итоги:
1. Бинг выкинул из поиска все тестовые страницы как неинтересные. Говорят, Бингу нужно больше текста на странице, чтобы он оставил страницу в индексе.
2. Яндекс оставил только основную страницу, а страницы, на которые вели ссылки, добавлять не стал.
3. Гугл оставил в индексе страницы, на которые ведут обычные ссылки, у которых нет атрибута rel="nofollow", и страницы, на которые ведёт кнопка формы с методом GET, а также image map.

По каким страницам ходили боты:
1. Бинг ходил по всем обычным ссылкам, включая nofollow, а также по image map. По некоторым ссылкам прошёлся тремя ботами с разными айпишниками, а на одной странице прикинулся Сафари для Айфона (проверял на клоакинг или искал мобильную версию?).

2. Яндекс прошёлся только по обычным ссылкам без nofollow, а также по image map.

3. Гугл прошёлся по обычным ссылкам без nofollow, а также по image map и по кнопке формы с методом GET (причём именно по INPUT, а не BUTTON). Ссылки, добавленные скриптами и в SVG, сканировать пока не начал, хотя у него в движке есть такая возможность.

*****

Я забыл ещё об одной возможности вставить «секретную» ссылку: IFRAME с министраничкой, содержащей единственную ссылку. Говорят, что поисковые роботы не обязаны сканировать айфреймы.

opera.rulez 02-10-2016 02:15 0

cherepets, > Но 4.х - самая популярная версия ведра (54.6%).

Причём половина этой 4.x — Jelly Bean (4.1...4.3).

И по два процента в 2016-м году едят мороженое (4.0) и сладкий хлебушек (2.3). Ну в деревнях-то ели всё...

И то наверняка у многих одновременно в наличии несколько устройств с разными версиями системы (смартфон на одной системе, планшет на другой, глупые часы на третьей, Smart-TV на ещё одной), так что статистика по устройствам и статистика по пользователям не будет совпадать.

Jotun 02-10-2016 21:25 +1

opera.rulez, Если честно, хождение по nofollow и, особенно, по get-форме - это дичь

opera.rulez 02-10-2016 21:51 0

Jotun, О хождении по nofollow я догадывался (в справочных материалах поисковиков написано, что поисковик эту ссылку не будет учитывать в результатах поиска, но перейти по ней, чтобы обнаружить новые сайты, может), но хождение по формам и предположить не мог.

opera.rulez 25-11-2016 22:02 +1

Jotun, Добавил ещё немного хуйни на страницу holywars.ru/test/linkstest

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

Содержание, отображаемое с помощью iFrame, не индексируется и не показывается в результатах поиска Google. Использовать окна iFrame для отображения содержания не рекомендуется. Если вы применяете эту технологию, не забудьте добавить дополнительные текстовые ссылки на их содержание, чтобы робот Googlebot мог просканировать его и внести в индекс.


Никому верить нельзя.

P.S. Методы добавления ссылок через document.write и через onclick проверять не стал, потому что ещё давно писали, что они распознаются поисковиками.

opera.rulez 26-11-2016 18:59 0

Jotun, Новый результат: Бинг перешёл по ссылке, которая добавляется java_script'ом (т. е. в HTML-коде ссылка отсутствует), причём для получения ссылки нужно произвести некоторые вычисления, используя регулярные выражения и доступ к объектной модели документа.

Всё, использовать java_script для сокрытия ссылок от ботов больше нельзя.

Jotun 26-11-2016 20:31 0

opera.rulez, А можно подробнее?

opera.rulez 26-11-2016 21:15 +1

Jotun, На странице явно нет ссылки. Есть примерно такой код (имена в интересах следствия изменены):
<span id="myid">
<u class="external" title="//example.com/">
текст ссылки
</u>
</span>


По событию окончания загрузки страницы браузером выполняется такой скрипт:
document.getElementById('myid').innerHTML =
document.getElementById('myid').innerHTML.replace(
/<u\s+class="external"\s+title="([^"]+)">([^<]+)<\/u>/g,
'<a href="$1" target="_blank">$2</a>');


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

Итак:
1. В самом HTML-коде ссылки нет.
2. Значение атрибута title ссылкой не считается.
3. Ссылка возникает только в браузерном движке, который может:
а) найти элемент myid;
б) извлечь его свойство innerHTML;
в) найти фрагмент, соответствующий регулярке;
г) произвести заменту текста;
д) запихнуть этот код обратно в свойство innerHTML;
e) проинтерпретировать HTML, изменённый в памяти.

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

Я могу провести ещё один эксперимент без регулярок и без разбора текста, применяя методы createElement, insertBefore и типа того, но почему-то мне кажется, что результат будет таким же.

Я мог допустить, что у какого-нибудь посетителя в браузере стоял тулбар, который спалил переход пользователя по ссылке и передал сведения Бингу. Однако, до Бинга никто по этой ссылке не переходил. Значит, Бинг сам её нашёл.

Jotun 27-11-2016 00:01 0

opera.rulez, Нихуя себе. Вот это реально нихуя себе.

opera.rulez 27-11-2016 01:15 0

Jotun, Гугл раньше хвастался тем, что прикрутил к ботам браузерный движок. Сначала он поддерживал примитивные вещи (искал добавление ссылок тупо через document.write, а также перезагрузку страницы через изменение свойства window.location, когда сложных вычислений не требуется), потом стал распознавать более сложные вещи (как минимум стал понимать арифметику, конкатенацию строк, какие-то операторы и функции), а под конец стал имитировать браузер (до перевода ХВ с JSON на HTML он начал читать некоторые комментарии). Кнопка «Посмотреть как Googlebot» в Google Search Console сейчас отображает многое из того, что умеют интерпретировать браузеры.

Однако, Гугл до сих пор не всегда переходит по ссылкам, добавленным скриптом. Значит, браузерный движок прикрутили не ко всем ботам, а по мере технической и финансовой возможности (всё-таки интерпретация JS тратит процессорное время и оперативку).

Но что к Бингу прикрутили аналогичный движок, совершенно неожиданно.

opera.rulez 28-11-2016 09:16 0

Jotun, Ещё одна новость. Бинг умеет обрабатывать XSLT. В HTML-коде был такой же элемент <u>, как в предыдущем примере, у которого адрес ссылки был замаскирован в атрибуте title. К нему применялось такое преобразование:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="[url=http://www.w3.org/1999/XSL/Transform%22]www.w3.org/1999/XSL/Transform"[/url]>
<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="yes" />
<xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy></xsl:template>
<xsl:template match="u[@class='external']"><a href="{@title}" target="_blank"><xsl:value-of select="." /></a></xsl:template>
</xsl:stylesheet>


Чтобы совсем не скучно было, XSL был не в виде отдельного файла, а спрятан в JS.

Бинг понял, что <u> нужно заменить на <a>, а title на href.

fhfh 29-11-2016 21:16 +1

opera.rulez, а может он просто ищет всякую фигню типа http?

opera.rulez 29-11-2016 22:09 0

fhfh, Спасибо за идею.

Нужно провести эксперимент. Разместить на странице две ссылки:
1. Одну разместить тупо текстом или в каком-нибудь левом атрибуте (вроде alt, title, class, value, ну то есть где ожидается текст, но не ссылка).
2. Вторая должна получаться в результате работы какого-нибудь алгоритма на JS (решение математического уравнения, криптография с известным ключом, да хотя бы тупой rot13).

Тогда мы сможем сказать точнее, что он умеет.

16-09-2016 14:47 +1

Вот что мне глаза мозолит давно:


Междустрочные расстояния...

6 комментариев
opera.rulez 16-09-2016 14:49 0

vosmoi, По непонятной причине у нас используется тег <sup>, который совершенно не подходит для данного случая.

vosmoi 16-09-2016 14:55 0

opera.rulez, это уже не моя верстка. Не помню кто это делал.

opera.rulez 16-09-2016 15:05 +1

vosmoi, Это скелет из шкафа 2009-го года... Сделаем проще.

opera.rulez 17-09-2016 02:16 0

vosmoi, Быстро пофиксил, почти сохранив старую вёрстку. Окончательно отшлифовать можно стилем.

Будем ли переходить на круги или продолжим шлифовать стрелочки?

fhfh 17-09-2016 10:08 0

opera.rulez, Будем ли переходить на круги

vosmoi 17-09-2016 12:26 0

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

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

16-09-2016 20:25 0

их и так уже 25, да ещё некоторые по два раза повторяются, куда ещё больше?

0 комментариев
16-09-2016 21:19 0

Infinite scroll.

К слову, почему авторизированные и неавторизированные юзеры видят вар по-разному?

9 комментариев
Vidadi 16-09-2016 23:17 0

Jotun, там что-то вроде про правое и левое полушарие, я уже точно не помню.

fhfh 16-09-2016 23:38 0

Jotun, или кто-то боится дубляжа контента, или просто так исторически сложилось ))

opera.rulez 17-09-2016 00:58 +1

Jotun, Infinite scroll — это, пожалуй, то, что больше всего меня раздражает из новомодных изобретений. Годится только для подгрузки пары-тройки страниц, а потом превращается в говно: страница пухнет в оперативке; трудно найти место, на котором остановился.

opera.rulez 17-09-2016 01:01 0

fhfh, Исторически было по-другому, можешь проверить в веб-архиве: неавторизованные вообще не видели описания сторон, из-за чего не могли понять, о чём сайт.

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

vosmoi 17-09-2016 12:22 +1

opera.rulez, иногда это бывает удобнее, когда сайт и контент, который смотришь не нужны для дела, результаты выдачи не очень важны. Что-то мимолетное, развлекательное - да, в таком случае смысл есть.

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

opera.rulez 17-09-2016 13:58 +1

vosmoi, Да, на многих сайтах при добавлении бесконечной ленты забывают, что подвал становится практически недостижим. В Твиттере это поняли и перенесли все ссылки из подвала в боковой блок, хоть за это им спасибо. А в ВК приходится искать страницу, на которой нет бесконечной ленты, чтобы посмотреть подвал, и даже в новом дизайне это не исправили.

Зато в ВК есть страшный гибрид (полностью сохранённый в новой версии): бесконечная лента с индикатором страницы и с возможностью моментального перехода на любую страницу. Фактически две системы навигации в одной. Присутствует на страницах обсуждений в группах. На стенах же пользователей и групп такой фишки нет (видимо, считается, что стена — это что-то мимолётное и развлекательное).

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

vosmoi 17-09-2016 14:23 0

opera.rulez, ВК он весь такой момолетный и развлекательный, может смысл и есть. Хотя с футером это фейл.

Jotun 17-09-2016 23:32 +1

opera.rulez,
Имхо, теперь не консистентно

opera.rulez 18-09-2016 01:00 0

Jotun, Да, я забыл, что описание тоже выделялось серым, если кнопка выбора стороны серая.