Introdução

Após usar o plugin hexo-submit-urls-to-search-engine no hexo, você pode enviar proativamente novos links de blogs Hexo para as plataformas de webmasters dos mecanismos de busca Google, Bing e Baidu para melhorar a qualidade e velocidade da indexação do site. Este plugin permite que você envie solicitações de indexação puras e naturais para os principais mecanismos de busca, de uma vez por todas.

Por exemplo, agora um dos meus artigos às vezes é pesquisável no Bing apenas 5 minutos após a publicação (esta é a melhor situação, não há garantia de estabilidade a longo prazo). Veja, este é o poder do hexo-submit-urls-to-search-engine. Baidu e Google ficam um pouco atrás.

Esses três principais mecanismos de busca já ocupam 97% do mercado global de mecanismos de busca (incluindo os meta mecanismos de busca Doge, Duckduckgo, etc.; Yahoo, Ecosia, etc. que usam o índice do Bing).

Aviso

O uso não profissional de outros códigos de envio semelhantes pode levar a efeitos colaterais perigosos, incluindo, mas não se limitando a: distúrbios de segurança, síndrome de código redundante, síndrome de reinvenção da roda, síndrome de roer documentos, questionamento da vida, depressão, dor de cabeça e até mesmo morte, dispersão da alma, aniquilação.

Endereço do Github

O grupo de comunicação oficial do QQ e o grupo do Telegram não estão mais disponíveis. Por favor, vá para a página de problemas do Github para participar da discussão.

Etapas de operação

Início rápido:

  1. Obtenha as chaves das plataformas de webmasters
  2. Instale e configure o plugin hexo-submit-urls-to-search-engine
  3. hexo clean && hexo g && hexo d e verifique os resultados do envio
  4. Se o envio for bem-sucedido, vá para Endereço do Github e clique no botão Star para dar suporte
  5. Aproveite e observe o projeto do Github para receber lembretes de atualização do plugin
  6. Você também pode clicar aqui para doar

Obtenha a chave da plataforma de webmasters

Todas as chaves “anotadas” nesta seção devem ser preenchidas em _config.yml do hexo, o formato é fornecido posteriormente.

Sobre a verificação do site: alguns temas do Hexo suportam a adição de tags de verificação HTML da plataforma de webmasters, preencha as configurações relevantes e hexo g && hexo d para verificar. Para obter etapas detalhadas de operação, pesquise no Google: hexo plataforma de webmasters verificação

Baidu

Baidu é um mecanismo de busca chinês. A menos que você realize procedimentos complexos de registro de site nas autoridades chinesas, é difícil que o site seja indexado.

Se o servidor do seu site estiver localizado fora da China, é basicamente impossível realizar procedimentos de registro de site.

Consulte a documentação antiga para saber como enviar links para o Baidu

Bing

A plataforma de webmasters do Bing tem versões novas e antigas.

  1. Registre-se e faça login na nova plataforma de webmasters do Bing Ferramentas do Bing para Webmasters
  2. Adicione o site
  3. Vá para a página de gerenciamento do site, Configurações, Acesso à API, Chave da API, anote a chave da API

Abrir configurações de envio por URL

Interface de acesso à API

Obtenha a chave da API da nova plataforma de webmasters do Bing

(Recentemente, a plataforma de webmasters do Bing foi atualizada e o servidor e o layout estão instáveis. Se o token não puder ser exibido, você pode tentar novamente após um período de tempo) Agora foi atualizado para a nova plataforma de webmasters.

Este é um diagrama esquemático obtido da antiga plataforma de webmasters do Bing:

Obtenha a chave da API de webmasters do Bing da antiga plataforma de webmasters do Bing

Google

Se o seu servidor estiver localizado na China, observe que seu servidor precisa ser capaz de acessar a internet internacional para enviar para o Google.

A plataforma de webmasters do Google também tem versões novas e antigas, mas o relacionamento entre as duas estações não é tão bom quanto o tratamento do Bing. Além disso, a Google Indexing API que usamos não é fornecida pela plataforma de webmasters, mas pertence à plataforma de desenvolvedores do Google. Durante o processo, você pode consultar a documentação oficial (acessível na China continental) para configuração.

Etapas de uso:

  1. Abra Documentação oficial e siga as instruções para criar um projeto e uma conta de serviço. Você só precisa seguir as instruções para configurar no site, não precisa concluir as operações subsequentes, como obter o token de acesso
  2. Você ainda receberá um erro de “sem permissão” se adicionar o endereço de e-mail de permissão no novo “Search Console” do Google de acordo com a documentação oficial do Google. Vá para a ferramenta antiga de webmasters, clique no seu site e adicione o endereço de e-mail a ele Agora você pode enviar diretamente na nova plataforma de webmasters.
  3. Coloque o arquivo de chave json obtido no diretório raiz do hexo (o mesmo local do arquivo hexo _config.yml)

Ferramenta antiga de webmasters do Google:

Ferramenta antiga de webmasters 1

Ferramenta antiga de webmasters 2

Além disso, há as seguintes instruções em sua documentação oficial, decida se deve habilitar a função de envio de links para o Google de acordo com a situação real:

Atualmente, a Indexing API só pode ser usada para rastrear páginas da web que contêm JobPosting ou BroadcastEvent (aninhado em VideoObject). Para sites com muitas páginas de curta duração (como informações de emprego ou vídeos ao vivo), a Indexing API manterá o conteúdo nos resultados da pesquisa atualizado, enviando atualizações separadamente para conteúdos diferentes.

Guia de início rápido da Indexing API | Central da Pesquisa Google | Google for Developers

De qualquer forma, eu enviei. Se o Google não rastrear o site, como ele saberá que sua página não contém informações de emprego ou vídeos ao vivo? Já que foi rastreado, mesmo que não encontre informações de emprego ou vídeos ao vivo, por que haveria um desperdício de recursos e o descarte das informações rastreadas? Já que será usado, nosso objetivo é alcançado. No processo de uso real, o Google parece não ter reduzido o ranking por causa disso. Talvez o Google tenha esquecido de alterar o documento? Eu atualmente encontrei dois erros sérios neste documento que não foram corrigidos por muitos anos.

Configurar hexo

Instale este plugin

Execute no diretório raiz do hexo:

Claro, usar cnpm para baixar é mais rápido na região da Grande China

npm install --save hexo-submit-urls-to-search-engine

Este plugin também oferece suporte à instalação yarn:

yarn add hexo-submit-urls-to-search-engine

Edite _config.yml do hexo

hexo-submit-urls-to-search-engine

Configure o plugin hexo-submit-urls-to-search-engine e cole o abaixo em _config.yml do hexo.

Dica

Claro, você pode usar variáveis ​​de ambiente para definir o registro da chave, para que mesmo que o código-fonte seja colocado em um repositório público, a chave não seja divulgada

hexo_submit_urls_to_search_engine:
  submit_condition: count #Condição para o envio de links, valores opcionais: count | period Apenas count é suportado atualmente
  count: 10 # Enviar os 10 links mais recentes
  period: 900 # Enviar links com tempo de modificação em 900 segundos
  google: 0 # Enviar para o Google? Valores opcionais: 1 | 0 (0: não; 1: sim)
  bing: 1 # Enviar para o Bing? Valores opcionais: 1 | 0 (0: não; 1: sim)
  baidu: 1 # Enviar para o Baidu? Valores opcionais: 1 | 0 (0: não; 1: sim)
  txt_path: submit_urls.txt ## Nome do documento de texto, os links que precisam ser enviados serão salvos neste documento de texto
  baidu_host: https://cjh0613.github.io ## Domínio registrado na plataforma de webmasters do Baidu
  baidu_token: Por favor, obtenha de acordo com as instruções da documentação ## Por favor, observe que esta é a sua chave, portanto, não a publique diretamente em um repositório público!
  bing_host: https://cjh0613.github.io ## Domínio registrado na plataforma de webmasters do Bing
  bing_enable_indexnow: false # Enviar links para o Bing usando o indexNow: true (Sim) | false (Não). Apenas a versão 2.1.1 e versões posteriores podem habilitar esta função.
  bing_token: Por favor, obtenha de acordo com as instruções da documentação ## Por favor, observe que esta é a sua chave, portanto, não a publique diretamente em um repositório público!
  google_host: https://cjh0613.github.io ## Domínio registrado na plataforma de webmasters do Google
  google_key_file: Project.json # Arquivo json onde a chave do google é armazenada, colocado no diretório raiz do site (o mesmo local do arquivo hexo _config.yml), por favor, não publique o conteúdo do arquivo json diretamente em um repositório público!
  google_proxy: http://127.0.0.1:8080 # Proxy http do sistema usado para enviar URLs para o Google, preencha 0 para não usar
  replace: 0  # Substituir parte da string no link? Valores opcionais: 1 | 0 (0: não; 1: sim)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

As consequências de divulgar a chave

Seus “inimigos”, inteligências artificiais autoconscientes, terroristas podem usar sua chave para enviar links para páginas inexistentes para mecanismos de busca. Isso consumirá sua cota e impedirá que você envie links normalmente e, por causa do envio de links mortos, fará com que o peso do site diminua

Notas

  • submit_condition: Suporta dois métodos para determinar se um link deve ser enviado, ou seja, count | period. Aplique as opções de configuração count | period abaixo respectivamente
  • period: Um período de tempo, em segundos. Se a diferença entre o tempo de atualização do artigo e o tempo de execução deste plugin for menor que esse valor, o link será enviado. Por exemplo: existem dois arquivos a.html e b.html, correspondendo respectivamente a https://yoursite.com/a.html e https://yoursite.com/b.html, a diferença entre seus tempos de atualização e o tempo de execução deste plugin é 800s e 1000s (o campo period é definido como 900), então https://yoursite.com/a.html será enviado, https://yoursite.com/b.html não será
  • google_proxy: O proxy http do sistema usado para enviar URLs para o Google, formato: http://proxyhost:port, modifique proxyhost e port; Hexo implantado no exterior pode preencher 0 para não usar. Se você estiver usando um software de rede científica, proxyhost geralmente é 127.0.0.1 e port pode ser visualizado nas configurações do software, geralmente é 8080. O Win10 pode ser visualizado em Configurações -> Proxy
  • replace: Alguns links podem ser gerados incorretamente (como nomes de domínio chineses, a página inicial está localizada em http://cjh0613.github.io/blog e outros casos). Esta é uma função de substituição simples e grosseira que substituirá a string especificada em todos os links gerados. O exemplo substituirá http://cjh0613.github.io/blog por https://cjh0613.com. Você também pode substituir um nome de domínio chinês pelo nome de domínio transcrito.

2020.7.12 Atualize a nota desta seção, obrigado a liuyib por fornecer sugestões 2021.5.12 Adicione google_proxy

Depois de concluir a configuração acima, quando você executa o comando hexo generate no diretório raiz do Hexo, um arquivo .txt será gerado para armazenar os links a serem enviados.

Você pode abrir este arquivo para verificar se os links estão corretos, se não estiverem, visite _config.yml do hexo para configurar. Você também pode modificar manualmente este arquivo .txt antes de enviar os links.

deploy

Se você não adicionou a opção de configuração deploy: antes, cole o abaixo diretamente em _config.yml do hexo para substituir a opção de configuração deploy: padrão.

deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

Depois de concluir esta etapa, quando você executa o comando hexo deploy, os links serão enviados automaticamente para os mecanismos de busca.

  • Você deve executar o comando hexo deploy ou hexo d para acionar o envio, independentemente de ter usado este comando para implantação antes.

Claro, você precisa executar hexo generate antes para gerar o arquivo .txt mais recente para armazenar os links a serem enviados.

Se o envio for bem-sucedido, por favor, vá para o repositório Github e dê um Star para apoiar, obrigado!

Se você já configurou a opção de configuração deploy:, colar o bloco de código acima diretamente irá gerar um conflito de configuração, você pode adicionar diretamente na opção de configuração deploy: existente. Por exemplo:

deploy:
- type: git
  repo: 
    coding: git@xxx
  branch: master 
  
  #Adicione a opção de configuração deste plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

Nota: Há um - antes de cada type: acima

Suporte a integração contínua

Esta seção fornece referência para métodos de implantação em que o hexo é armazenado em um repositório público e compilado e publicado usando CI (integração contínua, como Github action, travis, coding-ci, netlify, etc.).

Baidu e Bing podem usar variáveis de ambiente para registrar as chaves, o Google tem outras soluções, veja abaixo

Observe que, se você estiver usando a implantação automática de CI, certifique-se de adicionar updated: em Front-matter (a área separada por --- na parte superior do arquivo .md, usada para especificar variáveis individuais arquivos) para informar o Hexo a corrigir o “tempo da última modificação do artigo”, por exemplo:

---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---

Isso ocorre porque, quando o arquivo é colocado em um computador local, se não houver updated:, o Hexo lerá os atributos do arquivo e usará o “tempo da última modificação do arquivo” como o “tempo da última modificação do artigo”, o que pode julgar e enviar normalmente os 10 links mais recentes; e quando a implantação automática do CI, como os recursos do Hexo são clonados recentemente para o servidor, se updated: não for adicionado, o Hexo também lerá os atributos do arquivo, mas o tempo da última modificação nos atributos é o mesmo tempo do git clone, Hexo obtém o “tempo da última modificação do artigo” errado, então ele não pode julgar normalmente e enviar o link mais recente.

  1. Primeiro, preencha 0 nas opções de configuração baidu_token: e bing_token: em hexo_submit_urls_to_search_engine:
  2. Defina as variáveis de ambiente BAIDU_TOKEN, BING_TOKEN, o valor é o token obtido
  3. Se você estiver usando o Github Action, também precisa definir as variáveis de ambiente no arquivo yml, há exemplos abaixo
  4. hexo clean && hexo generate && hexo deploy aproveite a vida

Definir variáveis de ambiente

Referência:

hexo_submit_urls_to_search_engine:
  submit_condition: count #Condição para o envio de links, valores opcionais: count | period Apenas count é suportado atualmente
  count: 10 # Enviar os 10 links mais recentes
  period: 900 # Enviar links com tempo de modificação em 900 segundos
  google: 1 # Enviar para o Google? Valores opcionais: 1 | 0 (0: não; 1: sim)
  bing: 1 # Enviar para o Bing? Valores opcionais: 1 | 0 (0: não; 1: sim)
  baidu: 1 # Enviar para o Baidu? Valores opcionais: 1 | 0 (0: não; 1: sim)
  txt_path: submit_urls.txt ## Nome do documento de texto, os links que precisam ser enviados serão salvos neste documento de texto
  baidu_host: https://en.cjh0613.com ## Domínio registrado na plataforma de webmasters do Baidu
  baidu_token: 0 ## Por favor, observe que esta é a sua chave, portanto, não a publique diretamente em um repositório público!
  bing_host: https://en.cjh0613.com ## Domínio registrado na plataforma de webmasters do Bing
  bing_token: 0 ## Por favor, observe que esta é a sua chave, portanto, não a publique diretamente em um repositório público!
  google_host: https://en.cjh0613.com ## Domínio registrado na plataforma de webmasters do Google
  google_key_file: Project.json # Arquivo json onde a chave do google é armazenada, colocado no diretório raiz do site (o mesmo local do arquivo hexo _config.yml), por favor, não publique o conteúdo do arquivo json diretamente em um repositório público!
  google_proxy: 0 # Proxy http do sistema usado para enviar URLs para o Google, preencha 0 para não usar
  replace: 0  # Substituir parte da string no link? Valores opcionais: 1 | 0 (0: não; 1: sim)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Github Action, você também precisa definir variáveis ​​de ambiente no arquivo yml:

- name: xxxx #Preencha aleatoriamente
  env:
    BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Observe aqui, o resto é besteira
    BING_TOKEN: ${{ secrets.BING_TOKEN }} # Observe aqui, o resto é besteira
  run: |
    npm i -g hexo-cli # Instalar hexo
    npm i
    ……
    hexo deploy    

Quanto ao envio de links para o Google, há tanta informação no arquivo de chave json, copiar, colar e definir variáveis de ambiente… é muito problemático. Eu coloquei o arquivo de chave json em um repositório privado e então clonei e copiei para o diretório raiz para resolver.

Atualização do plugin

Lembrete de atualização do plugin

Depois de instalar este plugin, por favor, observe este projeto no Github para receber dicas de atualização do plugin (selecione Releases only para obter apenas dicas de atualização, selecionar Watching também enviará Issues, Pull requests, etc., enviado por e-mail)

Selecione Releases only

Operação de atualização

Execute no diretório raiz do hexo:

Claro, usar cnpm para baixar é mais rápido na região da Grande China

npm install --save hexo-submit-urls-to-search-engine@versão

O comando que eu dei antes era outro: npm update --save hexo-submit-urls-to-search-engine, mas quando eu realmente testei, ocorreram problemas.

yarn para atualizar:

yarn add hexo-submit-urls-to-search-engine@versão

Atualização incompatível

Aviso

Às vezes, a atualização do plugin não é compatível com versões anteriores e pode exigir que você modifique as opções de configuração relacionadas a este plugin em _config.yml do hexo ou faça outras modificações. Esta situação geralmente é acompanhada pelo aumento do número antes do primeiro ponto decimal no número da versão. Por exemplo, de ^1.0.0 para ^2.0.0.

1.x.x para 2.x.x:

Você precisa adicionar as três opções de configuração a seguir à opção de configuração hexo_submit_urls_to_search_engine::

  replace: 0  # Substituir parte da string no link? Valores opcionais: 1 | 0 (0: não; 1: sim)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Ok, descobri que esta atualização é compatível com versões anteriores, mesmo que não haja essas três opções de configuração, nenhum erro será relatado…

Informação de retorno

Informação de envio bem-sucedido

Bing

Bing response:  { d: null }

Google

Google response:  { urlNotificationMetadata:
   { url:
      'https://cjh0613.github.io',
     latestUpdate:
      { url:
         'https://cjh0613.github.io',
        type: 'URL_UPDATED',
        notifyTime: '2020-06-12T05:37:25.701779228Z' } } }

Outros

Outros retornos podem se referir à sua documentação oficial, mas geralmente você saberá o motivo traduzindo o retorno.

Às vezes, é porque os mecanismos de busca só permitem que um certo número de links sejam enviados por dia. Você pode fazer login em seus sites oficiais para verificar. Depois que o nome de domínio do meu site cjh0613.github.io foi alterado para cjh0613.com, a cota do Bing era de 10, após enviar continuamente por 10 dias, a cota aumentou repentinamente de 10 para 10.000.

Se alguns links não forem enviados, manipule manualmente: de acordo com o feedback para modificar o txt que armazena os links de envio (geralmente remova os links que foram enviados com sucesso), e então execute apenas hexo deploy para reenviar, não há necessidade de gerar o site novamente.

Se você quiser enviar links para mecanismos de busca todos os dias, execute hexo d todos os dias. Você também pode definir o Github Action para executar hexo g && hexo d todos os dias, sem necessidade de reinventar a roda.

Verificação de resultados

Consulta de índice

Pegando a consulta do índice deste site como exemplo, abra qualquer mecanismo de busca e digite site:domínio, neste caso:

site:cjh0613.github.io

Pesquise.

O tempo necessário para a quantidade de indexação de um novo site ser de 0→1 pode ser muito longo, talvez um mês… Seja paciente

A velocidade real de indexação também está relacionada a outros fatores. Há muitas informações de SEO na Internet, mas todas são centradas nas instruções oficiais.

Consulta de registro de envio

Bing

Você pode fazer login na nova plataforma de webmasters do Bing para verificar a lista detalhada de links enviados (atualizada em tempo real):

https://www.bing.com/webmasters/submiturl?siteUrl=seu link do site

Registro de envio do Bing e consulta de cota restante

Google

Você só pode encontrar o número cumulativo de links enviados e a porcentagem de envios malsucedidos em um determinado período de tempo (máximo de 30 dias) na tabela “Erro” no endereço abaixo (atualizado em tempo real). Embora seja fornecido um gráfico de dados de envio diários, é o mesmo que não fornecer…

https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=

Consulta do número de links de envio do Google

Os materiais de referência para o desenvolvimento deste plugin

Consulte a documentação antiga