Repository navigation
Сайт читается поисковиками и AI-ассистентами: текст главной в разметке, llms.txt, robots.txt, карта сайта - #230
Merged
Merged
Conversation
…е, llms.txt, robots.txt, карта сайта Тот, кто скрипт не выполняет — поисковик, ChatGPT/Claude/Perplexity при чтении ссылки, текстовый браузер, — получал с polypsy.ink пустой <div id="root"> под заголовком «Quizzy», а на /robots.txt, /llms.txt и /sitemap.xml — ту же пустую оболочку с кодом 200. - index.html: текст главной (по тексту лендинга, с английским абзацем), описание, Open Graph и разметка schema.org. Браузеру со скриптом блок скрыт до разбора <body> и заменяется React при монтировании. - app.html: та же оболочка без этого текста и с noindex — её Caddy отдаёт на все пути, кроме корня, чтобы адреса консоли не выглядели копиями главной. - robots.txt открывает всё, кроме /api/; llms.txt описывает продукт для языковых моделей. - entry.sh при старте подставляет адрес сайта и пишет sitemap.xml — только когда SITE_ADDRESS задан доменом. - Заголовок вкладки: «Polypsy — система психологічного відділення» вместо «Quizzy — консоль аналітики».
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Нейросети и поисковики, которые не выполняют скрипт (ChatGPT, Claude и Perplexity при чтении ссылки, поисковые роботы, текстовые браузеры), видели polypsy.ink так:
<div id="root">под заголовком «Quizzy», без описания;/robots.txt,/llms.txt,/sitemap.xml— та же пустая оболочка с кодом 200.Понять по ней, что это за продукт, было нельзя.
Что меняется
Главная. Текст главной теперь лежит в самом
index.html, по тексту лендинга и с английским абзацем:Также добавлены описание, Open Graph и разметка schema.org (
SoftwareApplication). Браузер со скриптом этот блок не показывает: атрибут ставится до разбора<body>, затем React заменяет корень. Люди видят прежний лендинг, визуальный эталон главной не изменился.Остальные адреса. На все пути, кроме корня, Caddy отдаёт
app.html. Это та же оболочка без текста главной и сnoindex, её собирает плагинapps/web/seoHtml.ts. Иначе каждый адрес консоли выглядел бы для робота копией главной.Файлы для роботов.
robots.txtоткрывает всё, кроме/api/.llms.txtописывает продукт для языковых моделей:Адрес сайта.
entry.shпри старте контейнера подставляет его в Open Graph и schema.org, дописывает строкуSitemapи пишетsitemap.xml, только когдаSITE_ADDRESSзадан доменом. Без домена ссылки остаются относительными, а карты сайта нет.Название. Заголовок вкладки: «Polypsy — система психологічного відділення» вместо «Quizzy — консоль аналітики». Запасной
<title>вindex.html— нейтральное «Polypsy», как требует проверка строк оболочки.О военном госпитале в публичных текстах не говорится. Как и лендинг, они пишут только «психологічне відділення».
Проверки
bun run typecheck,bun run lint— чисто.web
bun test— 2098 прошли. Новыйtest/seoHtml.test.tsпроверяет:app.htmlсобирается без него и сnoindex.В
uiStrings.test.tsтекст для машин явно исключён из запрета кириллицы в оболочке.e2e:
lang,shell,a11y,auth— 45 прошли.visual.e2e.ts -g landingпрошёл.Caddy из образа
caddy:2-alpineс этой сборкой, с доменом и без:/отдаёт главную с текстом;/patients/123,/login,/statusотдаютapp.htmlсnoindex;robots.txt,llms.txt,sitemap.xmlидут с правильными типами;Sitemapпосле перезапуска не дублируется.