---
title: "SEO and llms.txt"
url: https://phatdev.net/en/docs/phatdev-portfolio/seo
lang: en
updated: 2026-10-20
alternate:
  vi: https://phatdev.net/docs/phatdev-portfolio/seo
markdown: https://phatdev.net/en/docs/phatdev-portfolio/seo.md
---

# SEO and llms.txt

Part of the doc set: [phatdev.net](https://phatdev.net/en/docs/phatdev-portfolio.md)

> Sitemap, hreflang, structured data and llms.txt.

## Bilingual
- Every page has a `/vi/` and an `/en/` version, declaring `canonical` and `hreflang` (with `x-default`).
- The `<html lang>` attribute is correct for each page from the server.

## Sitemap and robots
- `/sitemap.xml` is generated automatically: the homepage, project pages in both languages, landing pages and every documentation article.
- `/robots.txt` is open to all bots (including AI bots) and blocks only the admin area and the internal API.

## Structured data
- Homepage: `Person`, `WebSite` and an `ItemList` of projects.
- Project pages: `CreativeWork` and `BreadcrumbList`.
- Documentation articles: `TechArticle` and `BreadcrumbList`.

## llms.txt
`/llms.txt` describes the site's content for language models: profile, the MCP endpoint, the project list and the documentation index, generated from the database.
