{"id":18718420,"url":"https://github.com/axiaoxin-com/urlsubmitter","last_synced_at":"2025-04-12T13:33:49.437Z","repository":{"id":249683158,"uuid":"832233865","full_name":"axiaoxin-com/urlsubmitter","owner":"axiaoxin-com","description":"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.","archived":false,"fork":false,"pushed_at":"2024-09-30T02:34:59.000Z","size":25,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-26T08:37:15.344Z","etag":null,"topics":["baidu","bing","google","index-now","indexing-api","search-engine","seo","seo-tools","seotools","serp"],"latest_commit_sha":null,"homepage":"https://blog.axiaoxin.com/post/urlsubmitter/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axiaoxin-com.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T15:34:36.000Z","updated_at":"2024-10-31T14:38:21.000Z","dependencies_parsed_at":"2024-08-23T08:57:13.173Z","dependency_job_id":null,"html_url":"https://github.com/axiaoxin-com/urlsubmitter","commit_stats":null,"previous_names":["axiaoxin-com/urlsubmitter"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axiaoxin-com%2Furlsubmitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axiaoxin-com%2Furlsubmitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axiaoxin-com%2Furlsubmitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axiaoxin-com%2Furlsubmitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axiaoxin-com","download_url":"https://codeload.github.com/axiaoxin-com/urlsubmitter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248573648,"owners_count":21126876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baidu","bing","google","index-now","indexing-api","search-engine","seo","seo-tools","seotools","serp"],"created_at":"2024-11-07T13:21:18.040Z","updated_at":"2025-04-12T13:33:44.420Z","avatar_url":"https://github.com/axiaoxin-com.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# URL Submitter\n\n`urlsubmitter` 是一个用 Go 语言编写的 SEO 工具包，用于将 URL 提交到不同的搜索引擎和服务，包括百度、微软 IndexNow 和 Google Indexing API。\n\n[English Version](./README_en.md)\n\n## 功能\n\n- 将 URL 提交到百度\n- 将 URL 提交到微软 IndexNow\n- 将 URL 提交到 Google Indexing API\n\n## 安装\n\n首先，确保你已经安装了 Go 语言环境。然后，你可以通过以下命令安装 `urlsubmitter` 包：\n\n```sh\ngo get github.com/axiaoxin-com/urlsubmitter\n```\n\n## 使用前必读\n\n调用 Google Indexing API 和 Bing IndexNow 前期需要有一点准备工作，可以参考以下文章：\n\n- [SEO ｜如何通过 Golang 快速通知 Google 抓取更新网页](https://blog.axiaoxin.com/post/how-to-use-golang-call-google-indexing-api/)\n- [SEO ｜让 Bing 更快抓取你的网页：Golang 与 Bing IndexNow 的应用](https://blog.axiaoxin.com/post/how-to-use-golang-call-bing-indexnow/)\n\n## 使用示例\n\n以下是如何使用 `urlsubmitter` 包的示例代码：\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"log\"\n\n    \"github.com/axiaoxin-com/urlsubmitter\"\n)\n\nfunc main() {\n    // 初始化 Baidu 提交器\n    baiduSubmitter := urlsubmitter.NewBaiduSubmitter(\"http://data.zz.baidu.com/urls?site=https://www.example.org\u0026token=baidutoken\")\n\n    // 初始化 Bing 提交器\n    bingSubmitter := urlsubmitter.NewBingSubmitter(\n        \"www.example.org\",\n        \"bingkey\",\n        \"https://www.example.org/keylocation.txt\",\n    )\n\n    // 初始化 Google 提交器\n    googleSubmitter := urlsubmitter.NewGoogleSubmitter(\"/path/to/your-svc-account-keys.json\")\n\n    urls := []string{\n        \"http://www.example.org/1.html\",\n        \"http://www.example.org/2.html\",\n    }\n\n    // 提交 URL 到 Baidu\n    baiduResult, err := baiduSubmitter.SubmitURLs(urls)\n    if err != nil {\n        log.Fatalf(\"Error submitting to Baidu: %v\", err)\n    }\n    fmt.Println(\"Baidu Result:\", baiduResult)\n\n    // 提交 URL 到 Bing\n    bingResult, err := bingSubmitter.SubmitURLs(urls)\n    if err != nil {\n        log.Fatalf(\"Error submitting to Bing: %v\", err)\n    }\n    fmt.Println(\"Bing Result:\", bingResult)\n\n    // 提交 URL 到 Google\n    googleResult, err := googleSubmitter.SubmitURLs(urls)\n    if err != nil {\n        log.Fatalf(\"Error submitting to Google: %v\", err)\n    }\n    fmt.Println(\"Google Result:\", googleResult)\n}\n```\n\n`UniversalSubmitter` 用法示例:\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/axiaoxin-com/urlsubmitter\"\n)\n\nfunc main() {\n\toptions := \u0026urlsubmitter.UniversalOptions{\n\t\tBaiduAPI:            os.Getenv(\"BAIDU_API\"),\n\t\tBingKey:             os.Getenv(\"BING_KEY\"),\n\t\tBingKeyLocation:     os.Getenv(\"BING_KEY_LOCATION\"),\n\t\tBingHost:            os.Getenv(\"BING_SUBMIT_HOST\"),\n\t\tGoogleCredentialsFile: os.Getenv(\"GOOGLE_CREDENTIALS_FILE\"),\n\t}\n\n\tuniversal := urlsubmitter.NewUniversalSubmitter(options)\n\tif universal == nil {\n\t\tlog.Fatal(\"No valid submitter configurations provided.\")\n\t}\n\n\turls := []string{\n\t\t\"http://www.example.com/1.html\",\n\t\t\"http://www.example.com/2.html\",\n\t\t\"https://www.example.org/url1\",\n\t\t\"https://www.example.org/folder/url2\",\n\t\t\"https://example.com/new-url/\",\n\t}\n\n\tresults, err := universal.SubmitURLs(urls)\n\tif err != nil {\n\t\tlog.Fatalf(\"Failed to submit URLs: %v\", err)\n\t}\n\n\tfor platform, result := range results {\n\t\tfmt.Printf(\"%s: %s\\n\", platform, result)\n\t}\n}\n```\n\n## 运行单元测试\n\n你可以使用以下命令运行单元测试，通过从环境变量读取相关参数：\n\n```sh\n# 环境变量\nexport SUBMIT_URL=\"要提交的url\"\nexport BAIDU_API=\"百度api\"\nexport BING_SUBMIT_HOST=\"bing host参数\"\nexport BING_KEY=\"bing key参数\"\nexport BING_KEY_LOCATION=\"bing keyLocation参数\"\nexport GOOGLE_CREDENTIALS_FILE=\"google密钥文件参数\"\n```\n\n运行测试：\n\n```sh\ngo test ./...\n```\n\n## 贡献\n\n欢迎提交问题（Issues）和贡献代码（Pull Requests）。在提交 Pull Request 之前，请确保所有测试通过，并遵循项目的代码规范。\n\n感谢你使用 `urlsubmitter`！希望它能帮助你简化 URL 提交的工作流程。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxiaoxin-com%2Furlsubmitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxiaoxin-com%2Furlsubmitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxiaoxin-com%2Furlsubmitter/lists"}