Существует ли какой-то способ вставить данные на веб-страницу из другого сервера с возможностью индексации поисковиками?
Представим себе html страницу, в которую хотим передать некоторые данные (например, текст статьи) с другого сервера. Хочется, чтобы текст потом был доступен для индексации. В голову приходит только вставка javascript кода, заполнение ДОМа через этот скрипт. Но в таком случае поисковики не будут способны увидеть этот текст. Существуют ли другие варианты?
Доп. информация. Все знают eqwid, они позволяют на любой странице "создавать" магазин и продавать свои товары. Тут примерно такая же задача, только не магазин, а некий контент. То есть на нашей стороне клиент создает контент и затем размещает его у себя на сайте, причем сайтом может быть что угодно - простые html страницы или какой-то движок. Важно то, что клиенту не надо писать код, чтобы разместить контент у себя, а достаточно вставить себе ссылку на наш скрипт. Но контент этот должен идексироваться. Я спросила у службы поддержки eqwid, как они обеспечивают индексацию, мне ответили, что гугл знает о них и всегда индексируют, ну это не наш случай :)
Получение контента через AJAX и создание DOM ноды это для SPA, а если с бэкэндом, то можно к примеру тем же PHP сделать AJAX (вариантов масса) запрос на другой сервер ну и полученную информацию вставить в страницу.
По поводу индексации поисковиками сгенерировано текста с помощью js, вопрос дискуссионный, поскольку на данном принципе базируются большинство популярных фреймворков, Angular, React, Vue и.т.д. не думаю что современные поисковые кроулеры не могут индексировать эту информацию...?!
Антон Спирин, нет, не подойдет, так как на сайте, где хостятся (крутятся) веб-страницы, нет доступа к коду, который предоставляется сторонним сервером. Идея в том, чтобы вставить как-то данные без доступа к коду. Есть возможность вставить ссылку, скрипт, но не сам код. И потом это могут быть простые html страницы, не приложение.
Alexey, вся проблема в том, что здесь 2 разных сервиса (приложения), и приложение, В которое надо передать содержимое, не имеет доступа к приложению, КОТОРОЕ передает.
Ну то есть представьте себе некоторый API (к примеру google maps api). Чтобы вставить карту, мы добавляем на страницу код этого сервиса, и он рендерит туда. Задача в том, чтобы сделать полученный отрендеренный код (или содержимое) доступное для поисковиков. Да, они НЕ могут индексировать данные вытянутые JavaScript, можно ли как-то по-другому это сделать, но при этом без прямого доступа к сервису, который предоставляет данные?
Да, можно было бы на сервере это сделать, но если никакого сервера нет, и это простые html страницы, без всякого РНР и других серверных технологий?
Ptolemy_master, только если вы со своего сервера получите данные и отредерите их в шаблоне. В чем проблема то? Запрос к вам, вы запрос за данными, получаете и рендерите.
Alexey, Angular, React и Vue для этого используют SSR.
Антон Спирин, проблемы нет, если это один и тот же сервер. Тут два разных сервера, два разных приложения, и по умолчанию никакого программирования на принимающей стороне быть не должно (ну или максимум как вставить скрипт). Я предполагаю, что речь идет вообще просто о веб-странице, не связанной ни с каким серверным приложением. Как и что вы можете вставить в такую страницу чтобы получить данные от другого сервера?
Ptolemy_master, я напишу сервер, который сделает запрос, заберет данные, отрендерит и вернет страницу.
Не вижу других путей. Статичной страницей со скриптом на хостинге, такую задачу вряд ли решить.
Антон Спирин, извините, не понял для чего используют современные фреймворки SSR?! Эти фреймворки полностью client side и весь контент формируется на клиентском уровне, включая формирование страниц и получение данных, SSR можно использовать только для REST сервисов... Пример:
Создание страницы на Ангуляре полностью не включает в себя использование PHP, Python etc... Но данные вы получаете через AJAX, WebSockets, etc... используя сервер, но можно использовать и статический JSON.
При этом эти сайты неплохо индексируются...
Ptolemy_master, Я приблизительно понял что вам необходимо, но тогда нужно будет немного больше чем можно себе представить. Итак, если у вас есть сервер с которого нужно вытащить информацию, но при этом он не имеет API то можно эту информацию получить используя тот же PHP. К примеру CURL использовать, PHP Simple HTML DOM Parser, или к примеру мой самый любимый вариант с Chrome Headless + Mink, такие же связки есть приблизительно для всех современных языков программирования использующихся для веб. То есть задача сформировать API и использовать его с помощью JS (на той странице на которую нужно вставить информацию), мне кажется другого варианта вставить информацию, не используя JS у вас нет... Не знаю на сколько правильно вас понял, если что уточните...
Alexey, спасибо за ваши усилия. Тот сервер, который предоставляет данные, может иметь API - это наша разработка. На нашей стороне клиент создает некоторый контент, ну например, пишет статью. Затем нужно дать клиенту возможность разместить эту статью на своем сайте, причем клиент может иметь что угодно - простые страницы или какой-то движок, но скорее всего, что-то минимальное. Задача - позволить клиенту в "два клика" разместить у себя контент и при этом чтобы этот контент индексировался.
Alexey, спасибо за инфу. Да, эту статью видела, но как бы все равно это не 100% надежно, тем не менее лучше, чем ничего. Вопрос, что будет лучше работать - например если сравнивать простой js, jQuery, Angularjs - ?