Googlebot получает не-JavaScript версию сайта

Итак, я только что заметил, что Discourse отдает Google версию сайта без JavaScript.

Я использую JS для установки заголовка сайта, мета-описания, канонической ссылки и т. д., и, похоже, Google отлично справляется с рендерингом клиентского JavaScript (я имею в виду свой обычный сайт, а не Discourse).

Есть ли способ отключить это и не предоставлять роботу Google какую-то конкретную версию?

..Также у Discourse есть там ссылка с атрибутом do-follow для самого себя — «Powered by Discourse». Что я могу с этим сделать?

Редактирование 1: Я также должен добавить, что меня не беспокоит наличие ссылки на Discourse, возможно, с атрибутом no-follow или do-follow, но не на всех страницах сайта.

Редактирование 2: Я на GitHub и вижу, что у меня есть варианты удаления этой ссылки — есть ли какие-то рекомендации, к какому варианту мне стоит склониться?

У кого-нибудь есть какие-то идеи по этому поводу?

Наверное, стоит объяснить, почему это необходимо. Поведение «из коробки» в Discourse работает отлично для большинства пользователей. Исходя из вашего аккаунта, это ваш выбор, который в сочетании с вышеупомянутым создаёт конфликт.

Прошу прощения.

Когда я говорю, что использую JavaScript для заголовка, канонической ссылки и мета-описания, я имею в виду свой обычный веб-сайт, а не настройку Discourse. Я просто пытался поделиться своим опытом взаимодействия с Googlebot и JavaScript.

Я пробовал корректировать файл robots, но это, похоже, не заставило Google получать JavaScript-версию.

Редактирование: Я также начинаю понимать, насколько Discourse представляет собой приложение, работающее на стороне клиента — очень круто. Всё ещё было бы интересно посмотреть, что сможет сделать с этим Googlebot. Представляю, что алгоритму очень понравится такая чистая структура.

Верно. Всё это приложение. И у Google мало шансов разобраться в этом, поэтому потребуется второе приложение, специально для Google, именно поэтому он отправляет статическую версию.

Спасибо за ответ здесь, @pfaffman.

Просто чтобы удовлетворить любопытство, есть ли способ это проверить? Мне интересно, как будет выглядеть сайт, если мы попробуем предоставить данные Google. В последнее время они действительно стали более открытыми к идее клиентского JS. С точки зрения SEO это имеет смысл попробовать.

Версия без JS отображает гиперссылки тем же цветом, что и текст. Поэтому невозможно понять, что является ссылкой (если вы робот Google).

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

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

Вы действительно думаете, что бот Google «слеп» к цвету и смотрит на цвет текста, чтобы решить, что является ссылкой? И что он не может прочитать HTML, чтобы увидеть, что такое href? Это кажется маловероятным.

На самом деле он полностью слеп к цвету :wink:

Очень многие, даже эксперты по SEO, действительно считают, что боты видят сайт так же, как мы видим его на экране.

Ну что ж, я, кажется, уже ушел от темы.

Я подумал начать новую тему здесь, на мета-форуме, чтобы обсудить это (я недостаточно знаком с терминологией pull requests и коммитов на GitHub).

Поверьте, я тоже в шоке… Я бы также не стал называть себя новичком в области SEO: я уже более десяти лет периодически занимаюсь этим. Здесь явно действуют негативные факторы ранжирования. Это может не навредить SEO “LetsEncrypt”, но для небольших проектов — определённо.

Думаю, большинство пользователей Discourse разделяют ваше отношение к SEO — они не уделяют ему особого внимания. Здесь скрыт огромный потенциал.

Да, они знают, что это ссылка, и также видят, что она тёмная, как и текст, и пользователям это не понравится. Не стоит забывать, что Google теперь ранжирует нас по тому, что он видит в версии без JavaScript.

Что касается внешней ссылки “Powered by Discourse”:

Я помню видео с Джоном Мюллером и Маттом Каттсом — специалистами Google по SEO — где они упоминали, что скрытые внутренние ссылки (из-за меню, JavaScript и т.д.) не наносят серьёзного вреда.

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

Честно говоря, я чувствую себя так, будто попал в Зону сумерек. Гарантирую вам: как только это будет исправлено, все форумы на Discourse увидят резкий рост органического трафика из Google.

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

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

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

У меня есть довольно общее представление: приложение heavily полагается на JavaScript, и исторически у Google возникали проблемы с JS. Поэтому вы выбрали простое решение без JS, которое у нас есть сейчас. Мой аргумент заключается в том, чтобы хотя бы ПОПРОБОВАТЬ и посмотреть, как Google отображает страницу при включенном JavaScript.

На самом деле я думаю, что я недооцениваю это: некоторые согласны со мной на Reddit в разделе technical SEO

Примечание:
Похоже, что гиперссылки в теле страницы стали того же цвета, что и текст, в одном из недавних обновлений. В более старых версиях моей страницы в Google ссылки отображались синими.

Я знаю, что эта тема довольно старая, но поскольку сейчас я сам заинтересован во всех вопросах, связанных с Discourse и SEO, и Nader, кажется, в сети, давайте возродим обсуждение.

Мне тоже не нравится, что Discourse показывает Google что-то отличное от того, что видят остальные пользователи. Я всегда слышал, что это одно из главных правил «чего НЕ делать», потому что Google это совершенно не нравится.

Разве одной из проблем (или даже главной) не было то, что Discourse воспринимался как медленно загружаемый при включенном JS?

Эту проблему обходили, предоставляя Google статическую версию и показывая анимацию «загрузки», чтобы создать впечатление быстрой отрисовки. «Что-то» появляется, да, но не та информация, которую искал пользователь и ради которой перешел по ссылке. Это занимает время. При предоставлении версии на JS Google мог бы это узнать. Сейчас же его немного обманывают, и он не знает, сколько времени это занимает.

Или я ошибаюсь?
Является ли это хорошим подходом? Узнает ли Google об этом все равно? Например, через статистику браузера Chrome, которая отправляется обратно. И не влияет ли это на ранжирование?

Я давно собирался ответить на это, просто я мастер откладывать всё на потом.

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

Я вполне уверен, что во время моих экспериментов версия на JavaScript лучше воспринималась Google. Количество показов всегда возрастало, когда получалась улучшенная версия.

Джон Мюллер из Google Search отреагировал на наши твиты об этом, вот первоначальный твит.

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

Я понимаю, что для Discourse это было бы серьёзным вызовом, но представьте, как вырос бы трафик на всех форумах Discourse, если бы Google получал более приятный интерфейс, верстку и так далее.

Однако Джон из Google говорит, что всё должно быть в порядке, так что это тоже следует учитывать.

https://twitter.com/JohnMu/status/1644803668493971456

Спасибо за информацию.

Однако этот ответ подтверждает наш текущий подход, так как речь идёт о максимально быстрой индексации контента :sweat_smile:

Хочу добавить: в данный момент на одном из сайтов я наблюдаю рост показов и кликов в Google, превышающий экспоненциальный*. Что-то точно делается правильно!

*Вероятно, это не продлится долго, но я не буду винить в этом Discourse! :sweat_smile:

Понятно, если я могу внести свои комментарии… насколько я понимаю, краулер Googlebot довольно эффективно находит новый контент и страницы, независимо от используемого технологического стека. Это, вероятно, не единственная причина, по которой Discourse использует версию для краулеров, но я понимаю последствия этого решения.

Возможно, сейчас, с развитием ИИ и изменением структуры интернета, концепция SEO на странице станет всё менее актуальной, и самое важное будет заключаться в самом контенте и данных.

@stance455 Если Discourse отдает версию на JavaScript, Googlebot заметит, сколько времени проходит до появления (реального) контента. Это очень плохо для SEO.

Проблема возникает только при первоначальной загрузке Discourse. Но это важный показатель для пользователей, переходящих по ссылке из поисковой системы (а значит, и для самого Google).