Ръководства

SEO за сайтове с инвентар: какво се променя, когато AI роботите не изпълняват JavaScript

Google изпълнява JavaScript — в крайна сметка. GPTBot, ClaudeBot и PerplexityBot изобщо не го изпълняват — което променя сметката за всеки сайт, чието съдържание е инвентарът му.

Инженерен екип на Авто ДанниЕкип на платформатаПубликувана Обновена 11 мин четене

Сайтовете, движени от инвентар — автомобилни платформи, имотни портали, всичко, при което каталогът е съдържанието — получават по-голямата част от трафика си от органично търсене. Те също така непропорционално често са изградени като едностранични приложения, рендерирани в браузъра, защото това улесняват инструментите за фронтенд.

Тези два факта са в пряк конфликт и конфликтът се изостри, когато AI роботите станаха значим канал за откриване. Ето как реално изглежда проблемът и какво да направите.

Какво вижда роботът

Едностранично приложение, рендерирано в браузъра, сервира един и същ HTML документ на всеки адрес:

html
<!doctype html>
<html lang="en">
  <head>
    <title>Cars — Marketplace</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/assets/index.js"></script>
  </body>
</html>

Еднакъв за началната страница, за всяка страница с категория и за всичките 200 000 адреса на обяви. Едно и също заглавие, без описание, без canonical, без съдържание.

Google ще изпълни JavaScript и в крайна сметка ще види истинската страница. Но рендерирането става във втори етап, на отделна опашка, а бюджетът за обхождане се разпределя от първия. Това, което Googlebot вижда на първия етап, е голям брой адреси с еднакво заглавие и без текст — което структурно е профилът на нискокачествен автоматично генериран сайт. За сайт, чието цяло предложение се основава на доверие, това е лошо първо впечатление в голям мащаб.

Решението, по ред на ефекта

1. Истински адреси и истински връзки

Предпоставка за всичко останало и често липсващото парче. Ако навигацията е <button onClick={setPage}>, няма какво да се обхожда и няма към какво да се свързва — никаква работа по мета таговете не помага на сайт с един адрес.

Всяка страница се нуждае от собствен път и всеки навигационен елемент трябва да е <a href>, който роботът може да последва, а потребителят да отвори със среден бутон. Прихващайте клика за клиентска навигация, ако искате усещането на SPA; запазете връзката.

2. Пререндерирайте страниците, които можете да изброите

Маркетингови страници, документация, статии, страници с категории — всичко с известен, ограничен списък от адреси — трябва да се рендерира в статичен HTML при изграждането. За React приложение това не е пренаписване: рендерирайте всеки маршрут с renderToString, вмъкнете резултата и head за страницата в изградения HTML шаблон и хидратирайте в браузъра.

Получавате пълен HTML за роботите, по-бързо първо изобразяване за потребителите и без миграция на фреймуърк.

3. Рендерирайте head на сървъра за страниците, които не можете да изброите

Отделните страници на обяви са трудният случай: може да са стотици хиляди, постоянно се променят и пререндерирането на всички при изграждането не е реалистично. Прагматичният отговор е head да се вмъква на сървъра при всяка заявка — заглавие, описание, canonical, OG тагове и структурирани данни — от една заявка към базата, като тялото остава за браузъра.

Това са може би шестдесет реда заместване на низове в HTML шаблона и превръщат маса от еднакви обвивки в индивидуално описани страници.

html
<title>2021 Kia Niro 1.6 GDi HEV, 77 205 км — лот от търг | Пример</title>
<meta name="description" content="2021 Kia Niro хибрид, 77 205 км, автоматик, от търг в Нидерландия. Текуща цена €9800. Пълна спецификация и 34 снимки.">
<link rel="canonical" href="https://example.com/vehicle/openlane/11125938">
Генерирано от полета, които вече имате. Разликата между това и едно общо заглавие за 200 хил. адреса не е пренебрежима.

Проблемът с броя адреси

Сайтовете с инвентар създават адреси по-бързо, отколкото създават стойност, и подаването на всички е активно вредно. Три филтъра, които си струва да приложите, преди нещо да стигне до картата на сайта:

  1. 1Индексирайте само обяви, на които си струва да се попадне. Активни, със снимки, с разпознати марка и модел. Лот без снимки и с неразчетено заглавие не е страница, на която искате търсещият да попадне.
  2. 2Обработвайте мъртвите съзнателно. Продаден лот трябва да връща noindex, follow или да пренасочва към категорията на модела, а не да стои в картата на сайта безкрайно. Никога не оставяйте soft 404, който връща HTTP 200 с празна обвивка.
  3. 3Задайте минимален праг за страниците с категории. Страница с категория с два резултата е тънко съдържание. Изберете праг — три, пет — и задайте noindex под него. Критично важно е картата на сайта да ползва същия праг като мета тага robots, иначе подавате адреси, които едновременно казвате на Google да игнорира.

Комбинациите от филтри са другият умножител. ?fuel=diesel&sort=price_low&page=3 не бива да се конкурира с чистия адрес на категорията. Задавайте noindex, follow на филтрираните варианти и canonical към основния.

Структурирани данни, които си заслужават мястото

JSON-LD е едно от малкото места, където една и съща работа служи и на търсачките, и на AI системите, защото и двете го четат директно, вместо да извличат от оформлението. Струва си да имате:

  • Organization на началната страница — с юридическо име и адрес, ако ги имате. За всеки, който иска клиентите да му превеждат пари, машинно четимата идентичност е половината от аргумента за доверие.
  • BreadcrumbList на всяка вложена страница. Евтино и се показва в резултатите.
  • FAQPage там, където имате истински въпроси и отговори. Това е форматът, от който AI отговорите цитират най-охотно.
  • Article с datePublished и dateModified за редакционното съдържание. Датите са по-важни за сигналите за актуалност, отколкото хората очакват.
  • Product или Vehicle на страниците с обяви, където данните за автомобила го позволяват честно.

Едно правило: структурираните данни трябва да съответстват на видимата страница. Маркирането на цена, която не е показана, или на FAQ, който го няма на страницата, е риск от ръчна санкция, а не хитър пряк път.

Писане и за машини, и за хора

AI системите, които четат страниците ви, извличат информация, а не прелистват. Няколко неща помагат измеримо и нито едно не вреди на човешките читатели:

  • Отговорете на въпроса в първия абзац. Извличането предпочита пряк отговор близо до заглавието пред такъв, заровен след осемстотин думи увод.
  • Използвайте истинска йерархия на заглавията. Един <h1>, <h2> за разделите, по ред. Заглавия, оформени с div и размер на шрифта, са невидими като структура.
  • Поставяйте сравнителните данни в таблици. Истинска <table> се извлича чисто; решетка от div — не.
  • Посочвайте датите и числата изрично. „Към август 2026 г.“ е използваемо; „наскоро“ — не.
  • Бъдете конкретни за несигурността. „Условията варират по държави — проверете с платформата“ е по-полезно за система за извличане от фалшива увереност и е по-честно към читателите ви.

Машинно четими копия

Нововъзникваща конвенция, която си струва да приемете: публикувайте /llms.txt — текстова карта на сайта за езикови модели — и сервирайте Markdown версии на статиите си заедно с HTML. Почти нищо не струва, ако съдържанието ви е структурирано, а не съхранено като HTML низове, и премахва всяка неяснота какво казват страниците ви.

Решете въпроса с AI роботите съзнателно

Много сайтове вече блокират AI роботите, често като приемат настройката по подразбиране на CDN, а не като вземат решение. Разликата, която има значение, е между два различни вида ботове:

ВидПримериКакво ви коства блокирането
Роботи за търсене / цитиранеOAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBotСайтът ви никога не може да бъде цитиран в AI отговор. Това е реален канал за откриване.
Събирачи на данни за обучениеCCBot, Bytespider и подобниВ повечето случаи малко. Блокирането им е защитим избор по подразбиране.

Блокирането на всичко премахва ползата, като запазва цялата вреда. Струва си да се отбележи и че блокирането на Google-Extended не засяга Google Търсене или AI Overviews, които работят на стандартния Googlebot — така че настройката е с по-нисък залог, отколкото често се смята.

Каквото и да изберете, проверете какво реално се сервира. Правилата, управлявани от CDN, често добавят директиви в началото на robots.txt и прилагат правила на защитната стена над него, така че файлът в хранилището ви може да не е файлът, който роботът получава. Проверете със заявка с подходящия user agent.

Одит, който си струва да направите

Десет минути — и намира повечето проблеми:

  1. 1curl към страница с категория и към страница с обява. Има ли съдържание в HTML или празен div?
  2. 2Имат ли двете страници различни заглавия и описания?
  3. 3Има ли canonical и сочи ли там, където очаквате?
  4. 4Появяват ли се навигационните връзки като <a href> в суровия HTML?
  5. 5Колко адреса има в картата на сайта и каква част от тях показват истинско съдържание?
  6. 6Какво връща robots.txt по мрежата, а не в хранилището ви?
  7. 7Продадените или изтеклите обяви все още ли връщат HTTP 200 с обвивка?
  8. 8Индексируеми ли са филтрираните варианти на адресите и конкурират ли се с чистите?

Ако първият въпрос не мине, останалите още нямат значение — започнете с пререндерирането. Изграждането на платформа описва къде стои това в по-широката архитектура.

Често задавани въпроси

Изпълняват ли AI роботите JavaScript?

По правило не. Роботите зад AI отговорите и цитатите изтеглят HTML и го четат директно, вместо да изпълняват пакета ви. Затова едностранично приложение, рендерирано в браузъра, им изглежда като празна страница, а не като частично заредена — така целият канал за AI цитати е недостъпен, колкото и добро да е съдържанието.

Лошо ли е рендерирането в браузъра конкретно за Google?

Google изпълнява JavaScript, но във втори етап на отделна опашка, докато бюджетът за обхождане се разпределя от първия. В голям мащаб това означава много адреси с едно заглавие и без текст при първото обхождане — което прилича на нискокачествен автоматично генериран сайт и пилее бюджет, който би отишъл за страници, способни да се класират.

Как да добавя SEO към съществуващо React SPA, без да го пренаписвам?

Първо добавете истински адреси и истински връзки, след това пререндерирайте изброимите маршрути при изграждането, като рендерирате всеки с renderToString и вмъкнете резултата плюс head за страницата в изградения HTML шаблон, с хидратиране в браузъра. За неограничените адреси на обяви вмъквайте само head на сървъра при всяка заявка от една заявка към базата. Нито една стъпка не изисква миграция на фреймуърк.

Трябва ли всеки адрес на обява да е в картата на сайта?

Не. Филтрирайте до обявите, на които си струва да се попадне — активни, със снимки, с разпознати марка и модел — и премахвайте продадените или изтеклите, вместо да ги оставяте безкрайно. Уверете се, че картата на сайта и мета таговете robots ползват един и същ праг, защото подаването на адреси, които едновременно казвате на Google да игнорира, е противоречие, което пилее бюджета за обхождане.

Трябва ли да блокирам AI роботите в robots.txt?

Разграничете двата вида. Блокирането на чистите събирачи на данни за обучение е защитим избор по подразбиране. Блокирането на роботите за търсене и цитиране означава, че сайтът ви никога не може да бъде източникът, който AI отговорът цитира, а това е реален канал за откриване — така че блокирането на всичко премахва ползата, като запазва вредата. Проверете и какво реално се сервира, защото правилата на CDN често презаписват файла в хранилището ви.

Какво е llms.txt?

Нововъзникваща конвенция: текстов файл в корена на сайта, който описва съдържанието му за езикови модели, често заедно с Markdown версии на страниците, сервирани до HTML. Евтин е за генериране, ако съдържанието ви се съхранява като структурирани данни, а не като HTML низове, и премахва неяснотата какво всъщност казват страниците ви.

  • SEO
  • пререндериране
  • структурирани данни
  • AI роботи
Виж като Markdown

Един API, много източници на инвентар

Нормализирано търсене, детайли според източника, галерии в CDN, история на цените и достъп до архива — включени във всеки план.

Свързани статии