Urlsubmitter
urlsubmitter is a Go package designed for SEO purposes, enabling you to submit URLs to various search engines and services, including Baidu, Microsoft IndexNow, and Google Indexing API.
Install / Use
/learn @axiaoxin-com/UrlsubmitterREADME
URL Submitter
urlsubmitter 是一个用 Go 语言编写的 SEO 工具包,用于将 URL 提交到不同的搜索引擎和服务,包括百度、微软 IndexNow 和 Google Indexing API。
功能
- 将 URL 提交到百度
- 将 URL 提交到微软 IndexNow
- 将 URL 提交到 Google Indexing API
安装
首先,确保你已经安装了 Go 语言环境。然后,你可以通过以下命令安装 urlsubmitter 包:
go get github.com/axiaoxin-com/urlsubmitter
使用前必读
调用 Google Indexing API 和 Bing IndexNow 前期需要有一点准备工作,可以参考以下文章:
使用示例
以下是如何使用 urlsubmitter 包的示例代码:
package main
import (
"fmt"
"log"
"github.com/axiaoxin-com/urlsubmitter"
)
func main() {
// 初始化 Baidu 提交器
baiduSubmitter := urlsubmitter.NewBaiduSubmitter("http://data.zz.baidu.com/urls?site=https://www.example.org&token=baidutoken")
// 初始化 Bing 提交器
bingSubmitter := urlsubmitter.NewBingSubmitter(
"www.example.org",
"bingkey",
"https://www.example.org/keylocation.txt",
)
// 初始化 Google 提交器
googleSubmitter := urlsubmitter.NewGoogleSubmitter("/path/to/your-svc-account-keys.json")
urls := []string{
"http://www.example.org/1.html",
"http://www.example.org/2.html",
}
// 提交 URL 到 Baidu
baiduResult, err := baiduSubmitter.SubmitURLs(urls)
if err != nil {
log.Fatalf("Error submitting to Baidu: %v", err)
}
fmt.Println("Baidu Result:", baiduResult)
// 提交 URL 到 Bing
bingResult, err := bingSubmitter.SubmitURLs(urls)
if err != nil {
log.Fatalf("Error submitting to Bing: %v", err)
}
fmt.Println("Bing Result:", bingResult)
// 提交 URL 到 Google
googleResult, err := googleSubmitter.SubmitURLs(urls)
if err != nil {
log.Fatalf("Error submitting to Google: %v", err)
}
fmt.Println("Google Result:", googleResult)
}
UniversalSubmitter 用法示例:
package main
import (
"fmt"
"log"
"os"
"github.com/axiaoxin-com/urlsubmitter"
)
func main() {
options := &urlsubmitter.UniversalOptions{
BaiduAPI: os.Getenv("BAIDU_API"),
BingKey: os.Getenv("BING_KEY"),
BingKeyLocation: os.Getenv("BING_KEY_LOCATION"),
BingHost: os.Getenv("BING_SUBMIT_HOST"),
GoogleCredentialsFile: os.Getenv("GOOGLE_CREDENTIALS_FILE"),
}
universal := urlsubmitter.NewUniversalSubmitter(options)
if universal == nil {
log.Fatal("No valid submitter configurations provided.")
}
urls := []string{
"http://www.example.com/1.html",
"http://www.example.com/2.html",
"https://www.example.org/url1",
"https://www.example.org/folder/url2",
"https://example.com/new-url/",
}
results, err := universal.SubmitURLs(urls)
if err != nil {
log.Fatalf("Failed to submit URLs: %v", err)
}
for platform, result := range results {
fmt.Printf("%s: %s\n", platform, result)
}
}
运行单元测试
你可以使用以下命令运行单元测试,通过从环境变量读取相关参数:
# 环境变量
export SUBMIT_URL="要提交的url"
export BAIDU_API="百度api"
export BING_SUBMIT_HOST="bing host参数"
export BING_KEY="bing key参数"
export BING_KEY_LOCATION="bing keyLocation参数"
export GOOGLE_CREDENTIALS_FILE="google密钥文件参数"
运行测试:
go test ./...
贡献
欢迎提交问题(Issues)和贡献代码(Pull Requests)。在提交 Pull Request 之前,请确保所有测试通过,并遵循项目的代码规范。
感谢你使用 urlsubmitter!希望它能帮助你简化 URL 提交的工作流程。
Related Skills
bluebubbles
339.1kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
bear-notes
339.1kCreate, search, and manage Bear notes via grizzly CLI.
claude-ads
1.3kComprehensive paid advertising audit & optimization skill for Claude Code. 186 checks across Google, Meta, YouTube, LinkedIn, TikTok & Microsoft Ads with weighted scoring, parallel agents, and industry templates.
claude-ads
1.3kComprehensive paid advertising audit & optimization skill for Claude Code. 186 checks across Google, Meta, YouTube, LinkedIn, TikTok & Microsoft Ads with weighted scoring, parallel agents, and industry templates.
