38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package seoser
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
)
|
|
|
|
// IsIndexablePath 是否为需要收录的公开页(与 robots 可抓取、页面 index,follow 对齐)。
|
|
func IsIndexablePath(raw string) bool {
|
|
path := strings.TrimSpace(raw)
|
|
if path == "" {
|
|
return true
|
|
}
|
|
if u, err := url.Parse(path); err == nil && u.Path != "" {
|
|
path = u.Path
|
|
}
|
|
path = strings.TrimSuffix(path, "/")
|
|
if path == "" {
|
|
return true
|
|
}
|
|
switch path {
|
|
case "/list", "/series", "/rank", "/today-update", "/topic", "/tag", "/category",
|
|
"/download-app", "/application", "/home-road", "/detail", "/play", "/nav",
|
|
"/about-us", "/aboutUs", "/help-center", "/helpCenter":
|
|
return true
|
|
default:
|
|
return strings.HasPrefix(path, "/list/") ||
|
|
strings.HasPrefix(path, "/category/") ||
|
|
strings.HasPrefix(path, "/series/") ||
|
|
strings.HasPrefix(path, "/topic/") ||
|
|
strings.HasPrefix(path, "/tag/") ||
|
|
strings.HasPrefix(path, "/rank/") ||
|
|
strings.HasPrefix(path, "/today-update/") ||
|
|
strings.HasPrefix(path, "/detail/") ||
|
|
strings.HasPrefix(path, "/play/")
|
|
}
|
|
}
|