Robots meta tags представляют собой HTML-мета-теги, которые управляют индексированием страниц поисковыми системами и поведением поисковых роботов. В контексте MDX их использование позволяет интегрировать управление SEO прямо в компоненты и разметку контента, что особенно важно для динамических сайтов на React.
import { Helmet } from "react-helmet";
<Helmet>
<meta name="robots" content="index, follow" />
</Helmet>
Здесь index, follow задает инструкцию для роботов:
индексировать страницу и следовать по ссылкам. MDX позволяет вставлять
такие теги внутри любого контента, сохраняя возможности
React-компонентной структуры.
Основные директивы, поддерживаемые robots meta tags:
index — страница доступна для индексации поисковыми
системами.noindex — запрет на индексацию страницы.follow — разрешение следовать по ссылкам на
странице.nofollow — запрет перехода по ссылкам поисковыми
роботами.noarchive — запрещает хранение кэшированной версии
страницы.nosnippet — запрещает отображение сниппетов в
результатах поиска.noimageindex — запрет индексирования изображений на
странице.max-snippet:[number] — ограничение длины текстового
сниппета.max-image-preview:[setting] — контроль размера превью
изображений (например, none, standard,
large).max-video-preview:[number] — ограничение превью видео в
результатах поиска.Каждая директива может использоваться как по отдельности, так и в комбинации, разделяясь запятыми:
<Helmet>
<meta name="robots" content="noindex, nofollow, noarchive" />
</Helmet>
MDX позволяет вставлять JSX прямо в Markdown, что дает возможность динамически генерировать robots meta tags на основе данных страницы:
import { Helmet } from "react-helmet";
const SEO = ({ allowIndex }) => (
<Helmet>
<meta
name="robots"
content={allowIndex ? "index, follow" : "noindex, nofollow"}
/>
</Helmet>
);
export default SEO;
Использование такого подхода в MDX:
import SEO from './SEO'
<SEO allowIndex={true} />
# Заголовок страницы
Контент страницы...
Это обеспечивает гибкую настройку для отдельных страниц или разделов сайта, позволяя программно управлять индексированием.
MDX не ограничивает добавление других мета-тегов. Robots meta tags часто комбинируются с:
<meta name="description" content="..."><meta property="og:title" content="..."><meta property="og:description" content="...">Это позволяет управлять не только индексированием, но и отображением в социальных сетях и результатах поиска.
noindex, nofollow.index, follow.<head> и
MDX-компонентах одновременно — возможны конфликты, особенно при
использовании SSR и React Helmet.<Helmet> или аналогичные решения в серверный рендер,
чтобы robots meta tags присутствовали в исходном HTML, а не только на
клиенте.Комбинация директив для продвинутого контроля:
<Helmet>
<meta
name="robots"
content="noindex, follow, max-snippet:50, max-image-preview:large"
/>
</Helmet>
Здесь страница не индексируется, но поисковые роботы могут переходить по ссылкам, кэшированные сниппеты ограничены 50 символами, а изображения могут показываться в больших превью.
Robots meta tags в MDX — это мощный инструмент для точного управления видимостью страниц в поисковых системах и гибкого взаимодействия с контентом, создаваемым с использованием React-компонентов.