Apidog Docs
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning CenterSupport CenterAPI References
HomeLearning CenterSupport CenterAPI References
Discord Community
Slack Community
X / Twitter
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. Publish API Docs
  • Apidog Learning Center
  • Get started
    • Introduce Apidog
    • Basic concepts in Apidog
    • Navigating Apidog
    • Quick Start
      • Overview
      • Specify a new endpoint
      • Make a request to the endpoint
      • Add an assertion
      • Create a test scenario
      • Share your API documentation
      • Explore more
      • Send a request and save as an endpoint
    • Migration
      • Overview
      • Manual import
      • Scheduled import
      • Import options
      • Export data
      • Import from...
        • Import from Postman
        • Import OpenAPI (Swagger) spec
        • Import cURL
        • Import Markdowns
        • Import from Insomnia
        • Import from apiDoc
        • Import .har file
        • Import WSDL
  • Design APIs
    • Overview
    • Create a new API project
    • Endpoint basics
    • Components
    • Common fields
    • Global parameters
    • Endpoint change history
    • Batch endpoint management
    • Configure multiple request body examples
    • Schemas
      • Overview
      • Create a new schema
      • Build a schema
      • Generate Schemas from JSON etc.
    • Security schemes
      • Overview
      • Create a security scheme
      • Use the security scheme
      • Security scheme in online documentation
    • Advanced features
      • Custom endpoint fields
      • Import endpoints as test steps
      • Endpoint status
      • Appearance of parameter lists
      • Endpoint unique idenfication
  • Develop and Debug APIs
    • Overview
    • Generate requests
    • Send requests
    • Endpoint cases
    • Dynamic values
    • Validate responses
    • Design-first Mode & Request-first Mode
    • Generate code
    • Environments & variables
      • Overview
      • Using variables
      • Environments & services
    • Vault secrets
      • Overview
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Pre/Post processors
      • Overview
      • Assertion
      • Extract variable
      • Wait
      • Database operations
        • Overview
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Using scripts
        • Overview
        • Pre processor scripts
        • Post processor scripts
        • Public scripts
        • Postman scripts reference
        • Calling other programming languages
        • Using JS libraries
        • Visualizing responses
        • Script examples
          • Assertion scripts
          • Using variables in scripts
          • Using scripts to modify request messages
          • Other examples
    • Dynamic values Modules
  • Mock API data
    • Overview
    • Smart mock
    • Custom mock
    • Mock priority sequence
    • Mock scripts
    • Cloud mock
    • Self-hosted runner mock
    • Mock language (Locales)
  • Automated tests
    • Overview
    • Test reports
    • Test scenarios
      • Create a test scenario
      • Pass data between requests
      • Flow control conditions
      • Import endpoints/endpoint cases from other projects
      • Sync data from endpoints/endpoint cases
      • Export test scenarios
    • Run test scenarios
      • Run a test scenario
      • Data-driven testing
      • Run test scenarios in batch
      • Scheduled tasks
      • Manage the runtime environment of APIs from other projects
    • Test APIs
      • Integration testing
      • Performance testing
      • End-to-end testing
      • Regression testing
    • Apidog CLI
      • Overview
      • Installing and running Apidog CLI
      • Apidog CLI Options
    • CI/CD
      • Overview
      • Integrate with Jenkins
      • Integration with Gitlab
  • Publish API Docs
    • Overview
    • API Technologies Supported
    • Quick share
    • View the API documentation
    • Publish docs sites
    • Custom layouts
    • Custom domain
    • SEO settings
    • LLM-friendly Features
    • Advanced Settings
      • Documentation Search
      • CORS Proxy
      • Integrating Google Analytics with Doc Sites
      • Folder tree settings
      • Visibility settings
      • Embedding values in document URLs
    • API Versions
      • Create API versions
      • Publish API versions
      • Share endpoints with API versions
      • Overview
  • Send requests
    • Overview
    • gRPC
    • Use request proxy agents for debugging
    • SOAP/WebService
    • GraphQL
    • WebSocket
    • Socket.IO
    • SSE debugging
    • Create requests
      • Request History
      • Request basics
      • Parameters and body
      • Request headers
      • Request settings
      • HTTP/2
    • Authentication and authorization
      • Overview
      • CA and client certificates
      • Authorization types supported by Apidog
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Response and cookies
      • Overview
      • API response in Apidog
      • Create and send cookies
      • Debug requests
      • Save the request as an endpoint
  • Branches
    • Overview
    • Create a new sprint branch
    • Test APIs in a branch
    • Design API in a branch
    • Merge sprint branches
    • Manage sprint branches
  • Apidog MCP Server
    • Overview
    • Conntect API Specification within Apidog Project to AI via Apidog MCP Server
    • Conntect Online API Documentation Published by Apidog to AI via Apidog MCP Server
    • Conntect OpenAPI Files to AI via Apidog MCP Server
  • Best practices
    • How to handle API signatures
    • How to access OAuth 2.0 protected APIs
    • Apidog collaboration workflow
    • Managing authentication state in Apidog
  • Administration
    • Onboarding Checklist
      • Basic Concepts
      • Onboarding Guide
    • Managing Teams
      • Managing Teams
      • Managing Team Members
      • Member Roles & Permission Settings
      • Team Activities
      • Team Resources
        • General Runner
        • Team Variables
        • Request Proxy Agent
      • Real-time Collaborations
        • Team Collaboration
    • Managing Projects
      • Managing Projects
      • Managing Project Members
      • Notification Settings
      • Project Resources
        • Database Connection
    • Managing Organizations
      • Single Sign-On (SSO)
        • SSO Overview
        • Configure Microsoft Entra ID
        • Configure Okta
        • Configure SSO for an Organization
        • Managing user accounts
        • Mapping Groups to Teams
      • SCIM Provisioning
        • Intro to SCIM Provisioning
        • Microsoft Entra ID
        • Okta
      • Organization Resources
        • Self-hosted Runner
  • Billing
    • Overview
    • Credits
    • Unable to use credit cards?
    • Managing subscriptions
    • Upgrade plan
  • Data & Security
    • Where is Apidog's data stored, and how is data security ensured?
    • How is user data stored? Will this data be public? Or will it be private? Will all data be stored in the cloud?
    • When sending requests, do they go through the Apidog server? Is data security ensured?
  • Add-ons
    • API Hub
    • Apidog Intellij IDEA plugin
    • Browser Extension
      • Chrome
      • Microsoft Edge
    • Request Proxy
      • Request proxy in Apidog web
      • Request proxy in shared docs
      • Request proxy in Apidog client
  • Account & preferences
    • Account settings
    • Generate OpenAPI access token
    • Language settings
    • Hot keys
    • Network proxy configuration
    • Data backup
    • Updating Apidog
    • Deleting account
    • Experimental Features
  • References
    • API-Design First Approach
    • Apidog OpenAPI/Swagger Specificaiton Extensions
    • JSONPath
    • XPath
    • Regular Expressions
    • JSON Schema
    • CSV File Format
    • Install Java Environment
    • Runner deployment environment
    • Apidog flavored Markdown
  • Apidog Europe
    • Apidog Europe
  • Support Center
  1. Publish API Docs

SEO settings

Apidog Version 2.7.15 or later is required.
Apidog provides a powerful SEO feature to help you optimize how your API documentation appears in search engines, attracting more traffic. You can configure SEO settings at the page level or site-wide level based on your actual needs:
Page-Level SEO Settings: Configure SEO for individual pages like endpoint documentations or Markdown files.
Site-wide Level SEO Settings: Configure global SEO metadata, robots.txt, sitemap.xml, redirect rules, and URL settings for the entire docs site.

Page-Level SEO Settings#

You can access page-level SEO settings by clicking theSEO Settingsicon at the right side of the endpoint documentation or Markdown pages.
page-level seo settings.png
In the pop-out panel, you can configure:
URL Slug: Define the path for the current page. For example, set it to find-by-id, then the final page URL becomes: https://{your-domain.com}/find-by-id.
Meta Title: The title of the webpage that will appear in search engine results.
Meta Description: A brief description of the webpage shown in search engine results.
Keywords: Keywords to help improve search engine understanding.
Custom Metadata: Add extra <meta> tags in JSON format. Example:
[
  {"name": "robots", "content": "noindex"},
  {"name": "twitter:card", "content": "summary_large_image"}
]
These will render in HTML as:

Site-wide Level SEO Settings#

When publishing online docs sites, go to "SEO Settings" to apply site-wide SEO configurations.
side-wide-seo-settings.png

Global Metadata#

This sets default <meta> tags for every page in the docs site. You can use built-in variables to generate dynamic content. All pages inherit this configuration unless overridden by page-level seo settings.
global-metadata.png
Configuration Format:
Please use a valid JSON array, e.g.:
[
  {"property": "og:title", "content": "{{PAGE_TITLE}} - {{SITE_NAME}}"},
  {"property": "og:description", "content": "{{DESCRIPTION}}"},
  {"property": "og:image", "content": "{{SITE_ICON}}"},
  {"name": "twitter:card", "content": "summary_large_image"},
  {"name": "description", "content": "global description information"},
  {"name": "keywords", "content": "global keywords"}
]
These will render in HTML as:
Supported Built-in Variables:
The following built-in variables are supported and can be used as placeholders in the content field when filled in:
VariableMeaning
{{PAGE_TITLE}}Title of the current page
{{PAGE_URL}}Page's full URL
{{SITE_NAME}}Your documentation site name
{{SITE_ICON}}URL of your site icon
{{DESCRIPTION}}Default page description
{{KEYWORDS}}Default page keywords
Priority:
Page-Level SEO Settings(endpoint or Markdown page) > Global Metadata > System defaults

Robots File(robots.txt)#

This file controls crawler behavior and is accessible at https://{your-domain.com}/robots.txt.
Default content:
User-Agent: *
Allow: /

Sitemap: {{SITEMAP_URL}}
{{SITEMAP_URL}} is automatically replaced with the actual sitemap.xmlURL, provided the sitemap feature is enabled.
If disabled, this line is removed automatically.
How to prevent pages from being indexed:
Block the entire site from indexing
Add the following to Global Metadata:
{"name": "robots", "content": "noindex"}
Block a single page from indexing
Add the following to the Custom Metadata of the specific page:
{"name": "robots", "content": "noindex"}

Sitemap File(sitemap.xml)#

When enabled, the system automatically generates a sitemap.xml listing all pages on the site to help search engines crawl more effectively. You can access the sitemap via https://{your-domain.com}/sitemap.xml.
Default status: Enabled.
If disabled, sitemap.xml will no longer be available and Sitemap: {{SITEMAP_URL}} will also be removed from robots.txt.

Docs Redirect Rules#

If you modify published documentation URLs, you can set redirect rules to avoid 404 errors when users visit old URLs.
docs redirect rules.png
You can manually add multiple redirect rules to automatically forward users from old URLs to new ones:
image.png

URL & Slug Rules#

Click theproject settingsto view the default URL rules for your site pages.
image.png
There are two types of URL naming rules, depending on whether a custom slug (URL) is set on the page.
image.png
When the URL Slug is set
The system uses the provided slug as the access path:
For example, if the slug in a Markdown file is api-overview, the address will be:
When the URL Slug is blank
Choose the rule that best fits your team’s SEO preferences and documentation workflow.

Common Metadata Reference#

[
  {
    "name": "robots",
    "content": "noindex"
  },
  {
    "name": "charset",
    "content": "UTF-8"
  },
  {
    "name": "viewport",
    "content": "width=device-width, initial-scale=1.0"
  },
  {
    "name": "description",
    "content": "Page description"
  },
  {
    "name": "keywords",
    "content": "keyword1, keyword2, keyword3"
  },
  {
    "name": "author",
    "content": "Author Name"
  },
  {
    "name": "googlebot",
    "content": "index, follow"
  },
  {
    "name": "google",
    "content": "notranslate"
  },
  {
    "name": "google-site-verification",
    "content": "verification_token"
  },
  {
    "name": "generator",
    "content": "Mintlify"
  },
  {
    "name": "theme-color",
    "content": "#000000"
  },
  {
    "name": "color-scheme",
    "content": "light dark"
  },
  {
    "name": "format-detection",
    "content": "telephone=no"
  },
  {
    "name": "referrer",
    "content": "origin"
  },
  {
    "name": "refresh",
    "content": "30"
  },
  {
    "name": "rating",
    "content": "general"
  },
  {
    "name": "revisit-after",
    "content": "7 days"
  },
  {
    "name": "language",
    "content": "en"
  },
  {
    "name": "copyright",
    "content": "Copyright 2024"
  },
  {
    "name": "reply-to",
    "content": "email@example.com"
  },
  {
    "name": "distribution",
    "content": "global"
  },
  {
    "name": "coverage",
    "content": "Worldwide"
  },
  {
    "name": "category",
    "content": "Technology"
  },
  {
    "name": "target",
    "content": "all"
  },
  {
    "name": "HandheldFriendly",
    "content": "True"
  },
  {
    "name": "MobileOptimized",
    "content": "320"
  },
  {
    "name": "apple-mobile-web-app-capable",
    "content": "yes"
  },
  {
    "name": "apple-mobile-web-app-status-bar-style",
    "content": "black"
  },
  {
    "name": "apple-mobile-web-app-title",
    "content": "App Title"
  },
  {
    "name": "application-name",
    "content": "App Name"
  },
  {
    "name": "msapplication-TileColor",
    "content": "#000000"
  },
  {
    "name": "msapplication-TileImage",
    "content": "path/to/tile.png"
  },
  {
    "name": "msapplication-config",
    "content": "path/to/browserconfig.xml"
  },
  {
    "name": "og:title",
    "content": "Open Graph Title"
  },
  {
    "name": "og:type",
    "content": "website"
  },
  {
    "name": "og:url",
    "content": "https://example.com"
  },
  {
    "name": "og:image",
    "content": "https://example.com/image.jpg"
  },
  {
    "name": "og:description",
    "content": "Open Graph Description"
  },
  {
    "name": "og:site_name",
    "content": "Site Name"
  },
  {
    "name": "og:locale",
    "content": "en_US"
  },
  {
    "name": "og:video",
    "content": "https://example.com/video.mp4"
  },
  {
    "name": "og:audio",
    "content": "https://example.com/audio.mp3"
  },
  {
    "name": "twitter:card",
    "content": "summary"
  },
  {
    "name": "twitter:site",
    "content": "@username"
  },
  {
    "name": "twitter:creator",
    "content": "@username"
  },
  {
    "name": "twitter:title",
    "content": "Twitter Title"
  },
  {
    "name": "twitter:description",
    "content": "Twitter Description"
  },
  {
    "name": "twitter:image",
    "content": "https://example.com/image.jpg"
  },
  {
    "name": "twitter:image:alt",
    "content": "Image Description"
  },
  {
    "name": "twitter:player",
    "content": "https://example.com/player"
  },
  {
    "name": "twitter:player:width",
    "content": "480"
  },
  {
    "name": "twitter:player:height",
    "content": "480"
  },
  {
    "name": "twitter:app:name:iphone",
    "content": "App Name"
  },
  {
    "name": "twitter:app:id:iphone",
    "content": "12345"
  },
  {
    "name": "twitter:app:url:iphone",
    "content": "app://"
  },
  {
    "name": "article:published_time",
    "content": "2024-01-01T00:00:00+00:00"
  },
  {
    "name": "article:modified_time",
    "content": "2024-01-02T00:00:00+00:00"
  },
  {
    "name": "article:expiration_time",
    "content": "2024-12-31T00:00:00+00:00"
  },
  {
    "name": "article:author",
    "content": "Author Name"
  },
  {
    "name": "article:section",
    "content": "Technology"
  },
  {
    "name": "article:tag",
    "content": "tag1, tag2, tag3"
  },
  {
    "name": "book:author",
    "content": "Author Name"
  },
  {
    "name": "book:isbn",
    "content": "1234567890"
  },
  {
    "name": "book:release_date",
    "content": "2024-01-01"
  },
  {
    "name": "book:tag",
    "content": "tag1, tag2, tag3"
  },
  {
    "name": "profile:first_name",
    "content": "John"
  },
  {
    "name": "profile:last_name",
    "content": "Doe"
  },
  {
    "name": "profile:username",
    "content": "johndoe"
  },
  {
    "name": "profile:gender",
    "content": "male"
  },
  {
    "name": "music:duration",
    "content": "205"
  },
  {
    "name": "music:album",
    "content": "Album Name"
  },
  {
    "name": "music:album:disc",
    "content": "1"
  },
  {
    "name": "music:album:track",
    "content": "1"
  },
  {
    "name": "music:musician",
    "content": "Artist Name"
  },
  {
    "name": "music:song",
    "content": "Song Name"
  },
  {
    "name": "music:song:disc",
    "content": "1"
  },
  {
    "name": "music:song:track",
    "content": "1"
  },
  {
    "name": "video:actor",
    "content": "Actor Name"
  },
  {
    "name": "video:actor:role",
    "content": "Role Name"
  },
  {
    "name": "video:director",
    "content": "Director Name"
  },
  {
    "name": "video:writer",
    "content": "Writer Name"
  },
  {
    "name": "video:duration",
    "content": "120"
  },
  {
    "name": "video:release_date",
    "content": "2024-01-01"
  },
  {
    "name": "video:tag",
    "content": "tag1, tag2, tag3"
  },
  {
    "name": "video:series",
    "content": "Series Name"
  }
]
Modified at 2025-06-11 07:28:45
Previous
Custom domain
Next
LLM-friendly Features
Built with