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.
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:
- Obtenha as chaves das plataformas de webmasters
- Instale e configure o plugin
hexo-submit-urls-to-search-engine
hexo clean && hexo g && hexo d
e verifique os resultados do envio- Se o envio for bem-sucedido, vá para Endereço do Github e clique no botão Star para dar suporte
- Aproveite e observe o projeto do Github para receber lembretes de atualização do plugin
- 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.
- Registre-se e faça login na nova plataforma de webmasters do Bing Ferramentas do Bing para Webmasters
- Adicione o site
- Vá para a página de gerenciamento do site, Configurações, Acesso à API, Chave da API, anote a chave da API
(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:
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:
- 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
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 eleAgora você pode enviar diretamente na nova plataforma de webmasters.- 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:
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 encontreinformaçõ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
ehttps://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ãohttps://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
, modifiqueproxyhost
eport
; 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
eport
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
porhttps://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
ouhexo 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.
- Primeiro, preencha
0
nas opções de configuraçãobaidu_token:
ebing_token:
emhexo_submit_urls_to_search_engine:
- Defina as variáveis de ambiente
BAIDU_TOKEN
,BING_TOKEN
, o valor é otoken
obtido - Se você estiver usando o Github Action, também precisa definir as variáveis de ambiente no arquivo
yml
, há exemplos abaixo hexo clean && hexo generate && hexo deploy
aproveite a vida
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)
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 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
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=