Руководства/Руководство по индексации CMS

Индексация Drupal в Google: полное руководство по тому, как добиться появления контента Drupal в поиске

Drupal — одна из самых мощных CMS-платформ, используемая правительствами, университетами и крупным бизнесом. Но из-за её гибкости индексация не происходит автоматически — Вам нужно установить и настроить правильные модули, чтобы Google смог обнаружить и проиндексировать весь Ваш контент.

Обновлено: 1 апр. 2026 г.

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

Эта гибкость имеет свою цену: Drupal не содержит SEO-функций из коробки. В отличие от WordPress (со встроенной картой сайта и базовым SEO), Shopify (с автогенерируемыми картами сайта и canonical-тегами) или Ghost (с комплексным SEO по умолчанию), Drupal требует устанавливать и настраивать contributed-модули для каждой SEO-функции. Генерация XML-карт сайта, URL-алиасы, управление мета-тегами, обработка редиректов и настройка robots.txt — всё требует отдельных модулей.

Основной набор SEO-модулей Drupal — часто называемый «Drupal SEO stack» — включает XML Sitemap (или Simple XML Sitemap) для генерации карт сайта, Pathauto для автоматических URL-алиасов, Metatag для управления мета-тегами, Redirect для обработки 301-редиректов и модуль robots.txt для управления доступом краулеров. Без этих модулей Drupal генерирует URL вида /node/123 (непрозрачные числовые пути), не имеет XML-карты сайта, не выдаёт meta description и имеет базовый robots.txt, который можно редактировать только на уровне файловой системы.

Это руководство проводит через каждый модуль и настройку, необходимые для полной индексируемости сайта Drupal в Google. Используете ли Вы Drupal 10, Drupal 11 или всё ещё поддерживаете сайт на Drupal 9, модули и концепции в основном те же. Мы рассмотрим установку, настройку, типичные ошибки, специфичные для архитектуры Drupal, и продвинутые техники для крупных инсталляций Drupal.

IndexBolt добивается, чтобы Google просканировал Ваши URL менее чем за 24 часа — без ручных отправок и недель ожидания.

Стек SEO-модулей Drupal

Правильно настроенный для индексации сайт Drupal требует определённого набора contributed-модулей. Каждый модуль отвечает за свой аспект SEO, и вместе они обеспечивают комплексную поддержку индексации.

Simple XML Sitemap (или более старый модуль XML Sitemap) генерирует Ваш файл /sitemap.xml. Он позволяет указать, какие типы контента, словари таксономии, меню и пользовательские типы сущностей должны быть включены в карту сайта. Можно задавать приоритеты и частоты изменения для каждого типа. Simple XML Sitemap — современный выбор, нативно поддерживающий Drupal 10 и 11, тогда как старый модуль XML Sitemap может иметь проблемы совместимости с новыми версиями Drupal.

Pathauto автоматически создаёт читаемые URL-алиасы на основе настраиваемых шаблонов. Вместо /node/123 Pathauto создаёт URL вида /blog/my-article-title по заданным Вами шаблонам токенов. Pathauto зависит от модуля Token для динамической генерации URL. Без Pathauto каждая страница Drupal доступна только по внутреннему пути node, что плохо и для пользователей, и для SEO.

Модуль Metatag предоставляет интерфейс для настройки мета-тегов (title, description, canonical, robots, Open Graph, Twitter Cards и других) на глобальном уровне, на уровне типа контента и на уровне отдельной ноды. Он поддерживает замену токенов, так что можно создавать шаблоны вроде «[node:title] | [site:name]» для тегов title. Без модуля Metatag Drupal генерирует только базовый тег <title> без meta description, без canonical URL и без социальных мета-тегов.

Модуль Redirect управляет 301-редиректами. Когда Вы меняете URL-алиас (вручную или через Pathauto), модуль Redirect может автоматически создать редирект со старого URL на новый. Он также предоставляет интерфейс для создания ручных редиректов и устраняет распространённые проблемы с редиректами вроде несогласованности замыкающих слешей и URL в разных регистрах.

Модуль robots.txt (или модуль RobotsTxt) позволяет управлять файлом robots.txt через админ-интерфейс Drupal, а не редактировать файл напрямую на сервере. Это важно, потому что robots.txt Drupal — это статический файл в docroot, и изменения могут быть перезаписаны при обновлениях ядра.

Настройка URL-алиасов с помощью Pathauto

URL-алиасы — фундамент SEO в Drupal. Внутренние пути Drupal (/node/123, /taxonomy/term/45) технически сканируемы и индексируемы, но не несут информации о ключевых словах и создают непрозрачную структуру сайта. Pathauto решает это, автоматически генерируя URL-алиасы на основе заданных Вами шаблонов.

Чтобы настроить Pathauto, установите его через Composer (composer require drupal/pathauto), включите в /admin/modules, а затем настройте шаблоны в /admin/config/search/path/patterns. Для каждого типа контента создайте шаблон с использованием токенов. Распространённые шаблоны: /blog/[node:title] для статей блога, /[node:content-type]/[node:title] для нескольких типов контента, /products/[node:field_product_category:entity:name]/[node:title] для иерархических URL товаров и /[node:menu-link:parents:join-path]/[node:title] для URL на основе иерархии меню.

Pathauto использует модуль Token для разрешения этих шаблонов. Он автоматически приводит заголовки к нижнему регистру, заменяет пробелы дефисами, удаляет специальные символы и обрезает длинные URL. Настройки транслитерации можно изменить в /admin/config/search/path/settings, чтобы управлять обработкой спецсимволов, диакритики и нелатинских алфавитов.

Критически важная настройка Pathauto — «Update action» для существующих алиасов. Когда Вы меняете заголовок ноды, должен ли Pathauto обновить URL-алиас? Если да, старый URL ломается, если не установлен модуль Redirect. Рекомендуемая конфигурация: «Create a new alias. Leave the existing alias functioning» — создаётся новый алиас, а старый остаётся активным. В сочетании с модулем Redirect старый URL автоматически перенаправляется на новый.

Для существующих сайтов с тысячами URL /node/123, уже проиндексированных Google, Pathauto может массово сгенерировать алиасы для всего существующего контента. Перейдите в /admin/config/search/path/update_bulk и выберите, какие типы контента обработать. После массовой генерации установите модуль Redirect, чтобы создать автоматические редиректы с путей /node/123 на новые алиасы. Это обеспечивает, что Google будет следовать редиректам и обновит свой индекс на чистые URL.

Забудьте о ручной работе — IndexBolt отправляет Ваши URL прямо в очередь сканирования Google. Начните со 100 бесплатных кредитов.

100 бесплатных кредитов. Без банковской карты.

Настройка модуля Metatag для индексации

Модуль Metatag критичен для управления тем, как Google видит Ваши страницы. Установите его через Composer (composer require drupal/metatag) и включите модуль Metatag вместе с его подмодулями: Metatag: Open Graph, Metatag: Twitter Cards и Metatag: Verification (для тегов верификации Search Console).

Настройте глобальные значения по умолчанию в /admin/config/search/metatag. Глобальная конфигурация задаёт резервные мета-теги для любой страницы, у которой нет более специфичной настройки. Установите глобальный title как «[current-page:title] | [site:name]», description как «[node:summary]» (или оставьте пустым, чтобы избежать общих описаний) и canonical URL как «[current-page:url]».

Затем создайте переопределения на уровне типов контента. Для статей блога можно установить title «[node:title] - Blog | [site:name]» и description «[node:field_meta_description]» (используя выделенное поле meta description, которое Вы добавите в тип контента). Для страниц товаров используйте специфичные для товаров токены. Для страниц терминов таксономии используйте шаблон «[term:name] - [vocabulary:name] | [site:name]» в качестве title.

Модуль Metatag также управляет директивой meta robots на уровне типа контента и отдельной ноды. Для типов контента, которые не должны индексироваться (например, типы только для админа, страницы подтверждения webform или страницы профилей пользователей), установите meta robots в значение «noindex, follow» на уровне типа контента. Это предотвращает индексацию таких страниц, не запрещая Google переходить по их ссылкам.

Для отдельных нод редакторы контента могут переопределить мета-теги в группе полей «Meta tags» в форме редактирования ноды. Обучайте редакторов писать кастомные meta description для важного контента — автогенерируемая выдержка часто не оптимизирована под поиск. Чтобы принудительно требовать написание meta description, сделайте поле обязательным через конфигурацию отображения формы или используйте кастомный обработчик валидации.

Модуль Metatag также поддерживает hreflang-теги для многоязычных сайтов через подмодуль Metatag: hreflang. Если Ваш сайт Drupal многоязычный (с использованием core-модуля Translation), включите hreflang и настройте его на автоматическую генерацию hreflang-тегов, связывающих все языковые версии каждой страницы.

Генерация и настройка XML-карты сайта

Установите Simple XML Sitemap через Composer (composer require drupal/simple_sitemap) и включите его. Настройте в /admin/config/search/simplesitemap. Модуль позволяет создавать несколько карт сайта (полезно для больших сайтов с разными разделами) и выбирать, какие типы сущностей, бандлы и конкретные сущности включать.

Для большинства сайтов Drupal включайте опубликованные ноды типов контента, которые должны индексироваться (статьи, страницы, товары), опубликованные страницы терминов таксономии с содержательным контентом и любые пользовательские типы сущностей, создающие публичные страницы. Исключайте типы контента, которые являются административными, защищены контролем доступа или изначально тонкие (вроде webform-отправок или профилей пользователей).

Simple XML Sitemap поддерживает настройки priority и changefreq для каждого типа контента. Хотя Google заявил, что в значительной мере игнорирует эти подсказки, их установка помогает организовать карту сайта и сигнализирует об относительной важности контента. Установите priority главной страницы 1.0, основных типов контента 0.8, а вторичного контента вроде терминов таксономии — 0.5.

Модуль генерирует карту сайта по адресу /sitemap.xml по умолчанию и разбивает её на несколько файлов, когда количество URL превышает заданный лимит (по умолчанию 2000, максимум 50 000 на карту по спецификации). Для крупных сайтов Drupal с десятками тысяч страниц генерация карты сайта может быть ресурсоёмкой. Настройте cron на регенерацию карты в часы низкой нагрузки и установите подходящий интервал регенерации (раз в 6–24 часа для большинства сайтов).

Распространённая проблема с картами сайта Drupal — доступ к сущностям. Система разрешений Drupal может помешать генератору карты сайта получить доступ к нодам, которые видимы анонимным пользователям, но не пользователю cron. Модуль Simple XML Sitemap генерирует карту сайта во время выполнения cron, используя по умолчанию разрешения анонимного пользователя. Если Ваши ноды требуют определённых разрешений для просмотра, убедитесь, что анонимные пользователи могут получать к ним доступ, или настройте модуль на генерацию карты сайта с правами другого пользователя.

После настройки карты сайта отправьте её в Google Search Console: «Файлы Sitemap → Добавить новую карту сайта → yourdomain.com/sitemap.xml». Следите за статусом карты сайта на ошибки вроде 404 URL (удалённые ноды всё ещё в карте), заблокированных URL (конфликты robots.txt) и редирект-URL (ноды с изменёнными алиасами).

Пути нод, алиасы и дублирующийся контент в Drupal

У Drupal есть уникальная проблема дублирующегося контента, которой нет у других CMS: контент доступен и по внутреннему пути (/node/123), и по URL-алиасу (/blog/my-article). Без правильной настройки Google может проиндексировать оба URL, создавая дублирование.

Первая линия защиты — настройка модуля Redirect «Enforce clean and canonical URLs». Когда она включена, посещение /node/123 для ноды с алиасом /blog/my-article приводит к 301-редиректу на алиас. Это говорит Google, что алиас — канонический URL, а путь node следует игнорировать. Включите эту настройку в /admin/config/search/redirect/settings.

Вторая линия защиты — мета-тег canonical URL из модуля Metatag. Даже если ноду как-то откроют по внутреннему пути, canonical-тег в <head> страницы укажет на URL-алиас. Google учитывает canonical-теги и консолидирует сигналы ранжирования на каноническом URL.

Третья линия защиты — файл robots.txt. Добавьте Disallow: /node/ в robots.txt, чтобы полностью предотвратить сканирование внутренних путей нод Google. Это подход «и пояс, и подтяжки», который в сочетании с редиректами и canonical-тегами гарантирует, что пути нод никогда не попадут в индекс.

Drupal также создаёт потенциальные дубли через страницы терминов таксономии. Если у Вас есть словарь «Categories» с термином «Technology», Drupal создаёт страницу /taxonomy/term/5 (а с Pathauto — алиас вроде /categories/technology), показывающую все ноды с этим тегом. Если страница термина таксономии не имеет уникального вступительного контента — только список выдержек нод, появляющихся в других местах, — Google может классифицировать её как тонкий или дублирующийся контент.

Страницы, генерируемые модулем Views, добавляют ещё один слой сложности. Модуль Views Drupal может создавать страницы со списками контента по разным критериям с пагинацией. View, показывающий все записи блога по 10 на странице, создаёт URL /blog?page=1, /blog?page=2 и так далее. У каждой страницы пагинации похожий контент (просто разные записи). Без тегов пагинации rel=«next» и rel=«prev» (которые Google объявил устаревшими, но некоторые SEO-специалисты всё ещё используют) или директивы noindex на страницах пагинации Google может растратить бюджет сканирования на глубокие страницы пагинации с убывающей ценностью контента.

Кеширование в Drupal и его влияние на мета-теги

У Drupal одна из самых сложных систем кеширования среди всех CMS, и хотя в целом это даёт прирост производительности, она может вызвать SEO-проблемы, если её не понимать.

Кеш страниц Drupal (модуль Internal Page Cache для анонимных пользователей, Dynamic Page Cache для авторизованных) хранит полностью отрендеренные HTML-страницы. Когда Вы обновляете мета-теги ноды через модуль Metatag, кешированный HTML может продолжать отдавать старые мета-теги, пока кеш не будет очищен. Для сайтов с агрессивным кешированием (TTL в часы или дни) это означает, что SEO-изменения могут оставаться невидимыми для Google продолжительное время.

Решение — понимать систему cache tags Drupal. Когда Вы редактируете ноду, система cache tags Drupal должна автоматически инвалидировать любую кешированную страницу, содержащую контент этой ноды. Это работает корректно, когда изменения мета-тегов являются частью редактирования ноды (через переопределение на уровне ноды в модуле Metatag). Однако изменения глобальных значений по умолчанию или значений на уровне типа контента могут не вызвать инвалидации кеша для всех затронутых страниц. После изменения глобальных настроек мета-тегов вручную очистите кеш сайта в /admin/config/development/performance → «Clear all caches».

Внешние слои кеширования добавляют ещё одно измерение. Если Ваш сайт Drupal находится за Varnish, обратным прокси-кешем или CDN вроде Cloudflare, у Вас есть дополнительный слой кеша, не знающий о cache tags Drupal. После очистки внутреннего кеша Drupal нужно также очистить внешний. Для Varnish используйте модуль Varnish Purge, чтобы интегрировать систему cache tags Drupal с механизмом очистки Varnish. Для Cloudflare используйте модуль Cloudflare, чтобы автоматически очищать кеш CDN при изменении контента Drupal.

Модуль Purge и связанные с ним модули (Purge Queuer, Purge Processor и плагины для конкретных платформ) предоставляют единый интерфейс для управления инвалидацией кеша на всех слоях. Для целей SEO ключевое требование: когда мета-тег меняется на любой странице, все кешированные версии этой страницы (внутренний кеш Drupal, Varnish, CDN) должны быть инвалидированы, чтобы следующий обход Google увидел обновлённые теги.

Будьте особенно осторожны с кешированием для авторизованных и анонимных пользователей. Drupal может отдавать разный контент авторизованным пользователям (редакторам, админам) и анонимным (включая Googlebot). Если Ваша конфигурация Metatag включает условия на основе ролей пользователей, убедитесь, что у анонимной версии корректные мета-теги. Проверьте, выйдя из системы (или в окне инкогнито) и посмотрев исходный код страницы, чтобы убедиться, какие мета-теги увидит Google.

Пошаговое руководство

1

Установите основной стек SEO-модулей

Используйте Composer для установки основных SEO-модулей: composer require drupal/simple_sitemap drupal/pathauto drupal/metatag drupal/redirect drupal/token. Затем включите их через админку Drupal в /admin/modules или через Drush: drush en simple_sitemap pathauto metatag metatag_open_graph redirect. Эти модули обеспечивают фундамент для генерации карт сайта, URL-алиасов, управления мета-тегами и обработки редиректов. Убедитесь, что каждый модуль включён и не имеет ошибок зависимостей в /admin/reports/status.

2

Настройте шаблоны URL-алиасов Pathauto

Перейдите в /admin/config/search/path/patterns и создайте шаблон URL для каждого типа контента. Для статей используйте шаблон вроде /blog/[node:title]. Для страниц — /[node:title]. Для товаров (если применимо) — /products/[node:title] или /products/[node:field_category:entity:name]/[node:title] для иерархии по категориям. После создания шаблонов перейдите в /admin/config/search/path/update_bulk и массово сгенерируйте алиасы для всего существующего контента. Затем установите и включите модуль Redirect, чтобы создавать автоматические 301-редиректы с внутренних путей нод (/node/123) на новые алиасы.

3

Настройте модуль Metatag для всех типов контента

Перейдите в /admin/config/search/metatag и настройте значения мета-тегов по умолчанию. Установите глобальный шаблон title как [current-page:title] | [site:name] и canonical URL как [current-page:url]. Затем добавьте переопределения для каждого типа контента: для каждого типа нажмите «Add» и настройте title, description, canonical URL и директивы robots. Установите description как [node:field_meta_description], если у Вас есть выделенное поле, или [node:summary] в качестве резерва. Для типов контента, которые не должны индексироваться (webform, внутренние страницы), установите meta robots в noindex, follow.

4

Настройте и сгенерируйте XML-карту сайта

Перейдите в /admin/config/search/simplesitemap и настройте, какие типы сущностей включать. Включите опубликованные ноды для всех публичных типов контента, включите термины таксономии для словарей с содержательным контентом, а пользовательские профили, webform-отправки и другие непубличные сущности исключите. Задайте приоритеты карты сайта (главная 1.0, основной контент 0.8, вторичный 0.5). Нажмите «Generate», чтобы создать карту сайта немедленно, затем откройте /sitemap.xml и убедитесь, что в ней нужные URL. Настройте интервал cron для автоматической регенерации.

5

Настройте robots.txt для блокировки внутренних путей

Отредактируйте файл robots.txt Вашего сайта Drupal (в docroot) и добавьте правила для блокировки внутренних путей, которые не должны сканироваться. Добавьте Disallow: /node/ (блокирует внутренние пути нод), Disallow: /admin/ (блокирует страницы админки), Disallow: /user/ (блокирует страницы профилей и входа) и Disallow: /search/ (блокирует страницы внутреннего поиска Drupal). Добавьте Sitemap: https://yourdomain.com/sitemap.xml внизу. Если Вы используете модуль RobotsTxt, управляйте этими правилами в /admin/config/search/robotstxt вместо прямого редактирования файла.

6

Отправьте карту сайта и подтвердите её в Google Search Console

Добавьте сайт Drupal в Google Search Console. Для подтверждения используйте подмодуль Metatag: Verification, чтобы добавить мета-тег верификации Google в /admin/config/search/metatag → Global → Verification. После подтверждения откройте раздел «Файлы Sitemap» в Google Search Console и отправьте URL Вашей карты сайта. Следите за отчётом карты сайта на ошибки. Распространённые ошибки: URL, возвращающие 403 (проблемы с разрешениями), URL, возвращающие 301 (алиасы, перенаправляющие с путей нод), и URL с soft-404 (ноды с пустым контентом). Исправьте каждую категорию ошибок перед повторной отправкой.

7

Отправьте приоритетные страницы через IndexBolt для ускоренной индексации

После завершения установки и настройки модулей у сайтов Drupal часто остаётся очередь страниц, ожидающих индексации, особенно после миграции или крупной реструктуризации. Экспортируйте URL карты сайта и определите страницы, ещё не проиндексированные, через отчёт «Страницы» в Google Search Console. Отправьте страницы с наивысшим приоритетом через IndexBolt — сосредоточьтесь на основных лендингах, самых ценных нодах с контентом и любых страницах с входящими обратными ссылками, для которых нужно сохранить поисковую видимость. Чистый, серверно-отрендеренный HTML Drupal делает его отличным кандидатом для конвейера индексации IndexBolt.

Закончили ручные шаги? Ускорьте процесс.

IndexBolt отправляет Ваши URL прямо в Google — большинство сканируется менее чем за 24 часа.

Частые проблемы и способы их решения

Пути нод (/node/123) и URL-алиасы создают дублирующийся контент

Причина: Контент Drupal доступен и по внутреннему пути ноды (/node/123), и по URL-алиасу (/blog/my-article). Без принудительной канонизации URL модуля Redirect Google может обнаружить и проиндексировать оба URL, создавая дублирующийся контент, разделяющий сигналы ранжирования между двумя URL для одной страницы.

Решение: Установите и включите модуль Redirect, затем перейдите в /admin/config/search/redirect/settings и включите «Enforce clean and canonical URLs». Это создаёт автоматические 301-редиректы с /node/123 на URL-алиас. Также настройте модуль Metatag, чтобы canonical URL указывал на путь алиаса. Для двойной защиты добавьте `Disallow: /node/` в robots.txt, чтобы полностью запретить Google сканировать внутренние пути.

Пагинация Views создаёт сотни тонких страниц

Причина: Модуль Views Drupal создаёт пагинированные списки с URL вида /blog?page=1, /blog?page=2 вплоть до /blog?page=50. Каждая страница пагинации содержит небольшой набор контента (обычно 10–25 элементов на страницу), и страницы выглядят похоже с точки зрения Google. Глубокие страницы пагинации (страница 10 и далее) имеют очень малую ценность обнаружения и тратят бюджет сканирования.

Решение: Для Views с глубокой пагинацией добавляйте директиву noindex на страницы пагинации за пределами первой. Это можно сделать через систему токенов модуля Metatag или кастомным кодом, обнаруживающим параметр page. Альтернативно используйте шаблон «Load more» (бесконечная прокрутка или кнопка «Загрузить ещё») вместо традиционной пагинации, что сохраняет весь контент на одном URL. Сократите общее число страниц пагинации, увеличив количество элементов на странице в настройках View.

Страницы терминов таксономии с тонким контентом попадают в индекс

Причина: Система таксономии Drupal создаёт страницу для каждого термина в каждом словаре. Термины с малым числом тегированных нод дают тонкие архивные страницы — страницу с одной-двумя выдержками контента и без уникального текста. Google может проиндексировать такие тонкие страницы, но ранжировать их низко, разбавляя общие сигналы качества сайта.

Решение: Добавляйте контент описания терминам таксономии, выступающим страницами категорий. В форме редактирования термина таксономии напишите 100–300 слов уникального контента, описывающего тему. Настройте шаблон термина таксономии так, чтобы это описание отображалось заметно. Для словарей, чьи страницы терминов вообще не должны индексироваться (например, внутренние теги), установите значения Metatag по умолчанию для терминов этого словаря в noindex. Удалите тонкие страницы терминов таксономии из карты сайта, исключив словарь в конфигурации Simple XML Sitemap.

Разрешения Drupal блокируют анонимный доступ к опубликованному контенту

Причина: Гибкая система разрешений Drupal может непреднамеренно помешать анонимным пользователям (включая Googlebot) получать доступ к опубликованному контенту. Это происходит, когда у роли анонимного пользователя удалено разрешение «View published content», когда модули контроля доступа (Content Access, Node Access) ограничивают просмотр по роли или когда права уровня поля скрывают контент от анонимных пользователей.

Решение: Перейдите в /admin/people/permissions и убедитесь, что у роли анонимного пользователя включено разрешение «View published content» для всех типов контента, которые должны индексироваться. Если Вы используете модули контроля доступа, проверьте их конфигурацию, чтобы убедиться, что опубликованные ноды доступны анонимным пользователям. Протестируйте, полностью выйдя из системы и открыв страницы контента — если Вы видите страницу отказа в доступе, разрешения неверны. Также убедитесь, что модуль Simple XML Sitemap может получить доступ к контенту во время cron (он по умолчанию работает от анонимного пользователя).

Кеширование отдаёт устаревшие мета-теги после SEO-изменений

Причина: Агрессивное кеширование страниц Drupal (Internal Page Cache, Dynamic Page Cache, внешний Varnish или CDN) хранит полностью отрендеренный HTML, включая мета-теги. Когда Вы обновляете мета-теги через модуль Metatag — особенно глобальные значения или значения на уровне типа контента, — кешированный HTML может продолжать отдавать старые мета-теги часами или днями, в зависимости от настройки TTL.

Решение: После изменения мета-тегов на глобальном уровне или уровне типа контента очистите все кеши в /admin/config/development/performance → «Clear all caches». Если Вы используете Varnish, очистите и его кеш (`ban req.http.host == "yourdomain.com"` в Varnish CLI). Если Вы используете Cloudflare или другой CDN, очистите его кеш через панель или API. Проверьте обновлённые мета-теги, открыв страницу в окне инкогнито и просмотрев исходный код. Для постоянной надёжности установите модуль Purge, чтобы автоматизировать инвалидацию кеша на всех слоях.

Конфликты модулей создают дублирующиеся или отсутствующие мета-теги

Причина: Несколько модулей Drupal могут пытаться генерировать одни и те же мета-теги. Например, тема может выводить собственный тег title, модуль Metatag — другой, а кастомный модуль — третий. Аналогично модуль SEO Checklist, модуль Google Analytics или другие contrib-модули могут добавлять собственные мета-теги, конфликтующие с выводом Metatag.

Решение: Просмотрите исходный код нескольких страниц контента и поищите дублирующиеся мета-теги — несколько тегов `<title>`, несколько `<meta name="description">` или несколько `<link rel="canonical">`. Если есть дубли, определите, какой модуль генерирует каждый из них. Отключите дублирующий источник — обычно удалив вывод мета-тегов из шаблонов темы (проверьте html.html.twig и page.html.twig) и положившись только на модуль Metatag для всей генерации мета-тегов. Модуль Metatag должен быть единственным источником истины для всех SEO-связанных мета-тегов.

Советы профи

Используйте модуль SEO Checklist (drupal/seo_checklist) как комплексный инструмент аудита SEO-конфигурации Вашего сайта Drupal. Он предоставляет чек-лист каждого SEO-связанного модуля, настройки и конфигурации, которые должны быть в наличии. Хотя он не исправляет проблемы автоматически, он помогает выявить пробелы в SEO-настройке, которые Вы могли упустить.
Для крупных сайтов Drupal с пользовательскими типами контента создавайте выделенные поля «SEO Title» и «SEO Description» для каждого типа контента, а не полагайтесь на заголовок ноды и выдержку body. Это разделяет редакционные заголовки (которые могут быть творческими или длинными) и SEO-заголовки (которые должны быть оптимизированы под ключи и лаконичны). Привязывайте модуль Metatag к этим выделенным полям для максимального контроля.
Модуль JSON:API в Drupal (входит в core с Drupal 9) отдаёт Ваш контент как JSON-эндпоинты. Хотя они не предназначены для поисковых систем, они могут попасть в индекс, если на них ссылаются. Добавляйте заголовки X-Robots-Tag: noindex к ответам JSON:API с помощью кастомного middleware или правила .htaccess. То же касается REST-эндпоинтов, если включён модуль RESTful Web Services.
Для многоязычных сайтов Drupal убедитесь, что подмодуль Metatag: hreflang включён и правильно настроен. Система переводов Drupal создаёт отдельные сущности нод для каждой языковой версии, и hreflang-теги должны корректно связывать все переводы. Проверьте, открыв исходный код переведённой страницы и убедившись, что hreflang-теги перечисляют все доступные языковые версии с корректными путями URL.
При миграции на Drupal с другой CMS используйте набор модулей Migrate, чтобы сохранить старую структуру URL, где это возможно. После миграции проведите сравнение обхода между старой картой сайта и новой, чтобы выявить изменившиеся URL. Создайте редиректы для каждого изменённого URL с помощью функции CSV-импорта модуля Redirect (/admin/config/search/redirect/import), чтобы массово добавить сотни редиректов сразу.
Модуль Views Drupal может генерировать RSS-фиды, служащие дополнительными путями обнаружения для Google. Создайте отображение feed на основных Views контента и ссылайтесь на него из `<head>` сайта через `<link rel="alternate" type="application/rss+xml">`. Отправляйте URL фида вместе с картой сайта в Google Search Console для дублирующего обнаружения контента.

Сайты Drupal часто крупные, сложные и критически важные. Есть ли у Вас тысячи нод, ожидающих, пока Google их обнаружит, или Вы только что завершили крупную миграцию с новыми структурами URL — IndexBolt может отправить Ваши самые важные страницы напрямую в конвейер индексации Google. Перестаньте ждать карт сайта по cron и естественных циклов обхода — отправьте URL Drupal через IndexBolt и проиндексируйте их за часы.

100 бесплатных кредитов. Без банковской карты. Результаты менее чем за 24 часа.

Часто задаваемые вопросы

Есть ли в Drupal встроенные SEO-функции?+

Ядро Drupal предоставляет базовые строительные блоки — чистый HTML-вывод, настраиваемый тег `<title>`, управление URL-алиасами (с Drupal 8 ядро включает базовое управление алиасами) и возможность отдавать статические файлы вроде robots.txt. Однако Drupal не включает XML-карту сайта, управление meta description, автоматические canonical URL, структурированные данные или управление редиректами из коробки. Эти функции обеспечивают contributed-модули (Simple XML Sitemap, Metatag, Redirect, Pathauto), которые нужно устанавливать и настраивать отдельно.

Какие модули Drupal нужны для SEO?+

Основной стек SEO-модулей Drupal включает: Simple XML Sitemap для генерации карт сайта, Pathauto для автоматических URL-алиасов, Token (зависимость Pathauto), Metatag для управления мета-тегами, Redirect для обработки 301-редиректов и опционально модуль RobotsTxt для управления robots.txt через админку. Для многоязычных сайтов добавьте подмодуль Metatag: hreflang. Установите все модули через Composer и включите их через /admin/modules или Drush.

Как предотвратить индексацию путей /node/123?+

Используйте трёхслойный подход: (1) Установите модуль Redirect и включите «Enforce clean and canonical URLs», чтобы автоматически делать 301-редирект с /node/123 на URL-алиас. (2) Настройте модуль Metatag, чтобы canonical URL указывал на путь алиаса. (3) Добавьте `Disallow: /node/` в robots.txt, чтобы предотвратить сканирование внутренних путей нод Google. Вместе эти три меры обеспечивают, что Google видит и индексирует только чистые URL-алиасы, а не внутренние пути нод.

Как обрабатывать изменения URL при миграции на Drupal?+

Перед миграцией задокументируйте все URL текущего сайта, экспортировав карту сайта. После миграции на Drupal настройте Pathauto, чтобы генерировать алиасы, соответствующие старой структуре URL, где это возможно. Для URL, которые должны измениться, создайте 301-редиректы с помощью модуля Redirect. Редиректы можно массово импортировать через CSV в /admin/config/search/redirect/import. После настройки редиректов повторно отправьте карту сайта в Google Search Console и следите за отчётом «Страницы» на ошибки 404, указывающие на отсутствующие редиректы.

Почему мои страницы Views в Drupal не индексируются?+

Страницы Views могут не индексироваться по нескольким причинам: URL страницы Views не включён в Вашу карту сайта (добавьте его вручную в кастомных ссылках Simple XML Sitemap), контент страницы слишком похож на другие страницы (пагинированные views с пересекающимся контентом), у страницы некорректный мета-тег robots (проверьте конфигурацию модуля Metatag для отображения Views), или страница требует разрешений, которых у анонимных пользователей нет. Протестируйте URL страницы Views в инструменте «Проверка URL» Google Search Console, чтобы диагностировать конкретную проблему.

Можно ли использовать IndexBolt с сайтом Drupal за базовой аутентификацией?+

IndexBolt должен получить доступ к Вашим публичным URL, поэтому любая базовая HTTP-аутентификация (распространённая на staging-окружениях Drupal) должна быть снята для продакшн-страниц, которые Вы хотите индексировать. Если на staging-сайте есть basic auth — это нормально, staging не должен индексироваться. Ваш продакшн-сайт должен быть публично доступен без барьеров аутентификации. Разрешения контента Drupal не связаны с HTTP-аутентификацией — пока анонимные пользователи могут просматривать опубликованные ноды, IndexBolt может отправлять эти URL на индексацию.

Бесплатные инструменты для этого

Дополнительные материалы

Готовы проиндексировать свои URL?

Начните со 100 бесплатных кредитов. Без банковской карты.