Для издателей
Добавьте на сайт живой уголок об ИИ
Бесплатный блок, который наполняется сам: новейшие ИИ-инструменты, промпт для пробы, свежая статья и подборки по задачам от trendhub. Вставьте код один раз — дальше он обновляется сам.
Живой пример — так его увидят ваши посетители

Эволюция дизайна скульптурного кресла из крыла птицыСкопировать промпт →Из блога
Apple Finally Added Touch to the MacBook Pro. Now What?6 мин чтения →Новые инструменты, промпты и статьи сменяются каждые 10 минут. Вам больше не придётся ничего править.
Три карточки на широких страницах, компактные строки в боковых колонках и на телефонах. Светлая и тёмная темы подстраиваются под посетителя.
Обычный HTML с одной небольшой таблицей стилей. Без cookie, трекеров и сторонних скриптов.
Получить код
Выберите язык блока и вставьте код туда, где он должен появиться. PHP-сайты получают настоящий HTML прямо в странице — это лучше всего и для читателей, и для поисковиков.
Englishhttps://trendhub.net/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-en.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Türkçehttps://trendhub.net/tr/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-tr.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/tr/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/tr/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Deutschhttps://trendhub.net/de/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-de.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/de/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/de/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Españolhttps://trendhub.net/es/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-es.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/es/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/es/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Françaishttps://trendhub.net/fr/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-fr.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/fr/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/fr/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Italianohttps://trendhub.net/it/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-it.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/it/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/it/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Nederlandshttps://trendhub.net/nl/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-nl.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/nl/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/nl/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Ελληνικάhttps://trendhub.net/el/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-el.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/el/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/el/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Русскийhttps://trendhub.net/ru/embed/pulse
<?php
// trendhub Pulse: refreshes every 10 minutes; if trendhub cannot be reached, the last copy is shown.
$cache = __DIR__ . '/cache/trendhub-pulse-ru.html';
if (!is_file($cache) || filemtime($cache) < time() - 600) {
$html = @file_get_contents('https://trendhub.net/ru/embed/pulse?src=' . rawurlencode($_SERVER['HTTP_HOST'] ?? ''), false, stream_context_create(['http' => ['timeout' => 3]]));
if (is_string($html) && ($end = strrpos($html, '</section>')) !== false) $html = substr($html, 0, $end + 10);
// Only a genuine Pulse block is kept: no scripts, no inline event handlers.
if (is_string($html) && strpos($html, '<section class="thp"') === 0 && !preg_match('/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i', $html)) {
@mkdir(dirname($cache), 0755, true);
file_put_contents($cache, $html, LOCK_EX);
} elseif (is_file($cache)) {
touch($cache); // try again in 10 minutes, keep showing the last good copy
}
}
if (is_file($cache)) readfile($cache);
?>
<div id="trendhub-pulse"></div>
<script>fetch("https://trendhub.net/ru/embed/pulse?src="+location.hostname).then(function(r){return r.text()}).then(function(h){var e=h.lastIndexOf("</section>");if(e>0)h=h.slice(0,e+10);if(h.indexOf('<section class="thp"')===0&&!/<\s*(script|iframe|object|embed|form)|\son[a-z]+\s*=|javascript:/i.test(h))document.getElementById("trendhub-pulse").innerHTML=h})</script>
Пожалуйста, оставьте блок как есть — с названием и ссылками trendhub. Есть вопросы или нужна особая версия? Свяжитесь с нами.
Вопросы
Это бесплатно?
Да. Блок бесплатен для любого сайта. Мы лишь просим оставить его как есть — с названием и ссылками trendhub.
Не замедлит ли он мой сайт?
Нет. PHP-код хранит копию на вашем сервере и обновляет её каждые 10 минут, так что посетителям никогда не приходится ждать trendhub. В блоке нет скриптов отслеживания.
Он использует cookie?
Нет. Блок не ставит cookie и не загружает сторонние скрипты. Это обычный HTML с одной небольшой таблицей стилей.
Можно выбрать язык и тему?
Да. Выберите один из 9 языков ниже. Блок подстраивается под светлый или тёмный режим посетителя, но тему можно задать принудительно, добавив к адресу ?theme=light или ?theme=dark.
Впишется ли он в мой макет?
Да. Блок измеряет отведённое ему место: на широких участках — три карточки в ряд, в узких колонках и на телефонах — компактные строки.