Title: LLM Friendly
Author: Pavel Sherer
Published: <strong>2026년 1월 16일</strong>
Last modified: 2026년 8월 28일

---

플러그인 검색

![](https://ps.w.org/llm-friendly/assets/banner-772x250.png?rev=3441210)

![](https://ps.w.org/llm-friendly/assets/icon.svg?rev=3670990)

# LLM Friendly

 작성자: [Pavel Sherer](https://profiles.wordpress.org/skreep/)

[다운로드](https://downloads.wordpress.org/plugin/llm-friendly.0.2.0.zip)

 * [세부사항](https://ko.wordpress.org/plugins/llm-friendly/#description)
 * [평가](https://ko.wordpress.org/plugins/llm-friendly/#reviews)
 *  [설치](https://ko.wordpress.org/plugins/llm-friendly/#installation)
 * [개발](https://ko.wordpress.org/plugins/llm-friendly/#developers)

 [지원](https://wordpress.org/support/plugin/llm-friendly/)

## 설명

LLM Friendly gives your WordPress site predictable, machine-readable entry points
for AI assistants, search/indexing bots, internal knowledge tools, and readers who
prefer plain text.

Instead of asking crawlers to infer your site structure from HTML alone, the plugin
publishes a focused `/llms.txt` index and optional Markdown versions of selected
public content. You stay in control of what is exposed, how dense the index should
be, which endpoints should be noindexed, and which posts or pages should be excluded.

#### What the plugin creates

 1. `/llms.txt`

The generated llms.txt file includes the site title and description, main links,
sitemap and RSS references, an Essential section for important pages or curated 
resources, and recent items grouped by selected post type. Items can link to Markdown
exports when Markdown is enabled, or to canonical HTML URLs when it is not.

 1. Markdown exports

For selected public, publicly queryable post types, the plugin exposes `.md` endpoints
under:

    ```
    /{base}/{post_type}/{path}.md
    ```

Each Markdown export includes a stable, plugin-defined JSON metadata block with 
title, URL, published and modified dates, language, description, author, and publisher,
followed by a Markdown conversion of the post content. Frontend pages advertise `/
llms.txt` with a `describedby` link, while supported singular views also receive
alternate Markdown links.

An optional content-negotiation mode can return the same representation from canonical
singular URLs when a client explicitly sends `Accept: text/markdown`. The mode is
disabled by default and uses `Vary: Accept`, so it should only be enabled when every
page cache, reverse proxy, and CDN respects that header.

#### Why site owners use it

 * Give AI tools a concise map of your most useful public content.
 * Offer Markdown versions of posts, pages, and safe public custom post types without
   changing the canonical HTML experience.
 * Keep Markdown endpoints out of search results by default with separate noindex
   controls for `/llms.txt` and `.md` exports.
 * Add short AI-facing descriptions from a per-post field, SEO meta description,
   excerpt, or generated content summary.
 * Exclude individual items from both `/llms.txt` and Markdown exports without changing
   their WordPress visibility.
 * Preview generated llms.txt content before relying on the public endpoint.
 * Review practical AI crawler policy guidance for OAI-SearchBot, GPTBot, ChatGPT-
   User, Googlebot/Search AI features, and Google-Extended.

#### Key features

 * llms.txt endpoint with cached generation, ETag/Last-Modified support, v2-compatible
   linked lists, main links, sitemap/RSS references, an Essential section, selected
   post-type sections, optional item descriptions, and an optional custom Markdown
   notes block.
 * Markdown exports for selected public, publicly queryable post types with Gutenberg/
   HTML-to-Markdown conversion, plugin-defined JSON metadata, canonical/describedby
   Link headers, alternate Markdown discovery links, and transient-based body caching.
 * Optional `Accept: text/markdown` content negotiation on canonical singular URLs
   with `Vary: Accept`; disabled by default for cache safety.
 * Overview dashboard with endpoint status, cache status, noindex status, sitemap
   URL, and quick copy buttons for `/llms.txt` and the Markdown URL pattern.
 * Configurable Markdown base path, for example `/llm/post/example.md`, with post
   type controls for posts, pages, and safe public custom post types.
 * Per-post-type exclusion picker with live title search, selected-item lists, clear
   buttons, and server-side validation.
 * Separate noindex header controls for `/llms.txt` and Markdown exports.
 * Auto or manual llms.txt regeneration; manual rebuilds are available from the 
   Maintenance panel.
 * Live llms.txt preview that uses saved settings and does not update the public
   cache.
 * Optional excerpts/descriptions in llms.txt. Description priority is: per-post
   LLM description, SEO meta description, explicit excerpt, then a generated content
   summary.
 * Per-post “Markdown override (LLM Friendly)” metabox for custom Markdown or Gutenberg
   block markup, plus a one-line llms.txt description field.
 * Optional site title, site description, and author overrides for generated metadata.
 * Same-site sitemap URL validation. External sitemap URLs are rejected unless a
   developer explicitly allows them with a filter.
 * AI crawler diagnostics with policy examples and documentation links for OAI-SearchBot,
   GPTBot, ChatGPT-User, Googlebot/Search AI features, and Google-Extended. The 
   plugin does not edit robots.txt automatically.
 * Hardened public export boundaries: attachments, drafts, private content, password-
   protected posts, and non-public/non-queryable post types are excluded by default.
 * KSES sanitization for users without `unfiltered_html`, length caps for custom
   Markdown fields, and developer filters for edge cases.

#### Requirements

 * WordPress 6.0+
 * PHP 7.4+

If requirements are not met, the plugin displays an admin notice and does not run.

### Development

Run `composer run lint` to syntax-check the plugin PHP files.
 Run `composer run
test` to execute lightweight regression tests for Markdown conversion, llms.txt 
format, headers, and sanitization. See `TESTING.md` for WordPress integration scenarios.

### Developer Notes

 * `llmf_can_export_post` can deny a post for `markdown`, `llms`, or `llms_search`
   contexts.
 * `llmf_exportable_post_type` can explicitly opt in a public edge-case post type
   that is safe to expose even though WordPress marks it as not publicly queryable.
 * `llmf_markdown_override_max_length` changes the per-post Markdown override length
   cap. Default: 200000 characters; absolute maximum: 500000.
 * `llmf_llms_description_max_length` changes the per-post llms.txt description 
   length cap. Default: 500 characters; absolute maximum: 2000.
 * `llmf_markdown_metadata` filters the JSON metadata array emitted at the top of
   each Markdown export.
 * `llmf_markdown_cache_ttl` changes the transient TTL for cached Markdown export
   bodies. Default: 3600 seconds.
 * `llmf_llms_essential_links` filters curated link items emitted in the llms.txt
   Essential section.
 * `llmf_debug_headers_enabled` enables diagnostic X-LLMF-* headers for llms.txt
   responses when returning `true`.
 * `llmf_max_excluded_posts_per_type` changes the per-post-type exclusion cap. Default:
   500; absolute maximum: 5000.
 * `llmf_allow_external_sitemap_url` allows an external sitemap URL when returning`
   true`.
 * Users without `unfiltered_html` have custom Markdown sanitized with WordPress
   KSES. Heading markers are removed from the custom llms.txt notes block so user-
   provided notes cannot break the required llms.txt section order.

## 스크린샷

[⌊Settings overview dashboard with endpoint status, cache status, noindex status,
sitemap URL, and copy actions.⌉⌊Settings overview dashboard with endpoint status,
cache status, noindex status, sitemap URL, and copy actions.⌉[

Settings overview dashboard with endpoint status, cache status, noindex status, 
sitemap URL, and copy actions.

[⌊Markdown export controls, base path pattern, and selected content types.⌉⌊Markdown
export controls, base path pattern, and selected content types.⌉[

Markdown export controls, base path pattern, and selected content types.

[⌊Per-post-type exclusions with live title search and selected excluded items.⌉⌊
Per-post-type exclusions with live title search and selected excluded items.⌉[

Per-post-type exclusions with live title search and selected excluded items.

[⌊Generated llms.txt preview with cache metadata and site metadata override controls.⌉⌊
Generated llms.txt preview with cache metadata and site metadata override controls
.⌉[

Generated llms.txt preview with cache metadata and site metadata override controls.

## 설치

 1. Upload the plugin to the /wp-content/plugins/ directory, or install it through 
    the WordPress plugins screen.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Go to Settings -> LLM Friendly.
 4. Enable llms.txt and/or Markdown exports, choose post types, configure base path(
    optional).
 5. Save changes.
 6. If you changed the base path or endpoints, re-save Permalinks if your server has
    custom rewrite rules.

## FAQ

### Where is llms.txt stored?

The plugin serves llms.txt dynamically via WordPress. It is not a physical file 
on disk.

### Markdown exports return 404. Why?

Most often this is a rewrite or web-server routing issue. If you run Nginx in front
of Apache, make sure .md requests are routed to WordPress (not handled as static
files).
 When you change the base path, flush permalinks and confirm that `.md` 
and `/llms.txt` are not short-circuited by static file rules.

### How do I keep Markdown out of search results?

Enable the “Send noindex header for Markdown exports” option (stored as `md_send_noindex`)
to emit the header on all Markdown responses.

### How do I enable Accept: text/markdown?

Enable “Serve Markdown when a client explicitly requests it” in the Markdown exports
panel. The option is stored as `enabled_content_negotiation` and is off by default.
Before enabling it, verify that page caches, reverse proxies, and CDNs respect `
Vary: Accept`; otherwise a cached Markdown response could be served to an HTML visitor
or vice versa.

### Does llms.txt improve Google AI visibility or grant AI usage rights?

No special Google Search treatment is promised. Google states that llms.txt and 
Markdown are not specially used for AI Overviews or AI Mode; normal crawling, indexing,
and snippet eligibility still apply. Discovery files, noindex directives, crawler
access rules, and training or licensing permissions are separate controls. Publishing
llms.txt or Markdown does not grant usage rights.

### How do I configure the llms.txt Essential section?

Use Settings -> LLM Friendly -> llms.txt -> “Essential links”. Add one item per 
line as `Title | URL | Notes`; URLs may be absolute or site-relative. The plugin
also adds configured front page, posts page, and privacy policy links when available.

### Can I ship a custom Markdown body, description, or exclude a single item?

Yes. Open the post editor and use the “Markdown override (LLM Friendly)” metabox.
In Gutenberg it appears with the editor’s additional panels/metaboxes. The override
accepts plain Markdown or block markup, and the llms.txt description field provides
a one-line summary for llms.txt and Markdown metadata. If you want to hide a specific
entry from llms.txt and Markdown exports, go to Settings -> LLM Friendly -> llms.
txt -> “Excluded items”, search by title, and add it to the exclusion list.

### Can I use an external sitemap URL?

By default, the sitemap field accepts site-relative paths and same-site absolute
URLs. External sitemap URLs are rejected unless a developer opts in with the `llmf_allow_external_sitemap_url`
filter.

### Can a non-publicly-queryable post type be exported?

Not by default. Public Markdown and llms.txt exports require public, non-attachment,
publicly queryable post types. Developers can explicitly opt in safe edge-case types
with the `llmf_exportable_post_type` filter.

## 후기

이 플러그인에 대한 평가가 없습니다.

## 기여자 & 개발자

“LLM Friendly”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

 *   [ Pavel Sherer ](https://profiles.wordpress.org/skreep/)

“LLM Friendly”(이)가 1 개 언어로 번역되었습니다. 기여해 주셔서 [번역자](https://translate.wordpress.org/projects/wp-plugins/llm-friendly/contributors)
님께 감사드립니다.

[자국어로 “LLM Friendly”(을)를 번역하세요.](https://translate.wordpress.org/projects/wp-plugins/llm-friendly)

### 개발에 관심이 있으십니까?

[코드 탐색하기](https://plugins.trac.wordpress.org/browser/llm-friendly/)는, [SVN 저장소](https://plugins.svn.wordpress.org/llm-friendly/)
를 확인하시거나, [개발 기록](https://plugins.trac.wordpress.org/log/llm-friendly/)
을 [RSS](https://plugins.trac.wordpress.org/log/llm-friendly/?limit=100&mode=stop_on_copy&format=rss)
로 구독하세요.

## 변경이력

#### 0.2.0

 * Align llms.txt item sections with the v2 linked-list format and omit empty sections.
 * Add `describedby` discovery for llms.txt and combined canonical/describedby Markdown
   Link headers.
 * Add opt-in `Accept: text/markdown` content negotiation with `Vary: Accept`.
 * Update crawler guidance for ChatGPT-User and current Google/OpenAI documentation.
 * Clarify that JSON metadata is plugin-defined and that discovery, indexing, crawler
   access, and usage rights are separate controls.

## 기초

 *  버전 **0.2.0**
 *  최근 업데이트: **6시간 전**
 *  활성화된 설치 **30+**
 *  워드프레스 버전 ** 6.0 또는 그 이상 **
 *  다음까지 시험됨: **7.0.4**
 *  PHP 버전 ** 7.4 또는 그 이상 **
 *  언어
 * [English (US)](https://wordpress.org/plugins/llm-friendly/) 및 [Russian](https://ru.wordpress.org/plugins/llm-friendly/).
 *  [자국어로 번역하기](https://translate.wordpress.org/projects/wp-plugins/llm-friendly)
 * 태그:
 * [AI](https://ko.wordpress.org/plugins/tags/ai/)[export](https://ko.wordpress.org/plugins/tags/export/)
   [LLM](https://ko.wordpress.org/plugins/tags/llm/)[llms.txt](https://ko.wordpress.org/plugins/tags/llms-txt/)
   [markdown](https://ko.wordpress.org/plugins/tags/markdown/)
 *  [고급 보기](https://ko.wordpress.org/plugins/llm-friendly/advanced/)

## 평점

아직 제출된 리뷰가 없습니다.

[Your review](https://wordpress.org/support/plugin/llm-friendly/reviews/#new-post)

[모든  리뷰 보기](https://wordpress.org/support/plugin/llm-friendly/reviews/)

## 기여자

 *   [ Pavel Sherer ](https://profiles.wordpress.org/skreep/)

## 지원

할 말 있으신가요? 도움이 필요하신가요?

 [지원 포럼 보기](https://wordpress.org/support/plugin/llm-friendly/)