Предисловие
После использования плагина hexo-submit-urls-to-search-engine
в hexo, можно активно отправлять новые ссылки блога Hexo на платформы для веб-мастеров поисковых систем Google, Bing и Baidu, чтобы повысить качество и скорость индексации сайта. Этот плагин позволяет вам отправлять запросы на индексацию чисто природные, питаемые растениями в основные поисковые системы, что избавляет от лишних хлопот.
Например, сейчас моя статья иногда индексируется в Bing всего через 5 минут после публикации (это лучший случай, не гарантируется долгосрочная стабильность). Видите, в этом и заключается мощь hexo-submit-urls-to-search-engine
. Baidu и Google немного отстают.
Эти три основные поисковые системы занимают 97% мирового рынка поисковых систем (включая метапоисковики DuckDuckGo и т.д.; Yahoo, Ecosia и т.д., использующие индекс Bing).
Предупреждение
Непрофессиональное использование других подобных кодов отправки может привести к опасным побочным эффектам, включая, но не ограничиваясь: дефект безопасности, избыточность кода, изобретение велосипеда, разгрызание документации, сомнения в жизни, депрессию, головную боль и даже смерть, рассеяние души, уничтожение.
Официальные QQ-группы и группы Telegram прекратили свою работу. Пожалуйста, участвуйте в обсуждении на странице Github issue.
Операционные шаги
Краткое руководство:
- Получите ключи от платформ для веб-мастеров
- Установите и настройте плагин
hexo-submit-urls-to-search-engine
hexo clean && hexo g && hexo d
и проверьте результаты отправки- Если отправка прошла успешно, перейдите по адресу Github и нажмите кнопку Star, чтобы поддержать проект
- Кроме того, следите за проектом Github, чтобы получать уведомления об обновлениях плагина
- Вы также можете нажать здесь, чтобы поблагодарить
Получение ключей платформы веб-мастера
Ключи, которые нужно “запомнить” в этом разделе, следует внести в _config.yml
hexo, формат будет приведен позже.
О подтверждении сайта: некоторые темы Hexo поддерживают добавление HTML-тега подтверждения платформы веб-мастера. После заполнения соответствующих настроек hexo g && hexo d
можно выполнить проверку. Общие подробные шаги можно найти самостоятельно в Google: hexo платформа веб-мастера проверка
Baidu
Baidu - это поисковая система из Китая. Если не пройти сложную процедуру регистрации веб-сайта в китайских органах, веб-сайт будет сложно проиндексировать.
Если ваш веб-сервер находится за пределами Китая, практически невозможно пройти процедуру регистрации веб-сайта.
Пожалуйста, обратитесь к старой документации, чтобы узнать, как отправлять ссылки в Baidu
Bing
Платформа для веб-мастеров Bing имеет старую и новую версии.
- Зарегистрируйтесь и войдите в новую платформу для веб-мастеров Bing Bing Webmaster Tools
- Добавьте сайт
- Зайдите на страницу управления сайтом, настройки, доступ к API, ключ API, запишите ключ API



(В последнее время платформа для веб-мастеров Bing обновляется, сервер и макет нестабильны, если токен не отображается, можно попробовать позже) Сейчас она уже обновлена до новой платформы для веб-мастеров.
Это схематическое изображение получения с платформы веб-мастеров Bing старой версии:

Если ваш сервер находится на территории Китая, обратите внимание, что ваш сервер должен иметь возможность доступа к международному интернету, чтобы отправлять данные в Google.
Платформа для веб-мастеров Google также имеет старую и новую версии, но отношения между ними не так хорошо налажены, как у Bing. Кроме того, используемый нами Google Indexing API предоставляется не платформой для веб-мастеров, а входит в состав google developers, платформы разработчиков Google. В процессе настройки можно обратиться к официальной документации (доступна на материковой части Китая).
Шаги по использованию:
- Откройте официальную документацию и следуйте инструкциям для создания проекта и учетной записи службы. Просто следуйте инструкциям по настройке на веб-сайте, вам не нужно выполнять последующие действия, такие как получение токена доступа
Если вы просто добавите адрес электронной почты для доступа в новом “Поисковом консоле” Google в соответствии с официальной документацией Google, все равно появится сообщение “нет доступа”. Перейдите к старому инструменту веб-мастера, нажмите на свой веб-сайт и добавьте адрес электронной почты к немуТеперь можно отправлять напрямую на новой платформе для веб-мастеров.- Поместите полученный файл ключа json в корневую директорию hexo (в том же месте, что и файл hexo _config.yml)
Старый инструмент веб-мастера Google:


Кроме того, в официальной документации есть следующее предупреждение, пожалуйста, решите, стоит ли включать функцию отправки ссылок в Google, в зависимости от фактической ситуации:
В настоящее время Indexing API можно использовать только для сканирования веб-страниц, содержащих JobPosting
или BroadcastEvent
(вложенные в VideoObject
). Для веб-сайтов, содержащих много короткоживущих веб-страниц (таких как информация о вакансиях или прямые трансляции видео), Indexing API будет поддерживать актуальность контента в результатах поиска, отправляя обновления для различного контента.
Краткое руководство по Indexing API | Поисковый центр Google | Google для разработчиков
В любом случае, я отправил. Если Google не сканирует веб-сайт, как он узнает, что ваши веб-страницы не содержат
информацию о вакансиях или прямые трансляции видео
? Раз уж сканирует, даже если не найдетинформацию о вакансиях или прямые трансляции видео
, то почему нужно тратить ресурсы и отказываться от уже отсканированной информации? Раз используется, то наша цель достигнута. В процессе фактического использования Google, похоже, не снижает рейтинг по этому поводу. Может, Google забыл изменить документ? На данный момент я обнаружил две серьезные ошибки в этом документе, которые не менялись много лет.
Конфигурация hexo
Установка этого плагина
Запустите в корневой директории hexo:
Конечно, в регионе Большого Китая
cnpm
загружает быстрее
npm install --save hexo-submit-urls-to-search-engine
Этот плагин также поддерживает установку через yarn
:
yarn add hexo-submit-urls-to-search-engine
Редактирование hexo _config.yml
hexo-submit-urls-to-search-engine
Настройте плагин hexo-submit-urls-to-search-engine
, скопируйте приведенный ниже текст в _config.yml
hexo.
Совет
Конечно, вы можете использовать переменные среды для хранения ключей, чтобы даже если исходный код находится в общедоступном репозитории, ключи не будут раскрыты
hexo_submit_urls_to_search_engine:
submit_condition: count #Условие для отправки ссылок, возможные значения: count | period. В настоящее время поддерживается только count
count: 10 # Отправить 10 последних ссылок
period: 900 # Отправить ссылки, время изменения которых не превышает 900 секунд
google: 0 # Отправить ли в Google, возможные значения: 1 | 0 (0: нет; 1: да)
bing: 1 # Отправить ли в bing, возможные значения: 1 | 0 (0: нет; 1: да)
baidu: 1 # Отправить ли в baidu, возможные значения: 1 | 0 (0: нет; 1: да)
txt_path: submit_urls.txt ## Имя текстового документа, ссылки, которые нужно отправить, будут сохранены в этом текстовом документе
baidu_host: https://cjh0613.github.io ## Домен, зарегистрированный на платформе для веб-мастеров Baidu
baidu_token: Пожалуйста, получите его в соответствии с инструкциями в документе ## Обратите внимание, это ваш ключ, поэтому не публикуйте его напрямую в открытом репозитории!
bing_host: https://cjh0613.github.io ## Домен, зарегистрированный на платформе для веб-мастеров Bing
bing_enable_indexnow: false # Использовать ли indexNow для отправки ссылок в Bing: true (Да) | false (Нет). Эту функцию можно включить только в версиях 2.1.1 и более поздних.
bing_token: Пожалуйста, получите его в соответствии с инструкциями в документе ## Обратите внимание, это ваш ключ, поэтому не публикуйте его напрямую в открытом репозитории!
google_host: https://cjh0613.github.io ## Домен, зарегистрированный на платформе для веб-мастеров Google
google_key_file: Project.json #Файл json, в котором хранится ключ Google, поместите его в корневую директорию веб-сайта (в том же месте, что и файл hexo _config.yml), пожалуйста, не публикуйте содержимое файла json напрямую в открытом репозитории!
google_proxy: http://127.0.0.1:8080 # Системный http-прокси, используемый для отправки URL-адресов в Google, укажите 0, чтобы не использовать его
replace: 0 # Заменять ли часть строки в ссылке, возможные значения: 1 | 0 (0: нет; 1: да)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Последствия публикации ключа
Ваши “враги”, самосознающий искусственный интеллект, террористы могут использовать ваш ключ для отправки несуществующих ссылок на страницы в поисковые системы. Это не только израсходует вашу квоту, не позволяя вам нормально отправлять, но и приведет к снижению веса веб-сайта из-за отправки битых ссылок.
Примечание
- submit_condition: поддерживает два способа определения, нужно ли отправлять ссылки, а именно count | period. Соответственно применяются следующие параметры конфигурации count | period
- period: период времени в секундах, если разница между временем обновления статьи и временем запуска этого плагина меньше этого значения, то ее ссылка будет отправлена. Например: есть два файла a.html и b.html, соответствующие
https://yoursite.com/a.html
иhttps://yoursite.com/b.html
соответственно, разница между их временем обновления и временем запуска этого плагина составляет 800 с и 1000 с (поле period установлено на 900), тогдаhttps://yoursite.com/a.html
будет отправлен, аhttps://yoursite.com/b.html
не будет отправлен - google_proxy: системный http-прокси, используемый для отправки URL-адресов в Google, формат:
http://proxyhost:port
, просто изменитеproxyhost
иport
; если Hexo развернут за границей, можно указать 0, чтобы не использовать. При использовании программного обеспечения для научного подключения к сети,proxyhost
обычно равен127.0.0.1
, аport
можно посмотреть в настройках программного обеспечения, обычно это8080
. В Win10 можно посмотреть в разделе “Настройки”->“Прокси”. - replace: некоторые ссылки могут быть сгенерированы неправильно (например, домен на китайском языке, главная страница находится по адресу
http://cjh0613.github.io/blog
и т.д.). Это простая функция замены, которая заменяет указанную строку во всех сгенерированных ссылках. В примереhttp://cjh0613.github.io/blog
заменяется наhttps://cjh0613.com
. Можно также заменить домен на китайском языке на домен после транскодирования.
2020.7.12 Обновлено примечание к этому разделу, спасибо liuyib за совет 2021.5.12 Добавлен google_proxy
После завершения вышеописанной настройки, при запуске команды hexo generate
в корневой директории Hexo будет сгенерирован файл .txt
для хранения ссылок, которые нужно отправить.
Вы можете открыть этот файл и проверить правильность ссылок. Если они неправильные, перейдите в _config.yml
hexo для настройки. Вы также можете вручную изменить этот файл .txt
перед отправкой ссылок.
deploy
Если вы раньше не добавляли параметр конфигурации deploy:
, просто скопируйте приведенный ниже текст в _config.yml
hexo, чтобы переписать конфигурацию deploy:
по умолчанию.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
После завершения этого шага, при выполнении команды hexo deploy
ссылки будут автоматически отправлены в поисковые системы.
- Вы должны выполнить команду
hexo deploy
илиhexo d
, чтобы запустить отправку, независимо от того, использовали ли вы эту команду для развертывания раньше.
Конечно, перед этим нужно выполнить команду hexo generate
, чтобы сгенерировать последний файл .txt для хранения ссылок, которые нужно отправить.
Если отправка прошла успешно, пожалуйста, поддержите проект, нажав Star в репозитории Github , спасибо!
Если параметр deploy:
уже настроен, то при прямой вставке вышеуказанного блока кода будет выведено сообщение о конфликте конфигураций. Просто добавьте его в уже существующий параметр deploy:
. Например:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#Добавьте параметр конфигурации этого плагина:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
Обратите внимание: перед каждым type:
есть -
Поддержка непрерывной интеграции
Этот раздел предназначен для развертывания hexo, хранящегося в общедоступном репозитории, и развертывания с использованием CI (непрерывной интеграции, например, Github action, travis, coding-ci, netlify и т. д.).
Baidu и Bing могут использовать переменные среды для хранения ключей, а Google имеет другие решения, см. ниже
Обратите внимание, что если вы используете CI для автоматического развертывания, вы должны добавить updated:
в Front-matter каждой страницы (область, разделенная ---
вверху файла .md
, которая используется для указания переменных отдельных файлов), чтобы сообщить Hexo об исправлении “времени последнего изменения статьи”, например:
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
Это потому, что когда файлы находятся на локальном компьютере, если нет updated:
, Hexo считывает атрибуты файла и использует “время последнего изменения файла” в качестве “времени последнего изменения статьи”, поэтому может нормально определить и отправить 10 последних ссылок; в то время как при автоматическом развертывании CI, поскольку ресурсы Hexo только что были клонированы на сервер, если не добавить updated:
, Hexo также будет считывать атрибуты файла, но в это время атрибуты имеют совершенно одинаковое время последнего изменения, то есть время клонирования git, Hexo получает неправильное “время последнего изменения статьи”, поэтому не может нормально определить и отправить последние ссылки.
- Сначала заполните
0
в параметрах конфигурацииbaidu_token:
иbing_token:
вhexo_submit_urls_to_search_engine:
- Установите переменные среды
BAIDU_TOKEN
,BING_TOKEN
, значения которых являются полученнымиtoken
- Если вы используете Github Action, вам также необходимо установить переменные среды в файле
yml
, пример ниже hexo clean && hexo generate && hexo deploy
наслаждайтесь жизнью

Ссылка:
hexo_submit_urls_to_search_engine:
submit_condition: count #Условие для отправки ссылок, возможные значения: count | period. В настоящее время поддерживается только count
count: 10 # Отправить 10 последних ссылок
period: 900 # Отправить ссылки, время изменения которых не превышает 900 секунд
google: 1 # Отправить ли в Google, возможные значения: 1 | 0 (0: нет; 1: да)
bing: 1 # Отправить ли в bing, возможные значения: 1 | 0 (0: нет; 1: да)
baidu: 1 # Отправить ли в baidu, возможные значения: 1 | 0 (0: нет; 1: да)
txt_path: submit_urls.txt ## Имя текстового документа, ссылки, которые нужно отправить, будут сохранены в этом текстовом документе
baidu_host: https://en.cjh0613.com ## Домен, зарегистрированный на платформе для веб-мастеров Baidu
baidu_token: 0 ## Обратите внимание, это ваш ключ, поэтому не публикуйте его напрямую в открытом репозитории!
bing_host: https://en.cjh0613.com ## Домен, зарегистрированный на платформе для веб-мастеров Bing
bing_token: 0 ## Обратите внимание, это ваш ключ, поэтому не публикуйте его напрямую в открытом репозитории!
google_host: https://en.cjh0613.com ## Домен, зарегистрированный на платформе для веб-мастеров Google
google_key_file: Project.json #Файл json, в котором хранится ключ Google, поместите его в корневую директорию веб-сайта (в том же месте, что и файл hexo _config.yml), пожалуйста, не публикуйте содержимое файла json напрямую в открытом репозитории!
google_proxy: 0 # Системный http-прокси, используемый для отправки URL-адресов в Google, укажите 0, чтобы не использовать его
replace: 0 # Заменять ли часть строки в ссылке, возможные значения: 1 | 0 (0: нет; 1: да)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action, также необходимо установить переменные среды в файле yml
:
- name: xxxx #Можно ввести что угодно
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Обратите внимание, это здесь, остальное - пыль
BING_TOKEN: ${{ secrets.BING_TOKEN }} # Обратите внимание, это здесь, остальное - пыль
run: |
npm i -g hexo-cli # Установить hexo
npm i
……
hexo deploy
Что касается отправки ссылок в Google, в файле ключа json
так много информации, скопировать и вставить для установки переменных среды… это действительно хлопотно. Я поместил файл ключа json
в закрытый репозиторий, а затем клонировал его и скопировал в корневую директорию.
Обновление плагина
Уведомление об обновлении плагина
После установки этого плагина, пожалуйста, смотрите за этим проектом на Github , чтобы получать уведомления об обновлении плагина (выберите Releases only, чтобы получать только уведомления об обновлении, выбор Watching также будет отправлять Issues, Pull requests и т.д., по электронной почте)

Шаги по обновлению
Запустите в корневой директории hexo:
Конечно, в регионе Большого Китая
cnpm
загружает быстрее
npm install --save hexo-submit-urls-to-search-engine@версия
Ранее я давал другую команду: npm update --save hexo-submit-urls-to-search-engine
, но во время тестирования у меня возникли проблемы.
Обновление через yarn
:
yarn add hexo-submit-urls-to-search-engine@версия
Несовместимые обновления
Предупреждение
Иногда обновление плагина не является обратно совместимым, и может потребоваться изменить параметры конфигурации, связанные с этим плагином, в _config.yml
hexo или внести другие изменения.
Эта ситуация обычно возникает, когда увеличивается число перед первой десятичной точкой в номере версии. Например, обновление с ^1.0.0
до ^2.0.0
.
Обновление с 1.x.x до 2.x.x:
Вам нужно добавить следующие три параметра конфигурации в параметр конфигурации hexo_submit_urls_to_search_engine:
:
replace: 0 # Заменять ли часть строки в ссылке, возможные значения: 1 | 0 (0: нет; 1: да)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Ну ладно, я обнаружил, что это обновление обратно совместимо, и даже если этих трех параметров конфигурации нет, ошибка не возникает…
Информация об ответе
Информация об успешной отправке
Bing
Bing response: { d: null }
Google response: { urlNotificationMetadata:
{ url:
'https://cjh0613.github.io',
latestUpdate:
{ url:
'https://cjh0613.github.io',
type: 'URL_UPDATED',
notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
Другое
Другие ответы можно посмотреть в их официальной документации, но, как правило, переведя ответ, можно понять причину.
Иногда это происходит из-за того, что поисковые системы разрешают отправлять только определенное количество ссылок в день. Вы можете войти на их официальный сайт, чтобы узнать подробности. После того как я изменил домен своего сайта cjh0613.github.io
на cjh0613.com, квота Bing составила 10 ссылок. После непрерывной отправки в течение 10 дней квота внезапно увеличилась с 10 до 10 000.
Если некоторые ссылки не отправлены, обработайте их вручную: на основе обратной связи измените txt, где хранятся ссылки для отправки (обычно удалите ссылки, которые были успешно отправлены), а затем просто запустите hexo deploy
для повторной отправки, нет необходимости повторно создавать веб-сайт.
Если вы хотите отправлять ссылки в поисковые системы каждый день, просто запускайте hexo d
каждый день, также можно настроить Github Action для запуска hexo g && hexo d
каждый день, не нужно изобретать велосипед.
Проверка результатов
Проверка индексации
В качестве примера проверки индексации этого сайта откройте любую поисковую систему и введите site:домен
, в данном случае:
site:cjh0613.github.io
Для поиска.
Время, необходимое для того, чтобы индекс нового сайта увеличился с 0 до 1, может быть очень долгим, возможно, месяц… Пожалуйста, наберитесь терпения.
Фактическая скорость индексации также связана с другими факторами. В интернете много материалов по SEO, но все они ориентированы на официальные пояснения.
Проверка истории отправки
Bing
Вы можете войти в новую платформу для веб-мастеров Bing и просмотреть подробный список отправленных ссылок (обновляется в реальном времени):
https://www.bing.com/webmasters/submiturl?siteUrl=ссылка_на_ваш_веб-сайт

Количество отправленных ссылок за определенный период времени (максимум за последние 30 дней) и процент неудачных отправок можно просмотреть только в таблице “ошибки” по следующему адресу (обновляется в реальном времени). Хотя и предоставляется график данных за день, он не имеет большого смысла…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=
