POST /api/web/seopush/indexnow/bulk?limit=10
- 组装主页 "/" 和前 N-1 个专题(playlet_theme 按 Rank 降序)URL
- 调用 pub/seo/indexnow.BatchIndexNowSubmitter 提交到 api.indexnow.org
- 返回提交的 URL 列表 + IndexNow 回执(含各引擎 HTTP 状态码)
- Admin 鉴权(走 /api/web/* 的 auth 中间件)
部署前提:
- web.yaml 配置 indexNow.key
- Web 根目录可访问 /{key}.txt(内容为 key 本身)作为 IndexNow 域名验证
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
32 lines
877 B
Go
32 lines
877 B
Go
package web_seopush
|
||
|
||
import (
|
||
"strconv"
|
||
|
||
"hkdj-web-server/pub/common"
|
||
"hkdj-web-server/pub/common/srvdef"
|
||
"hkdj-web-server/web/service/srv_seopush"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// @Tags SEO推送
|
||
// @Summary IndexNow 批量提交(主页 + 专题)
|
||
// @Description 组装主页和前 N 个专题(按 Rank 降序)地址,提交到 IndexNow(Bing / Yandex 等)。
|
||
// @Produce json
|
||
// @Param limit query int false "URL 总数,含主页,默认 10"
|
||
// @Success 200 {object} srv_seopush.BulkIndexNowResult
|
||
// @Router /api/web/seopush/indexnow/bulk [POST]
|
||
func SubmitHomeAndThemes(ctx *gin.Context) {
|
||
limit, _ := strconv.Atoi(ctx.Query("limit"))
|
||
if limit <= 0 {
|
||
limit = 10
|
||
}
|
||
resp, serr := srv_seopush.SubmitHomeAndThemes(ctx, limit)
|
||
if serr != nil {
|
||
common.ServerJSON(ctx, serr.Code, serr.Msg)
|
||
return
|
||
}
|
||
common.ServerJSON(ctx, srvdef.Success, resp)
|
||
}
|