Prefazione

Dopo aver utilizzato il plugin hexo-submit-urls-to-search-engine in hexo, i nuovi link del blog Hexo possono essere inviati attivamente alle piattaforme per webmaster dei motori di ricerca Google, Bing e Baidu per migliorare la qualità e la velocità di indicizzazione del sito web. Questo plugin consente di inviare richieste di indicizzazione puramente naturali e nutrite dalle piante ai principali motori di ricerca, una volta per tutte.

Ad esempio, ora un mio articolo a volte può essere trovato nella ricerca di Bing anche solo 5 minuti dopo la pubblicazione (questo è il caso migliore, non è garantita una stabilità a lungo termine). Ecco, questo è il potere di hexo-submit-urls-to-search-engine. Baidu e Google sono leggermente più lenti.

Questi tre principali motori di ricerca occupano già il 97% della quota di mercato globale dei motori di ricerca (inclusi i meta-motori di ricerca Dogpile, Duckduckgo ecc.; Yahoo, Ecosia ecc. che utilizzano l’indice di Bing).

Avviso

L’uso non professionale di altri codici di push simili può causare effetti collaterali pericolosi, inclusi ma non limitati a: deficit di sicurezza, sindrome del codice ridondante, sindrome della reinvenzione della ruota, sindrome del rosicchiare i documenti, dubbi esistenziali, depressione, mal di testa e persino morte, anima che vola via, annientamento.

Indirizzo Github

Il gruppo QQ ufficiale di scambio e il gruppo Telegram hanno interrotto il servizio. Si prega di andare alla pagina Github issue per partecipare alla discussione.

Passaggi operativi

Guida introduttiva:

  1. Ottenere le chiavi di ciascuna piattaforma per webmaster
  2. Installare e configurare il plugin hexo-submit-urls-to-search-engine
  3. hexo clean && hexo g && hexo d e verificare i risultati push
  4. Se il push ha esito positivo, andare all’ Indirizzo Github e fare clic sul pulsante Star per supportarlo
  5. Approfitta per guardare il progetto Github per ricevere promemoria sugli aggiornamenti del plugin
  6. Puoi anche cliccare qui per fare una donazione

Ottenere la chiave della piattaforma per webmaster

Le chiavi “annotate” in questa sezione devono essere inserite nel _config.yml di hexo, il formato è fornito in seguito.

Informazioni sulla verifica del sito web: alcuni temi Hexo supportano l’aggiunta di tag di verifica html della piattaforma per webmaster. Dopo aver compilato le impostazioni pertinenti, è possibile eseguire la verifica con hexo g && hexo d. Per istruzioni dettagliate generali, si prega di cercare autonomamente su Google: verifica hexo piattaforma per webmaster

Baidu

Baidu è un motore di ricerca cinese. A meno che non si seguano complicate procedure di registrazione del sito web presso le autorità cinesi, è difficile che il sito web venga indicizzato.

Se il server del tuo sito web si trova al di fuori della Cina, è praticamente impossibile completare le procedure di registrazione del sito web.

Si prega di consultare la vecchia documentazione per scoprire come inviare i link a Baidu

Bing

La piattaforma per webmaster di Bing ha una nuova e una vecchia versione.

  1. Registrarsi e accedere alla nuova piattaforma per webmaster di Bing Bing Webmaster Tools
  2. Aggiungere sito web
  3. Entrare nella pagina di gestione del sito web, impostazioni, accesso API, chiave API, annotare la chiave API

Aprire le impostazioni da Invio URL

Interfaccia di accesso API

Ottenere la chiave API dalla nuova piattaforma per webmaster di Bing

(Recentemente la piattaforma per webmaster di Bing è stata aggiornata, il server e il layout sono instabili, se il token non viene visualizzato, riprova dopo un periodo di tempo) Ora è stata aggiornata alla nuova piattaforma per webmaster.

Questa è una rappresentazione schematica ottenuta dalla vecchia piattaforma per webmaster di Bing:

Ottenere la chiave API dell’amministratore del sito web Bing dalla vecchia piattaforma per webmaster di Bing

Google

Se il tuo server si trova in Cina, si prega di notare che il tuo server deve essere in grado di accedere a Internet internazionale per essere inviato a Google.

Anche la piattaforma per webmaster di Google ha una nuova e una vecchia versione, ma il rapporto tra le due non è buono come quello di Bing. Inoltre, l’API di indicizzazione di Google che utilizziamo non è fornita dalla piattaforma per webmaster, ma appartiene alla piattaforma di sviluppo Google di google developers. Durante il processo, è possibile fare riferimento alla documentazione ufficiale (accessibile nella Cina continentale) per la configurazione.

Passaggi per l’utilizzo:

  1. Aprire la documentazione ufficiale e seguire le istruzioni per creare un progetto e un account di servizio. È sufficiente seguire le istruzioni per eseguire le operazioni di configurazione sul sito web, non è necessario completare le operazioni successive, come l’ottenimento di token di accesso.
  2. Si continuerà a visualizzare un messaggio di “nessun permesso” anche se si aggiunge un’e-mail di autorizzazione nella nuova “Search Console” di Google secondo la documentazione ufficiale di Google. Si prega di passare al vecchio Strumento per i webmaster, fare clic sul tuo sito web e aggiungere l’indirizzo e-mail in esso. Ora è possibile inviare direttamente nella nuova piattaforma per webmaster.
  3. Mettere il file di chiave json ottenuto nella directory root di hexo (nella stessa posizione del file _config.yml di hexo)

Vecchio Strumento per i webmaster di Google:

Vecchio Strumento per i webmaster 1

Vecchio Strumento per i webmaster 2

Inoltre, nella documentazione ufficiale sono presenti le seguenti istruzioni. Si prega di decidere se abilitare la funzione di invio di link a Google in base alla situazione reale:

Attualmente, l’API di indicizzazione può essere utilizzata solo per la scansione di pagine web che contengono JobPosting o BroadcastEvent (nidificati in VideoObject). Per i siti web che contengono molte pagine di breve durata (come le informazioni sui lavori o i video in diretta), l’API di indicizzazione manterrà aggiornato il contenuto nei risultati di ricerca inviando aggiornamenti separatamente per contenuti diversi.

Guida rapida all’API di indicizzazione | Centro Ricerca Google | Google for Developers

Ad ogni modo, ho fatto l’invio. Se Google non scansiona il tuo sito web, come fa a sapere che le tue pagine web non contengono informazioni sui lavori o video in diretta? Dal momento che le scansiona, anche se non vengono trovate informazioni sui lavori o video in diretta, perché sprecare risorse e non utilizzare le informazioni già scansionate? Visto che le usa, il nostro scopo è raggiunto. Durante l’uso effettivo, sembra che Google non abbia nemmeno effettuato una declassificazione per questo. Forse Google ha dimenticato di modificare la documentazione? Attualmente ho trovato due gravi errori che non sono stati corretti in questo documento per molti anni.

Configurare hexo

Installare questo plugin

Si prega di eseguire nella directory root di hexo:

Naturalmente, nelle regioni della Grande Cina l’utilizzo di cnpm è più veloce.

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

Questo plugin supporta anche l’installazione con yarn:

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

Modificare _config.yml di hexo

hexo-submit-urls-to-search-engine

Configurare il plugin hexo-submit-urls-to-search-engine, incollare quanto segue nel _config.yml di hexo.

Suggerimento

Naturalmente puoi utilizzare le variabili d’ambiente per impostare le chiavi, in modo che anche se il codice sorgente viene inserito in un repository pubblico, non verranno divulgate le chiavi.

hexo_submit_urls_to_search_engine:
  submit_condition: count #Condizione per l'invio del link, valori opzionali: count | period. Attualmente supporta solo count
  count: 10 # Invia i 10 link più recenti
  period: 900 # Invia i link con tempo di modifica entro 900 secondi
  google: 0 # Inviare a Google, valori opzionali: 1 | 0 (0: No; 1: Sì)
  bing: 1 # Inviare a bing, valori opzionali: 1 | 0 (0: No; 1: Sì)
  baidu: 1 # Inviare a baidu, valori opzionali: 1 | 0 (0: No; 1: Sì)
  txt_path: submit_urls.txt ## Nome del documento di testo, i link da inviare verranno salvati in questo documento di testo
  baidu_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Baidu
  baidu_token: Si prega di ottenere in base alle istruzioni del documento ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
  bing_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Bing
  bing_enable_indexnow: false # Inviare il link a Bing tramite indexNow: true (Sì) | false (No). Solo la versione 2.1.1 e successive possono abilitare questa funzione.
  bing_token: Si prega di ottenere in base alle istruzioni del documento ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
  google_host: https://cjh0613.github.io ## Dominio registrato nella piattaforma per webmaster di Google
  google_key_file: Project.json #File json che memorizza la chiave di Google, collocato nella directory root del sito web (nella stessa posizione del file _config.yml di hexo), si prega di non pubblicare direttamente il contenuto del file json in un repository pubblico!
  google_proxy: http://127.0.0.1:8080 # Proxy http di sistema utilizzato per inviare url a Google, compilare 0 per non utilizzarlo
  replace: 0  # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Conseguenze della divulgazione della chiave

Il tuo “nemico”, l’intelligenza artificiale autocosciente, i terroristi possono utilizzare la tua chiave per inviare link a pagine inesistenti ai motori di ricerca. Ciò non solo consumerà la tua quota impedendoti di inviare normalmente, ma causerà anche una diminuzione del peso del sito web a causa dell’invio di link non funzionanti.

Commenti

  • submit_condition: supporta due metodi per determinare se inviare un link, ovvero count | period. Applicare rispettivamente le opzioni di configurazione count | period sottostanti
  • period: un periodo di tempo, in secondi. Se la differenza tra il tempo di aggiornamento di un articolo e il tempo di esecuzione di questo plugin è inferiore a questo valore, il suo link verrà inviato. Ad esempio: ci sono due file a.html e b.html, corrispondenti rispettivamente a https://yoursite.com/a.html e https://yoursite.com/b.html, la differenza tra il tempo di aggiornamento e il tempo di esecuzione di questo plugin è rispettivamente di 800 secondi e 1000 secondi (il campo period è impostato su 900), quindi https://yoursite.com/a.html verrà inviato e https://yoursite.com/b.html no
  • google_proxy: il proxy http di sistema utilizzato per inviare url a Google, formato: http://proxyhost:port, modificare proxyhost e port; Hexo distribuito all’estero può essere impostato su 0 per non usarlo. Quando si utilizza un software per la navigazione scientifica, proxyhost è generalmente 127.0.0.1 e port può essere visualizzato e impostato nel software, generalmente 8080. Win10 può essere visualizzato in Impostazioni->Proxy
  • replace: alcuni link potrebbero essere generati in modo non corretto (come i nomi di dominio cinesi, la home page si trova in http://cjh0613.github.io/blog e così via). Questa è una funzione di sostituzione semplice e brutale che sostituisce la stringa specificata in tutti i link generati. Nell’esempio, http://cjh0613.github.io/blog viene sostituito con https://cjh0613.com. Puoi anche sostituire i nomi di dominio cinesi con i nomi di dominio transcodificati.

12/07/2020 Aggiornata questa sezione di commenti, grazie a liuyib per il suggerimento 12/05/2021 Aggiunto google_proxy

Dopo aver completato la configurazione di cui sopra, quando si esegue il comando hexo generate nella directory root di Hexo, verrà generato un file .txt per memorizzare i link da inviare.

Puoi aprire questo file per verificare se il link è corretto, se non è corretto, si prega di visitare _config.yml di hexo per configurarlo. Puoi anche modificare manualmente questo file .txt prima di inviare il link.

deploy

Se in precedenza non hai aggiunto una voce di configurazione deploy:, incolla direttamente quanto segue nel _config.yml di hexo per sovrascrivere la voce di configurazione deploy: predefinita.

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

Dopo aver completato questo passaggio, quando si esegue il comando hexo deploy, i link verranno automaticamente inviati ai motori di ricerca.

  • È necessario eseguire il comando hexo deploy o hexo d per attivare il push, indipendentemente dal fatto che in precedenza si sia utilizzato questo comando per la distribuzione.

Naturalmente, in precedenza è necessario eseguire hexo generate per generare il file .txt più recente per memorizzare i link da inviare.

Se l’invio ha esito positivo, si prega di andare al repository Github e supportarlo con una Star, grazie!

Se hai già impostato la voce di configurazione deploy:, incollare direttamente il blocco di codice di cui sopra ti chiederà un conflitto di configurazione, puoi semplicemente aggiungerlo sotto la voce di configurazione deploy: esistente. Ad esempio:

deploy:
- type: git
  repo: 
    coding: git@xxx
  branch: master 
  
  #Aggiungere le voci di configurazione di questo plugin:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

Nota: c’è un - prima di ogni type: sopra

Supporto per l’integrazione continua

Questa sezione fornisce un riferimento per i metodi di distribuzione in cui hexo è memorizzato in un repository pubblico e viene compilato e pubblicato utilizzando CI (integrazione continua, come Github action, travis, coding-ci, netlify ecc.).

Baidu e Bing possono utilizzare le variabili d’ambiente per memorizzare le chiavi, Google ha altre soluzioni, vedere sotto

Si prega di notare che se si utilizza la distribuzione automatica CI, è necessario aggiungere updated: a ciascun Front-matter della pagina (l’area separata da --- nella parte superiore del file .md utilizzata per specificare le variabili di singoli file) per indicare a Hexo di correggere “l’ultima ora di modifica dell’articolo”, ad esempio:

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

Questo perché, quando il file viene inserito sul computer locale, se non c’è updated:, Hexo leggerà l’attributo del file e utilizzerà “l’ultima ora di modifica del file” come “l’ultima ora di modifica dell’articolo”, in modo da poter giudicare e inviare i 10 link più recenti; mentre quando si utilizza la distribuzione automatica CI, poiché tutte le risorse di Hexo vengono appena clonate sul server, se non si aggiunge updated:, Hexo leggerà anche l’attributo del file, ma in questo momento l’ultima ora di modifica dell’attributo è l’identica ora del git clone, Hexo otterrà “l’ultima ora di modifica dell’articolo” errata, quindi non sarà in grado di giudicare e inviare i link più recenti normalmente.

  1. Inserisci 0 nei parametri di configurazione baidu_token: e bing_token: di hexo_submit_urls_to_search_engine:
  2. Imposta le variabili d’ambiente BAIDU_TOKEN e BING_TOKEN e i valori sono i token ottenuti
  3. Se si utilizza Github Action, è anche necessario impostare le variabili d’ambiente nel file yml, un esempio è riportato di seguito
  4. hexo clean && hexo generate && hexo deploy e goditi la vita

Imposta le variabili d’ambiente

Riferimento:

hexo_submit_urls_to_search_engine:
  submit_condition: count #Condizione per l'invio del link, valori opzionali: count | period. Attualmente supporta solo count
  count: 10 # Invia i 10 link più recenti
  period: 900 # Invia i link con tempo di modifica entro 900 secondi
  google: 1 # Inviare a Google, valori opzionali: 1 | 0 (0: No; 1: Sì)
  bing: 1 # Inviare a bing, valori opzionali: 1 | 0 (0: No; 1: Sì)
  baidu: 1 # Inviare a baidu, valori opzionali: 1 | 0 (0: No; 1: Sì)
  txt_path: submit_urls.txt ## Nome del documento di testo, i link da inviare verranno salvati in questo documento di testo
  baidu_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Baidu
  baidu_token: 0 ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
  bing_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Bing
  bing_token: 0 ## Si prega di notare che questa è la tua chiave, quindi per favore non pubblicarla direttamente in un repository pubblico!
  google_host: https://en.cjh0613.com ## Dominio registrato nella piattaforma per webmaster di Google
  google_key_file: Project.json #File json che memorizza la chiave di Google, collocato nella directory root del sito web (nella stessa posizione del file _config.yml di hexo), si prega di non pubblicare direttamente il contenuto del file json in un repository pubblico!
  google_proxy: 0 # Proxy http di sistema utilizzato per inviare url a Google, compilare 0 per non utilizzarlo
  replace: 0  # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Github Action, è anche necessario impostare le variabili d’ambiente nel file yml:

- name: xxxx #Compila a caso
  env:
    BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # Presta attenzione qui, il resto non conta
    BING_TOKEN: ${{ secrets.BING_TOKEN }} # Presta attenzione qui, il resto non conta
  run: |
    npm i -g hexo-cli # Installa hexo
    npm i
    ……
    hexo deploy    

Per quanto riguarda l’invio di link a Google, il file di chiave json contiene così tante informazioni, copia e incolla per impostare le variabili d’ambiente… è davvero problematico. Ho inserito il file di chiave json in un repository privato, quindi l’ho clonato e l’ho copiato nella directory root per risolvere il problema.

Aggiornamento del plugin

Promemoria per l’aggiornamento del plugin

Dopo aver installato questo plugin, si prega di guardare questo progetto su Github per ottenere promemoria sugli aggiornamenti del plugin ( selezionare Solo rilasci per ottenere solo promemoria sugli aggiornamenti, se si seleziona Sorveglianza verranno inviati anche Issue, Pull request, ecc., inviati via e-mail)

Seleziona Solo rilasci

Operazioni di aggiornamento

Si prega di eseguire nella directory root di hexo:

Naturalmente, nelle regioni della Grande Cina l’utilizzo di cnpm è più veloce.

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

In precedenza ho fornito un altro comando: npm update --save hexo-submit-urls-to-search-engine, ma durante il mio test ho avuto dei problemi.

Aggiornamento yarn:

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

Aggiornamento incompatibile

Avviso

A volte, l’aggiornamento del plugin non è retrocompatibile e potrebbe essere necessario modificare le voci di configurazione relative a questo plugin in _config.yml di hexo o apportare altre modifiche. Questa situazione generalmente si verifica quando il numero prima della prima virgola decimale nel numero di versione aumenta. Ad esempio, da ^1.0.0 a ^2.0.0.

Aggiornamento da 1.x.x a 2.x.x:

È necessario aggiungere le seguenti tre voci di configurazione alla voce di configurazione hexo_submit_urls_to_search_engine::

  replace: 0  # Sostituire parte delle stringhe nel link, valori opzionali: 1 | 0 (0: No; 1: Sì)
  find_what: http://cjh0613.github.io/blog
  replace_with: https://cjh0613.com

Va bene, ho scoperto che questo aggiornamento è retrocompatibile, non si verifica un errore anche senza queste tre voci di configurazione…

Informazioni di ritorno

Informazioni di invio avvenuto con successo

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' } } }

Altro

Altri ritorni possono fare riferimento alla loro documentazione ufficiale, ma in generale se si traduce il ritorno si conosce il motivo.

A volte è perché i motori di ricerca permettono di inviare solo un certo numero di link al giorno. Puoi accedere al loro sito web ufficiale per effettuare una verifica. Dopo che il dominio del mio sito web cjh0613.github.io è stato cambiato in cjh0613.com, la quota di Bing era di 10, dopo aver inviato continuamente per 10 giorni, la quota è improvvisamente cambiata da 10 a 10000.

Se alcuni link non vengono inviati, gestirli manualmente: in base al feedback, modificare il txt che memorizza i link inviati (in genere rimuovere i link che sono stati inviati con successo), quindi eseguire solo hexo deploy per inviare di nuovo, non è necessario rigenerare il sito web.

Se vuoi inviare link ai motori di ricerca ogni giorno, esegui hexo d ogni giorno. Puoi anche impostare Github Action per eseguire hexo g && hexo d ogni giorno, senza dover reinventare la ruota.

Controllare i risultati

Controllare l’indice

Per esempio, per controllare l’indice di questo sito, aprire un qualsiasi motore di ricerca, inserire site:dominio, qui cioè:

site:cjh0613.github.io

e cercare.

Potrebbe volerci molto tempo prima che la quantità di indice di un nuovo sito web passi da 0 a 1, forse anche un mese… si prega di attendere pazientemente

La velocità di indicizzazione effettiva è correlata anche ad altri fattori, ci sono molte informazioni SEO online, ma sono tutte incentrate sulle istruzioni ufficiali.

Controllare la cronologia di invio

Bing

È possibile accedere alla nuova piattaforma per webmaster di Bing per controllare l’elenco dettagliato dei link inviati (aggiornato in tempo reale):

https://www.bing.com/webmasters/submiturl?siteUrl=il tuo link al sito web

Cronologia di invio di Bing e controllo quota rimanente

Google

È possibile controllare solo il numero cumulativo di link inviati e la percentuale di invii non riusciti in un determinato periodo di tempo (massimo 30 giorni) nella tabella “errori” all’indirizzo seguente (aggiornata in tempo reale). Sebbene venga fornito un grafico dei dati di invio giornalieri, è come se non fosse fornito…

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

Controllo del numero di link di Google

Documentazione di riferimento per lo sviluppo di questo plugin

Si prega di consultare la vecchia documentazione